Lazy umount oder Unmounten einer belegten Festplatte in Linux

Lazy umount oder Unmounten einer belegten Festplatte in Linux

Ich habe gelesen, dass es möglich ist, eine Platte, die sonst beschäftigt wäre, mit der Option „lazy“ auszuhängen. Die Manpage sagt dazu Folgendes:

umount - Dateisysteme aushängen

-l Lazy Unmount. Trennen Sie das Dateisystem jetzt von der Dateisystemhierarchie und löschen Sie alle Verweise auf das Dateisystem, sobald es nicht mehr beschäftigt ist. Mit dieser Option kann ein „beschäftigtes“ Dateisystem ausgehängt werden. (Erfordert Kernel 2.4.11 oder höher.)

Aber welchen Sinn hätte das? Ich habe darüber nachgedacht, warum wir Partitionen überhaupt aushängen:

  1. So entfernen Sie die Hardware
  2. Um Vorgänge auf dem Dateisystem auszuführen, deren Ausführung im gemounteten Zustand unsicher wäre

In beiden Fällen dient ein „langsames“ Unmounten meiner Meinung nach nur dazu, dass es schwieriger wird, festzustellen, ob die Festplatte wirklich ausgehängt wurde und Sie diese Aktionen tatsächlich durchführen können. Der einzige Nutzen umount -lscheint darin zu bestehen, dass unerfahrene Benutzer das „Gefühl“ haben, etwas erreicht zu haben, was sie nicht erreicht haben.

Warum würden Sie eine verzögerte Unmount-Funktion verwenden?

Antwort1

Angenommen, Sie müssen unbedingt das Volume ändern, auf das eine Software ein Protokoll schreibt, z. B. ein Webserver, aber es herrscht viel Verkehr und es lässt sich für den Vorgang nicht abschalten, noch lässt sich der Protokollierungspfad ändern.

Mit Lazy Unmount können Sie das Volume sicher aushängen, während die Software noch ausgeführt wird, ein anderes Volume am selben Einhängepunkt mounten und der Software befehlen, die Dateien erneut zu öffnen.

Da Sie die Software nicht ausschalten mussten, gingen im Idealfall keine Anfragen verloren und im Wesentlichen auch keine Protokolleinträge, da diese weiterhin in das alte Mount geschrieben wurden, bis die Dateien erneut geöffnet wurden (wie gut die Software mit dem erneuten Öffnen der Dateien zurechtkommt, hängt von der Software ab).

Um die Manpage zu paraphrasieren: Wenn das Volume beim verzögerten Aushängen offene Dateien hat, bleibt es in Wirklichkeit eingehängt, ist aber über das Dateisystem nicht zugänglich und wird erst dann wirklich ausgehängt, wenn die letzte offene Datei geschlossen wird.

Antwort2

Weil Sie faul sind – Sie möchten die Bereitstellung nach Abschluss der Festplattenvorgänge aufheben.

Hier ist ein plausibles Szenario:

Sie verwenden es, rsyncum Ihre Backups durchzuführen und wegzugehen. Sie können umount -ldas Laufwerk ausstecken und es aushängen, sobald es mit dem Kopieren und Synchronisieren fertig ist. Wenn Sie also nach einer Pause (von der Sie wissen, dass sie länger dauert als das Backup) zurückkommen, können Sie das Laufwerk einfach ausstecken, anstatt erneut mit der Tastatur herumfummeln zu müssen.

Antwort3

Dies wird tatsächlich umgesetzt, um mehr Zeit für die Erledigung von Folgeaufgaben bei Verwaltungsaufgaben zu gewinnen.

Wenn weitere Aufgaben, unabhängig von dieser, in der Pipeline warten, können Sie sie verzögert aushängen und mit anderen im Batch fortfahren.

Beispiel: Aufgabe 1 und Aufgabe 2 sind zwei direkt hintereinander geplante Verwaltungsaufgaben.

Aufgabe 1Tägliches Backup

Dieses Programm kopiert eine große Anzahl von Dateien von einer Projektpartition auf eine Sicherungspartition, beispielsweise /mnt/backupProj, die während des Vorgangs gemountet und am Ende dieser Aufgabe wieder demontiert wird. Das Kopieren nimmt viel Zeit in Anspruch.

Aufgabe 2SQL-Ansichten aktualisieren

Führt eine Reihe von Datenbankansichtsaktualisierungen auf einem dedizierten Server durch.

Aufgabe 2 ist offensichtlich vollständig unabhängig von Aufgabe 1, daher können wir /mnt/backupProj verzögert aushängen, ohne auf den Abschluss der Sicherungsaufgabe warten zu müssen.

Antwort4

Erwägen Sie eine Bind-Einbindung, wie Sie sie möglicherweise bei der Arbeit mit sehen chroot:

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

Wenn Sie einen Daemon auf Ihrem System haben, der ständig Abfragen durchführt /proc(ich meine Sie ksysguardd), können Sie dies nicht umount /mnt/proc. Lazy lässt Sie umountin diesem Fall.

verwandte Informationen