Proxmox Backup Server: бэкапы VM правильно
Резервное копирование виртуальных машин через vzdump на NFS-шару — это не бэкап, это иллюзия безопасности. Proxmox Backup Server (PBS) — специализированное решение, которое делает бэкапы быстро, экономично и надёжно. Разберём, почему стоит мигрировать с простого vzdump уже сейчас.
PBS vs vzdump на NFS: в чём разница
vzdump на NFS — классический подход: снапшот VM, архивация в .vma.zst, копирование на NFS. Минусы:
- Полный бэкап каждый раз — много места и времени
- Нет дедупликации между VM и между бэкапами
- Восстановление требует полного копирования архива обратно
Proxmox Backup Server меняет подход принципиально:
- Инкрементальные бэкапы: передаются только изменённые блоки (CBT — Changed Block Tracking)
- Дедупликация: одинаковые блоки хранятся один раз, даже между разными VM
- Верификация: PBS может проверить целостность бэкапа без восстановления
- Шифрование: AES-256 на стороне клиента перед отправкой на сервер
Дедупликация и инкрементальные бэкапы
PBS использует chunk-based storage: данные делятся на блоки фиксированного размера (4 МБ по умолчанию), каждый блок хешируется SHA-256. При повторном бэкапе передаются только блоки с изменившимися хешами.
На практике это означает:
- Первый бэкап VM (50 ГБ) — передаётся 50 ГБ
- Последующие ежедневные бэкапы — обычно 1–5 ГБ изменений
- При 10 VM с похожим базовым образом — дедупликация экономит до 70% места
Datastore: настройка хранилища
Datastore в PBS — это директория, в которой PBS хранит все данные. Настройка через веб-интерфейс или CLI:
# Создание datastore через CLI
proxmox-backup-manager datastore create backup-store /mnt/backup-disk
# Просмотр статистики datastore
proxmox-backup-manager datastore info backup-store
Рекомендации по хранилищу:
- Отдельный диск или LVM-том, не тот же, что и хранилище VM
- XFS или ext4, желательно с большими блоками
- Минимум 3x от суммарного объёма VM (с учётом дедупликации — может быть меньше)
Prune Jobs: политики хранения
Prune jobs определяют, сколько бэкапов хранить. Настройка retention policy:
# Хранить: последние 7 ежедневных, 4 еженедельных, 3 ежемесячных
proxmox-backup-manager prune-job create
--store backup-store
--keep-daily 7
--keep-weekly 4
--keep-monthly 3
--schedule "daily 02:00"
В веб-интерфейсе Proxmox VE это настраивается прямо в параметрах backup job для каждой VM.
Garbage Collection (GC)
После prune удаляются только записи индекса, но не сами чанки. GC освобождает физическое место:
# Запуск GC вручную
proxmox-backup-manager garbage-collection start backup-store
# Просмотр статуса
proxmox-backup-manager garbage-collection status backup-store
GC рекомендуется запускать по расписанию — раз в неделю достаточно.
Restore и Verify
Восстановление отдельного диска VM без полного восстановления:
# Восстановление через proxmox-backup-client
proxmox-backup-client restore vm/101/2026-02-26T03:00:00Z disk0.img.fidx /tmp/restored.raw
--repository user@pbs!token@backup-server:backup-store
Верификация без восстановления (проверяет SHA-256 всех чанков):
proxmox-backup-client verify vm/101/2026-02-26T03:00:00Z
--repository user@pbs!token@backup-server:backup-store
Интеграция с Proxmox VE
В Proxmox VE добавляем PBS как storage:
- Datacenter → Storage → Add → Proxmox Backup Server
- Указываем адрес PBS, credentials, datastore
- Назначаем backup jobs на нужные VM через Datacenter → Backup
После этого бэкапы VM идут напрямую в PBS с инкрементами и дедупликацией — всё прозрачно.
PBS — правильный ответ на вопрос о резервном копировании в Proxmox-инфраструктуре. Разворачивается за час, а время восстановления и объём хранилища сокращает в разы по сравнению с классическим подходом.
PBS реально меняет жизнь. До него бэкап 20 VM занимал полночи и 4 ТБ места, после перехода — 40 минут и 900 ГБ с учётом дедупликации. Шифрование на клиенте — отдельный плюс для соответствия требованиям.