Reparieren Sie das Dateisystem, indem Sie die fstab-Datei bearbeiten

Reparieren Sie das Dateisystem, indem Sie die fstab-Datei bearbeiten

ist es möglich, eine XFS-Reparatur durch erneutes Bearbeiten der Fstab-Datei auszuführen?

/dev/mapper/vg-linux_root /                       xfs     defaults        0 0
UUID=7de1dc5c-b605-4a6f-bdf1-f1e869f6ffb9 /boot   xfs     defaults        0 0
/dev/mapper/vg-linux_var /var                     xfs     defaults        0 0
/dev/mapper/vg-linux_swap swap                    swap    defaults        0 0

Ich bin nicht sicher, aber ist es richtig, die letzte Zahl von 0 durch 1 zu ersetzen?

Antwort1

Nein, das bloße Bearbeiten von /etc/fstab kann nicht dazu führen, dass xfs_repair ausgeführt wird.

Bei anderen Dateisystemtypen würde es funktionieren. Aber XFS ist hier etwas Besonderes.

Wenn Sie das 6. Feld /etc/fstabin einem XFS-Dateisystem auf einen Wert ungleich Null ändern, führt das System aus fsck.xfs. Auf der Manpage der Seite heißt es:

NAME
       fsck.xfs - do nothing, successfully

[...]

       However,  the  system  administrator  can force fsck.xfs to run xfs_re‐
       pair(8) at boot time by creating a /forcefsck file or booting the  sys‐
       tem with "fsck.mode=force" on the kernel command line.

Normalerweise wird also fsck.xfsüberhaupt nichts getan.

Wenn Sie es wirklich xfs_repairbeim Booten ausführen möchten, müssen zwei Bedingungen erfüllt sein:

a) Das 6. Feld /etc/fstabmuss für das betreffende XFS-Dateisystem ungleich Null sein, damit es fsck.xfsausgeführt wird.

b) Entweder /forcefsckmuss eine Datei im Root-Dateisystem vorhanden sein (oder vielleicht in initramfs, wenn Sie das Root-Dateisystem prüfen möchten), oder die Kernel-Befehlszeile muss die fsck.mode=forceBoot-Option haben. Dies führt dazu, fsck.xfsdass es ausgeführt wird xfs_repair, anstatt nichts zu tun.

Was ist dann das Besondere an xfs_repair?

Sowohl das XFS-Dateisystem als auch das xfs_repairTool gehen davon aus, dass die zugrunde liegende Festplatte in gutem Zustand ist oder zumindest in der Lage ist, fehlerhafte Blöcke transparent durch integrierte Ersatzblöcke zu ersetzen (wie dies bei allen modernen Festplatten der Fall ist). Wenn eine moderne Festplatte dauerhaft fehlerhafte Blöcke aufweist, die für das Betriebssystem sichtbar sind, bedeutet dies normalerweise, dass der integrierte Ersatzblockmechanismus bereits durch die Menge der fehlerhaften Blöcke überlastet ist und die Festplatte wahrscheinlich sowieso bald vollständig ausfallen wird.

Die Manpage von xfs_repairsagt:

   Disk Errors
       xfs_repair aborts on most disk I/O errors. Therefore, if you are trying
       to  repair  a  filesystem that was damaged due to a disk drive failure,
       steps should be taken to ensure that all blocks in the  filesystem  are
       readable and writable before attempting to use xfs_repair to repair the
       filesystem. A possible method is using dd(8) to copy the  data  onto  a
       good disk.

Daher sollten Sie die xfs_repairautomatische Ausführung unter normalen Umständen wahrscheinlich nicht einrichten.

Wenn ein XFS-Dateisystem Fehler aufweist, sollten Sie immer zuerst den Zustand der zugrunde liegenden Festplatte prüfen: Dies smartctl -a /dev/<disk device>kann ebenso nützlich sein wie die Verwendung ddzum Einlesen des gesamten Inhalts der Partition/des LV /dev/nullund zum Prüfen, ob der Befehl ohne Fehler abgeschlossen werden kann.

Wenn die Festplatte ausfällt, sollten Sie zunächst den Inhalt der Partition/des LV auf eine neue, fehlerfreie Festplatte kopieren (möglicherweise mit ddoder ddrescue) und erst dann versuchen, xfs_repairdas Dateisystem auf der fehlerfreien Festplatte auszuführen.

Die automatische Ausführung xfs_repairbeim Booten kann eine geeignete Problemumgehung sein, wenn Sie wissen, dass etwas Fehler auf Dateisystemebene verursacht, selbst wenn Ihre Festplatten in gutem Zustand sind. Dies ist jedoch nur eine Problemumgehung, keine Lösung: Sie sollten herausfinden, was die Dateisystemfehler verursacht, und die Grundursache beheben. (Vielleicht ein Fehler im Dateisystemtreiber, für dessen Behebung ein aktualisiertes Kernelpaket erforderlich ist?)

Antwort2

Wenn die Dateien /dev/sdaFehler aufweisen, müssen Sie fscksie ausführen. Beachten Sie, dass dabei nicht die Festplatte selbst, sondern nur die Dateien repariert werden. Wenn die Festplatte tatsächlich Fehler aufweist und ausfällt, ist es am besten, die Festplatte auszutauschen und die Daten aus einer Sicherung wiederherzustellen, denn wenn es schlimm genug wird, kann es zu Datenverlust kommen, insbesondere wenn die Festplatte ganz ausfällt.

verwandte Informationen