Proxmox VE поддерживает множество типов хранилищ — от локальных дисков до распределённых кластерных систем. Правильный выбор хранилища критичен для производительности и надёжности виртуальных машин.
Сравнение типов хранилищ
| Тип | Снапшоты VM | Live Migration | Производительность | Применение |
|---|---|---|---|---|
| ZFS | Да (мгновенные) | Нет | Высокая | Одиночный узел, RAID |
| LVM-Thin | Да | Нет | Высокая | Одиночный узел |
| Directory | Нет (qcow2) | Да (с копированием) | Средняя | NFS, shared storage |
| Ceph/RBD | Да | Да (мгновенная) | Зависит от кластера | Кластер Proxmox |
| NFS | Только qcow2 | Да | Зависит от сети | Общее хранилище |
ZFS: создание и управление пулом
ZFS — рекомендуемая файловая система для Proxmox. Встроенные снапшоты, дедупликация и проверка целостности данных.
# Показать доступные диски
lsblk -d -o NAME,SIZE,TYPE | grep disk
# Создать зеркальный пул (RAID-1) из двух дисков
zpool create -f -o ashift=12 -O compression=lz4 -O atime=off tank mirror /dev/sdb /dev/sdc
# Создать RAID-Z пул из трёх дисков
zpool create -f -o ashift=12 -O compression=lz4 tank raidz /dev/sdb /dev/sdc /dev/sdd
# Статус пула
zpool status tank
# Производительность
zpool iostat -v tank 1
Добавление ZFS хранилища в Proxmox
# Через CLI
pvesm add zfspool tank-storage --pool tank --sparse 1
# Или веб-интерфейс:
# Datacenter → Storage → Add → ZFS
LVM-Thin: тонкая провизия
LVM-Thin позволяет создавать диски размером больше реального доступного пространства (тонкая провизия). Идеально для Dev/Test сред:
# Создать физический том и группу томов
pvcreate /dev/sdb
vgcreate data /dev/sdb
# Создать тонкий пул размером 100 ГБ
lvcreate -L 100G --thinpool data/vm-pool
# Добавить в Proxmox
pvesm add lvmthin local-thin --vgname data --thinpool vm-pool
Настройка Ceph в Proxmox
Ceph требует минимум 3 нод для обеспечения кворума. Рекомендуется выделенная сеть для Ceph-трафика (10 Гбит/с).
# На каждой ноде Proxmox
pveceph install --release squid
# Инициализировать Ceph на первой ноде
pveceph init --network 10.0.0.0/24
# Создать MON на всех нодах
pveceph createmon
# Добавить OSD (диск)
pveceph createosd /dev/sdc
# Создать пул
pveceph createpool vm-pool --size 3 --min_size 2
Оптимизация ZFS для SSD
# Отключить медленную синхронизацию для VM (не для продакшн баз данных!)
zfs set sync=disabled tank
# Включить ARC-кеш (рекомендуется 50% RAM)
echo "options zfs zfs_arc_max=4294967296" > /etc/modprobe.d/zfs.conf
# (4 ГБ = 4294967296 байт)
# Посмотреть статистику ARC
arc_summary
Не используйте ZFS с аппаратным RAID-контроллером в режиме RAID. ZFS должен видеть «голые» диски. При наличии RAID-контроллера переведите его в режим HBA/JBOD или используйте software RAID через ZFS.