Увеличить зеркало ZFS

У меня есть пул 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

Я хотел бы в конечном итоге заменить диски в зеркало-1 на scsi-35000c50055fb009b и scsi-35000c50055fb395f

3
задан 11 December 2017 в 18:09
1 ответ

Если вы хотите вручную расширить том, все, что вам нужно сделать, - это подключить его к сети с помощью параметра -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

Man 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.

Links

Кроме того, я люблю напоминать людям. Сначала проверьте свои резервные копии / восстановления. Всегда есть шанс, что случится что-то плохое. Также подумайте о создании пула zfs на тестовой машине / виртуальной машине и заранее отработайте свои команды.

2
ответ дан 3 December 2019 в 06:56

Теги

Похожие вопросы