Мне интересно, что случилось, как 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 отказа за один день? Да ладно, этого достаточно, чтобы напугать нас!
Резервное копирование и восстановление проверяют важные данные прямо сейчас. С разных носителей, а не из этого массива.
Замените диски, которые продолжают выходить из строя. Определенно, если ядро сообщает об ошибках ввода-вывода в системном журнале. Если у вас есть гарантия или контракт на поддержку, воспользуйтесь этим. Если прошла гарантия, производитель поспорил, что они не прослужат так долго, поэтому примите это во внимание.