安価なストレージサーバーの新しいHDDをテストする最良の方法


31

ストレージサーバーを構築して買いたいです10 x 2TB WD RED'sHDD'sちょうど到着。

実際のデータをディスクにコピーする前に、不良ドライブをチェックしたり、幼児死亡率を最大限に防御するために使用するツールはありますか?

各シングルをチェックするHDDか、アレイにZFS raid-z2大量のデータをコピーして()をテストする方が良いでしょうか?


1
「WD Data LifeGuard Diagnostics」のようなベンダー固有のツールがあることは知っています。でも、たくさんのハードディスクを買う奴らは何をしているのだろうか。私は彼らがすべてのハードドライブをチェックするのを疑います(それは多くの時間を要します..)すべてのハードディスクで完全なSMARTテストを一度に実行できるツールがあるのだろうか?
s1lv3r

3
ドライブに書き込むものなら何でもテストとして使用できます。乳児死亡率を把握するには、アレイを1回または2回完全にスワイプするだけで十分です。複数のドライブを購入する場合、複数のベンダー/バッチからドライブを購入することをお勧めします-複数のドライブが同時に故障する可能性を大幅に減らします(同様の製造上の欠陥により)。
クリスS

回答:


14

2か月前に同じ質問がありました。故障したディスクを送信した後、3日後にNASで交換用ディスクが故障しました。そこで、新しい交換品を実稼働する前にテストすることにしました。購入したすべての新しいディスクをテストするのではなく、完全に信頼できない「再生品」ディスクでのみテストします。

これらのディスクをテストすることにした場合は、新しいハードディスクでbadblocksスキャンと拡張SMARTテストを実行することをお勧めします。

2TBディスクでは、これには最大48時間かかります。badblockコマンドはディスクにパターンを書き込み、ブロックを再度読み取ってパターンが実際に存在するかどうかを確認し、4つの異なるパターンでこれを繰り返します。

最近のディスクは不良ブロックを再割り当てするため、このコマンドは新しいディスクに不良ブロックを実際には表示しないでしょう。

そのため、この前後にスマートテストを実行し、再割り当てされた現在の保留中のセクター数を確認します。これらのいずれかが終了した場合、ディスクにはすでにいくつかの不良ブロックがあり、信頼できないことが判明する可能性があります。

この後、拡張SMARTテストを再度実行します。

最初にsmartctlまたはsmartmontoolsをインストールすることをお勧めします。

警告、badblocks -wフラグはディスクのすべてのデータを上書きします。ディスクを上書きせずに読み取りチェックを行いたいだけの場合は、badblocks -vs /dev/sdX

sudo smartctl -a /dev/sdX
# record these numbers
sudo badblocks -wvs /dev/sdX
# let it run for 48 hours
sudo smartctl -a /dev/sdX
# compare numbers
sudo smartctl -t long /dev/sdX
# this might take another hour or 2, check results periodically with
sudo smartctl -a /dev/sdX

この後、あなたのスマートな値が大丈夫だと思えば、ディスクを信頼します。

各スマート値が何を意味するかを知るために、ここから見てみましょう

http://en.wikipedia.org/wiki/Self-Monitoring,_Analysis,_and_Reporting_Technology


他の人たちはこれが大いに役立っているかもしれないと思っていましたが、私は10個のディスクしか持っておらず、悪いことは確かにできないので、私はあなたが今提案した方法ですべてのディスクをチェックしています。包括的な回答ありがとうございます。
s1lv3r

23

これらは新しいディスクです。失敗するか失敗しないかのどちらかです。ZFSファイルシステムを使用することで、すでに大きな一歩を踏み出しています。これにより、RAIDとファイルシステムの健全性に関する優れた洞察が得られます。

アレイを構築する以外には何もしません。それが冗長性のポイントです。リストされている他の方法では、ドライブ障害を引き起こすことはできません。


