Как прикрепить полосатое зеркало с двумя устройствами к бассейну?

Как прикрепить полосатое зеркало с двумя устройствами к бассейну?

У меня есть пул с одним диском, состоящий из жесткого диска на 2 ТБ. У меня есть два диска по 1 ТБ, которые я могу использовать в зеркале — я хотел бы добавить избыточность к моему пулу.

Как мне подключить эти два диска как одно устройство, чтобы их можно было использовать как полосатое зеркало?

Назовем мой диск емкостью 2 ТБ — sda, пустые диски емкостью 1 ТБ — sdbи sdc.

Я пытался: zfs attach tank sda sdb sdcно там написано too many arguments.

Я пытался: zfs attach tank sda sdbно это говоритdevice is too small

Я пытался: zfs attach tank sda sdb+sdcно это говоритno such device in /dev

Я пытался: zfs attach tank sda sdb,sdcно это говоритno such device in /dev

Я прочитал руководство и поискал в Интернете — у меня закончились идеи.

Думаю, я мог бы попробовать создать новый чередующийся пул из этих двух дисков по 1 ТБ, создать внутри zvol и использовать его в качестве зеркала для моего основного пула, но это, вероятно, в любом случае даст мне недостаточно емкости для зеркала, плюс много ненужных накладных расходов.

Как я могу это сделать?

решение1

Это нельзя сделать напрямую через ZFS. Изстраница руководства:

Виртуальные устройства не могут быть вложенными, поэтому зеркало или виртуальное устройство raidz могут содержать только файлы или диски. Зеркала зеркал (или другие комбинации) не допускаются.

Я предлагаю создать новый пул, состоящий из двух дисков по 1 ТБ и использовать что-то в качествесиноидныйчасто отправлять содержимое первого пула в новый пул.

--- ВНИМАНИЕ: неуклюжий обходной путь ниже! НЕ используйте, если не уверены ДЕЙСТВИТЕЛЬНО!!! ---

В любом случае, если выДействительнохотите добавить два диска по 1 ТБ в качестве зеркала первых дисков по 2 ТБ, можно попробовать обходной путь. Вы можете использовать device-mapper (в форме LVM) для объединения двух дисков и присоединения полученного тома к устройству на 2 ТБ. Например:

pvcreate /dev/sdb
pvcreate /dev/sdc
vgcreate zvg /dev/sdb
vgextend zvg /dev/sdc
lvcreate zvg --name zdev -l +100%FREE
zpool attach tank /dev/sda /dev/zvg/zdev
zpool status

Аналогичного (даже лучшего) результата можно добиться с помощью mdadm, создав устройство RAID0 и подключив его к zpool:

mdadm --create md127 --level=0 --raid-devices=2 /dev/sdb /dev/sdc
zpool attach tank /dev/sda /dev/md127
zpool status

Этот подходнетрекомендуется. Используйте его на свой страх и риск.

решение2

Чтобы добавить два новых диска в пул, можно использовать , zpool add tank mirror sdb sdcно это добавит новую пару как зеркало и объединит ее с существующим диском. (Это не добавляет никакой избыточности).

Вам нужно будет использовать zpool attachкоманду для добавления дисков к существующему vdev, но вы не сможете использовать зеркальную пару для резервного копирования одного диска, вам придется добавить новый диск объемом 2 ТБ, чтобы создать зеркальную пару.

Связанный контент