badblocksは1 TBのドライブでどれくらい時間がかかりますか?


28

1TBドライブでbadblocks(または「e2fsck -c」)を実行していますが、進行状況インジケーターが表示(しゃれなし)である場合、完了するまでにほぼ永遠に時間がかかります。

今のところ、それは0.01% done, 30:20 elapsed事が完了するのに17週間かそこらかかることを意味するだろうと言っています。

そのようなチェックにかかるのは通常の時間ですか、それともドライブが故障しているという疑いが正しかったため、チェックは永遠よりもわずかに短い時間しかかかりませんか?

私はここでこの質問を見つけましたが、それは行われたパスの量に関係しています。


2
実際に障害があるかどうかは、ほぼ確実にインターフェイス、ドライブ、およびドライブの状態に依存します。私のコンピューターの1つで、SATAを介して接続された1.5TBドライブの不良ブロックスキャンに最大70時間かかったことがわかります。USB2.0または1.0で接続している場合は、はるかに長くなります。
ゾレダチェ

e-SATAを使用して接続されます。しばらく待って、良い夜の睡眠の後、それがどれくらい遠くにあるかを見ると思います。
スティーブンドン

@Zoredache-あなたのコメントは代わりに答えになるべきだと思う。
ニフレ

上記のZoredacheのコメントに加えて、異なるスイッチbadblocksが異なるタスクを実行させるため、-wスイッチなどのランタイムにも影響します。
-JeffG

必要な時間badblocksは、実行中のモードによって異なります:読み取り専用、非破壊読み取り/書き込み、または破壊読み取り/書き込み。そうは言っても、0.1%で30分かかるとは思えません。
SabreWolfy

回答:


20

あなたの質問に答えるために、私が提供できる最も近いのは、私がこれのためにテストした3TBです。ここに私が行った3回のテストがありますが、パラメータ値を変更するだけで、-c最大10%しか実行しませんでした。それぞれが平均を得るために3回行われました。

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分。


5

Badblocksは4回実行されます。1 TBの外部HDでは、通常約70時間かかります。


4
完全をbadblocks期すために、(のみ)デフォルトでは、-w破壊的書き込みフラグを使用して4回実行されます。
SabreWolfy

@SabreWolfy badblocksが-wを指定した実行で行うことをどこで読みましたか?この情報が見つかりません。
アランフランゾーニ

1
-wのマニュアルページには、使用する4つの書き込みパターンが示されています。
-SabreWolfy

3

のように、一緒に処理されるブロックの量を増やしてみてくださいbadblocks -svn -b 512 -c 65536 /dev/sda。このようにして、1 TBのハードディスクドライブを8時間でチェックできます。


2

WD Red 4TBドライブでbadblocksを実行しています。それらは4kセクタードライブなので(を使用してチェックlsblk -o NAME,PHY-SeC)、で実行してい-b 4096ます。badblocksの各インスタンスに〜800MbのRAMを割り当てたいので、どちらを使用するかを使用しまし-c 2000004096 bytes * 200,000 blocks = 800,000 Kb。最初はそれぞれ800Mbから始まりましたが、時間の経過とともに徐々に増えていきました。ただし、これらの設定は標準設定よりも大幅に高速化されます。

それは走った3分の56secで1%が、それは4つのパターンの1%です。また、ランニングの終わりに近づくほど時間がかかるようです。約17時間で最初のパターンのディスクをチェックしたため、約68時間で4TBを完了するはずです

以下のコマンドは破壊的な書き込みを実行します

私が使用しているコマンドは次のとおりです。 badblocks -svw -b 4096 -c 200000 /dev/sdc -o bb_sdc.txt


0

昨日、6TB RAID 6の故障した1TBドライブでこれを実行しました(破壊的な書き込みモード!):

# badblocks -svw -b 4096 -c 65536 /dev/sdb

メインボードは、SATA3ポートに接続された8x Samsung SpinPoint M8 HN-M101MBB(知っている…)を備えたASRockラックC2550D4I(知っている…)です。ドライブは4K「Advanced Format」ドライブであるため、4Kブロックサイズです。

badblocks 完了するまでに約28時間かかりましたが、エラーはありませんでした。

単一ドライブはhdparm -tT、アレイ全体をテストする場合、最大105 MB /秒(平均バッファー読み取りタイミング)、200〜230 MB /秒を実行します。最近では優れたものはありませんが、古いラップトップドライブの山にはいいものです。

このスレッドが、ディスク上で不良ブロックを実行する迅速な方法を見つけるのに役立つのと同じくらい役立つことを願っています。最近、その使用が疑わしいことを知っていますが、smartctl -t long読み取りエラーが原因で以前のエラーが発生した場合、SMART値がどのように変化するかを確認するために、すべてのセクターに何度か触れて書き直すことにしました。別のsmartctlテストが保留中です。それでも失敗した場合は、新しいドライブを購入します。


0

いくつかのパフォーマンスの観察:

このデバイスにあるe2fsck -c -c -v / dev / sda2を実行しています。

/ dev / sda2 77056 976754431 976677376 3.7T Linuxファイルシステム

63.5%の現在のランタイムは53:28:40です。53.5時間。進捗率は1.186%/時間です。このレートでは、完了までにさらに31時間かかり、推定合計実行時間は85時間になります。これはUSB 3.0デバイスです。iotopは、平均読み取り/書き込み速度が約25MB / sであることを示します。これまでのところ、不良ブロックは見つかっていません。

e2fsckによって実行される基本的なコマンドラインは次のとおりです。

sh -c badblocks -b 4096 -X -s -n / dev / sda2 976677375

StackOverflow状態への投稿では、^ C(SIGTERM)で不良ブロックを中断しても安全です。これを行う場合、このテストを停止し、将来的にはディスクブロックレベルの操作であるため、後で再開するというマイナス面はありません。スキャンが完了した割合で再開する前に、このファイルシステムをアンマウントする必要があります。


1
これは質問か回答ですか?
-Pierre.Vriens
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.