Leniwy umount lub odmontowanie zajętego dysku w systemie Linux

19

Przeczytałem, że możliwe jest „umountowanie” dysku, który w innym przypadku byłby zajęty przy użyciu opcji „leniwy”. Strona man ma do powiedzenia na ten temat:

umount - odmontowuje systemy plików

-l Leniwy odmontować. Odłącz teraz system plików od hierarchii systemu plików i wyczyść wszystkie odniesienia do systemu plików, gdy tylko nie będzie on już zajęty. Ta opcja umożliwia odmontowanie „zajętego” systemu plików. (Wymaga jądra 2.4.11 lub nowszego.)

Ale jaki miałby sens? Zastanawiałem się, dlaczego w ogóle demontujemy partycje:

  1. Aby usunąć sprzęt
  2. Aby wykonać operacje na systemie plików, które byłyby niebezpieczne podczas instalacji

W każdym z tych przypadków, tylko „leniwy” odmontowanie służy IMHO, aby utrudnić ustalenie, czy dysk naprawdę jest zdemontowany i można faktycznie wykonać te czynności. umount -lWydaje się, że jedyną aplikacją dla niedoświadczonych użytkowników jest „poczucie”, że osiągnęli coś, czego nie zrobili.

Dlaczego miałbyś używać leniwego odmontowania?

deed02392
źródło

Odpowiedzi:

10

Ponieważ jesteś leniwy - chcesz odmontować po zakończeniu operacji na dysku.

Oto możliwy scenariusz:

Używasz rsyncdo wykonywania kopii zapasowych i odejść. Możesz podłączyć umount -ldysk, a po zakończeniu kopiowania i synchronizacji zostanie on odmontowany, aby po powrocie po przerwie (o której wiadomo, że potrwa dłużej niż tworzenie kopii zapasowej) można po prostu odłączyć dysk, zamiast ponownie bawić się klawiaturą .

Broam
źródło
Jeśli jesteś leniwy, na pewno chcesz zaoszczędzić WIĘCEJ czasu, nie musząc używać argumentu, ponieważ kiedy wróciłeś, wiedziałeś, że możesz go zdemontować natychmiast po zakończeniu tworzenia kopii zapasowej? Lub uczynić demontaż dysku częścią operacji wykonywanych po wykonaniu kopii zapasowej?
deed02392
Pomyśl o tym w ten sposób: dysk nie jest już zajęty - odłącz go teraz. Nie jest już zamontowany, więc nic więcej nie może do niego pisać. To „rób to, kiedy możesz” zamiast popełniać błąd.
Broam,
Więc skąd wiesz, kiedy operacje dysku są wykonywane? Zobacz ten przykład (błąd?) Możliwości zapisania pliku w już odmontowanym systemie plików
Tom Hale
5

Jest to faktycznie realizowane, aby zyskać więcej czasu na wykonywanie dalszych zadań w zadaniach administracyjnych.

Jeśli kolejne zadania, niezależne od tego, czekają w przygotowaniu, możesz leniwie odmontować i kontynuować z innymi w partii.

Przykład : Zadanie 1 i Zadanie 2 to dwa zadania administracyjne zaplanowane jeden za drugim.

Zadanie 1 Codzienna kopia zapasowa

Ten jeden kopiuje dużą liczbę plików z partycji projektu na partycję kopii zapasowej, powiedzmy, / mnt / backupProj, która zostanie zamontowana w locie i odmontowana na końcu tego zadania. Kopiowanie zajmuje dużo czasu.

Zadanie 2 Zaktualizuj widoki SQL

Wykonuje serię aktualizacji widoku bazy danych na dedykowanym serwerze.

Zadanie 2 jest oczywiście całkowicie niezależne od Zadania 1, więc możemy leniwie odmontować / mnt / backupProj bez czekania na zakończenie zadania tworzenia kopii zapasowej.

Bora
źródło
1
Czy możesz podać przykład? W jakiej sytuacji „zyskałby / oszczędziłby czas”?
deed02392
4

Używam leniwego umounta w przypadkach, gdy był on zablokowany z różnych powodów (np. Serwer nfs nie działa), a także gdy potrzebuję zobaczyć oryginalną zawartość katalogu, który został zamontowany przez mount. W obu przypadkach mount jest zajęty. Myślę, że istnieją inne przypadki krawędzi, ale te 2 są najczęstszymi przyczynami, dla których skorzystałem z tej opcji.

johnshen64
źródło
Zalecenia --forcedotyczące przypadku NFS.
Tom Hale,
3

Rozważ podłączenie, jak możesz zobaczyć podczas pracy z chroot:

mount --rbind /proc /mnt/proc
# do stuff
umount /mnt/proc

Jeśli masz w systemie demona, który stale przesłuchuje /proc(patrzę na ciebie ksysguardd), nie będziesz w stanie umount /mnt/proc. Lazy pozwoli ci umountw tym przypadku.

goertzenator
źródło
Dlaczego nie skorzystać --forcetutaj?
Tom Hale,
2

Dyski USB czasami blokują się z powodu awarii sprzętu. Nawet jeśli fizycznie podłączysz ponownie dysk, otrzymasz inną nazwę urządzenia. Starej nazwy urządzenia nie można normalnie odmontować. kwota -l zmusiła martwego wejścia do zniknięcia.

użytkownik296968
źródło
1

Powiedz, że naprawdę musisz zmienić głośność, na której oprogramowanie zapisuje dziennik, np. Serwer WWW, ale ma duży ruch i nie można go wyłączyć dla operacji, ani nie można zmienić ścieżki rejestrowania.

Dzięki leniwemu odmontowaniu możesz bezpiecznie odmontować wolumin, gdy oprogramowanie jest nadal uruchomione, zamontować inny wolumin na tym samym punkcie montowania i nakazać programowi ponowne otwarcie plików.

Idealnie, ponieważ nie trzeba było wyłączać oprogramowania, nie zgubiono żadnych żądań i zasadniczo nie utracono wpisów w dzienniku, ponieważ wciąż były zapisywane na starym wierzchowcu do czasu ponownego otwarcia plików (jak dobrze oprogramowanie obsługuje ponowne otwieranie pliki zależą od oprogramowania).

Parafrazując stronę podręcznika, oznacza to, że jeśli wolumin ma otwarte pliki, gdy jest leniwy, odmontowany, w rzeczywistości pozostaje zamontowany, ale po prostu niedostępny przez system plików i jest naprawdę odmontowany tylko wtedy, gdy ostatni otwarty plik jest zamknięty.

Tuomas Salomäki
źródło
1
Dzięki temu brzmi to jak przydatna aplikacja. Czy lsofpokaże otwarte pliki na starym punkcie montowania? Zastanawiam się także, jak by to odróżniało otwarte pliki na starym i nowym woluminie?
deed02392
0

Używam szyfrowania do szyfrowania części moich wrażliwych danych.

Po zamontowaniu dysku nautilus tworzy podgląd (chyba nie jestem pewien) i blokuje pliki. Kiedy chcę go odmontować, mówi, że jest zablokowany przez inny proces.

Leniwy odmontowanie go powoduje, że folder znika z mojej hierarchii i jest ukryty. A kiedy proces w tle zakończy się, jest on pomyślnie odmontowany.

jehon
źródło