私はZFSを実行しているFreeBSD8.xマシンと3ware9690SAコントローラーを持っています。
3wareコントローラーは、ディスクの1つでECC-ERRORを示します。
//Host> /c0 show
VPort Status Unit Size Type Phy Encl-Slot Model
------------------------------------------------------------------------------
p0 OK u0 279.39 GB SAS 0 - SEAGATE ST3300657SS
p1 OK u0 279.39 GB SAS 1 - SEAGATE ST3300657SS
p2 OK u1 931.51 GB SAS 2 - SEAGATE ST31000640SS
p3 ECC-ERROR u2 931.51 GB SAS 3 - SEAGATE ST31000640SS
p4 OK u3 931.51 GB SAS 4 - SEAGATE ST31000640SS
/c0 show events
は、最近の履歴にECCエラーがないことを示しています。
ZFSは現在、エラーを検出していません。 zpool status
はNo known data errors
と言います
私の質問:これはECC-ERROR
私が心配する必要があるものですか?
ware CLI 9.5.2 Manual によると、ECC-ERROR
は、3wareコントローラーがこのドライブの1つ以上のセクターの読み取りエラーをキャッチしたことを意味します。これは、RAIDアレイが障害のあるディスクから回復しているときに発生することがあります。 3wareコントローラーが各ディスクを検証するときにECCエラーも検出できると思います。どのドライブにも障害が発生しておらず、ドライブの再構築も行われていなかったため、3wareが実行したときに不良セクタを検出したと思います。これは、ディスクの毎週の自動検証スキャンです。これは安全な仮定ですか?
ログによると、ZFSはこのドライブで不良セクタを検出していません。 ZFSは読み取りエラーを回避できます。ZFSがドライブ上の不良セクターを検出した場合、そのセクターを不良としてマークするだけで、二度と使用することはありません。 ZFSの観点からは、1つの不良セクタは大した問題ではありませんが、ドライブが劣化し始めていることを示している可能性があります。
ECC-ERROR
を使用してtw_cli /c0 rescan
エラーをクリアできます。 tw_cliのマニュアルページによると "コントローラーを再スキャンすると、エラーステータスがクリアされます。条件はもう存在しません "。また、ECCエラーは特定のディスクセクターが読み取られたときにのみ発生するため、ECC-ERROR
はなくなります。 ZFSはおそらくその不良セクタをディスクの別の領域に移動し、不良セクタを「不良」としてマークしたため、不良セクタが再度読み取られることはありません。
docsによると 、単一ドライブの場合、これはデータが破損しているかどうかを意味します。 ZFSはオブジェクトのチェックサムを保存するため、 データ整合性チェックが可能です 。 RAIDとスケジュールされた整合性チェックを必ず行ってください。