2つのドライブをミラーとして持つZFSプールを構成しました。オペレーティングシステムはUbuntu16.04で、ベンダーがパッケージ化したzfs0.6.5を使用しています。ドライブは3TWDGreenと3TWD Red(おそらくパフォーマンスには最適ではありませんが、これは考慮事項ではありません)であり、バイトとセクターのサイズは同じです。私はパーティションを使用していませんが、zpool create
はいつものように各ドライブに2つ作成しました。デフォルトでは、OSは月に1回プールでスクラブを実行し、手動で数回スクラブを実行しました。
スクラブプロセスでWDRedドライブのチェックサムエラーが数回検出されましたが、すべての実行で検出されたわけではありません。それらは自動的に修復されており、私の知る限り問題は発生していません。 CKSUM列に表示されている数値は、3、5、および9を示しており、今後のUbuntu18.04およびZFS0.7.5への最近のアップグレード後、31も示しています(メッセージを正しく覚えている場合は、「エラーが多すぎます」という追加情報があります) )。
心配して、私はドライブをプールから切り離し、プールをエクスポートしました。ドライブをインポートせずに、ドライブでbadblocks -b 4096 -s -v -w
を実行しましたが、(0/0/0)
エラーが報告されました。また、私が正しく理解していれば、smartctl -a /dev/sda
は異常なことは何も示していません(| grep -i error
):
1 Raw_Read_Error_Rate 0x002f 200 200 051 Pre-fail Always - 0
7 Seek_Error_Rate 0x002e 200 200 000 Old_age Always - 0
199 UDMA_CRC_Error_Count 0x0032 200 200 000 Old_age Always - 0
200 Multi_Zone_Error_Rate 0x0008 100 253 000 Old_age Offline - 0
ディスクをプールに再接続しましたが、現在再シルバー化中です。しかし、私は謎のままです。繰り返し発生するスクラブエラーの原因は何でしょうか。問題が何であるかをよりよく理解するために、またはそれを完全に回避するために、私は将来何をすべきですか?特にWDRedは2016年にのみ製造されているため、交換用ドライブの購入については特に検討したくありません。
(これが関連するかどうかはわかりませんが、ある時点で、オペレーターのエラーまたはソフトウェアのバグにより、問題のないWD Greenドライブパーティションテーブルが破損しました。デタッチする以外に、プールに戻すアクションが見つかりませんでした。再シルバーリングプロセス中に、一部のブロックがWD Redドライブから読み取れず、影響を受けた1つのファイルをバックアップから復元しました。スクラブにより、このインシデントの前後の両方でチェックサムエラーが検出されました。)
チェックサムの失敗はファイルシステムとは独立して発生するため、チェックサムの失敗の原因を簡単に特定する方法はありません(FS自体のバグが原因である場合を除きますが、それはそうではないと思います)ここで何が起こっているのか)smartctl
とbadblocks
の成功は、問題が障害のあるディスクではないことを期待しています。
これは、エラーを理解するのに役立つことを目的としたページです: http://illumos.org/msg/ZFS-8000-9P 。それからの引用:
For example, the following cases will all produce errors that do not
indicate potential device failure:
- A network attached device lost connectivity but has now recovered
- A device suffered from a bit flip, an expected event over long
periods of time
- An administrator accidentally wrote over a portion of the disk
using another program
この時点で、ドライブへの接続を確認し、resilverを実行することが正しい方法だと思います。