Я пытаюсь навести порядок в серверной системе Ubuntu 12.04 LTS с использованием ZFS. Вот что показывает статус zpool:
pool: TB2
state: UNAVAIL
status: One or more devices could not be used because the label is missing
or invalid. There are insufficient replicas for the pool to continue
functioning.
action: Destroy and re-create the pool from
a backup source.
see: http://zfsonlinux.org/msg/ZFS-8000-5E
scan: none requested
config:
NAME STATE READ WRITE CKSUM
TB2 UNAVAIL 0 0 0 insufficient replicas
sdd ONLINE 0 0 0
sde ONLINE 0 0 0
sdf ONLINE 0 0 0
sdg ONLINE 0 0 0
sdh ONLINE 0 0 0
sdi ONLINE 0 0 0
sdj ONLINE 0 0 0
sds ONLINE 0 0 0
sdt UNAVAIL 0 0 0
pool: TB4
state: DEGRADED
status: One or more devices could not be used because the label is missing or
invalid. Sufficient replicas exist for the pool to continue
functioning in a degraded state.
action: Replace the device using 'zpool replace'.
see: http://zfsonlinux.org/msg/ZFS-8000-4J
scan: resilvered 2.52T in 16h41m with 0 errors on Tue Feb 6 09:27:46 2018
config:
NAME STATE READ WRITE CKSUM
TB4 DEGRADED 0 0 0
raidz2-0 DEGRADED 0 0 0
ata-Hitachi_HDS724040ALE640_PK1331PAG9MBVS ONLINE 0 0 0
ata-Hitachi_HDS724040ALE640_PK2311PAG8G71M ONLINE 0 0 0
ata-Hitachi_HDS724040ALE640_PK1331PAGH0LHV ONLINE 0 0 0
ata-Hitachi_HDS724040ALE640_PK2331PAG8MV3T ONLINE 0 0 0
spare-4 DEGRADED 0 0 0
ata-Hitachi_HDS724040ALE640_PK2311PAG614MM UNAVAIL 0 0 0
ata-Hitachi_HDS724040ALE640_PK1331PAGH0EAV ONLINE 0 0 0
ata-Hitachi_HDS724040ALE640_PK2331PAGH2XRW ONLINE 0 0 0
ata-Hitachi_HDS724040ALE640_PK1331PAG7TGDS ONLINE 0 0 0
ata-Hitachi_HDS724040ALE640_PK1331PAGG3K0V ONLINE 0 0 0
ata-Hitachi_HDS724040ALE640_PK2311PAG59PYM ONLINE 0 0 0
spares
ata-Hitachi_HDS724040ALE640_PK1331PAGH0EAV INUSE currently in use
errors: No known data errors
Я хочу сделать две вещи:1. Замените неисправный диск в пуле TB4. Это я умею делать. 2. Полностью уничтожить и воссоздать бассейн TB2.
Обычно я просто делаю zpool, уничтожаю TB2 и начинаю заново. Однако предыдущий администратор использовал имена sd * для TB2 и идентификаторы дисков для TB4. Просматривая /dev /disk /by-id, я обнаружил, что два диска TB4 (... 71M и ...EAV) связаны с /dev /sdj и /dev /sds соответственно. Но эти sdj и sds оба перечислены как часть пула TB2. Я боюсь, что уничтожение zpool TB2 повредит диски в пуле TB4, поскольку в документах говорится, что destroy записывает данные на диски участников. Есть ли способ заставить ZFS просто забыть о TB2 без фактической записи?
Я спросил предыдущего администратора, почему он использовал два разных метода (/dev/sd * и by-id). Он сказал, что присвоение букв дисков определенным жестким дискам, похоже, не повторяется от загрузки к загрузке, поэтому при создании TB4 он использовал by-id. Я думаю, что это запутывание TB2 и TB4 является результатом этого.
Моя текущая мысль состоит в том, чтобы сделать это:
- выключить машину
- тянуть все диски.
- Перезагружать.
- zpool уничтожить -f TB2
- выключите и переустановите диски TB4
- переформатировать диски TB2 на другой машине
- Переустановите диски TB2 и создайте новый пул, используя идентификаторы дисков (не sd *)
Это кажется разумным? Есть ли более простой способ?
Спасибо всем, кто может помочь мне выйти из этого беспорядка.
Майкл