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

Пошаговое подключение NFS-хранилища к Proxmox VE: проверка экспорта, добавление через веб-интерфейс и CLI, выбор типов данных и диагностика.

NFS-хранилище удобно использовать для резервных копий, ISO-образов, шаблонов контейнеров и, при подходящей производительности, виртуальных дисков.

В Proxmox VE NFS можно подключить через веб-интерфейс или командой pvesm.

В этой инструкции рассматривается только добавление NFS-хранилища, проверка доступа и базовая диагностика.

Подходит для: Proxmox VE 8 и 9
Уровень сложности: средний
Время выполнения: около 15 минут
Требуемый доступ: root или учётная запись с правами управления хранилищами

Что потребуется

Перед началом подготовьте:

  • работающий NFS-сервер;
  • IP-адрес или DNS-имя NFS-сервера;
  • экспортированный каталог;
  • разрешение на доступ с узла Proxmox;
  • сетевую связность между Proxmox и NFS;
  • свободное место на NFS-хранилище.

Пример параметров:

NFS-сервер: 192.0.2.40
Экспорт: /srv/proxmox
Storage ID: nfs-backup

Используйте параметры своей инфраструктуры.

Что можно хранить на NFS

Proxmox VE поддерживает разные типы содержимого:

Disk image
ISO image
Container template
VZDump backup file
Container
Snippets

Не включайте все типы без необходимости.

Для отдельного backup-хранилища обычно достаточно:

VZDump backup file

Для ISO и шаблонов:

ISO image
Container template

Проверка сетевой доступности

С узла Proxmox проверьте NFS-сервер:

ping -c 3 192.0.2.40

Проверьте маршрут:

ip route get 192.0.2.40

Если используется DNS-имя:

getent hosts nfs.example.com

Проверка NFS-порта

Для NFSv4 основной порт:

2049/tcp

Проверьте:

nc -zv 192.0.2.40 2049

Если nc отсутствует:

apt update
apt install -y netcat-openbsd

Установка NFS-клиента

На Proxmox VE обычно достаточно пакета:

apt update
apt install -y nfs-common

Проверьте:

dpkg -l nfs-common

Просмотр доступных экспортов

Для NFSv3:

showmount -e 192.0.2.40

Пример:

Export list for 192.0.2.40:
/srv/proxmox 192.0.2.0/24

Для NFSv4 showmount может не отображать экспорт. В таком случае выполняйте тестовое монтирование.

Тестовое монтирование

Создайте временный каталог:

mkdir -p /mnt/nfs-test

Попробуйте смонтировать:

mount -t nfs   192.0.2.40:/srv/proxmox   /mnt/nfs-test

Проверьте:

mount |
grep /mnt/nfs-test

Проверьте свободное место:

df -h /mnt/nfs-test

Проверка записи

Создайте тестовый файл:

touch /mnt/nfs-test/proxmox-write-test

Проверьте:

ls -l /mnt/nfs-test/proxmox-write-test

Удалите:

rm -f /mnt/nfs-test/proxmox-write-test

Если запись не работает, проблема обычно связана с:

  • правами на NFS-сервере;
  • экспортом;
  • root_squash;
  • UID/GID;
  • режимом read-only;
  • firewall.

Размонтирование тестового каталога

umount /mnt/nfs-test

Удалите каталог:

rmdir /mnt/nfs-test

Добавление через веб-интерфейс

Откройте:

Datacenter → Storage

Нажмите:

Add → NFS

Заполните поля.

ID

Пример:

nfs-backup

Storage ID должен быть уникальным.

Server

Пример:

192.0.2.40

Export

Выберите:

/srv/proxmox

Если список не загрузился, введите экспорт вручную.

Content

Для резервных копий:

VZDump backup file

При необходимости дополнительно:

ISO image
Container template
Snippets

Nodes

Если Proxmox состоит в кластере, выберите узлы, которым доступен этот NFS.

Не добавляйте узел, если у него нет сетевого доступа к хранилищу.

Enable

Оставьте включённым:

Enabled

Нажмите:

Add

Проверка в веб-интерфейсе

После добавления откройте:

Datacenter → Storage → nfs-backup

Проверьте статус.

Также выберите:

Node → nfs-backup → Summary

Должны отображаться:

  • общий объём;
  • использованное место;
  • свободное место;
  • статус Active.

Добавление через CLI

Базовая команда:

pvesm add nfs STORAGE_ID   --server NFS_SERVER   --export NFS_EXPORT   --content backup

Пример:

pvesm add nfs nfs-backup   --server 192.0.2.40   --export /srv/proxmox   --content backup

Проверьте:

pvesm status

Несколько типов содержимого

Пример:

pvesm add nfs nfs-shared   --server 192.0.2.40   --export /srv/proxmox   --content backup,iso,vztmpl,snippets

Поддерживаемые CLI-значения зависят от типа содержимого.

Проверьте итоговую конфигурацию после добавления.

Конфигурационный файл

Хранилища Proxmox VE описываются в:

/etc/pve/storage.cfg

Проверьте:

cat /etc/pve/storage.cfg

Пример:

nfs: nfs-backup
    export /srv/proxmox
    path /mnt/pve/nfs-backup
    server 192.0.2.40
    content backup

Файл находится в кластерной файловой системе Proxmox.

Точка монтирования

После подключения NFS обычно доступен в:

/mnt/pve/STORAGE_ID

