Planetahost VPS
Перейти к основному контенту

Настройка хранилищ (Storage) в Proxmox VE

intro-Configuring-Storage-in-ProxmoxVE-planetahost.png

Введение

Proxmox Virtual Environment (VE) - мощная платформа для управления виртуальными машинами и контейнерами. Одним из ключевых аспектов её настройки является правильная организация хранилищ данных. От выбора типа хранилища зависит производительность, надёжность и доступность ваших виртуальных окружений.

В этой статье мы разберём, как добавить и настроить различные типы хранилищ в Proxmox, чтобы вы могли оптимально использовать свои диски (в нашем случае — 4 дополнительных диска по 250 ГБ, плюс системный диск).

Типы хранилищ и их назначение

Proxmox поддерживает множество бэкендов хранения. Ниже приведены основные типы:

Тип Описание Рекомендуемое содержимое
Directory Обычная директория на уже смонтированной файловой системе (ext4, XFS). ISO-образы, шаблоны контейнеров, бэкапы (также можно хранить диски ВМ в формате qcow2/raw, но без расширенных возможностей).
LVM Традиционные логические тома LVM (без thin provisioning). Редко используется для образов ВМ (устаревший).
LVM-thin Тонкие логические тома (thin pool) — выделяют место по мере записи. Диски виртуальных машин (отличная производительность, снапшоты).
ZFS Мощная файловая система и менеджер томов с защитой от повреждений. Всё: диски ВМ, контейнеры, ISO, бэкапы, снапшоты, репликация.
NFS Сетевая файловая система (клиент). Образы ВМ, контейнеры, ISO, бэкапы (удобно для общего хранилища в кластере).
iSCSI Доступ к блочному устройству по сети. Только диски ВМ (без снапшотов на стороне Proxmox).
Ceph Распределённое отказоустойчивое хранилище (для больших кластеров). Диски ВМ, контейнеры.

В данной инструкции мы сосредоточимся на самых популярных типах: Directory, LVM-thin, ZFS (локальные) и NFS (сетевые).

Добавление локального хранилища

Предположим, что у вас уже установлен Proxmox на первом диске (/dev/sda). Остальные четыре диска — /dev/sdb, /dev/sdc, /dev/sdd, /dev/sde — чистые, без разметки.

image.png

image.png

Использование существующего каталога как Directory

Этот тип подходит, когда у вас уже есть смонтированный раздел (например, отдельный диск с файловой системой ext4). Рассмотрим на примере диска /dev/sde.

Подготовка диска (разметка, форматирование, монтирование)

Выполните команды через SSH или на консоли узла Proxmox:

  1. Создаём раздел GPT
    • parted /dev/sde mklabel gpt
      parted /dev/sde mkpart primary ext4 0% 100%

    • image.png

  2. Форматируем в ext4
    • mkfs.ext4 /dev/sde1

    • image.png

  3. Создаём точку монтирования и монтируем
    • mkdir -p /mnt/backup_disk
      mount /dev/sde1 /mnt/backup_disk

    • image.png

  4. Добавляем в fstab для автоматического монтирования после перезагрузки
    • echo "/dev/sde1 /mnt/backup_disk ext4 defaults 0 0" >> /etc/fstab

    • image.png

Добавление Directory в Proxmox через GUI
  1. Выберите Datacenter → вкладка Storage → кнопка Add Directory.
    • image.png

  2. Заполните поля:
    • ID: backup_store (любое имя).
    • Directory: /mnt/backup_disk.
    • Content: отметьте нужные типы — например, ISO image, Container template, Backup (диски ВМ сюда обычно не кладут из-за отсутствия снапшотов и тонкого выделения).
    • image.png

  3. Нажмите Add.
    • image.png

Теперь хранилище появится в списке слева. Вы можете загружать ISO-образы через него.

image.png

Создание LVM-thin пула на свободном диске

LVM-thin идеален для дисков виртуальных машин — он экономит место и позволяет делать быстрые снапшоты. Используем диск /dev/sdd.

Создание физического тома и группы томов
pvcreate /dev/sdd
vgcreate vg_fast /dev/sdd

image.png

Создание thin pool
lvcreate -L 230G -T vg_fast/thin_pool

Здесь -L 230G — размер пула (оставляем немного места для метаданных). Если диск 250 ГБ, то 230 ГБ — безопасно.

image.png

Добавление LVM-thin хранилища в Proxmox
  • Выберите Datacenter Storage Add LVM-thin.
    • image.png

       
    • ID: fast_pool.
    • Volume group: vg_fast (должен появиться в выпадающем списке).
    • Thin pool: thin_pool.
    • Content: обычно только Disk image и Container.
    • image.png

  • Нажмите Add.
    • image.png

Готово. Теперь при создании ВМ вы сможете выбрать fast_pool для её диска.

Примечание
Вы также можете создать LVM-thin пул прямо из GUI, если выберете диск без разметки. Для этого зайдите в Узел Disks LVM-thin и нажмите Create: Thinpool. Однако этот способ автоматически создаст группу томов с именем pve, что может конфликтовать с существующей. Лучше использовать CLI для чистоты.

Настройка ZFS

ZFS даёт максимальную надёжность, сжатие, снапшоты и репликацию. Для демонстрации создадим зеркало (mirror) из двух дисков /dev/sdb и /dev/sdc.

Создание ZFS-пула

Создаём пул с именем tank в конфигурации mirror

zpool create -f tank mirror /dev/sdb /dev/sdc

Параметр -f принудительно использует диски (если на них есть старая разметка). После создания пул автоматически смонтируется в /tank.

image.png

Импорт существующего пула (если был создан ранее)

