皆さん、こんにちは。この投稿では、多くの作業とシステム全体を節約できるトリックについて説明します。したがって、今日は、RHEL / RockyLinux/CentOSでXFSファイルシステムをチェックおよび修復する方法を学習します。
始める前に、XFSについて少し話す必要があります。
XFSは、高性能の64ビットジャーナリングファイルシステムです。成熟度やデバッグされたコードなどの長所により、GNU/Linuxサーバーでの使用に適しています。
XFSの主な利点は次のとおりです。
- ジャーナリングのおかげで、データ損失からの簡単かつ迅速な回復が可能です。この機能は、運用サーバーでは不可欠です。
- XFSを使用すると、パーティションがマウントされてアクティブになっているときにパーティションを拡大する可能性があります。
- XFSはI/O(入力/出力)操作を並行して実行できます。
等々。そのため、RHEL、RockyLinux、およびその派生物を備えた多くのサーバーがそれを使用しています。
ただし、失敗する可能性があるため、それが本日の投稿の理由です。
RHEL / RockyLinux/CentOSでXFSファイルシステムを修復する方法
実際、XFSファイルシステムを修復するには、次のコマンドを実行する必要があります
xfs_repair [option] [device]
ただし、XFSシステムが破損している必要があり、本番システムではこれは致命的です。
したがって、この投稿がどのように機能するかを示すために、意図的にXFSシステムに損傷を与えます。
このテストは、メインシステムに損傷がない仮想マシンで実行することを忘れないでください。
パーティション、デバイス、またはシステムが/device
にマウントされているとします。 まず、マウントを解除する必要があります。
umount /device
そして今、実行することによってファイルシステムを損傷します
xfs_db -x -c blockget -c "blocktrash -s 512109 -n 1000" [device]
たとえば、
sudo xfs_db -x -c blockget -c "blocktrash -s 512109 -n 1000" /dev/sdb1
そしてもちろん、それをマウントしようとすると、これと同様のエラーが発生するはずです
mount: /device: mount(2) system call failed: Structure needs cleaning.
それでは、修正しましょう。
そのためには、ボリュームをアンマウントする必要があります。
修復するには、次のコマンドを実行します
xfs_repair [device]
たとえば、
xfs_repair /dev/sdb1
最後に、これに似た出力画面が表示されます
そのため、プロセスは広範囲にわたっています。今はマウントするだけです。
mount /dev/sdb1
楽しんでください。