У меня есть пул ZFS с 6 дисками в конфигурации RAID 10.
Я хотел бы обновить диски в одном из зеркал, с дисков 1 ТБ до 3 ТБ. У меня в системе установлены все диски.
я бы предпочел не сделать это путем замены одного диска, resilver, повторить. Есть ли способ выполнить все мои чтения с существующего зеркала, сохранив весь износ дисков, которые я удаляю?
root@e7-4860:~# zpool status
pool: stuffpoll
state: ONLINE
scan: scrub repaired 0 in 6h50m with 0 errors on Sun Dec 10 07:14:34 2017
config:
NAME STATE READ WRITE CKSUM
stuffpoll ONLINE 0 0 0
mirror-0 ONLINE 0 0 0
ata-HGST_HTS721010A9E630_JR10004M0LGN6E-part1 ONLINE 0 0 0
ata-HGST_HTS721010A9E630_JR10004M0M17TE-part1 ONLINE 0 0 0
mirror-1 ONLINE 0 0 0
ata-HGST_HTS541010A9E680_JA1000102MG9UR-part1 ONLINE 0 0 0
ata-HGST_HTS541010A9E680_JA1009C03158BP-part1 ONLINE 0 0 0
mirror-2 ONLINE 0 0 0
ata-HGST_HTS721010A9E630_JR100X6P2TJKVE ONLINE 0 0 0
ata-HGST_HTS721010A9E630_JR100Y4M01200M ONLINE 0 0 0
errors: No known data errors
root@e7-4860:~# zpool list
NAME SIZE ALLOC FREE EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOT
stuffpoll 2.72T 2.47T 254G - 48% 90% 1.00x ONLINE -
root@e7-4860:~# ls /dev/disk/by-id/ -1
ata-CT240BX200SSD1_1613F0194817
ata-CT240BX200SSD1_1613F0194817-part1
ata-HGST_HTS541010A9E680_JA1000102MG9UR
ata-HGST_HTS541010A9E680_JA1000102MG9UR-part1
ata-HGST_HTS541010A9E680_JA1000102MG9UR-part9
ata-HGST_HTS541010A9E680_JA1009C03158BP
ata-HGST_HTS541010A9E680_JA1009C03158BP-part1
ata-HGST_HTS541010A9E680_JA1009C03158BP-part9
ata-HGST_HTS721010A9E630_JR10004M0LGN6E
ata-HGST_HTS721010A9E630_JR10004M0LGN6E-part1
ata-HGST_HTS721010A9E630_JR10004M0LGN6E-part9
ata-HGST_HTS721010A9E630_JR10004M0M17TE
ata-HGST_HTS721010A9E630_JR10004M0M17TE-part1
ata-HGST_HTS721010A9E630_JR10004M0M17TE-part9
ata-HGST_HTS721010A9E630_JR100X6P2TJKVE
ata-HGST_HTS721010A9E630_JR100X6P2TJKVE-part1
ata-HGST_HTS721010A9E630_JR100X6P2TJKVE-part9
ata-HGST_HTS721010A9E630_JR100Y4M01200M
ata-HGST_HTS721010A9E630_JR100Y4M01200M-part1
ata-HGST_HTS721010A9E630_JR100Y4M01200M-part9
scsi-35000c50055fb009b
scsi-35000c50055fb395f
Я бы хотел полностью заменить диски в mirror-1
с участием scsi-35000c50055fb009b
и scsi-35000c50055fb395f
Если вы хотите вручную увеличить объем, все, что вам нужно сделать, это подключить его к сети с помощью -e
вариант.
zpool online -e stuffpoll
Вы также можете переключить опцию авторасширения, чтобы это происходило автоматически.
zpool set autoexpand=on stuffpoll
Допустим, вы добавляете новые диски в зеркало-2, чтобы вы могли его расширить. Вам необходимо подключить новые диски, используя одно из существующих имен устройств в качестве целевого. Вы можете добавить оба новых устройства в зеркало перед удалением старых.
# zpool attach pool existing_vdev_member new_device
zpool attach stuffpoll ata-HGST_HTS721010A9E630_JR100X6P2TJKVE new_dev1
zpool attach stuffpoll ata-HGST_HTS721010A9E630_JR100X6P2TJKVE new_dev2
После завершения синхронизации новых устройств старые устройства можно удалить.
zpool attach stuffpoll ata-HGST_HTS721010A9E630_JR100X6P2TJKVE
zpool attach stuffpoll ata-HGST_HTS721010A9E630_JR100Y4M01200M
Человек zpool
zpool attach [-f] pool device new_device
Attaches new_device to an existing zpool device. The existing device
cannot be part of a raidz configuration. If device is not currently
part of a mirrored configuration, device automatically transforms
into a two-way mirror of device and new_device. If device is part of
a two-way mirror, attaching new_device creates a three-way mirror,
and so on. In either case, new_device begins to resilver immediately.
...
zpool online [-e] pool device ...
Brings the specified physical device online.
-e Expand the device to use all available space. If the device
is part of a mirror or raidz then all devices must be
expanded before the new space will become available to the
pool.
Ссылки
Кроме того, я люблю напоминать людям. Сначала проверьте свои резервные копии / восстановления. Всегда есть шанс, что случится что-то плохое. Также подумайте о создании пула zfs на тестовой машине / виртуальной машине и заранее отработайте свои команды.