Настройка ZFS в Proxmox
В этой статье мы рассмотрим как создать ZFS разделы и подключить их как хранилища виртуальных машин в Proxmox .
Откроем веб интерфейс Proxmox и перейдем в раздел Disks.
Создадим Mirroring раздел ZFS.
Использовать в массиве RAID 1 мы будем 2 диска по 100GB , а диск на 60 Gb будем использовать в качестве ssh cache.
Для начала найдем ID наших дисков, это нужно для того чтобы диски в массиве были привязаны по ID , а не по пути типа /dev/sdb . Иначе при перестановке дисков буквы изменятся и массив не поднимется.
Выполняем команду ниже и находим ID своих дисков
1 |
ls /dev/disk/by-id/ |
Если вы не уверены в ID диска выполните команду hdparm. она покажет информацию о диске
1 |
hdparm -i /dev/sdb |
теперь когда вы знаете ID своих дисков выполним команду создания зеркального ZFS пула
1 |
zpool create -f raid1-pool mirror /dev/ata-WDC_WD15EARS-00MVWB0_WD-WMAZ20198340 /dev/ata-WDC_WD10EARS-00Y5B1_WD-WCAV5L720683 |
Замените raid1-pool, на имя своего пула и укажите свои диски.
Теперь посмотрим список созданных пулов командой ниже:
1 |
zpool list |
Видим созданный пул
1 2 |
NAME SIZE ALLOC FREE EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOT raid1-pool 59.5G 272K 59.5G - 0% 0% 1.00x ONLINE - |
теперь добавим в наш пул SSH cache
1 |
zpool add -f raid1-pool cache /dev/disk/by-id/ata-KINGSTON_SV300S37A120G_50026B723C0A2039 |
Теперь посмотрим статус нашего пула командой
1 |
zpool status |
1 2 3 4 5 6 7 |
NAME STATE READ WRITE CKSUM raid1-pool ONLINE 0 0 0 mirror-0 ONLINE 0 0 0 ata-WDC_WD15EARS-00MVWB0_WD-WMAZ20198340 ONLINE 0 0 0 ata-WDC_WD10EARS-00Y5B1_WD-WCAV5L720683 ONLINE 0 0 0 cache ata-KINGSTON_SV300S37A120G_50026B723C0A2039 ONLINE 0 0 0 |
Теперь вы видите информацию о пуле, наш пул зеркальный, показаны имена дисков и диск под кэш.
Давайте включим сжатие на этом пуле, выполните команду:
1 |
zfs set compression=on raid1-pool |
Получить информацию о том включено ли сжатие можно командой;
1 |
zfs get compression raid1-pool |
1 2 |
NAME PROPERTY VALUE SOURCE raid1-pool compression on local |
Также можно включить Online дедупликацию файлов
1 |
zfs set dedup=on raid1-pool |
Получить информацию о статусе дедупликации можно командой:
1 |
zfs get dedup raid1-pool |
1 2 |
NAME PROPERTY VALUE SOURCE raid1-pool dedup on local |
Обратите внимание что Online дедупликация очень ресурсоемкая функция и для ее корректной производительности нужно много свободной оперативной памяти.
Также обратите внимание что при отключении дедупликации, ранее дедуплицированные файлы не будут иметь исходный размер, данные так и останутся дедуплицированными.
Для повышения производительности пула можно отключить синхронизацию
1 |
zfs set sync=disabled raid1-pool |
Обратите внимание что при отключенной синхронизации возможна потеря данных при отключении питания.
Это означает что данные за последние 5 секунд могут быть потеряны.
Теперь подключим созданный ZFS пул в качестве хранилища VM.
Переходим в веб интерфейс, открываем Datacenter и переходим в раздел Storage, нажимаем кнопку add, выбираем ZFS
В поле ID указываем произвольное имя нашего хранилища, далее выбираем созданный zfs пул и включаем thin provision (использование тонких дисков для VM)
Теперь в списке появилось наше новое хранилище
рассмотрим какие типы ZFS еще можно создать.
Раздел без зеркалирования (RAID0)
1 |
zpool create -f [new pool name] /dev/sdb /dev/sdc |
RAID10 (2 RAID0 в одном RAID1 минимум 4 диска)
1 2 3 |
zpool create [pool name] \ mirror disk1 disk2 \ mirror disk3 disk4 |
RAIDZ, он же RAID5
1 |
zpool create -f [pool name] raidz /dev/sdb /dev/sdc /dev/sdd |
RAIDZ2 , он же RAID6 (обладает более высокой надежностью в отличие от RAIDZ)
1 |
zpool create -f [pool name] raidz2 /dev/sdb /dev/sdc /dev/sdd |
Если вам нужно добавить новый диск в пул ZFS, выполните команду:
1 |
zpool add [existing pool name] /dev/sdd |
Для удаления пула выполните команду
1 |
zpool destroy [pool name] |
На этом базовая настройка завершена, надеюсь статья была вам полезна)
Добавить комментарий