私は最近奇妙でまれなファイルシステムの破損を経験しましたが、これはSSDに問題があるようです。私は良いドライバーアドバイザーのテストツールを探しています。ディスク全体に書き込んでから再度読み込み、高速書き込み、破損したブロック、以前のバージョンのブロックに戻すなどのエラーを見つけることができます。これは完了したよりもはるかに多くのことになりますbadblocks
。そのようなツールがありますか?
参考までにいいえパフォーマンスベンチマークを見つけてSMARTステータスを確認しましたが、正常で不良ブロックは報告されませんでした。
答え1
ちょっと過ごすこともできますが、Phoronixテストスイート。しかも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&スピンクリスタル。後者は商用ツールですが、以前のHDAT2はオープンソースプロジェクトです。
以下はHDAT2のいくつかのスクリーンショットです。
これらの操作を実行している間は、システムがオフラインになるように2つの状態でシステムを再起動する必要があります。ただし、どちらも障害が発生したか、失敗し始めたドライブを回復します。 HDAT2のUIはナビゲーションがやや粗いので、通常、ほとんどの場合、デフォルトのオプションに固執し、そこから離れすぎないようにします。
答え2
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警告を生成し、オペレーティングシステムレベルのブロックデバイスエラーを生成することもできます。ただし、障害が発生すると、SSDの登録サイズが変更されます。これにより、エラーが発生し、オペレーティングシステムでデバイスをオフラインにするか、デバイス自体がハングして再認識する前にプラグを抜いて再接続する必要があります。再登録すると、そのデバイスの利用可能なブロックサイズが減少します。
- 空き容量のある高度なSSDは、背後で不良ブロックを再マップし、OSレベルの警告/警告を生成することができます。空き容量がなくなると、中型SSDのように機器が故障する可能性があります。
隔離された不良ブロックのためにSSDサイズが自己調整されたときにドライブのファームウェアが自動的に正しいアップデートを実行しない場合は、ドライブを回復するために次のことが必要になることがあります。
https://web.archive.org/web/20130728024542/http://communities.intel.com/message/145676
ストレステストとエラーロギングツールがSSD用に特別に設計されていない限り、デバイスの寿命がなくなります。
編集する:
上記の回答に基づいて、この種のOSファイルシステムレベルのエラーは正常ではありません。
また、ドライブがそれをサポートしている場合は、エラー処理のために予約されているスペースの量を増やすことができます。
http://www.thomas-krenn.com/en/wiki/SSD_Over-provisioning_using_hdparm
答え3
1年を超えていることを知っていますが、今後この記事を読んでいる人のために必要なソフトウェアはまだHP Labsの外には存在しないと予想しています。
「停電時のSSD堅牢性の理解」 https://www.usenix.org/system/files/conference/fast13/fast13-final80.pdf
静電注入を選択したイベントに置き換えると(または断続的なファームウェアのバグを検出した場合は何もしません)、ソフトウェアはそれを検出しているようです。残念ながら他の選択肢はないと思います。そうでなければ、HPはおそらく社内で何かを書いていないでしょう。
仮想環境で問題を証明するために同様のことが必要なので、恥ずかしいことです。コミットされた書き込みが実際に物理ディスクに到達していないようです。 SSDだけでなく、このようにストレージスタックに対してもストレステストができれば本当に良いようです。私はまだ正しいものが見つかりませんでした。
答え4
プレッシャープレート
ストレスをテストするように設計されています。インストール済みディスクを見つけて欠陥を見つけます。
欠点は、テストが実行時間で構成され、デフォルトでTBWではなく24時間に設定されていることです。したがって、100TBWごとにテストを終了し、ドライブの関連SMART統計を保存した後、次の100TBWを続行することはできません。
https://github.com/ncw/stressdisk
Anvilのストレージユーティリティ
TechReportのSSD耐久性実験このWindowsユーティリティを使用してください。ベンチマークメニューには耐久性テストが含まれています。
統合MD5ハッシュチェックはデータの整合性を確認します。 Anvilの耐久性テストはファイルを順次作成するので、理想的な実際のシミュレーションではありません。このユーティリティは、5つの圧縮レベルで圧縮されたデータを書き込むことができます。
注:耐久性をテストするには、AnvilPro.exeをテストしているデバイスにコピーして実行する必要があります。
ダウンロード:https://www.guru3d.com/download/anvils-storage-utilities-download/
スピンレット
元のドライブでも動作し、ただ実行されます。オフライン修正されたFreeDosオペレーティングシステムで。しかし、SpinRiteは部門レベル。
一部のDOSバッチファイルスクリプトを使用すると、SpinRite Advisorテストを自動的に複数回実行できます。最新のSpinRite 6.1 RC5は、デフォルトでFAT32 USBサムドライブにログを記録します。
レベル5
レベル5では、SpinRiteはすべてのデータセクタを読み書きします。二重。すべてのデータは 1 から 0、0 から 1 に「遷移」し、すべてのデータが正常に書き込み可能であることを確認します。 SpinRite書き込みプロセスはデータ損失を引き起こさない。元のデータが2回反転され、元の状態に復元されます。
レベル 5 には、以前に欠陥があると判断されたドライブ領域も表示されますが、再び完全に使用できるため、確実にテストできます。