Инструкция №40. Замена узла вследствие его физического разрушения
В Инструкции №39 был рассмотрен вариант замены узла, вышедшего из строя, подразумевая, что часть его компонентов (диски) остались функционирующими. В случае физического разрушения узла, подразумевающего в том числе и потерю дисков, процедура восстановления выглядит немного иначе.
Рассмотрим ситуацию с физическим разрушением узла №2 пятиузлового кластера.
Для замены такого узла потребуется резервная копия его системного диска, выполненная по Инструкции №30, ZIP-пакет, включающий системные диски и диски для слоя хранения с размером не менее существующих, с последующим выполнением следующих действий:
- Соблюдая размещение и номера портов, подключить кабели из сетевых портов разрушенного узла в ZIP-пакет.
- Включить новый узел.
- Выполнить восстановление системного диска по Инструкции №31.
- Загрузить новый узел и убедиться, что он включился в работу кластера (имеет Здоровье "Норма").
В рассматриваемом случае в каждом пуле мы потеряли по одному диску. Каждый из утраченных дисков в каждом пуле будет необходимо заменить на один из новых дисков в новом узле, при этом желательно соблюдать семантику использования имени соответствующего диска.
Определять утраченный диск и выполнять его замену можно в CLI следующим образом:
1. Командой zpool status -v определить утраченный диск.
Пример:
root@q47u005:~ # zpool status -v
pool: z02
state: DEGRADED
status: One or more devices has been removed 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 6.32M in 00:00:01 with 0 errors on Wed Nov 8 08:08:18 2020
config:
NAME STATE READ WRITE CKSUM
z02 DEGRADED 0 0 0
raidz2-0 DEGRADED 0 0 0
diskid/DISK-node1_da2 ONLINE 0 0 0
5666410565734806608 UNAVAIL 0 0 0
diskid/DISK-node3_da2 ONLINE 0 0 0
diskid/DISK-node4_da2 ONLINE 0 0 0
diskid/DISK-node5_da2 ONLINE 0 0 0
errors: No known data errors
В данном случае утраченный диск имеет имя "5666410565734806608". Так как пул состоит из дисков всех узлов с именем "da2", то выполняем замену утраченного диска на диск с мнемоническим именем "diskid/DISK-node2_da2" следующей командой:
В случае недоступности утилиты vstack-nodeside выполнить альтернативную команду:
После выполнения этой замены автоматически будет инициирована процедура восстановления избыточности пула (resilver). Завершение этой процедуры вернёт Здоровье пула в состояние "Норма", что в CLI будет отображено следующим образом:
root@q47u005:~ # zpool status -v
pool: z02
state: ONLINE
status: Some supported and requested features are not enabled on the pool.
The pool can still be used, but some features are unavailable.
action: Enable all features using 'zpool upgrade'. Once this is done,
the pool may no longer be accessible by software that does not support
the features. See zpool-features(7) for details.
scan: resilvered 480.0G in 00:39:34 with 0 errors on Tue Nov 8 15:37:33 2020
config:
NAME STATE READ WRITE CKSUM
z02 ONLINE 0 0 0
raidz2-0 ONLINE 0 0 0
diskid/DISK-node1_da2 ONLINE 0 0 0
diskid/DISK-node2_da2 ONLINE 0 0 0
diskid/DISK-node3_da2 ONLINE 0 0 0
diskid/DISK-node4_da2 ONLINE 0 0 0
diskid/DISK-node5_da2 ONLINE 0 0 0
errors: No known data errors
Такую операцию нужно провести на каждом из пулов.