badblocks
最近4TBハードドライブを購入しましたが、使用する前に読み書きテストをしたかったのです。オプションbadblocks
で4TBを実行するのに時間がかかるため、最初にディスクにパターンを作成してから、オプションを使用してパターンを読み取って数日ではなく数時間で完了したいと-w
思います。-t
badblocks
-t
問題は、このオプションがどのように機能するかを理解できず、badblocks
withオプションを使用した例をオンラインで検索しても結果がないことです。マニュアルページでは、テストモードは0とULONG_MAX-1の間の数値です(ULONG_MAXはそうであると推測されます)。しかし、モードを提供する方法(10進数、16進数、2進数、ASCII文字列の長さ)はわかりません。 < ?) 。パターンサイズはブロックサイズに関連していますか?badblocks
-t
2^32
2^(32/8)
問題の別の部分は、パターンでハードドライブを埋めるスクリプトを書くことです。これを行うためにRubyスクリプトを書くこともできますが、1行のbashコマンドをパイプする方がはるかにpv
良いです!
答え1
badblocks
パターンを最初に作成することは、他の方法で作成するよりも遅くてはいけません。特に小さな読み取り/書き込み操作を実行しないようにし、-b block-size
オプションを使用する場合は特にそうです。-c blocks-at-once
この例では、1MiBブロックの「ランダム」パターンでディスクを上書きします。
badblocks -v -w -t random -b 4096 -c 256 /dev/thedisk
速度に問題がある場合は、他の理由があります...
答え2
1つのツールを使用してパターンを作成し、それを使用して読み込むことは、単一のパターンを使用してbadblocks
不良ブロックを実行するよりもはるかに高速ではないようです。
モードは16進数で指定する必要があります。少なくとも私が理解する方法は次のとおりです。
badblocks -t 0x55 -w [...]
源泉:https://github.com/autotest/ctcs/blob/master/runin/ Destructiveblocktstrnd
答え3
-t
それで、より多くの研究の終わりに不良ブロックオプションを利用する方法を見つけました。フロストスーツの答え(私はこの質問をしたときにこのオプションに気付かなかった-c
)。
42
フルハードドライブに書き込みます。
yes 4 | tr '\n' 2 | pv -pterb -s 4000G > /dev/sdx
確認パスbadblocks
badblocks -vs -t 0x3432 /dev/sdx