Если пул уже существует (например, перенесён с другой системы), импортируйте его:

zpool import tank
Добавление ZFS хранилища в Proxmox

Proxmox автоматически обнаруживает ZFS-пулы как потенциальные хранилища. Чтобы добавить его:

  • Datacenter Storage Add ZFS.
    • image.png

  • ID: zfs_mirror.
  • Pool: выберите tank из списка.
  • Content: Disk image, Container.
  • Thin provisioning (тонкое выделение) для ZFS рекомендуется включить, особенно если планируете снапшоты.
    • image.png

  • Нажмите Add.
    • image.png

Теперь вы можете создавать виртуальные диски на ZFS с поддержкой сжатия и снапшотов.

Подключение сетевого хранилища NFS

NFS удобно, когда у вас есть отдельный файловый сервер (или сетевая папка NAS). Proxmox может использовать NFS как общее хранилище для нескольких узлов кластера.

Подготовка NFS-шары на сервере (кратко)

На сервере с Ubuntu/Debian установите и настройте NFS:

apt update
apt install nfs-kernel-server -y
mkdir -p /export/proxmox_backup
echo "/export/proxmox_backup *(rw,sync,no_subtree_check,no_root_squash)" >> /etc/exports
exportfs -a
systemctl restart nfs-server

Рекомендуется использовать более строгие ограничения доступа (указывайте IP-адреса ваших узлов Proxmox).

Добавление NFS-хранилища в Proxmox

  • Datacenter Storage Add NFS.
    • image.png

  • ID: nfs_shared.
  • Server: IP-адрес вашего NFS-сервера (например, 192.168.1.100).
  • Export: путь на сервере (например, /export/proxmox_backup). Если вы не знаете, что вводить, нажмите кнопку Browse — Proxmox покажет доступные экспорты.
    • image.png

  • Content: обычно выбирают Disk image, Container, ISO image, Backup.
    • image.png

  • Options (опционально): можно добавить флаги монтирования, например vers=4.2 для NFSv4.
  • Нажмите Add.
    • image.png

После этого хранилище появится в списке.

Проверка доступности для ВМ

При создании или перемещении диска ВМ вы сможете выбрать nfs_shared в выпадающем списке хранилищ. Однако учтите, что производительность NFS может быть ниже локальных дисков, особенно при использовании без поддержки асинхронной записи.

Назначение хранилища для определённого типа данных (Content Types)

Proxmox позволяет гибко настроить, какие типы данных (содержимое) можно хранить в каждом хранилище. Это предотвращает случайное сохранение бэкапа на быстрый LVM-thin пул или ISO на ZFS-пул с репликацией.

Изменение параметров хранилища

Чтобы изменить разрешённые типы для уже созданного хранилища:

  • Выберите хранилище в дереве слева (например, fast_pool).
    • image.png

  • Перейдите на вкладку Edit (или Options Content).
    • image.png

  • Отметьте или снимите галочки напротив нужных типов:
    • Disk image — образы дисков ВМ (raw, qcow2, или zvol в случае ZFS).
    • Container — корневые файловые системы контейнеров (LXC).
    • ISO image — установочные ISO-образы.
    • Container template — шаблоны для быстрого создания контейнеров.
    • Backup — файлы резервных копий (vzdump).
    • Snippets — небольшие скрипты или фрагменты кода.
    • image.png

  • Нажмите OK.
    • image.png

Рекомендации по настройке для разных типов:

Хранилище Рекомендуемые типы Причина
Directory (ext4) ISO, Container template, Backup, Snippets Нет поддержки снапшотов, thin provisioning для дисков ВМ.
LVM-thin Disk image, Container (опционально) Отличная производительность, снапшоты.
ZFS Disk image, Container, Backup, ISO, Template Всё в одном, сжатие, снапшоты.
NFS Disk image, Container, ISO, Backup, Template Удобно для общего доступа, но снапшоты только через qcow2.

Приоритет и репликация (для ZFS)

В Proxmox можно настроить приоритет хранилищ для разных действий. Например, указать, что ISO-образы по умолчанию загружаются в backup_store, а диски ВМ — в fast_pool.

Настройка приоритета (Storage Priority):
  • При редактировании хранилища (Edit) есть поле Priority (чем выше число, тем выше приоритет). Используется для выбора хранилища по умолчанию при создании ВМ/контейнера, если не указано иное.
Репликация ZFS между узлами:

Если у вас кластер из нескольких узлов с ZFS-пулами, можно настроить репликацию для отказоустойчивости. Для этого:

  • Включите репликацию для конкретной ВМ: выберите ВМ → Replication → Add.
  • Укажите целевой узел, частоту репликации и хранилище (ZFS-пул на целевом узле).
  • Proxmox будет периодически отправлять снапшоты на резервный узел.

Важно: Репликация работает только между ZFS-хранилищами. Это отличная альтернатива дорогому общему хранилищу (SAN).

Заключение

Мы рассмотрели основные способы настройки хранилищ в Proxmox VE. Вы можете комбинировать их в зависимости от доступного оборудования и требований к отказоустойчивости.

Краткие советы для выбора:

  • Для одиночного сервера с несколькими дисками — используйте ZFS (mirror или raidz) для системных данных ВМ и отдельный диск/раздел для бэкапов и ISO (Directory).
  • Для кластера из 2-3 узлов без общего SAN — ZFS с репликацией на партнёра.
  • Если есть готовый NAS (Synology, TrueNAS) — подключите NFS для общих образов ВМ и бэкапов.
  • Для максимальной производительности одного узла — LVM-thin на быстрых SSD (или NVMe).

Теперь вы можете самостоятельно добавить и настроить хранилища на вашем сервере.