私は 1TB ドライブで badblocks (または「e2fsck -c」) を実行していますが、進行状況インジケーターが示すとおり (しゃれではありません)、完了するまでにほぼ永遠にかかることになります。
現時点では、0.01% done, 30:20 elapsed
完成までに 17 週間ほどかかることになると書かれていますが、これはかなり長すぎるように思います。
このようなチェックにかかる時間は普通なのでしょうか、それとも、ドライブが故障しているという私の疑いが正しいため、チェックにかかる時間は永遠よりわずかに短いだけなのでしょうか?
私は見つけたこの質問ここでは、パスの実行回数に関するものです。
答え1
ご質問にお答えすると、私が提供できる最も近いものは、私がテストした 3TB です。以下は、私が行った 3 回のテストです。パラメータ値のみを変更し-c
、非常に時間がかかったため、10% までしか実行しませんでした。平均を取得するために、それぞれ 3 回実行しました。
「n」は-n
オプションであり、非破壊書き込みテスト読み取り専用テストを行うために削除することができます。また、-s
より良い進捗情報と-v
略語冗長。
badblocks -svn /dev/sdb
1% に到達するには: 1 時間
10% に到達するには: 8 時間 40 分
badblocks -svn -b 512 -c 32768 /dev/sda
1% に到達するまで: 35 分
10% に到達するまで: 4 時間 10 分
badblocks -svn -b 512 -c 65536 /dev/sda
1% に到達するまで: 16 分
10% に到達するまで: 2 時間 35 分
つまり、-c
パラメータはドライブのチェックにかかる時間に非常に大きな影響を及ぼします。1 TB ハード ドライブの場合、3 TB と同じ時間枠を維持すると仮定すると、ここで説明した時間の 1/3 になると思われます。つまり、-c 65536
1 TB HDD で 10% に到達するには約 50 分かかります。
答え2
Badblocks は 4 回実行されます。1 TB の外付け HD では通常約 70 時間かかります。
答え3
のように、一緒に処理されるブロックの数を増やしてみてくださいbadblocks -svn -b 512 -c 65536 /dev/sda
。この方法では、1 TB のハードディスク ドライブを 8 時間でチェックできます。
答え4
一昨日、6TB RAID 6 (破壊書き込みモード!) 内の故障した 1 TB ドライブでこれを実行しました。
# badblocks -svw -b 4096 -c 65536 /dev/sdb
メインボードは ASRock Rack C2550D4I (わかっています…) で、SATA3 ポートに接続された 8 台の Samsung SpinPoint M8 HN-M101MBB (わかっています…) が搭載されています。ドライブは 4K「Advanced Format」ドライブであるため、ブロック サイズは 4K です。
badblocks
エラーもなく完了するまでに約 28 時間かかりました。
ドライブ単体では約 105 MB/秒 (平均hdparm -tT
バッファ読み取りタイミング)、アレイ全体をテストした場合は 200~230 MB/秒です。現在では特に優れているわけではありませんが、古いラップトップ ドライブの山には最適です。
このスレッドがディスク上で badblocks を実行する簡単な方法を見つけるのに役立ったのと同じくらい、これが役に立つことを願っています。最近は使用が疑わしいことは承知していますが、以前smartctl -t long
読み取りエラーが原因で失敗したとき、すべてのセクターを操作して数回書き直し、SMART 値がどのように変化するかを確認することにしました。別のsmartctl
テストが保留中です。これが再び失敗した場合は、新しいドライブを購入します。