Das ursprünglich von Silicon Graphics entwickelte XFS-Dateisystem ist ein robustes und leistungsstarkes Journaling-Dateisystem, das 2001 erstmals in den Linux-Kernel aufgenommen wurde. Seitdem ist die Popularität des Dateisystems exponentiell gewachsen, und bis 2014 fand das XFS-Dateisystem seinen Platz seinen Weg in die wichtigsten Linux-Distributionen. Tatsächlich ist XFS das Standarddateisystem in Red Hat-basierten Distributionen wie RHEL, CentOS und Rocky Linux. Das Dateisystem funktioniert unglaublich gut mit riesigen Dateien und ist im Volksmund für seine Geschwindigkeit und Robustheit bekannt.
So robust das XFS-Dateisystem auch ist, es ist nicht immun gegen Dateisystembeschädigungen. Häufige Ursachen für Dateisystemfehler oder -beschädigungen sind nicht prozedurales oder unsorgfältiges Herunterfahren, NFS-Schreibfehler, plötzliche Stromausfälle und Hardwarefehler wie fehlerhafte Blöcke auf dem Laufwerk. Die Beschädigung des Dateisystems kann schwerwiegende Probleme wie die Beschädigung regulärer Dateien verursachen und sogar dazu führen, dass Ihr System nicht mehr booten kann, wenn Boot-Dateien betroffen sind.
Einige Tools sind nützlich, um Dateisystemfehler zu überprüfen. Einer davon ist der Befehl fsck (Filesystem Check). Das Systemdienstprogramm fsck überprüft den Gesamtzustand eines Dateisystems. Es überprüft das Dateisystem auf potenzielle und vorhandene Fehler und repariert diese, während ein Bericht erstellt wird. Der Befehl fsck ist in den meisten Linux-Distributionen vorinstalliert und es ist keine Installation erforderlich. Ein weiteres nützliches Systemdienstprogramm zum Korrigieren von Fehlern in einem Dateisystem ist das xfs_repair-Dienstprogramm. Das Dienstprogramm ist hochgradig skalierbar und darauf zugeschnitten, riesige Dateisysteme mit mehreren Inodes mit höchstmöglicher Effizienz zu scannen und zu reparieren.
In dieser Anleitung führen wir Sie durch die Reparatur eines beschädigten XFS-Dateisystems mit dem Dienstprogramm xfs_repair.
Schritt 1) Dateibeschädigung simulieren
Um das Beste aus diesem Tutorial herauszuholen, simulieren wir die Dateisystembeschädigung eines XFS-Dateisystems. Hier verwenden wir ein externes USB-Laufwerk mit 8 GB als Blockvolumen. Dies wird als /dev/sdb1 angegeben, wie im folgenden Befehl gezeigt.
$ lsblk | grep sd
Der erste Schritt besteht darin, es mit dem mkfs-Befehl in das xfs-Dateisystem zu formatieren.
$ sudo mkfs.xfs -f /dev/sdb1
Dies zeigt die gezeigte Ausgabe an
Der nächste Schritt besteht darin, einen Einhängepunkt zu erstellen, den wir später zum Einhängen des Block-Volumes verwenden werden.
$ sudo mkdir /mnt/data
Hängen Sie als Nächstes die Partition mit dem Mount-Befehl ein.
$ sudo mount /dev/sdb1 /mnt/data
Sie können überprüfen, ob die Partition wie gezeigt korrekt gemountet wurde.
$ sudo mount | grep /dev/sdb1
Unsere Partition ist jetzt erfolgreich als xfs-Partition gemountet. Als Nächstes simulieren wir eine Beschädigung des Dateisystems, indem wir zufällige Dateisystem-Metadatenblöcke mit dem Befehl xfs_db zerstören.
Aber vorher müssen wir die Partition aushängen.
$ sudo umount /dev/sdb1
Beschädigen Sie als Nächstes das Dateisystem, indem Sie den folgenden Befehl ausführen, um zufällige Dateisystem-Metadatenblöcke zu löschen.
$ sudo xfs_db -x -c blockget -c "blocktrash -s 512109 -n 1000" /dev/sdb1
Schritt 2) Reparieren Sie das XFS-Dateisystem mit xfs_repair
Um das Dateisystem mit dem Befehl zu reparieren, verwenden Sie die Syntax:
$ sudo xfs_repair /dev/device
Aber bevor wir mit der Reparatur des Dateisystems beginnen, können wir wie gezeigt einen Probelauf mit dem Flag -n durchführen. Ein Probelauf bietet einen Einblick in die Aktionen, die von dem Befehl ausgeführt werden, wenn er ausgeführt wird.
$ sudo xfs_repair -n /dev/device
In unserem Fall bedeutet dies:
$ sudo xfs_repair -n /dev/sdb1
Aus der Ausgabe können wir einige Metadatenfehler und Inode-Inkonsistenzen erkennen. Der Befehl endet mit einer kurzen Zusammenfassung der Schritte, die der eigentliche Befehl ausgeführt hätte. Die Korrekturmaßnahmen, die in den Schritten 6 und 7 angewendet worden wären, wurden übersprungen.
Um die eigentliche Reparatur des XFS-Dateisystems durchzuführen, führen wir den Befehl xfs_repair ohne die Option -n
aus$ sudo xfs_repair /dev/sdb1
Der Befehl erkennt die Fehler und Inkonsistenzen im Dateisystem.
Und führt Korrekturmaßnahmen an den Inodes durch und behebt alle anderen Fehler. Die bereitgestellte Ausgabe zeigt, dass der Befehl seine Aufgaben erfolgreich abschließt.
Weitere xfs_repair-Optionen finden Sie auf der Manpage.
$ man xfs_repair
Schlussfolgerung
Das war eine Demonstration, wie Sie ein beschädigtes xfs-Dateisystem mit dem Befehl xfs_repair reparieren können. Wir hoffen, dass Sie jetzt zuversichtlich sind, das beschädigte xfs-Dateisystem in Linux zu reparieren.
Lesen Sie auch :So überwachen Sie ein Linux-System mit dem Glances-Befehl