Пример:

ls -la /mnt/pve/nfs-backup

Проверьте монтирование:

mount |
grep /mnt/pve/nfs-backup

Проверка через pvesm

Статус всех хранилищ:

pvesm status

Статус конкретного:

pvesm status |
grep nfs-backup

Показать содержимое:

pvesm list nfs-backup

Если хранилище пустое, список будет пустым.

Проверка записи через Proxmox

Создайте тестовый файл:

touch /mnt/pve/nfs-backup/proxmox-test

Проверьте:

ls -l /mnt/pve/nfs-backup/proxmox-test

Удалите:

rm -f /mnt/pve/nfs-backup/proxmox-test

Использование для резервных копий

Выберите VM или LXC.

Откройте:

Backup → Backup now

В поле Storage выберите:

nfs-backup

После завершения проверьте:

nfs-backup → Backups

Через CLI:

vzdump VM_ID   --storage nfs-backup   --mode snapshot   --compress zstd

NFS-версия

По умолчанию Proxmox пытается подобрать подходящую версию NFS.

При необходимости версию можно указать явно.

Пример NFSv4:

pvesm set nfs-backup   --options vers=4

Пример NFSv3:

pvesm set nfs-backup   --options vers=3

Не фиксируйте версию без причины. Сначала проверьте совместимость сервера и клиента.

Проверка активной версии

nfsstat -m

Найдите нужную точку:

nfsstat -m |
grep -A3 /mnt/pve/nfs-backup

Также:

mount |
grep nfs-backup

Таймауты и зависание NFS

При недоступности NFS некоторые операции могут ждать завершения сетевого таймаута.

Проверьте доступность:

ping -c 3 192.0.2.40
nc -zv 192.0.2.40 2049

Проверьте журнал:

journalctl --since today |
grep -iE 'nfs|mount'

Проверьте состояние mount:

mountpoint /mnt/pve/nfs-backup

Удаление хранилища из Proxmox

Перед удалением убедитесь, что:

  • нет активного backup;
  • VM и LXC не используют это storage;
  • нужные архивы сохранены;
  • хранилище не используется расписанием backup.

Через веб-интерфейс:

Datacenter → Storage → nfs-backup → Remove

Через CLI:

pvesm remove nfs-backup

Это удаляет конфигурацию storage из Proxmox, но не удаляет данные на NFS-сервере.

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

pvesm status

Проверьте:

grep -n nfs-backup /etc/pve/storage.cfg

Запись должна отсутствовать.

Типичные проблемы

Export не отображается

Проверьте:

showmount -e NFS_SERVER

Для NFSv4 выполните тестовое монтирование вручную.

Проверьте firewall и разрешения экспорта.

Permission denied

Проверьте на NFS-сервере:

  • разрешённую подсеть;
  • путь экспорта;
  • права каталога;
  • параметры rw;
  • root_squash;
  • экспорт после изменений.

На Linux NFS-сервере обычно применяют:

exportfs -rav

Storage отображается как inactive

Проверьте:

pvesm status

Проверьте сеть:

ping -c 3 NFS_SERVER

Проверьте порт:

nc -zv NFS_SERVER 2049

Проверьте журнал:

journalctl --since today |
grep -iE 'nfs|mount|pvestatd'

NFS монтируется вручную, но не добавляется в Proxmox

Проверьте:

  • уникальность Storage ID;
  • правильность export;
  • доступность с нужного узла;
  • тип содержимого;
  • конфигурацию /etc/pve/storage.cfg.

Backup работает медленно

Проверьте:

  • пропускную способность сети;
  • задержку;
  • диски NFS-сервера;
  • загрузку CPU;
  • алгоритм сжатия;
  • NFS-версию;
  • MTU;
  • наличие сетевых ошибок.

Тест скорости и оптимизация NFS требуют отдельной диагностики.

После перезагрузки storage неактивен

Проверьте:

pvesm status
systemctl status pvestatd --no-pager
journalctl -b |
grep -i nfs

Убедитесь, что NFS-сервер доступен во время запуска узла.

Безопасный порядок подключения

  1. Проверить сеть до NFS-сервера.
  2. Проверить порт 2049.
  3. Проверить экспорт.
  4. Выполнить тестовое монтирование.
  5. Проверить запись.
  6. Добавить storage в Proxmox.
  7. Проверить pvesm status.
  8. Создать тестовый backup.
  9. Проверить архив.
  10. Выполнить тестовое восстановление.

Быстрый набор команд

Показать экспорты:

showmount -e NFS_SERVER

Добавить storage:

pvesm add nfs nfs-backup   --server NFS_SERVER   --export NFS_EXPORT   --content backup

Проверить:

pvesm status

Показать содержимое:

pvesm list nfs-backup

Удалить конфигурацию:

pvesm remove nfs-backup

Итог

После выполнения инструкции:

  • проверена доступность NFS-сервера;
  • выполнено тестовое монтирование;
  • NFS добавлен в Proxmox VE;
  • выбран тип содержимого;
  • проверены точка монтирования и запись;
  • показано использование для backup;
  • рассмотрено удаление storage без удаления данных.

Для резервных копий NFS-хранилище следует дополнять контролем свободного места, мониторингом доступности и регулярным тестовым восстановлением.

← Предыдущая статья Настройка сетевого моста vmbr0 в Proxmox VE Следующая статья → Настройка расписания резервного копирования в Proxmox VE