ext4を使用している場合は、コマンドe2fsck -c /dev/sda1 # or whatever
を使用して不良ブロックを確認できます。 。これにより、ブロックが不良ブロックiノードに追加されて「ブラックリスト」に登録されます。
LVM2物理ボリュームの場合、これに相当するものは何ですか?その上のファイルシステムはext4ですが、おそらく、基盤となるLVMセットアップが物理ディスク上でデータを移動するため、検出された不良ブロックは無効になります。
つまり、LVMで使用しない不良ブロックを確認するにはどうすればよいですか?
承認された回答:
ext4を使用している場合は、コマンド
e2fsck -c /dev/sda1
を使用して不良ブロックを確認できます。 または何でも。これにより、ブロックが不良ブロックiノードに追加されて「ブラックリスト」に登録されます。
e2fsck -c
badblocks
を実行します 基盤となるハードディスク上。 badblocks
を使用できます extを含むハードディスクでコマンドを使用するのと同じように、LVM物理ボリュームで直接コマンドを実行します(PVが実際にはハードディスクであり、MDソフトウェアRAIDデバイスのような他の種類の仮想デバイスではないと仮定します)。ファイルシステム。
これによってファイルシステムに不良ブロック情報が追加されることはありませんが、それがファイルシステムの便利な機能だとは思いません。ハードディスクは不良ブロックを処理することになっています。
badblocks
よりもさらに優れています ディスク上でSMARTセルフテストを実行しています(/dev/sdX
を置き換えます ハードディスクのデバイス名を使用):
smartctl -t long /dev/sdX
smartctl -a /dev/sdX | less
テスト自体には数時間かかります(正確にどのくらいの時間がかかるかがわかります)。完了したら、smartctl -a
を使用して結果をクエリできます 、セルフテストログを探します。 「正常に完了しました」と表示されている場合は、ハードディスクに問題はありません。
つまり、LVMで使用しない不良ブロックを確認するにはどうすればよいですか?
私が言ったように、ハードディスク自体は、損傷したブロックを使用しないことを保証し、それらのブロックからデータを再配置します。これは、ファイルシステムやLVが行う必要のあることではありません。一方、ハードディスクに不良ブロックが数個以上ある場合は、それらを再配置するものは必要ありませんが、障害が発生しているため、ハードディスク全体を交換する必要があります。
関連:「どちら」を使用してみませんか?それでは何を使うのですか?