web-dev-qa-db-ja.com

ZFSチェックサムエラー、いつドライブを交換しますか?

私はZFSにかなり慣れていないので、8つのドライブを備えたシンプルなミラー化ストレージプールをセットアップしました。数週間実行した後、1つのドライブで多くのエラーが発生するようだったので、交換しました。

さらに数週間経つと、プール全体に小さなエラーが発生するようになりました(以下のzpool status出力を参照)。これについて心配する必要がありますか?ドライブを交換する必要があることをエラーが示しているかどうかをどのように判断できますか?

# zpool status
  pool: storage
 state: ONLINE
status: One or more devices has experienced an unrecoverable error.  An
        attempt was made to correct the error.  Applications are unaffected.
action: Determine if the device needs to be replaced, and clear the errors
        using 'zpool clear' or replace the device with 'zpool replace'.
   see: http://zfsonlinux.org/msg/ZFS-8000-9P
  scan: scrub repaired 22.5K in 1h18m with 0 errors on Sun Jul 10 03:18:42 2016
config:

        NAME        STATE     READ WRITE CKSUM
        storage     ONLINE       0     0     0
          mirror-0  ONLINE       0     0     0
            enc-a   ONLINE       0     0     2
            enc-b   ONLINE       0     0     0
          mirror-1  ONLINE       0     0     0
            enc-c   ONLINE       0     0     0
            enc-d   ONLINE       0     0     2
          mirror-2  ONLINE       0     0     0
            enc-e   ONLINE       0     0     2
            enc-f   ONLINE       0     0     1
          mirror-3  ONLINE       0     0     0
            enc-g   ONLINE       0     0     0
            enc-h   ONLINE       0     0     3

errors: No known data errors

ZFSは「デバイスを交換する必要があるかどうかを判断する...」と言ってくれますが、その方法はわかりません。私は参考になった記事を読みましたが、それは役に立ちましたが、完全に決定的ではありませんでした。

影響を受けたドライブのSMARTテスト結果を確認しましたが、何も飛び出しませんでした(すべてのテストはエラーなしで完了しました)が、SMARTデータも投稿できます。それは役に立ちます。

更新:Memtest86 +で再起動する準備をしているときに、コンソールに多くのエラーが表示されました。私は通常SSHで接続するので、以前は表示されませんでした。どのログをチェックすればよいかわかりませんが、画面全体が次のようなエラーでいっぱいでした(正確なエラー行ではなく、別のフォーラムからコピーしただけです)。

blk_update_request: I/0 error, dev sda, sector 220473440

一部のグーグルからは、このエラーは不良ドライブを示しているように見えるかもしれませんが、このように一度にすべてが失敗しているとは信じがたいです。ここからどこへ行くのか?

アップデート2:私はこれに遭遇しました ZOLの問題 それは私の問題に関連している可能性があるようです。 OPのように、私はhdparmを使用してドライブをスピンダウンし、同様のZFSチェックサムエラーとblk_update_requestエラーを確認しています。私のマシンはまだMemtestを実行しているため、現時点ではカーネルまたはZFSのバージョンを確認できませんが、これは少なくとも可能性のあるように見えます。私もこれを見ました 同様の質問 これは一種の落胆です。 ZFSとドライブのスピンダウンに関する問題を知っている人はいますか?

更新3:LSIコントローラーのファームウェアとドライバーのバージョンが一致しないと、次のようなエラーが発生する可能性がありますか?ドライバーバージョン20.100.00.00とファームウェアバージョン17.00.01.00を実行しているようです。カード上の更新されたファームウェアをフラッシュすることは価値がありますか?

# modinfo mpt2sas
filename:       /lib/modules/3.10.0-327.22.2.el7.x86_64/kernel/drivers/scsi/mpt2sas/mpt2sas.ko
version:        20.100.00.00
license:        GPL
description:    LSI MPT Fusion SAS 2.0 Device Driver
author:         Avago Technologies <[email protected]>
rhelversion:    7.2
srcversion:     FED1C003B865449804E59F5

# sas2flash -listall
LSI Corporation SAS2 Flash Utility
Version 20.00.00.00 (2014.09.18) 
Copyright (c) 2008-2014 LSI Corporation. All rights reserved 

    Adapter Selected is a LSI SAS: SAS2308_2(D1) 

Num   Ctlr            FW Ver        NVDATA        x86-BIOS         PCI Addr
----------------------------------------------------------------------------

0  SAS2308_2(D1)   17.00.01.00    11.00.00.05    07.33.00.00     00:04:00:00

Update 4:dmesg出力でいくつかのエラーを検出しました。何がこれらを引き起こしたのかはわかりませんが、LSIコントローラーのファームウェアを更新する準備として、アレイ内のすべてのドライブをアンマウントした後に気づきました。ファームウェアのアップデートで問題が解決するかどうか少し待ってみますが、それまでのエラーは次のとおりです。どういう意味かよくわかりません。

