Warum können Sie eine gemountete Partition nicht überprüfen?


43

Es ist bekannt, dass Sie niemals eine gemountete Partition überprüfen sollten. Ich kann verstehen , wie dies leicht zu Korruption führen kann , wenn das Dateisystem geschrieben von fsck (zB die Option -a verwendet wird), aber warum kann nicht schreibgeschützt Kontrollen auf Platten montiert betrieben werden?

Antworten:


28

Von:

http://linux.die.net/man/8/fsck.ext3

„Beachten Sie, dass es nicht sicher ist im Allgemeinen laufen e2fsckauf eingehängte Dateisysteme. Die einzige Ausnahme ist , wenn die -nOption angegeben wird, und -c, -loder -LOptionen angegeben sind es nicht. Aber auch wenn es sicher ist , dies zu tun, gedruckt die Ergebnisse durch e2fscksind Nicht gültig, wenn das Dateisystem angehängt ist. Wenn Sie e2fsckgefragt werden, ob Sie ein angehängtes Dateisystem überprüfen möchten, ist die einzig richtige Antwort "Nein". Nur Experten, die wirklich wissen, was sie tun, sollten in Betracht ziehen, diese Frage in einem anderen zu beantworten Weg. "


3
Eine Ausnahme: Wenn das Dateisystem schreibgeschützt gemountet ist und sich fsck ebenfalls im schreibgeschützten Modus befindet, ist alles in Ordnung
Demi

31

Das Grundproblem ist, dass die Dateisystemprüfung (normalerweise) nicht Teil des Dateisystems ist. Stattdessen handelt es sich um ein separates Programm, das den gleichen Datenträger liest und darauf schreibt wie der Dateisystemcode im Kernel. Wenn Sie fsck auf einem aktiven Dateisystem ausführen, haben Sie folglich zwei verschiedene Entitäten, die dieselben Daten (die Festplatte) lesen (und möglicherweise ändern), die jedoch in keiner Weise miteinander koordinieren. Das Ergebnis ist, wie andere darauf hingewiesen haben, dass die meisten Prüfer erwarten, dass niemand anderes die Metadaten des Dateisystems ändert, während sie ausgeführt werden. Sie werden verwirrt und / oder melden falsche Fehler, wenn das Kernel-Dateisystem etwas ändert, was der Prüfer nicht erwartet.

Es gibt einige Dateisysteme mit Prüfern, die explizit für die Ausführung "online" (dh während das Dateisystem aktiv ist) entwickelt wurden. Neuere Versionen von FFS / UFS führen dazu fsck mit einem aktuellen Snapshot des Dateisystems aus (ein schreibgeschütztes Replikat zum Zeitpunkt des Kopierens beim Schreiben). Wenn es Probleme findet, wie z. B. Inkonsistenzen in den Zuordnungsbitmaps, werden diese über einen Systemaufruf korrigiert, anstatt auf die Raw-Festplatte zu schreiben. Dadurch kann es mit dem aktiven Dateisystem koordiniert werden.

Der WAFL von NetApp verfügt auch über ein Online-Prüftool. Es gibt wahrscheinlich noch andere.


11

Das Ausführen von fsck auf einer Partition mit eingehängtem Lese- / Schreibzugriff wäre albern, selbst wenn sich fsck im schreibgeschützten Modus befindet. Das Dateisystem ändert sich unter fsck und In-Memory-Daten, die fsck aus dem Dateisystem zwischenspeichert, werden ungültig (und daher wird fsck Inkonsistenz feststellen). Sie können fsck auf einem schreibgeschützten Dateisystem im schreibgeschützten Modus ausführen und gültige Ergebnisse erhalten. Wenn fsck auf einem schreibgeschützten Dateisystem im Lese- / Schreibmodus ausgeführt wird und fsck während der Ausführung Änderungen am Dateisystem vornimmt, sieht der Kernel, dass sich die Dateisystemstrukturen unerwartet darunter ändern. Das wäre auch schlimm.


Sie haben geschrieben: "Wenn Sie fsck im Lese- / Schreibmodus auf einem schreibgeschützten Dateisystem ausführen, sieht der Kernel, dass sich die Dateisystemstrukturen unerwartet darunter ändern." Warum ändern sich die Dateisystemstrukturen auf einem schreibgeschützten Dateisystem?
Guettli

Nach dieser Antwort ist fsck auf einer schreibgeschützten Partition in Ordnung
starten

@guettli - Die Antwort, mit der Sie verbunden sind, sagt fast das Gleiche wie ich. (Ich habe meinen Rechtschreibfehler behoben, übrigens, danke!) Wenn fsck Änderungen vornimmt, während im Kernel ein Dateisystem eingebunden ist, können schreibgeschützte Daten im Kernel aufgrund der von fsck vorgenommenen Änderungen ungültig werden. Sicher, Sie können danach neu starten. Sie können auch einen aufregenden Kernel-Fehler entdecken und Ihren Kernel in Panik versetzen, bevor Sie die Möglichkeit haben, ebenfalls einen Neustart durchzuführen.
Evan Anderson

9

Abgesehen von der Tatsache, dass dies wahrscheinlich Ihren E / A-Durchsatz zum Erliegen bringen würde, kann fsck die Änderungen nicht verfolgen und Unstimmigkeiten melden, wenn das Dateisystem geändert wird, während es überprüft wird.

Bei einigen Dateisystemen wie XFS können Sie die Konsistenzprüfung durchführen, während das Dateisystem mit Lese- und Schreibzugriff bereitgestellt ist, wobei der Vorbehalt besteht, dass möglicherweise falsche Fehler gemeldet werden. xfs_checkempfiehlt, das Dateisystem zu deaktivieren oder schreibgeschützt bereitzustellen, bevor die Überprüfung durchgeführt wird.


6

Nun, der Sinn von fsck ist es, Dateisysteminkonsistenzen zu melden, dh Invarianten zu verletzen.

Viele dieser Prüfungen betreffen jedoch mehr als eine FS-Struktur. Wenn jemand den FS modifiziert (Daten schreibt), sind diese Strukturen möglicherweise vorübergehend nicht synchron. fsck würde das als inkonsistenz sehen, auch wenn es eigentlich kein problem ist. fsck kann nicht erkennen, ob eine Inkonsistenz nur vorübergehend ist oder ein permanentes Problem, das behoben werden muss. Dies kann also unmöglich funktionieren (es sei denn, ein FS wurde speziell für die Online-Überprüfung entwickelt. Einige tun dies, ext3 jedoch nicht).


3

Ja, du kannst. fsck -n / dev / sda1 macht genau das, zumindest auf ext3. Ich habe es gerade getestet :)


-4

Sie können, genauso wie Sie Ihre Hand in einen sich bewegenden Mixer stecken und sich möglicherweise nicht verletzen können, oder Sie können aus einem hohen Gebäude springen, während Sie auf den kleinen Stapel Kissen zielen, den Sie auf dem Bürgersteig darunter ausgelegt haben.

Aber warum sollten Sie, außer um Ihre eigene Sterblichkeit zu testen? Denn Ihr Chef wird es mit Sicherheit erneut testen, wenn er herausfindet, WARUM der Mailserver das Root-Laufwerk jetzt nicht erkennt.


Eigentlich denke ich, dass eine bessere Analogie darin besteht, einen beweglichen Mixer zu betrachten oder einen Blick über den Rand eines hohen Gebäudes zu werfen. Schreibgeschützt.
Mike
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.