Из описания вопроса я понимаю, что zfs пул создается уже после установки самого PVE
Создаем ProxMox VE c 1 диском и LVM
Создаем пул из 3х дисков по 10ГБ
Видим 2 типа контента
В настройках тоже 2
Почему? ну, видимо, как и с LVM мы работаем с блочными устройствами, для ISO и LXC template требуется каталог
Добавляем еще один диск на 20 ГБ
В веб интерфейсе глухо, можем только посмотреть состав и “ушатать” пул
Переходим в консоль и создаем датасет
root@pve:/# zfs create -o compression=lz4 -o quota=10G zfs-pool/storage
root@pve:/# df -h /zfs-pool/storage/
Filesystem Size Used Avail Use% Mounted on
zfs-pool/storage 10G 128K 10G 1% /zfs-pool/storage
Возвращаемся в web интерфейс датацентра и создает стррадж типа directory
Теперь в списке у нас появился zfs-storage
Куда мы можем загрузить ISO образы
Первый пункт решен
Теперь переходим в диски
Видим, что /dev/sde свободен, а b/c/d имеют по 2 раздела и являются zfsными
Переходим в консоль и пытаемся сломать все
root@pve:~# zpool status zfs-pool
pool: zfs-pool
state: ONLINE
config:
NAME STATE READ WRITE CKSUM
zfs-pool ONLINE 0 0 0
raidz1-0 ONLINE 0 0 0
scsi-0QEMU_QEMU_HARDDISK_drive-scsi1 ONLINE 0 0 0
scsi-0QEMU_QEMU_HARDDISK_drive-scsi2 ONLINE 0 0 0
scsi-0QEMU_QEMU_HARDDISK_drive-scsi3 ONLINE 0 0 0
errors: No known data errors
root@pve:~# zpool add zfs-pool /dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_drive-scsi4
invalid vdev specification
use '-f' to override the following errors:
mismatched replication level: pool uses raidz and new vdev is disk
root@pve:~# zpool add -f zfs-pool /dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_drive-scsi4
root@pve:~# zpool status zfs-pool
pool: zfs-pool
state: ONLINE
config:
NAME STATE READ WRITE CKSUM
zfs-pool ONLINE 0 0 0
raidz1-0 ONLINE 0 0 0
scsi-0QEMU_QEMU_HARDDISK_drive-scsi1 ONLINE 0 0 0
scsi-0QEMU_QEMU_HARDDISK_drive-scsi2 ONLINE 0 0 0
scsi-0QEMU_QEMU_HARDDISK_drive-scsi3 ONLINE 0 0 0
scsi-0QEMU_QEMU_HARDDISK_drive-scsi4 ONLINE 0 0 0
errors: No known data errors
Что мы получили в итоге?
В сам raidz1 добавить нельзя диск т.к. это поетребует пересчета и перераспределения блоков между дисками, но мы добавили диск “на верхний уровень” т.е. что-то типа RAID0 получилось
Добавляем еще 3 диска
Пытаемся окончательно доломать
root@pve:~# zpool add zfs-pool raidz1 /dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_drive-scsi5 /dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_drive-scsi6 /dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_drive-scsi7
root@pve:~# zpool status zfs-pool
pool: zfs-pool
state: ONLINE
config:
NAME STATE READ WRITE CKSUM
zfs-pool ONLINE 0 0 0
raidz1-0 ONLINE 0 0 0
scsi-0QEMU_QEMU_HARDDISK_drive-scsi1 ONLINE 0 0 0
scsi-0QEMU_QEMU_HARDDISK_drive-scsi2 ONLINE 0 0 0
scsi-0QEMU_QEMU_HARDDISK_drive-scsi3 ONLINE 0 0 0
scsi-0QEMU_QEMU_HARDDISK_drive-scsi4 ONLINE 0 0 0
raidz1-2 ONLINE 0 0 0
scsi-0QEMU_QEMU_HARDDISK_drive-scsi5 ONLINE 0 0 0
scsi-0QEMU_QEMU_HARDDISK_drive-scsi6 ONLINE 0 0 0
scsi-0QEMU_QEMU_HARDDISK_drive-scsi7 ONLINE 0 0 0
errors: No known data errors
Что совсем в итоге получили?
Мы создали в рамках 1 пула 2 рейд массива с отказоустойчивостью и разным объемом, если выкинуть 4 диск и оставить 6 штук и принять их как одинакового объема, то мы получили финальный объем как raidz2, но по факту raidz1,5 т.е. выход в одном рейде 2х дисков приведет к полной потере данных, выпадание 2х дисков в разных рейдах приведет только к дерградации
Ответ на 2 вопрос: нельзя добавить на этот же уровень дисов
Ответ на 3 вопрос: если на более высокий уровень без отказоустойчивости, то он добавится к общему объему
В качестве домашнего задания
- А если попробовать один из 3х дисков пула заменить 4 большего размера?
- Развернуть Proxmox сразу в ZFS режиме и посмотреть как рам реализованы датасеты
Ну и напоследок список дисков в интерфейсе проксмокса