
dmesgから次の情報が得られるので
[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
ドキュメントに従ってxfs_repairを実行します -https://access.redhat.com/solutions/1194613
まず/varをアンマウントします
umount -l /var
そして、私たちは以下の手順で手続きを開始します。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
上記のように、xfs_repairは/dev/mapper/vg_var
マウントされたファイルシステムが含まれていると文句を言っていますが、アンマウントを強制しているにもかかわらずです。
答え1
遅延アンマウント(umount -l
)を要求しました。これは、アクセスしているプロセスがなくなった場合にのみファイルシステムをアンマウントします。ドキュメント(man umount
)自体には次のように書かれています。
-l
遅延アンマウント。ファイルシステムをファイルシステム階層から切り離し、ファイルシステムがビジー状態でなくなったらすぐにファイルシステムへのすべての参照をクリーンアップします。
-l
このシナリオでは、ファイルシステムが実際にアンマウントされていることを確認する必要があるため、フラグを使用しないでください。
続行する前に、ファイルシステムが実際にアンマウントされていることを確認してください。そうであれば、lsof
予期しないプロセスを識別するのに役立つ場合があります。