Proxmox Backup Server (PBS) — это специализированное решение для резервного копирования VM и LXC-контейнеров. PBS поддерживает инкрементальные бэкапы, дедупликацию на уровне блоков и end-to-end шифрование. Он может быть установлен как отдельный сервер или на той же машине, что и Proxmox VE.
Архитектура PBS
- Datastore — хранилище бэкапов, создаётся на диске/ZFS пуле
- Chunk Store — хранилище дедуплицированных блоков
- Namespaces — логическая группировка бэкапов по проектам/командам
- Remote — синхронизация между несколькими PBS-экземплярами
Установка PBS
# Скачать ISO Proxmox Backup Server с proxmox.com
# Установить аналогично Proxmox VE (отдельный ISO)
# После установки добавить no-subscription репозиторий
echo "deb http://download.proxmox.com/debian/pbs trixie pbs-no-subscription" > /etc/apt/sources.list.d/pbs-no-subscription.list
apt update && apt dist-upgrade -y
Веб-интерфейс PBS доступен по адресу: https://PBS-IP:8007
Создание датастора
# Через CLI
proxmox-backup-manager datastore create backup-store /mnt/backup --comment "Main backup storage"
# Проверить
proxmox-backup-manager datastore list
# Статистика хранилища
proxmox-backup-manager datastore show backup-store
Добавление PBS в Proxmox VE
# На хосте Proxmox VE
# Datacenter → Storage → Add → Proxmox Backup Server
pvesm add pbs my-pbs --server 192.168.1.200 --datastore backup-store --username backup@pbs --password PBSPassword --fingerprint AA:BB:CC:... # Взять из PBS → Dashboard → Fingerprint
Создание пользователя для бэкапов
# На PBS-сервере
proxmox-backup-manager user create backup@pbs --password BackupPass123
# Назначить права на датастор
proxmox-backup-manager acl update /datastore/backup-store --auth-id backup@pbs --role DatastoreBackup
DatastoreBackup (только запись) для учётной записи, которую использует Proxmox VE. Для восстановления нужна роль DatastoreReader.
Шифрование бэкапов
# Создать ключ шифрования
proxmox-backup-client key create /root/backup.key
# Или через веб-интерфейс:
# Storage → my-pbs → Edit → Encryption Key
/root/backup.key) в надёжном месте ОТДЕЛЬНО от PBS. Без ключа восстановление зашифрованных бэкапов невозможно.
Мониторинг PBS
# Статус задач
proxmox-backup-manager task list --limit 20
# Статистика дедупликации
proxmox-backup-manager datastore show backup-store
# Проверка целостности
proxmox-backup-manager garbage-collect backup-store
Ошибки подключения PBS к Proxmox VE
Три ошибки, которые чаще всего встречаются при первом подключении PBS как хранилища.
TASK ERROR: connection error: error trying to connect: tcp connect error: Connection refused
TASK ERROR: authentication failed: fingerprint mismatch
TASK ERROR: backup write data failed: no space left on device
- Connection refused: PBS недоступен по порту 8007 — проверьте, что сервис
proxmox-backup-proxyзапущен на PBS и порт не закрыт файрволом между хостами. - fingerprint mismatch: сертификат PBS изменился (переустановка сервера, замена сертификата), а в настройках хранилища Proxmox VE сохранён старый fingerprint. Обновите его в Datacenter → Storage → my-pbs → Edit, взяв актуальное значение из PBS → Dashboard.
- no space left on device: датастор PBS заполнен, а сборка мусора (Garbage Collection) давно не запускалась или отключена. Запустите
proxmox-backup-manager garbage-collect backup-storeи проверьте расписание GC.
Когда PBS не подходит
PBS закрывает большинство задач резервного копирования VM, но не универсален.
- Единственный сервер без возможности вынести бэкапы на отдельное железо: PBS на той же машине, что и Proxmox VE, защищает от логических ошибок и повреждения данных, но не от отказа диска или сервера целиком.
- Совсем небольшая инфраструктура из одной-двух VM с редкими изменениями — обычного
vzdumpв локальный каталог с ротацией файлов может быть достаточно, разворачивать отдельный сервис не всегда оправдано. - Резервное копирование файлов вне Proxmox (рабочие станции, обычные Linux-серверы не под гипервизором) — PBS рассчитан на VM и LXC, для произвольных файлов есть выделенные инструменты (restic, borg).
Проверка результата настройки
Перед тем как полагаться на PBS в проде, убедитесь, что подключение и первый бэкап действительно работают.
# Проверить, что хранилище активно на стороне Proxmox VE
pvesm status
# Проверить вход под учётной записью бэкапа напрямую
proxmox-backup-client login --repository backup@pbs@192.168.1.200:backup-store
# Выполнить тестовый бэкап одной VM и посмотреть задачу
vzdump 100 --storage my-pbs --mode snapshot
pvesh get /nodes/pve/tasks --typefilter vzdump --limit 1
Если тестовый бэкап завершился статусом OK и виден в списке снапшотов датастора — связка настроена верно. Настройка расписания регулярных заданий описана в статье расписание бэкапов в Proxmox VE и PBS.
Частые вопросы
Что произойдёт, если потерять ключ шифрования бэкапов PBS?
Если ключ шифрования утерян, восстановить зашифрованные данные из бэкапа становится невозможно в принципе — ни администратор PBS, ни поддержка Proxmox не смогут расшифровать чанки без этого ключа. Именно поэтому ключ хранят отдельно от самого сервера бэкапов, например в менеджере паролей или на физическом носителе, а не только локально рядом с датастором.
Обязательно ли устанавливать PBS на отдельном от Proxmox VE сервере?
Нет, PBS можно установить и на той же машине, что и Proxmox VE, однако такая схема защищает только от логических ошибок и повреждения данных, а не от отказа самого сервера или диска целиком. Для настоящей защиты от аппаратного сбоя датастор резервных копий держат на отдельном физическом устройстве или в другой локации.
Можно ли восстановить VM из бэкапа PBS на другой узел кластера, а не тот, где она работала изначально?
Да, бэкап в PBS не привязан к конкретному узлу-источнику — восстановление выполняется на любой узел кластера Proxmox VE, подключённый к тому же хранилищу PBS, достаточно выбрать нужный снимок и целевой узел в интерфейсе восстановления. Это удобно при переносе нагрузки или замене оборудования без повторного создания VM с нуля.
Нужно ли вручную запускать сборку мусора на датасторе, или это происходит само?
Сборка мусора не выполняется автоматически без расписания — её нужно запускать регулярно вручную или через задание по графику, иначе датастор постепенно заполняется неиспользуемыми чанками данных, а свободное место заканчивается куда быстрее, чем можно предположить по размеру актуальных бэкапов, которые реально нужны для восстановления.