Von:
http://linux.die.net/man/8/fsck.ext3
„Beachten Sie, dass es nicht sicher ist im Allgemeinen laufen e2fsck
auf eingehängte Dateisysteme. Die einzige Ausnahme ist , wenn die -n
Option angegeben wird, und -c
, -l
oder -L
Optionen angegeben sind es nicht. Aber auch wenn es sicher ist , dies zu tun, gedruckt die Ergebnisse durch e2fsck
sind Nicht gültig, wenn das Dateisystem angehängt ist. Wenn Sie e2fsck
gefragt 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. "
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.
quelle
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.
quelle
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_check
empfiehlt, das Dateisystem zu deaktivieren oder schreibgeschützt bereitzustellen, bevor die Überprüfung durchgeführt wird.quelle
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).
quelle
Ja, du kannst. fsck -n / dev / sda1 macht genau das, zumindest auf ext3. Ich habe es gerade getestet :)
quelle
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.
quelle