ZFS. Замена вышедшего из строя диска в RAID

Материал из Wiki
Перейти к навигации Перейти к поиску


Задача

Например, диск 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