Когда задача vzdump на ноде Proxmox VE завершается ошибкой «no space left on device», а единственный NFS-шар уже забит архивами на несколько терабайт, администратору пора задуматься о выделенном решении — Proxmox Backup Server (PBS). Это отдельный дистрибутив на базе Debian, созданный специально для инкрементного резервного копирования виртуальных машин, контейнеров и физических хостов с дедупликацией на уровне чанков.
В отличие от простого копирования файлов на сетевое хранилище, PBS разбивает данные на блоки, хранит каждый уникальный блок один раз и позволяет за секунды смонтировать любой снапшот для восстановления отдельного файла. Ниже разберём установку, настройку хранилища, подключение к кластеру Proxmox VE, расписания, проверку целостности и типовые ошибки.
Что такое Proxmox Backup Server и зачем он нужен
Proxmox Backup Server — это серверное ПО с веб-интерфейсом, которое принимает бэкапы по протоколу HTTPS с аутентификацией по API-токенам или паролю. Источниками данных могут быть ноды Proxmox VE, а также физические Linux-машины через клиент proxmox-backup-client.
Ключевые возможности, ради которых PBS разворачивают отдельно:
- 🧩 Дедупликация — одинаковые чанки данных хранятся однократно, что резко снижает расход дискового пространства при ежедневных инкрементах.
- 🔐 Шифрование на стороне клиента — данные шифруются ещё до отправки, сервер хранит только зашифрованные блоки.
- ⚡ Инкрементные бэкапы — передаются только изменённые чанки, что снижает нагрузку на сеть.
- 🔍 Проверка целостности — задачи verify пересчитывают контрольные суммы и выявляют повреждённые данные до того, как они понадобятся.
- 📂 File-level restore — из бэкапа ВМ можно достать один файл, не разворачивая всю машину.
Отдельный сервер под бэкапы также выполняет правило «резервная копия не должна жить на том же железе, что и продакшн». Даже если основной хост выйдет из строя полностью, данные останутся доступны.
Установка и первичная настройка
Установить PBS можно двумя способами: с ISO-образа на выделенное железо или поверх существующей системы Debian, подключив репозиторий Proxmox. Первый вариант проще и предпочтительнее для выделенного сервера: установщик сам разметит диск и предложит выбрать файловую систему, включая ZFS.
После установки система доступна по адресу https://IP-адрес:8007. Обратите внимание: порт веб-интерфейса PBS — 8007, а не 8006, как у Proxmox VE. Вход выполняется под пользователем root@pam с паролем, заданным при установке.
Дальнейшие шаги удобно выполнять по чек-листу:
☑️ Первичная настройка PBS
Для обновления из консоли используйте стандартные команды:
apt update
apt dist-upgrade
⚠️ Внимание: если вы используете бесплатный репозиторий no-subscription, убедитесь, что в файлах внутри/etc/apt/sources.list.d/закомментирован enterprise-репозиторий — иначеaptбудет выдавать ошибку 401 при обновлении.
Создание хранилища (datastore)
Хранилище в PBS называется datastore. Это каталог на смонтированной файловой системе, внутри которого сервер создаёт структуру чанков (.chunks) и индексы снапшотов. Создать его можно через веб-интерфейс: раздел Datastore → Add Datastore, где указываются имя и путь к каталогу.
Через консоль то же самое выполняется командой:
proxmox-backup-manager datastore create backup1 /mnt/datastore/backup1
Критичный момент: datastore должен располагаться на отдельном диске или массиве, а не на системном разделе. Если заполнить системный диск чанками, сам PBS перестанет нормально работать. Для массивов под бэкапы часто выбирают ZFS с включённым сжатием lz4 — оно почти не нагружает процессор и даёт дополнительную экономию места поверх дедупликации.
Подключение PBS к Proxmox VE
Чтобы ноды Proxmox VE могли отправлять бэкапы на PBS, его нужно добавить как хранилище типа Proxmox Backup Server: Datacenter → Storage → Add → Proxmox Backup Server. В форме указываются адрес сервера, имя datastore, пользователь и отпечаток TLS-сертификата.
Отпечаток сертификата (fingerprint) обязателен — без него Proxmox VE откажется подключаться, если используется самоподписанный сертификат. Посмотреть его можно в веб-интерфейсе PBS в разделе сертификатов или командой на самом сервере:
proxmox-backup-manager cert info
После добавления хранилища создаётся задание резервного копирования: Datacenter → Backup → Add. Здесь выбираются ВМ и контейнеры, расписание, режим (snapshot, suspend или stop) и политика хранения — сколько последних копий оставлять (keep-last, keep-daily, keep-weekly и т.д.).
Сравнение режимов резервного копирования
При создании задания бэкапа в Proxmox VE доступны три режима остановки гостевой системы. Выбор влияет на согласованность данных и простой сервисов.
| Режим | Простой ВМ | Согласованность данных | Когда применять |
|---|---|---|---|
| Snapshot | Нет | Crash-consistent | Повседневные бэкапы большинства ВМ |
| Suspend | Кратковременный | Выше, ОС «замораживается» | Когда важно состояние памяти |
| Stop | Да, на время копирования | Максимальная | Базы данных и критичные сервисы |
Для баз данных режим snapshot не гарантирует целостность файлов БД на момент копирования. Дополнительную согласованность даёт гостевой агент QEMU Guest Agent с опцией fs-freeze, если он установлен и включён в настройках ВМ.
⚠️ Внимание: перед первым продуктивным расписанием обязательно выполните тестовое восстановление хотя бы одной ВМ. Бэкап, который ни разу не проверяли на восстановление, нельзя считать рабочим — это базовое правило любой стратегии резервного копирования.
Проверка, очистка и обслуживание
PBS выполняет три типа фоновых задач обслуживания, и их стоит настроить сразу после создания datastore:
- ✅ Verify Job — пересчитывает контрольные суммы чанков и помечает повреждённые снапшоты. Запускайте регулярно, но вне часов пиковой нагрузки.
- 🗑️ Prune Job — удаляет снапшоты, вышедшие за пределы политики хранения.
- ♻️ Garbage Collection — физически удаляет чанки, на которые больше не ссылается ни один снапшот. Именно после GC реально освобождается место на диске.
Частая ошибка новичков — удалить снапшоты вручную и ждать, что место освободится мгновенно. Этого не произойдёт: чанки удаляются только задачей Garbage Collection, которую нужно либо поставить в расписание, либо запустить вручную из раздела datastore.
Почему после удаления бэкапов место не освободилось
Дедуплицированные чанки могут использоваться несколькими снапшотами одновременно. Пока хотя бы один снапшот ссылается на чанк, он хранится на диске. Запустите Garbage Collection после prune — только тогда неиспользуемые чанки будут физически удалены.
Восстановление данных
Восстановить ВМ или контейнер можно прямо из веб-интерфейса Proxmox VE: выберите хранилище PBS, нужный снапшот и нажмите Restore. При восстановлении можно указать другой VMID и другое целевое хранилище — это удобно для создания тестовой копии машины, не затрагивая боевую.
Для восстановления отдельных файлов из бэкапа ВМ используется механизм монтирования через proxmox-file-restore — он позволяет просмотреть файловую систему внутри архива и вытащить нужный файл без полного развёртывания. Для физических машин, бэкапы которых делались клиентом, восстановление выполняется командой proxmox-backup-client restore с указанием снапшота.
Если PBS недоступен, а восстановить данные нужно срочно, снапшоты можно смонтировать напрямую на самом сервере бэкапов — данные в datastore читаемы штатными инструментами. Однако такие операции лучше выполнять по официальной документации вашей версии PBS, так как синтаксис команд между релизами может отличаться.
Типичные ошибки и их диагностика
Чаще всего администраторы сталкиваются с несколькими повторяющимися проблемами. Разберём порядок диагностики для каждой.
Ошибка подключения по сертификату. Proxmox VE ругается на certificate fingerprint. Проверьте, что отпечаток скопирован полностью, без пробелов, и соответствует текущему сертификату сервера — после перевыпуска сертификата отпечаток меняется.
Задание бэкапа падает по таймауту. Возможные причины: перегруженная сеть, медленные диски на PBS или слишком короткий таймаут на стороне клиента. Начните с проверки пропускной способности между нодой и сервером и загрузки дисков командой iostat во время выполнения задания.
Verify job сообщает о повреждённых чанках. Это признак проблем с дисками или памятью сервера. Проверьте SMART дисков, журналы dmesg и при использовании ZFS — вывод zpool status. Повреждённые снапшоты стоит удалить и пересоздать бэкап с источника, пока источник ещё исправен.
⚠️ Внимание: не игнорируйте ошибки verify-задач. Повреждение чанков обычно означает деградацию диска или массива, и промедление может привести к потере всех архивов на этом datastore.
Часто задаваемые вопросы
Можно ли установить PBS на ту же машину, где работает Proxmox VE?
Технически возможно, например в виде ВМ или контейнера, но это нарушает базовый принцип резервного копирования: при отказе хоста вы потеряете и продакшн, и бэкапы одновременно. Для продуктивной среды используйте отдельный сервер.
Сколько места занимает ежедневный инкрементный бэкап?
Точное значение зависит от объёма изменившихся данных. Благодаря дедупликации инкремент хранит только новые чанки, поэтому для типичной ВМ с небольшими ежедневными изменениями прирост заметно меньше полного размера машины. Оцените реальный прирост на практике за первые недели работы.
Можно ли бэкапить физический Windows-сервер на PBS?
Штатный клиент proxmox-backup-client предназначен для Linux. Для Windows-машин обычно используют виртуализацию под Proxmox VE с последующим бэкапом ВМ либо сторонние агенты внутри гостевой системы.
Как перенести бэкапы на другой PBS?
Используйте встроенный механизм Sync Job: он синхронизирует содержимое datastore между двумя серверами PBS, при этом передаются только недостающие чанки. Это же штатный способ организации внешней копии.
Нужна ли платная подписка для PBS?
Нет, сервер полностью функционален и на бесплатном репозитории no-subscription. Подписка даёт доступ к enterprise-репозиторию с более консервативными обновлениями и к официальной поддержке.