良いドライブ拷問テストツールはありますか?


17

最近、奇妙でまれなファイルシステムの破損があり、SSDに問題があると思われます。私は良いドライブ拷問テストツールを探しています。ディスク全体に書き込むことができ、その後、戻って読み取って、書き込み、破損したブロック、古いリビジョンに戻されたブロック、およびその他のエラーを探します。これは何をするよりもはるかに多くなりbadblocksます。そのようなツールはありますか?

注:パフォーマンスベンチマークを探しているのではなく、既にSMARTステータスを確認しています。健全であり、不良ブロックは報告されていません。


1
試しましたか?iozone.org-
ポジトロン

1
ところで、使用しているOS /システムハードウェアを指定しませんでした。SSDは、ハードドライブの電源を頻繁に切って電力を節約するように構成されている場合、一部のMac OS X boxenで話している破損を経験することが報告されています。これにより破損が発生します。SSDに発行されたハードドライブのパワーダウンを介してドライブを強制的にスリープ状態にした場合、他のOS /ハードウェアコンボでも同じことが考えられます。ドライブテストでSSDを焼き付ける前に、システムの構成を確認します。
ウイングタンウォン

1
@WingTangWong、すごい。電源を失ったときに多くのSSDが故障する準備ができていますが、スリープ状態にするように求められたら?それは1つのバギードライブです。これに目を光らせておきます。Linuxを使用していますが、システムをサスペンドする場合を除いて、Linuxをスリープ状態にしません。
psusi

回答:


10

やり過ぎかもしれませんが、Phoronix Test Suiteがあります。bonnie++だけでなく、もありhdparmます。

私は通常hdparm、たとえばを使用します:

% hdparm -Tt /dev/hdb
/dev/hdb:
 Timing buffer-cache reads:   128 MB in  1.25 seconds =102.40 MB/sec
 Timing buffered disk reads:  64 MB in 16.70 seconds =  3.83 MB/sec

私はhdparm拷問テストとは呼びませんが、ドライブ全体のパフォーマンスの大まかなアイデアを提供します。

ドライブの健全性を判断する

ドライブを拷問した後、このコマンドを使用して、ドライブの全般的な状態を確認できます。

% sudo udisks --dump | grep -A 24 Updates
 Attribute       Current|Worst|Threshold  Status   Value       Type     Updates
===============================================================================
 raw-read-error-rate         103| 99| 34   good    5854752     Pre-fail Online 
 spin-up-time                100| 99|  0    n/a    0           Pre-fail Online 
 start-stop-count             98| 98| 20   good    2785        Old-age  Online 
 reallocated-sector-count    100|100| 36   good    0 sectors   Pre-fail Online 
 seek-error-rate              72| 60| 30   good    25872884688 Pre-fail Online 
 power-on-hours               89| 89|  0    n/a    424.4 days  Old-age  Online 
 spin-retry-count            100|100| 97   good    0           Pre-fail Online 
 power-cycle-count            98| 98| 20   good    2753        Old-age  Online 
 attribute-184               100|100| 99   good    0           Old-age  Online 
 reported-uncorrect          100|100|  0    n/a    0 sectors   Old-age  Online 
 attribute-188               100| 96|  0    n/a    0           Old-age  Online 
 high-fly-writes             100|100|  0    n/a    0           Old-age  Online 
 airflow-temperature-celsius  58| 42| 45 FAIL_PAST 42C / 108F  Old-age  Online 
 g-sense-error-rate          100|100|  0    n/a    124         Old-age  Online 
 power-off-retract-count     100|100|  0    n/a    15          Old-age  Online 
 load-cycle-count              1|  1|  0    n/a    248327      Old-age  Online 
 temperature-celsius-2        42| 58|  0    n/a    42C / 108F  Old-age  Online 
 hardware-ecc-recovered       45| 38|  0    n/a    5854752     Old-age  Online 
 reallocated-event-count      89| 89| 30   good    14877766723263 Pre-fail Online 
 current-pending-sector      100|100|  0    n/a    0 sectors   Old-age  Online 
 offline-uncorrectable       100|100|  0    n/a    0 sectors   Old-age  Offline
 udma-crc-error-count        200|200|  0    n/a    0           Old-age  Online 
 attribute-254               100|100|  0    n/a    0           Old-age  Online 

