「badblocks」による完全な読み取り/書き込みサーフェススキャンは、組み込みのSMART Extendedセルフテストとどのように異なりますか?
どちらもフルサーフェススキャンのように思えるのでbadblocks -vws
、1TBドライブをテストするのに3日かかるのに、SMARTは2時間半でそれを行います(少なくとも、smartmonが私に与えた推定時間です)。
「badblocks」による完全な読み取り/書き込みサーフェススキャンは、組み込みのSMART Extendedセルフテストとどのように異なりますか?
どちらもフルサーフェススキャンのように思えるのでbadblocks -vws
、1TBドライブをテストするのに3日かかるのに、SMARTは2時間半でそれを行います(少なくとも、smartmonが私に与えた推定時間です)。
回答:
SMART表面テストは、ほぼ確実に単一で、非破壊的な読み取りパスです。指摘されているように、それはドライブの内部にもあります。マイナーコントロールデータを除き、テスト中にホストとの間でデータがやり取りされることはありません。
一方、badblocks -w
ドライブ上で4つのパスを作成し、それぞれ1回の書き込みと1回の読み取りを行います。それだけで、テストにかかる時間の8倍の差に加えて、回転待ち時間が考慮されます。ホストで実行されているソフトウェアなので、すべてのデータをディスクインターフェイスを介してRAMにシャッフルし、ソフトウェア(この場合は不良ブロック)で処理する必要があります。
最悪の場合の回転レイテンシを1倍にすると(ディスクはデータを書き込んだ後、それを読み返すために完全に1回転する必要があります。 LBAでは不可能な物理トラックを一度に1つずつI / Oするのではなく、ディスクを読み取ってすべてを読み戻すと、最悪の場合(1 + 1)×8×= 16×が必要になります操作を完了します。16×2.5h = 40h。これは確かに数値と一致しており、ドライブ上のデータストレージのみを処理しており、ドライブがシーケンシャルI / Oを維持できる速度で発生していると仮定しています。
SMARTの短いテストと長いテストは、セクターの(ローカライズされた)読み取りのみを実行します。また、データを破壊しません。読み取ったデータは、ホストPCではなく、オンボードコントローラーにのみ転送されます。テスト中、SATAインターフェイスは基本的にアイドル状態であり、PCのHDDアクティビティランプは点灯しません。
badblocks -vws
書き込みセクターを要求してから、読み取りおよび検証操作を行います。書き込みと読み取りのたびに、操作ごとにディスクの回転が追加され、SATAインターフェイスを介したデータ転送とホストPCの処理に時間がかかります。ほとんどの場合、HDDアクティビティランプは点灯しています。
https://wiki.archlinux.org/index.php/badblocks#Comparisons_with_Other_Programs
ここでの注意点は、一部のメーカーのテストプログラムでは完全なテスト結果が出力されず、一定数の不良セクターが合格または不合格の場合にのみ発言できることです。ただし、製造業者のプログラムは、一般にバッドブロックよりも高速である場合があります。
したがって、可能であれば、badblocksの破壊的で徹底的なテストを使用してください。
編集:破壊的ということは、現代のハードドライブの多くが180TB / yのワークロードを持っていることを意味します。つまり、12TBのHDでは、それをテストするためにbadblocksテストの完全なセットを実行すると、96TBのワークロードを取ることになります。ワークロードで書き込みのみを意味する場合、48TBになる可能性がありますが、そうなる可能性がありますが、十分に文書化されていません。
badblocks
params "last-block" "first-block"の使用を検討し、一日に少しテストを実行しましたか?