1
これに同意しました-あなたはアレイを構築しています。データの書き込みを開始したときにドライブが故障した場合、それは重要ではありません。ドライブを交換すると、アレイは自己修復します。使用する前にドライブの問題をテストしても、実際の生活で失敗するかどうかについての適切なアイデアは得られません-実際の生活はテストとは違います!
アシュリー

1
「実生活はテストとは違う」ことに同意しますが、不良ブロックを介した2つのドライブ障害も発見しました。これらの両方をRAID 1、5、または10の同じ部分に入れていたら、RAID全体が失われていたでしょう。
rjt

1
@rjtはおそらくそうではありません。不良セクタは再割り当てされ、ドライブが同時に故障する可能性は低いでしょう。さらに、すべてのドライブ障害がメディアまたは不良ブロックの結果であるとは限りません。ドライブのベアリングが磨耗または故障した場合はどうなりますか?
ewwhite

私はおそらくミッションクリティカルなデータに関する決定を下さない。Google Hard Drive Studyによると、ドライブは最初の90日間または3年後に摩耗します。不良ブロックは、ぶら下がっている果物の排除に役立ちます。
-rjt

1
@rjtもちろん、「おそらく」でミッションクリティカルなデータに関する決定を下します-そうしないと、テストの量に関係なく、ドライブにデータを保存できなくなります。
voretaq7

10

テストにはBonnie ++を使用できます。ファイルサーバーの動作パターンを完全にエミュレートできます。

例えば:

# bonnie++ -u nobody -d /home/tmp -n 100:150000:200:100 -x 300

テストはユーザー 'nobody'として実行され、/ home / tmpの下の100個の自動作成ディレクトリ内で、ファイルごとに200〜150000バイトの100 * 1024ファイルを作成/書き換え/削除します。そして、テストの数=300。ファイルの数/サイズとテストの繰り返し回数を試してみることができます。


9

私は通常、フルRAIDの初期化を行うだけで、該当する場合は、この間にファイルシステムにデータを入力し始めます。常に、ドライブが停止しているために問題がある可能性があることを知っています。このように、とにかくまったく信頼性の低いある種のテストに時間を浪費せず、実際の弱いドライブをすぐにキャッチします。その後、「乳児死亡率」によるドライブ障害の可能性がまだ高い可能性がありますが、これを解消する実用的な方法はありません。

実際には、RAIDで使用した最後の数百のディスクには、運用の最初の年に問題はありませんでした。


8

私は毎日この種のテストを行っている会社で働いています。はい、購入したすべてのハードドライブをテストします。私たちのプロセスは、HDAT2と呼ばれる無料のDOSベースのプログラムを通してドライブを実行することから始まります。無料でダウンロードできます。SMARTおよびWindows環境からアクセスできないドライブのその他の機能にアクセスできます。結果に応じて、特殊なハードウェアのいくつかの異なるラインのいずれかでそれらを実行しますが、コアではほとんどの場合、SMARTショートセルフテスト、ロングテスト、安全な消去、およびセクタを検証するための全読み取りを実行します。私の提案は、ディスク全体の安全な消去を実行してから、すべて読み取りを実行してから、SMARTショートセルフテストを実行することです。テストの最初に実行すると短いセルフテストでは何も見つからないことがありますが、ディスクの完全な書き込みと読み取りの後、何かを拾う可能性があるため、この順序は重要です。お役に立てれば。


1
serverfault.com/a/501870/117546は私にとって最も理にかなっていますが、私は専門家ではありません。なぜあなたの会社はハードドライブをテストするのですか。最も効果的なテストは、実際にドライブを使用することだと思います。
エモリー

4

メーカーのテストスイート、またはSpinRiteなどを使用して、ディスク全体をスイープできます。SMART値を調べて、不良セクターやその他の老朽化/故障の兆候を探すこともお勧めです。


3

本当にテストしたい場合は、badblocks書き込みテストを使用してください。データパターンをディスクに書き込んでから読み取り、確認します。この間、ディスクに少し負荷がかかります。私の意見では、正常に実行されれば、ディスクを信頼できます。

しかし、ZFSと適切なバックアップで十分だと思います。

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