Мне интересно, что случилось, как 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 на SMART 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 и ее отчетов)
Может ли это быть следствием удачного порядка отказов, например, отказал не верхний диск стека?
Вопрос Это просто FYI, и не относится к теме. Что вызвало сбой всех 3 одновременно? Я думаю, что катализатором был скраб. Я проверил накануне вечером, и все диски были в сети.
Обратите внимание, что в недавнем прошлом были проблемы с кабелями, в офисе по ночам становилось холодно, но эти проблемы были просто drive unavailable
, в отличие от ошибок контрольной суммы. Я думаю, что это не кабели, а, может быть, старые диски, которым 5 лет. Но 3 сбоя за один день? Да ладно, этого достаточно, чтобы напугать многих из нас!
решение1
RAID-Z2 — двойная четность, избыточность, аналогичная RAID 6. Два диска могут полностью выйти из строя, и данные будут восстановлены из четности. Предполагая, что остальная часть массива исправна.
У вас не обязательно были ошибки ввода-вывода.DEGRADED означает, что ZFS продолжала использовать диск, несмотря на ошибки контрольной суммы. Возможно, из-за нескольких переворотов битов, но привод все еще работает.связьиз этого вывода:
Запустите команду «zpool status -x», чтобы определить, в каком пуле возникли ошибки.
Найдите устройство с ненулевым количеством ошибок READ, WRITE или CKSUM. Это означает, что устройство столкнулось с ошибкой чтения/вывода, ошибкой записи/вывода или ошибкой проверки контрольной суммы. Поскольку устройство является частью зеркала или устройства RAID-Z, ZFS смогла восстановиться после ошибки и впоследствии восстановить поврежденные данные.
Если эти ошибки сохраняются в течение определенного периода времени, ZFS может определить, что устройство неисправно, и пометить его как таковое. Однако эти счетчики ошибок могут указывать, а могут и не указывать на то, что устройство непригодно для использования.
Относительно состояния диска:
может быть, стареющие диски, которым 5 лет. Но 3 отказа за один день? Да ладно, этого достаточно, чтобы напугать многих из нас!
Резервное копирование восстановления важных данных сейчас. С другого носителя, не из этого массива.
Замените диски, которые продолжают деградировать. Определенно, если ядро сообщает об ошибках ввода-вывода в syslog. Если на гарантии или контракте на поддержку, воспользуйтесь этим. Если гарантия прошла, производитель сделал ставку на то, что они не прослужат так долго, так что учтите это.