Proxmox Backup Server: enterprise-развёртывание для офиса на 30–50 виртуальных машин
Меня зовут Семёнов Евгений Сергеевич, директор АйТи Фреш. За 15+ лет в IT я видел много подходов к бэкапу виртуальных инфраструктур — от «скопировал vmdk на внешний диск» до корпоративных Veeam с тремя уровнями хранения. С 2021 года, когда вышел Proxmox Backup Server, у нас на практике он стал основным решением для малого и среднего бизнеса: бесплатный, с дедупликацией, с incremental-forever и с нормальным веб-интерфейсом.
Зачем отдельный сервер бэкапа, если есть PVE
Встроенный в Proxmox VE vzdump — это полный бэкап целиком каждый раз. На кластере из пятнадцати ВМ это десятки терабайт трафика и часы окна. PBS меняет правила игры: первый бэкап полный, дальше только изменённые чанки, а идентичные блоки между ВМ хранятся один раз.
У клиента в дата-центре МТС я настроил PBS на сервере Dell Xeon Platinum 8280 с 12 дисками по 16 ТБ в RAIDZ2. Суммарный объём активных ВМ — 18 ТБ, фактически на диске лежит 22 ТБ за 90 дней истории. Дедупликация дала коэффициент 11х, и это реальная цифра, а не маркетинг.
Планирование железа под PBS
Главная ошибка — экономить на RAM и брать USB-диски. PBS работает с ZFS, а ZFS требует памяти: минимум 1 ГБ ОЗУ на 1 ТБ raw. Плюс кэш метаданных. Плюс ARC. Я всегда беру с запасом.
| Параметр | Офис 20 ВМ | Офис 50 ВМ | Производство 150 ВМ |
|---|---|---|---|
| CPU | 8 ядер | 16 ядер | 32 ядра Xeon |
| RAM (ECC) | 32 ГБ | 64 ГБ | 128 ГБ |
| OS-диски | 2x240 SSD mirror | 2x480 SSD mirror | 2x960 NVMe |
| Датастор | 6x8TB RAIDZ2 | 8x16TB RAIDZ2 | 12x18TB RAIDZ2 x2 |
| Сеть | 2x10G | 2x25G | 2x40G Mellanox |
Установка и первичная настройка
Ставим с ISO-образа, на SSD зеркалом. После установки обновляем и отключаем enterprise-репозиторий, если нет подписки:
sed -i 's|^deb|#deb|' /etc/apt/sources.list.d/pbs-enterprise.list
echo "deb http://download.proxmox.com/debian/pbs bookworm pbs-no-subscription" > /etc/apt/sources.list.d/pbs.list
apt update && apt full-upgrade -y
apt install -y zfsutils-linux chrony
Создание ZFS-датастора с оптимизацией
Для дедупликации в PBS используется не ZFS-дедуп (он прожорлив к памяти), а собственный chunk-store. Поэтому ZFS включаем без dedup=on, но с compression=zstd и ashift под диски.
zpool create -o ashift=12 backup raidz2 \
/dev/disk/by-id/ata-TOSHIBA_MG08ACA16TE_* \
-O compression=zstd -O atime=off -O xattr=sa \
-O recordsize=1M -O acltype=posixacl
zfs create backup/datastore
chown backup:backup /backup/datastore
pmxcfs-cli datastore create main /backup/datastore
Политика prune и Garbage Collection
Без prune бэкапы растут бесконечно. Без GC место не освобождается. Оба задания ставим в планировщик.
# Prune
proxmox-backup-manager prune-job create daily-prune \
--store main --schedule "04:30" \
--keep-last 7 --keep-daily 14 --keep-weekly 8 \
--keep-monthly 12 --keep-yearly 3
# Garbage Collection
proxmox-backup-manager gc-job create weekly-gc \
--store main --schedule "sat 05:00"
Шифрование на клиенте и интеграция с PVE
Ключ генерируем на стороне PVE, PBS его не знает. Даже если диск физически украдут, данные не прочитать.
# На PVE
proxmox-backup-client key create /root/pbs.key --kdf scrypt
# Затем в datacenter → storage добавляем PBS, указываем fingerprint, ключ и namespace
Репликация на второй узел
3-2-1: три копии, два носителя, одна off-site. Второй PBS ставим в другом здании или на резервной площадке, синхронизируем по ночам через sync-job.
proxmox-backup-manager sync-job create offsite-sync \
--remote pbs-dr --remote-store main \
--store main --schedule "01:30" \
--encrypted-only true
Мониторинг и уведомления
У нас на практике прижилась связка Zabbix + Telegram-бот. PBS шлёт webhook о провале задания, Zabbix считает заполнение датастора и длительность GC. В веб-морде PBS под Datacenter → Notifications настраиваем SMTP и Gotify-endpoint.
Развернём PBS под ключ за 3 рабочих дня
Проектируем датастор под ваш парк ВМ, подбираем железо, настраиваем prune/GC/репликацию и учим ваших админов восстанавливать за 20 минут. Бесплатный расчёт — на звонке.
Телефон: +7 903 729-62-41
Telegram: @ITfresh_Boss
Семёнов Евгений Сергеевич, директор АйТи Фреш
FAQ — частые вопросы по PBS
- Какое железо выбрать для PBS на 30 ВМ?
- Минимум 8 ядер CPU, 32 ГБ ECC RAM, 2x SSD для OS зеркалом и 6-8 HDD под ZFS RAIDZ2 общим объёмом в 3-5 раз больше суммы активных данных.
- Нужно ли шифровать бэкапы на клиенте?
- Обязательно, особенно при репликации в облако или удалённый офис. Ключ хранится на клиенте, PBS видит только зашифрованные чанки.
- Сколько держать историю бэкапов?
- Разумная политика — keep-last 7, keep-daily 14, keep-weekly 8, keep-monthly 12, keep-yearly 3.
- Как часто запускать Garbage Collection?
- Раз в сутки в непиковое время, типично 03:00-05:00. GC удаляет чанки, на которые больше нет ссылок от снапшотов.
- Что даёт дедупликация на практике?
- У нас на практике коэффициент 8-14х на однотипных Windows-ВМ и 3-5х на смешанных Linux-парках.