ZFS. Замена вышедшего из строя диска в RAID
Задача
Например, диск raidd4 пропал или вышел из строя
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