web-dev-qa-db-ja.com

劣化したZFSプールと障害

私のバックアップNAS(Arch-based))は、劣化したプールを報告します。また、劣化したディスクを「修復中」と報告します。これで混乱します。心配する?

zpool status -v:

  pool: zdata
 state: DEGRADED
status: One or more devices has experienced an error resulting in data
        corruption.  Applications may be affected.
action: Restore the file in question if possible.  Otherwise restore the
        entire pool from backup.
   see: http://zfsonlinux.org/msg/ZFS-8000-8A
  scan: scrub in progress since Mon Dec 16 11:35:37 2019
        1.80T scanned at 438M/s, 996G issued at 73.7M/s, 2.22T total
        1.21M repaired, 43.86% done, 0 days 04:55:13 to go
config:

        NAME                            STATE     READ WRITE CKSUM
        zdata                           DEGRADED     0     0     0
          wwn-0x50014ee0019b83a6-part1  ONLINE       0     0     0
          wwn-0x50014ee057084591-part1  ONLINE       0     0     0
          wwn-0x50014ee0ac59cb99-part1  DEGRADED   224     0   454  too many errors  (repairing)
          wwn-0x50014ee2b3f6d328-part1  ONLINE       0     0     0
        logs
          wwn-0x50000f0056424431-part5  ONLINE       0     0     0
        cache
          wwn-0x50000f0056424431-part4  ONLINE       0     0     0

errors: Permanent errors have been detected in the following files:

        zdata/backup:<0x86697>

また、障害のあるディスクははるかに小さく報告されます:zpool iostat -v:

                                  capacity     operations     bandwidth
pool                            alloc   free   read  write   read  write
------------------------------  -----  -----  -----  -----  -----  -----
zdata                           2.22T  1.41T     33     34  31.3M  78.9K
  wwn-0x50014ee0019b83a6-part1   711G   217G     11      8  10.8M  18.0K
  wwn-0x50014ee057084591-part1   711G   217G     10     11  9.73M  24.6K
  wwn-0x50014ee0ac59cb99-part1   103G   825G      0     10      0  29.1K
  wwn-0x50014ee2b3f6d328-part1   744G   184G     11      2  10.7M  4.49K
logs                                -      -      -      -      -      -
  wwn-0x50000f0056424431-part5     4K   112M      0      0      0      0
cache                               -      -      -      -      -      -
  wwn-0x50000f0056424431-part4  94.9M  30.9G      0      1      0   128K
------------------------------  -----  -----  -----  -----  -----  -----

[編集]ハードディスクがエラーを報告し続けたので、スペアのものと交換することにしました。最初に、新しいディスクに対してスペアの追加コマンドを発行しました。その後、プールに含まれていましたが、その後、置換コマンドを発行して、劣化したディスクをスペアのディスクに置き換えます。現在、プールは次のように読み取るため、改善されていない可能性があります。

  pool: zdata
 state: DEGRADED
status: One or more devices is currently being resilvered.  The pool will
        continue to function, possibly in a degraded state.
action: Wait for the resilver to complete.
  scan: resilver in progress since Sun Dec 22 10:20:20 2019
        36.5G scanned at 33.2M/s, 27.4G issued at 24.9M/s, 2.21T total
        0B resilvered, 1.21% done, 1 days 01:35:59 to go
config:

        NAME                              STATE     READ WRITE CKSUM
        zdata                             DEGRADED     0     0     0
          wwn-0x50014ee0019b83a6-part1    ONLINE       0     0     0
          wwn-0x50014ee057084591-part1    ONLINE       0     0     0
          spare-2                         DEGRADED     0     0     0
            wwn-0x50014ee0ac59cb99-part1  DEGRADED     0     0     0  too many errors
            wwn-0x50014ee25ea101ef        ONLINE       0     0     0
          wwn-0x50014ee2b3f6d328-part1    ONLINE       0     0     0
        logs
          wwn-0x50000f0056424431-part5    ONLINE       0     0     0
        cache
          wwn-0x50000f0056424431-part4    ONLINE       0     0     0
        spares
          wwn-0x50014ee25ea101ef          INUSE     currently in use

errors: No known data errors

私が心配しているのは、 "to go"の日付が増え続けることです(!)。私がこれを書いた時点では、1日05:40:10と表示されています。別のディスク、コントローラー、または電源に障害が発生すると、プールは永久に失われると思います。

[編集]新しいドライブは4時間ほど後に再シルバー化されました。 ZFSのゲスト評価は明らかに正しくありませんでした。障害のあるドライブを切り離した後、新しいドライブで1TBのディスクのうち103Gしか使用されていない状況になりました。劣化ドライブと同じように。これを1TBにするにはどうすればよいですか?

2
user718960

一般的に、DEGRADEDディスクは、FAILEDディスクよりbetter形状になっています。

zpool man page (わずかに再フォーマット)から:

DEGRADED:チェックサムエラーの数が許容レベルを超えており、デバイスは、何かが間違っている可能性があることを示すために劣化しています。 ZFSは必要に応じてデバイスを使い続けます

FAILED:I/Oエラーの数が許容レベルを超えており、デバイスに障害が発生したため、デバイスをさらに使用できません

特定のケースでは、scrubが1つのディスクで多くの読み取りおよびチェックサムエラーを検出し、ZFSが影響を受けるディスクの修復を開始しました。その間、ZED(ZFSイベントデーモン)は、チェックサムエラーのバーストを通知し、ディスクの使用/ストレスを回避するためにディスクを劣化させました。

スクラブが終了したら、プールをzpool clearして、anotherzfs scrubを実行することをお勧めします。 2番目のスクラブでエラーが見つからない場合は、プールを引き続き使用できますが、現在のスクラブで発生するエラーの数を考慮して、できるだけ早くディスクを交換します。

ディスク自体が故障していないと確信する正当な理由がある場合は、dmesgおよびsmartctl --allの出力を分析して、根本的なエラーの原因を特定する必要があります。適例:私はそれ自体は問題のないディスクを持っていましたが、ノイズのあるPSU /ケーブルが原因で実際​​に多くのエラーが発生しました。

とにかく、ゴールデンルールが常に適用されます。必ずプールデータの最新のバックアップを作成してください。

3
shodanshok