
Da wir folgendes von dmesg haben
[37785.390633] XFS (dm-2): Metadata corruption detected at xfs_dir3_block_read_verify+0x5e/0x110 [xfs], block 0x7f8af18
[37785.390634] XFS (dm-2): Unmount and run xfs_repair
Dm-2 is the /var
Wir beginnen mit der Durchführung von xfs_repair gemäß dem Dokument -https://access.redhat.com/solutions/1194613
Zuerst erzwingen wir umount auf /var
umount -l /var
und dann starten wir das Verfahren gemäß -https://access.redhat.com/solutions/1194613
xfs_repair -v /dev/mapper/vg_var 2>&1 |tee /tmp/xfs_repair.out
xfs_repair: /dev/mapper/vg_var contains a mounted filesystem
xfs_repair: /dev/mapper/vg_var contains a mounted and writable filesystem
fatal error -- couldn't initialize XFS library
wie wir oben sehen können, beschwert sich xfs_repair über /dev/mapper/vg_var
ein gemountetes Dateisystem, obwohl wir das umount erzwingen
Antwort1
Sie haben nach einem Lazy Unmount ( umount -l
) gefragt. Dadurch wird das Dateisystem nur dann ausgehängt, wenn keine Prozesse mehr darauf zugreifen. In der Dokumentation ( man umount
) selbst heißt es
-l
Lazy Unmount. Trennen Sie das Dateisystem jetzt von der Dateisystemhierarchie und bereinigen Sie alle Verweise auf das Dateisystem, sobald es nicht mehr beschäftigt ist.
In diesem Szenario sollten Sie das -l
Flag nicht verwenden, da Sie sicher sein müssen, dass das Dateisystem wirklich ausgehängt ist.
Stellen Sie sicher, dass das Dateisystem wirklich ausgehängt ist, bevor Sie fortfahren. Wenn dies der Fall ist, lsof
kann dies bei der Identifizierung der unerwarteten Prozesse hilfreich sein.