ディスクヘルス/メンテナンスツール

私が働いている場所では、次の2つのツールを使用して成功を収めています。HDAT2およびSpinrite。後者は商用ツールですが、前者のHDAT2はオープンソースプロジェクトです。

次に、HDAT2のスクリーンショットをいくつか示します。

ss#1 HDAT2

ss#2 HDAT2

これらの操作を実行している間はオフラインになりますが、両方のシステムを再起動する必要がありますが、どちらも障害が発生したか、障害を示し始めたドライブを回復しました。HDAT2のUIはナビゲートするのが少し荒いため、通常はほとんどの場合デフォルトの選択肢を使用し、そこからあまり離れないようにしました。


あなたが言及する最初の3つはパフォーマンスベンチマークです。すでにSMARTステータスをチェックしており、不良セクタがなく良好であるため、HDAT2も私が探しているものではないようです。
-psusi

HDAT2を終了しませんでした。chkdsksを実行していて、それらもクリーンでしたが、ディスクはまだ起動可能ではありませんでした。
slm

遅いコメントですが、HDAT2のソースコードを見つけようとしていますが、成功していません。最近のライセンスの変更はありましたか?
i336_

4

bonnie ++が思い浮かびます:

そのため、ボックスのハードウェア構成に応じて:

bonnie++ -d /path/to/mounted/ssd -r your-system-ram-size-in-MB

例:

# For a 32GB system with the SSD formatted and mounted at /mnt/mounted-ssd-001
bonnie++ -d /mnt/mounted-ssd-001 -r 32000

デバイスに適切なストレステストを提供する必要があります。カスタマイズすることもできます。

SSDでは、不良ブロックが発生すると、使用しているドライブに応じて、ドライブハードウェアによって自動的に再マップされる場合があります。また、拷問テストは、SSDの書き込み寿命を使い果たします。したがって、独自の裁量で使用してください。

編集:

Bonnie ++ストレステストが指摘されているが、エラーを追跡しないため、SSD障害に関するメモを追加します。SSDが「不良ブロックを再マッピングする」方法は、ハードドライブが再マッピングする方法とは異なります。それがどうなるかは、あなたが持っているSSDのブランド/メーカー/モデルに完全に依存しています:

  • 安価なSSDは、再マップするための予備容量がないため、または障害が発生したフラッシュブロックを分離する手段がないため、失敗します。ハングアップするかオフラインになるだけで、オンラインに戻ることはありません。
  • 予備容量のないミッドレンジSSDは、Smartdアラートを生成したり、障害ブロックが検出されたときにOSレベルのブロックデバイスエラーを生成したりする場合があります。ただし、障害が発生すると、SSDの登録サイズが変更されます。これにより、エラーが発生し、デバイスがOSによってオフラインになったり、デバイス自体がハングしたり、再び認識されるために引き出したり再挿入したりする必要が生じる場合があります。再登録すると、デバイスの使用可能なブロックサイズが減少します。
  • 予備容量を備えたハイエンドSSDは、バックグラウンドで不良ブロックを再マッピングし、OSレベルのアラート/警告を生成する場合があります。予備の容量がなくなると、おそらくミッドレンジSSDのラインに沿ってデバイスが故障します。

不良ブロックが分離されたためにSSDのサイズが変更された場合、ドライブのファームウェアが自動的に適切な更新を自動的に行わない場合、次の手順を実行してドライブを復活させる必要があります。

http://communities.intel.com/message/145676

ストレステストおよびエラーログツールがSSDを使用して特別に設計されていない限り、デバイスの寿命を使い果たしているだけです。

編集:

上記の回答の情報に基づいて、ケーブルをより良いケーブルに交換するか、ドライブを交換する(RMA /保証交換)ことをお勧めします。この種のOSファイルシステムレベルのエラーは正常ではないためです。

また、ドライブがサポートしている場合、エラーを処理するために予約されているスペースの量を増やすことができます。

http://www.thomas-krenn.com/en/wiki/SSD_Over-provisioning_using_hdparm


それはパフォーマンスのベンチマークです。それはドライブにトレーニングを与えるかもしれませんが、エラーを検出するとは思いません。
-psusi

