Wenn Sie versuchen, xfs_repair auszuführen , die Fehlermeldung erhalten, dass das Dateisystem gemountet werden soll, um das Protokoll erneut abzuspielen, und nach dem Mounten immer noch dieselbe Fehlermeldung angezeigt wird, müssen Sie möglicherweise eine erzwungene Reparatur durchführen (mithilfe des -L
Flags mit xfs_repair
). Diese Option sollte ein letzter Ausweg sein.
Ich verwende beispielsweise einen Fall, in dem meine CentOS 7-Installation eine beschädigte Root-Partition enthielt. Beim Versuch, die Partition zu mounten, wurde ständig die folgende Fehlermeldung angezeigt:
mount: mount / dev / mapper / centos-root auf / mnt / centos-root fehlgeschlagen: Struktur muss gereinigt werden
Leider würde das Erzwingen einer Reparatur das Löschen (Zerstören) des Protokolls erfordern, bevor eine Reparatur versucht wird. Bei Verwendung dieser Methode können möglicherweise mehr Daten beschädigt werden als ursprünglich angenommen. Wir können jedoch die entsprechenden XFS-Tools verwenden, um festzustellen, welche Art von Schaden verursacht werden kann, bevor Sie dauerhafte Änderungen vornehmen.
Mit xfs_metadump und xfs_mdrestore können Sie ein Metadaten-Image der betroffenen Partition erstellen und die erzwungene Reparatur für das Image und nicht für die Partition selbst durchführen. Dies hat den Vorteil, dass Sie den mit einer erzwungenen Reparatur verbundenen Schaden erkennen können, bevor Sie ihn auf der Partition ausführen.
Dazu benötigen Sie ein USB-Gerät mit angemessener Größe oder eine externe Festplatte. Beginnen Sie mit dem Mounten des USB-Laufwerks - mein USB befand sich unter /dev/sdb1
, Ihr Name kann anders lauten.
mkdir -p /mnt/usb
mount /dev/sdb1 /mnt/usb
Nach dem Mounten führen Sie den Befehl aus xfs_metadump
, um eine Kopie der Partitionsmetadaten auf dem USB-Stick zu erstellen. Auch hier kann die betroffene Partition unterschiedlich sein. In diesem Fall hatte ich eine beschädigte Root-Partition unter /dev/mapper/centos-root
:
xfs_metadump /dev/mapper/centos-root /mnt/usb/centos-root.metadump
Als Nächstes möchten Sie die Metadaten in einem Image wiederherstellen, damit wir eine Reparatur durchführen und den Schaden messen können.
xfs_mdrestore /mnt/usb/centos-root.metadump /mnt/usb/centos-root.img
Ich habe festgestellt, dass im Rettungsmodus xfs_mdrestore
nicht verfügbar ist, und stattdessen müssen Sie im Rettungsmodus einer Live-CentOS-CD sein.
Schließlich können wir die Reparatur am Image durchführen:
xfs_repair -L /mnt/usb/centos-root.img
Nachdem die Reparatur abgeschlossen ist und Sie die Ausgabe und den möglichen Schaden bewertet haben, können Sie bestimmen, ob Sie die Reparatur für die Partition ausführen möchten.
Um die Reparatur für die Partition auszuführen, führen Sie einfach Folgendes aus:
xfs_repair -L /dev/mapper/centos-root
Vergessen Sie nicht, auch die anderen Partitionen auf Beschädigungen zu überprüfen. Starten Sie nach den Reparaturen das System neu und Sie sollten in der Lage sein, erfolgreich zu starten.
Denken Sie daran, dass die -L
Flagge als letzter Ausweg verwendet werden sollte, wenn keine anderen Reparaturmöglichkeiten bestehen.
Ich fand, dass diese Online-Artikel geholfen haben: