web-dev-qa-db-ja.com

zfs raidz-2は3台のドライブからどのように回復しますか?

何が起こったのか、ZFSはどのようにして完全に回復できたのか、または私のデータがまだ本当に無事なのかと思っています。
私が昨夜来たとき、私はこれを私のがっかりさせて混乱させました。

zpool status
  pool: san
 state: DEGRADED
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: resilvered 392K in 0h0m with 0 errors on Tue Jan 21 16:36:41 2020
config:

        NAME                                          STATE     READ WRITE CKSUM
        san                                           DEGRADED     0     0     0
          raidz2-0                                    DEGRADED     0     0     0
            ata-WDC_WD20EZRX-00DC0B0_WD-WMC1T3458346  ONLINE       0     0     0
            ata-ST2000DM001-9YN164_W1E07E0G           DEGRADED     0     0    38  too many errors
            ata-WDC_WD20EZRX-19D8PB0_WD-WCC4M0428332  DEGRADED     0     0    63  too many errors
            ata-ST2000NM0011_Z1P07NVZ                 ONLINE       0     0     0
            ata-WDC_WD20EARX-00PASB0_WD-WCAZAJ490344  ONLINE       0     0     0
            wwn-0x50014ee20949b6f9                    DEGRADED     0     0    75  too many errors

errors: No known data errors 

データエラーがなく、プール全体に障害が発生していないのはどうしてですか?

1つのドライブsdfでsmartctlテストが失敗しましたS.M.A.R.T. read fail、他のものは少し少ない問題です。修正不可能/保留中のセクターまたはUDMACRCエラー。

障害が発生した各ドライブをオフラインで切り替えてから、一度に1つずつオンラインに戻してみましたが、役に立ちませんでした。

    $ zpool status
  pool: san
 state: DEGRADED
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: resilvered 392K in 0h0m with 0 errors on Tue Jan 21 16:36:41 2020
config:

        NAME                                          STATE     READ WRITE CKSUM
        san                                           DEGRADED     0     0     0
          raidz2-0                                    DEGRADED     0     0     0
            ata-WDC_WD20EZRX-00DC0B0_WD-WMC1T3458346  ONLINE       0     0     0
            ata-ST2000DM001-9YN164_W1E07E0G           DEGRADED     0     0    38  too many errors
            ata-WDC_WD20EZRX-19D8PB0_WD-WCC4M0428332  OFFLINE      0     0    63
            ata-ST2000NM0011_Z1P07NVZ                 ONLINE       0     0     0
            ata-WDC_WD20EARX-00PASB0_WD-WCAZAJ490344  ONLINE       0     0     0
            wwn-0x50014ee20949b6f9                    DEGRADED     0     0    75  too many errors

それで、非常に幸運だと思うか、私のデータが実際にまだすべて残っているかもしれないと少し混乱しました。最悪のドライブを見つけるための検査の後、私は私の唯一のスペアと交換しました。

    $ zpool status
  pool: san
 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 Tue Jan 21 17:33:15 2020
        467G scanned out of 8.91T at 174M/s, 14h10m to go
        77.6G resilvered, 5.12% done
config:

        NAME                                              STATE     READ WRITE CKSUM
        san                                               DEGRADED     0     0     0
          raidz2-0                                        DEGRADED     0     0     0
            ata-WDC_WD20EZRX-00DC0B0_WD-WMC1T3458346      ONLINE       0     0     0
            replacing-1                                   DEGRADED     0     0     0
              ata-ST2000DM001-9YN164_W1E07E0G             OFFLINE      0     0    38
              ata-WDC_WD2000FYYZ-01UL1B1_WD-WCC1P1171516  ONLINE       0     0     0  (resilvering)
            ata-WDC_WD20EZRX-19D8PB0_WD-WCC4M0428332      DEGRADED     0     0    63  too many errors
            ata-ST2000NM0011_Z1P07NVZ                     ONLINE       0     0     0
            ata-WDC_WD20EARX-00PASB0_WD-WCAZAJ490344      ONLINE       0     0     0
            wwn-0x50014ee20949b6f9                        DEGRADED     0     0    75  too many errors

Resilverは正常に完了しました。