SSDの動作方法、エラー検出は、SSDのメーカー/モデルに応じて、いくつかの形式のいずれかで行われます:ブロックがリマップされ、予備容量が使用された場合(障害なし)、デバイスの容量はSmartdエラーフラッシュストレージの一部に障害が発生すると減少します(スマートエラーが発生したり、ファイルシステムエラーが発生したり、デバイスがオフラインになってバスがハングしたりする可能性があります。 )、SSDは再マッピングなしでハングしているように見える場合があります(再挿入後もデバイスが応答しなくなります)。障害パスはHDと同等ではありません
ウイングタンウォン

1
エラーはドライブによって検出されないため、テストツールが必要です。ファイルシステムがroに再マウントされ、e2fsckがメタデータ内の多くのエラーを見つけて修正することで現れます。また、gitリポジトリパックファイルの一部が破損しています。それは、たぶん月に1、2回起こる静かな腐敗です。最初は、TRIMを有効にする前にこの出来事を思い出せないため、TRIMに関係するバグであると考えました。
-psusi

潜在的な問題:不良なドライブケーブルまたは不良なドライブ。ケーブルを別のケーブルと交換することにより、不良ドライブケーブルをテストできます。私はこれを過去に持っていて、より良い仕様のケーブルと交換しました。不良ドライブの場合は、RMAまたは保証修理のために送ります。
ウイングタンウォン

1
問題は、それが不良ドライブ(または実際にはファームウェアのバグ)であり、カーネルのバグではないことを証明しています。不良ケーブルの場合、ランダムなサイレント破損ではなく、sata eccエラーとして現れます。
-psusi

3

これは1年以上前のものだと理解していますが、将来スレッドを読んでいる人の利益のために、あなたが必要とするソフトウェアはまだHP Labsの外部には存在しないと思います:

「電源障害時のSSDの堅牢性について」 https://www.usenix.org/system/files/conference/fast13/fast13-final80.pdf

電源障害の挿入を選択したイベント(または断続的なファームウェアのバグを検出する場合は何もない)に置き換えると、このソフトウェアがそれを検出するようです。残念ながら、代替手段はないと思います。さもないと、HPが社内で何かを書いたことはないでしょう。

仮想環境の問題を証明するためにこのようなものも必要だったので、それは残念です。コミットされた書き込みが実際に物理ディスクに到達していないと思われる場合。必ずしもSSDだけでなく、このようなストレージスタックのストレステストを行えることは素晴らしいことです。適切なものをまだ見つけていません。


2
(匿名のコメントから)物事のハードウェア側を複製する必要がありますが、その論文のソフトウェア検証部分がトリガー付きのクライアント/サーバーモードでfioを使用して再現できない理由はわかりません。詳細については、github.com / axboe / fio / blob / master / HOWTO(10.0検証とトリガー)を参照してください。fioは、後で検証できるさまざまな便利なパターンで、バッファーなしまたは定期的に同期するI / Oを使用するようにできます(異なるfioの呼び出し後に検証が行われるように状態ファイルを保存することも可能です)。
アルケマール

1

メーカーテストツールを使用すると、低レベルのテストにアクセスしたり、不良セクタを再マッピングしたり、すべてのスマートヘルスステータスをテストしたりできるため、HDをテストする最良の方法ですメーカーがハードディスクの状態を確認するのに役立ちます)

hirensCDには多くのテストツールがありますが、SSD対応のものに更新されていないと思うので、メーカーのWebサイトを直接確認してください。Linuxをサポートしているものもあれば、Windows liveCDを必要とするもの(hirenCdをもう一度確認する)またはペンドライブから起動するもの(freedos、特別なOSなど)もあります

ほとんどの古いHDツールは、SSDのテストには適していません。セクターが同じ場所にあることは決してなく、ファームウェアによって動的にマッピングされ、ドライブ全体に書き込みを分散させるからです。そのため、書き込みテストを行う場合、ディスクを真にテストするのではなく、書き込みサイクルを燃やしているだけです。

読み取りテストはSSDを焼き付けるものではありませんが、ファームウェアが実際のレイアウトを隠しているため、すべてのSSDセクターを実際にテストするわけではありません。

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