Назад | Перейти на главную страницу

Как 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 

Как это возможно, чтобы не было ошибок в данных, и чтобы весь пул не был поврежден?

Один диск sdf имеет ошибку теста smartctl для S.M.A.R.T. read fail, другие - немного меньшая проблема; неисправимые / ожидающие сектора или ошибки UDMA CRC.

Я пытался переключить каждый неисправный диск в автономный режим, а затем снова в онлайн, по одному, но это не помогло.

    $ 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

Ресильвер успешно завершен.

$ 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

Я сейчас на распутье. я обычно dd обнулите первые 2 МБ неисправного диска и замените его самим собой, что я нормально сделаю, однако, если данные действительно отсутствуют, мне могут понадобиться эти последние два тома для восстановления.

у меня есть это sdf сейчас на моем столе, снято. Я чувствую, что могу, в худшем случае, использовать это для некоторого восстановления.

Тем временем, я думаю, что сейчас я собираюсь разработать / обнулить первую пару МБ деградированного диска и заменить самим собой, и я думаю, что все должно сработать, промыть и повторить для второго неисправного диска, пока я не получу некоторые замены под рукой.

Вопрос Что произошло, как пул мог зависнуть, или, возможно, мне не хватает некоторых данных (сомнительно, учитывая целостность zfs и его отчетов)

Может быть, это произошло из-за удачной последовательности неудач, например а не верхний диск стека, вышедший из строя ??

Вопрос Это просто к сведению, и не имеет отношения к теме. Что стало причиной отказа всех троих одновременно? Я думаю, что катализатором стал скраб. Я проверил накануне вечером, и все диски были в сети.

Обратите внимание, что в недавнем прошлом возникли проблемы с прокладкой кабелей, в офисе по ночам холодно, но эти проблемы только что были устранены. drive unavailable, в отличие от ошибок контрольной суммы. Я думаю, что это не кабели, а, возможно, стареющие диски, которым 5 лет. Но 3 отказа за один день? Да ладно, этого достаточно, чтобы напугать нас!

RAID-Z2 - это двойная четность, избыточность аналогична RAID 6. Два диска могут полностью выйти из строя, и данные будут восстановлены с учетом четности. Предполагая, что остальная часть массива исправна.

У вас не обязательно были ошибки ввода-вывода. DEGRADED означает, что ZFS продолжает использовать диск, несмотря на ошибки контрольной суммы. Возможно, из-за нескольких переворотов, но привод все еще работает. За ссылка из этого выхода:

Запустите «zpool status -x», чтобы определить, в каком пуле возникли ошибки.

Найдите устройство с ненулевым счетчиком ошибок для READ, WRITE или CKSUM. Это указывает на то, что в устройстве возникла ошибка ввода-вывода чтения, ошибка ввода-вывода записи или ошибка проверки контрольной суммы. Поскольку устройство является частью зеркала или устройства RAID-Z, ZFS удалось восстановить после ошибки и впоследствии восстановить поврежденные данные.

Если эти ошибки сохраняются в течение определенного периода времени, ZFS может определить, что устройство неисправно, и пометить его как таковое. Однако это количество ошибок может указывать или не указывать на непригодность устройства.

По поводу работоспособности диска:

возможно стареющие диски, которым 5 лет. Но 3 отказа за один день? Да ладно, этого достаточно, чтобы напугать нас!

Резервное копирование и восстановление проверяют важные данные прямо сейчас. С разных носителей, а не из этого массива.

Замените диски, которые продолжают выходить из строя. Определенно, если ядро ​​сообщает об ошибках ввода-вывода в системном журнале. Если у вас есть гарантия или контракт на поддержку, воспользуйтесь этим. Если прошла гарантия, производитель поспорил, что они не прослужат так долго, поэтому примите это во внимание.