ZFS. Замена вышедшего из строя диска в RAID
Задача
Например, диск raidd4 пропал или вышел из строя
zfs status
NAME STATE READ WRITE CKSUM media DEGRADED 0 0 0 raidz1-0 DEGRADED 0 0 0 gpt/raidd1 ONLINE 0 0 0 gpt/raidd2 ONLINE 0 0 0 gpt/raidd3 ONLINE 0 0 0 8216658846576933595 UNAVAIL 0 0 0 was /dev/gpt/raidd4 gpt/raidd5 ONLINE 0 0 0
Проверка
Возможно, с диском всё в порядке
Сначала пробуем сделать его offline и online
zpool offline media 8216658846576933595
zpool online media /dev/gpt/raidd4
Замена
Если не помогло делаем диск offline
zpool offline media 8216658846576933595
Заменяем физически вышедший из строя на новый диск
Форматируем новый диск со старым именем /dev/gpt/raidd4
Меняем 8216658846576933595 на /dev/gpt/raidd4
zpool replace media 8216658846576933595 /dev/gpt/raidd4
Или, если тот же диск (без форматирования)
zpool online media /dev/gpt/raidd4
Смотрим что пошел процесс resilvering
zfs status
NAME STATE READ WRITE CKSUM media DEGRADED 0 0 0 raidz1-0 DEGRADED 0 0 0 gpt/raidd1 ONLINE 0 0 0 gpt/raidd2 ONLINE 0 0 0 gpt/raidd3 ONLINE 0 0 0 replacing-3 UNAVAIL 0 0 0 8216658846576933595 UNAVAIL 0 0 0 was /dev/gpt/raidd4/old 14104644866017721544 OFFLINE 0 0 0 was /dev/gpt/raidd4 (resilvering) gpt/raidd5 ONLINE 0 0 0
Дожидаемся окончания resilvering
Дополнительно
zpool status
pool: raid1 state: DEGRADED status: One or more devices has been taken offline by the administrator. Sufficient replicas exist for the pool to continue functioning in a degraded state. action: Online the device using 'zpool online' or replace the device with 'zpool replace'. scan: resilvered 380K in 0h0m with 0 errors on Thu Aug 27 14:16:27 2020 config: NAME STATE READ WRITE CKSUM raid1 DEGRADED 0 0 0 raidz1-0 DEGRADED 0 0 0 gpt/d1 ONLINE 0 0 0 1414041903989255808 OFFLINE 0 0 0 was /dev/gpt/d2 errors: No known data errors
zpool online raid1 /dev/gpt/d2
zpool offline raid2 17326078352596448618
zpool online raid2 /dev/gpt/d4