· 18 мин чтения

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 ВМ
CPU8 ядер16 ядер32 ядра Xeon
RAM (ECC)32 ГБ64 ГБ128 ГБ
OS-диски2x240 SSD mirror2x480 SSD mirror2x960 NVMe
Датастор6x8TB RAIDZ28x16TB RAIDZ212x18TB RAIDZ2 x2
Сеть2x10G2x25G2x40G 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-парках.

Подпишитесь на рассылку ITfresh

Раз в неделю — практические гайды для руководителя IT и сисадмина: безопасность, 1С, миграции, резервные копии, лайфхаки из реальных проектов.

Реквизиты оператора персональных данных

ООО «АЙТИ-ФРЕШ», ИНН 7719418495, КПП 771901001. Юридический адрес: 105523, г. Москва, Щёлковское шоссе, д. 92, корп. 7. Контакт: info@itfresh.ru, +7 903 729-62-41. Оператор обрабатывает e-mail подписчика в целях рассылки информационных и рекламных материалов до момента отзыва согласия.