web-dev-qa-db-ja.com

外部に接続されたZFSプールがハングアップし、ドライブにエラーの兆候がない

SATAマルチプレクサの外部エンクロージャに5台の1TBWDRedドライブのアレイがあります。これは、SATAマルチプレクサコントローラーを備えたデスクトップマシンに供給されています。

約1年のサービスの後(これは2回発生しました)、アレイは このビデオ のようにリセットを開始します。特定のドライブに障害があることを示すものはなく、エンクロージャーがシャットダウンし、アレイ内のすべてのドライブが切断されただけです。

私はそのようなエンクロージャーを2つ持っていますが、それらを一方から他方に移動すると、常に冗長アレイに障害が発生します。エンクロージャーは、インターフェイスカードと同様に何年も一定のままですが、新しいドライブをインストールすると、もう1年間問題が解決しました。

ノイズの多い電源がドライブの電源回路をゆっくりと停止させることから、ZFSのOSの実装が悪いことまで、何十もの可能性がありますが、どこから始めればよいのかを知るのは非常に困難です。どのような戦略で、実際に問題が何であるかを知ることができますか?

  • OS:CentOS 7.0、カーネル:3.10.0

  • エンクロージャー:SiI3726マルチプレクサー

  • インターフェイスカード:SiI3132デマルチプレクサ

  • ハードドライブ:WD10EFRX

メッセージ:

リセットが発生している場合:

[ttt.tttt] ata4.03: exception Emask 0x100 SAct 0x0 SErr 0x0 action 0x6 frozen
[ttt.tttt] ata4.03: failed command: WRITE DMA EXT
[ttt.tttt] ata4.03: cmd 35/00:.. ...:00/e0 tag 3 dma 144688 out
[ttt.tttt] ata4.03: status: { Busy }
[ttt.tttt] ata4.03: error: { ICRC UNC AMNF IDNF ABRT }

Zpoolが完全に停止したら:

[ttt.tttt] INFO: task txg_sync:xxxxx blocked for more than 120 seconds
[ttt.tttt] INFO: task zpool:xxxxx blocked for more than 120 seconds

次のような端末コマンドに応答して秒が発生すると

$ zpool status

システムは本質的に役に立たず、完全に再起動する必要があります。

最新のビデオ に見られるように、この問題はドライブへの電圧の低下とは相関していません。ボックス自体がリセットされ、すべてのライトがリセットされていることは重要な情報だと思います。それ自体の電源ライトもリセットされています。

Dmesgへのメッセージは膨大で、添付するには長すぎます。

badblocksからの出力:

$ badblocks -vn /dev/sdp1
irq_stat 0x00060002, device error via SDB FIS
SError: { Handshk }
failed command: WRITE FPDMA QUEUED
cmd 61/...
res 41/... ...Emask 0x410 (ATA bus error) <F>
status: { DRDY ERR }
error: { ICRC ABRT }

そして、これはアレイ内の5つのドライブすべてで等しく発生します。ボックスが過負荷になり、リセットされているようです。

更新:2017年6月12日

すべてのドライブは、eSATAではなくUSB3相互接続の2番目のエンクロージャーに移動されました。

  • エンクロージャー:ICY BOX IB-3810U3
    • マルチプレクサチップ:ASMedia ASM1074L
  • サーバーマザーボードUSB3ホスト:ギガバイトGA-B85-HD3 SKT 1150

すべてのドライブが新しい​​エンクロージャーに移動された状態で、badblocksコマンドが各ドライブで1つのエラーなしで実行されました。次に、プールがインポートされ、スクラブが実行されました。エラーは検出されず、スクラブは正常に完了しました。ただし、今日、5つのドライブすべてについてメッセージが表示されました(これらがこのプール/タンク/アレイのドライブであるかどうかを判断することはできませんでした)。

WARNING: Your hard drive is failing
Device: /dev/sdk [SAT], unable to open device
WARNING: Your hard drive is failing
Device: /dev/sdl [SAT], unable to open device
WARNING: Your hard drive is failing
Device: /dev/sdm [SAT], unable to open device
WARNING: Your hard drive is failing
Device: /dev/sdn [SAT], unable to open device
WARNING: Your hard drive is failing
Device: /dev/sdo [SAT], unable to open device

この後、ドライブの内容を一覧表示しようとすると、端末がロックされました。 zpoolコマンドでロックされた新しい端末。 topは、txg_syncz_rd_int_xプロセスの群れをリストします。これらはすべてCPU使用率があります。他の2つのプールは、SAMBAを介してファイルを正常に提供しており、zpool statusがハングすると、1つはそれ自体を再シルバー化し続けます(HDライトによってのみ証明されます)。

smartctlデータ:2017年12月12日

コメント提供者によると、以下はUDMA_CRC_Error_Countsmartctlデータです。

現在失敗している配列の2回目の反復の場合:

4193, 4030, 3939, 2869, 3977

元のアレイの場合(ドライブ3が交換されている場合):

3003, 3666,    0, 4536, 5309

同じエンクロージャーと接続内のRAID0ストライプの場合

 523,  504,  526,  553,  476

ホストマシン内でホストされているホットスペアを備えたZFSミラーの場合:

   0,    0,    0

Seagate Archiveドライブでは、ナンセンスに見えます。 :

Temperature_Celsius   UDMA_CRC_Error_Count   Head_Flying_Hours
   40  (0 16 0 0 0)                      0      57501022168585

これは、eSATAとUSB 3.0が本質的にノイズが多く、データの破損が避けられないことを示している可能性があります。

5
J Collins

SMART統計は、ハードドライブのリンクでCRCエラーが発生したことを示しています(以前に解決された問題ではないことを確認するには、UDMA_CRC_Error_Countの値を監視する必要があります。時間の経過-ディスクの存続期間中のエラーの合計です)

私が以前にこれを見たケースは、悪いSATAケーブルに関係していました。ケーブルを交換することで問題は解決しました(カウンターにはまだ値がありますが、値は一定のままです)。ただし、これは非常に複雑なセットアップであり、問​​題はケーブル、マルチプレクサ/デマルチプレクサ、またはエンクロージャのどこかにある可能性があります。

1