$ zpool status
  pool: san
 state: DEGRADED
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: resilvered 1.48T in 12h5m with 0 errors on Wed Jan 22 05:38:48 2020
config:

        NAME                                            STATE     READ WRITE CKSUM
        san                                             DEGRADED     0     0     0
          raidz2-0                                      DEGRADED     0     0     0
            ata-WDC_WD20EZRX-00DC0B0_WD-WMC1T3458346    ONLINE       0     0     0
            ata-WDC_WD2000FYYZ-01UL1B1_WD-WCC1P1171516  ONLINE       0     0     0
            ata-WDC_WD20EZRX-19D8PB0_WD-WCC4M0428332    DEGRADED     0     0    63  too many errors
            ata-ST2000NM0011_Z1P07NVZ                   ONLINE       0     0     0
            ata-WDC_WD20EARX-00PASB0_WD-WCAZAJ490344    ONLINE       0     0     0
            wwn-0x50014ee20949b6f9                      DEGRADED     0     0    75  too many errors

今、岐路に立っています。私は通常、障害が発生したドライブの最初の2MBをddゼロにし、それ自体で置き換えますが、実際にデータが欠落している場合は、最後の2つのボリュームで回復する必要があります。

これをsdfを机の上に置いたので、削除しました。最悪のシナリオでは、これを使用して回復を支援できると思います。

それまでの間、劣化したドライブの最初の数MBを開発/ゼロ化して、それ自体と交換すると思います。交換できるまで、2番目の障害が発生したドライブについて、問題が解決し、すすぎ、繰り返す必要があると思います。手元に。

質問何が起こったのか、プールはどのようにハングアップできたのか、または一部のデータが欠落している可能性があります(zfsとそのレポートの整合性を考えると疑わしい)

幸運な失敗の命令が原因だったのでしょうか。失敗したスタックの一番上のドライブではない??

質問これは単なる参考情報であり、トピックとは関係ありません。 3つすべてが同時に失敗する原因は何ですか?触媒となったのはスクラブだったと思います。前の晩にチェックしたところ、すべてのドライブがオンラインでした。

最近、ケーブル接続が問題になっていることに注意してください。オフィスは夜に寒くなりますが、これらの問題はdrive unavailable、チェックサムエラーとは対照的。これはケーブルではなく、5年前のドライブの老朽化だと考えています。しかし、1日に3つの失敗がありますか?さあ、それは私たちの多くを怖がらせるのに十分です!

2
Brian Thomas

RAID-Z2はダブルパリティです 、RAID 6と同様の冗長性。2つのディスクに完全な障害が発生し、データがパリティから回復する可能性があります。アレイの残りの部分が正常であると仮定します。

必ずしもI/Oエラーがあるわけではありません。 DEGRADEDは、チェックサムエラーにもかかわらず、ZFSがディスクを使用し続けることを意味します 。おそらくいくつかのビットフリップが原因ですが、ドライブはまだ機能しています。あたり リンク その出力から:

「zpool status -x」を実行して、エラーが発生したプールを特定します。

READ、WRITE、またはCKSUMのゼロ以外のエラーカウントを持つデバイスを見つけます。これは、デバイスで読み取りI/Oエラー、書き込みI/Oエラー、またはチェックサム検証エラーが発生したことを示しています。デバイスはミラーまたはRAID-Zデバイスの一部であるため、ZFSはエラーから回復し、その後、損傷したデータを修復することができました。

これらのエラーが一定期間続く場合、ZFSはデバイスに障害があると判断し、そのようにマークする場合があります。ただし、これらのエラーカウントは、デバイスが使用できないことを示す場合と示さない場合があります。

ドライブの健康について:

おそらく5年前の古いドライブです。しかし、1日に3つの失敗がありますか?さあ、それは私たちの多くを怖がらせるのに十分です!

バックアップの復元は、重要なデータをテストします。このアレイではなく、異なるメディアから。

引き続き劣化するドライブを交換してください。カーネルがsyslogでI/Oエラーを報告した場合は間違いありません。保証またはサポート契約を結んでいる場合は、それを利用してください。保証に合格した場合、メーカーはこれほど長くは続かないと賭けたので、考慮してください。

4
John Mahowald