[87181.144130] sd 0:0:2:0: [sdc] FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_OK
[87181.144142] sd 0:0:2:0: [sdc] CDB: Write(10) 2a 00 35 04 1c d1 00 00 01 00
[87181.144148] blk_update_request: I/O error, dev sdc, sector 889461969
[87181.144255] sd 0:0:3:0: [sdd] FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_OK
[87181.144259] sd 0:0:3:0: [sdd] CDB: Write(10) 2a 00 35 04 1c d1 00 00 01 00
[87181.144263] blk_update_request: I/O error, dev sdd, sector 889461969
[87181.144371] sd 0:0:4:0: [sde] FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_OK
[87181.144375] sd 0:0:4:0: [sde] CDB: Write(10) 2a 00 37 03 87 30 00 00 08 00
[87181.144379] blk_update_request: I/O error, dev sde, sector 922978096
[87181.144493] sd 0:0:5:0: [sdf] FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_OK
[87181.144500] sd 0:0:5:0: [sdf] CDB: Write(10) 2a 00 37 03 87 30 00 00 08 00
[87181.144505] blk_update_request: I/O error, dev sdf, sector 922978096
[87191.960052] sd 0:0:6:0: [sdg] FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_OK
[87191.960063] sd 0:0:6:0: [sdg] CDB: Write(10) 2a 00 36 04 18 5c 00 00 01 00
[87191.960068] blk_update_request: I/O error, dev sdg, sector 906238044
[87191.960158] sd 0:0:7:0: [sdh] FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_OK
[87191.960162] sd 0:0:7:0: [sdh] CDB: Write(10) 2a 00 36 04 18 5c 00 00 01 00
[87191.960179] blk_update_request: I/O error, dev sdh, sector 906238044
[87195.864565] sd 0:0:0:0: [sda] FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_OK
[87195.864578] sd 0:0:0:0: [sda] CDB: Write(10) 2a 00 37 03 7c 68 00 00 20 00
[87195.864584] blk_update_request: I/O error, dev sda, sector 922975336
[87198.770065] sd 0:0:1:0: [sdb] FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_OK
[87198.770078] sd 0:0:1:0: [sdb] CDB: Write(10) 2a 00 37 03 7c 88 00 00 20 00
[87198.770084] blk_update_request: I/O error, dev sdb, sector 922975368

Update 5:LSIコントローラーのファームウェアを更新しましたが、ZFSエラーをクリアしてスクラブした後、同じ動作(マイナーチェックサムエラー)が表示されます一部のドライブ)。次のステップは、ドライブ自体のファームウェアを更新することです。

更新6:U-NAS NSC800ケースを持つ他の人々が提供されたライザーで問題があったことをいくつかのフォーラムで読んだ後、PCIライザーを交換しました。チェックサムエラーへの影響はありませんでした。私はHDDファームウェアの更新を延期してきたのは、そのプロセスがとても面倒だったからです。でも、それを吸い込んで、起動可能なDOSフラッシュドライブを作成するときが来たと思います。

アップデート7:3つのSeagateドライブのファームウェアをアップデートしました。他のドライブには、利用可能なファームウェアアップデートがないか、または入手できませんでした(Western Digitalから、ドライブのファームウェアアップデートはないと言われました)。最初のスクラブ後にエラーは表示されませんでしたが、これで問題が解決したと言う前に、少なくとも1〜2週間はエラーを表示します。 3つのドライブのファームウェアがこのようにプール全体に影響を及ぼしている可能性は、私には非常にありそうにありません。

更新8:チェックサムエラーが以前と同じように戻ってきました。マザーボードのファームウェアの更新を調べるかもしれませんが、現時点では困っています。残りの物理コンポーネント(コントローラー、バックプレーン、ケーブル)を交換することは難しく/費用がかかります。セットアップ(ZFS + Linux + LUKS +アイドルドライブのスピンダウン)に問題がないことを100%確信していません。他のアイデアは大歓迎です。

更新9:まだこれを追跡しようとしています。私は偶然出会いました この質問 これは私の状況といくつかの類似点がありました。そこで、私は先に進み、ashift=12を使用してzpoolを再構築し、問題が解決するかどうかを確認しました(運が悪い)。次に、弾丸を噛んで新しいコントローラーを購入しました。 Supermicro AOC-SAS2LP-MV8 HBAカードを取り付けたところです。これで問題が解決するかどうかを確認するために、1〜2週間与えます。

Update 10:これを締めくくるだけです。新しいHBAカードが挿入されてから約2週間が経過し、ジンクが発生する危険性があるため、チェックサムエラーは発生していません。これを整理するのを手伝ってくれたすべての人に心からの感謝を。

9
Dominic P

これらのエラーが複数のドライブにまたがっている場合は、ディスクよりもバックプレーン/コントローラ/ケーブル接続の問題、またはRAM問題が発生していることを示しています。

6
ewwhite

私の一般的な経験則では、エラーが予期せず発生し続ける場合は、ディスクを交換する必要があります。静的な場合は、エラーの原因となった一時的な状態があり、システムが問題の原因となった状態を再現していない可能性があります。

いくつかのチェックサムエラーは、ドライブの機械的な不良を必ずしも示しているわけではありません(ビットの腐敗が発生し、ZFSはそれを検出しますが、他のファイルシステムは検出しません)。しかし、これらのエラーが1時間にわたって発生した場合は、 1年間にわたって発生した場合とは状況が大きく異なります。

7
Shane Madden