Stellen Sie sicher, dass sich das Dateisystem nach einem unsauberen Herunterfahren in einem konsistenten Zustand befindet
Als erstes ist zu beachten, dass XFS, reiser und die meisten Konfigurationen von ext nur Metadaten-Journale implementieren, bei denen es darum geht, fsck zu vermeiden. Das Journal wird beim Start nicht immer wiedergegeben - es kann verworfen werden, wenn es unvollständig ist.
Es gibt Systeme, die eine vollständige Datenerfassung unterstützen. In der Praxis ist die Sicherheit, die diese nur für die Erfassung von Metadaten bieten, in realen Szenarien jedoch sehr gering.
Ein 'inkonsistenter Zustand' und die von fsck behobenen Probleme sind also Fehlanpassungen zwischen den Metadaten und den Dateien selbst. Um dies zu vermeiden, schreibt das Betriebssystem die vorgeschlagenen Metadatenänderungen in das Journal, schreibt dann die tatsächlichen Daten auf die Festplatte und wendet dann die im Journal replizierten Metadatenänderungen auf die Festplatte an. Der einzige Haken dabei ist, dass der Festplattencontroller die Anforderungen puffert und möglicherweise neu anordnet. Um dies zu vermeiden, implementieren die meisten Journalling-Dateisysteme Barrieren: Sie trennen jeden Vorgang und warten, bis die Festplatte bestätigt, dass der Vorgang abgeschlossen wurde. Viele moderne Festplatten bestätigen jedoch tatsächlich den Abschluss von Schreibvorgängen, bevor die Daten festgeschrieben werden. Daher können die Dinge chaotisch werden.
Wird nach einem unsauberen Herunterfahren noch ein fsck benötigt und warum?
Die meisten Dateisysteme behalten eine Bereitstellungsanzahl bei. Sobald diese Anzahl erreicht ist, wird beim nächsten Versuch, die Festplatte bereitzustellen, ein vollständiger fsck ausgelöst. Der Grund dafür ist, dass Datenträgerdaten möglicherweise beschädigt werden, auch wenn sie nicht explizit beschrieben werden, auch ohne Fehler in der Software. Der obige Kommentar von psusi ist falsch.