Настройка расписания резервного копирования в Proxmox VE

Пошаговая настройка автоматического резервного копирования VM и LXC в Proxmox VE: расписание, выбор хранилища, режим backup, retention и проверка выполнения.

Ручной backup полезен перед отдельными изменениями, но для постоянной защиты виртуальных машин и LXC-контейнеров требуется автоматическое расписание.

В Proxmox VE задания резервного копирования настраиваются централизованно на уровне Datacenter.

В этой инструкции рассматривается только создание расписания backup, выбор режима, retention и проверка выполнения.

Подходит для: Proxmox VE 8 и 9
Уровень сложности: начальный
Время выполнения: около 15 минут
Требуемый доступ: учётная запись с правами управления backup job

Что потребуется

Перед началом подготовьте:

  • работающий узел или кластер Proxmox VE;
  • хотя бы одну VM или LXC;
  • хранилище с типом VZDump backup file;
  • достаточный объём свободного места;
  • доступ к веб-интерфейсу;
  • понимание допустимого окна резервного копирования.

Что будет настроено

После выполнения инструкции:

  • будет создано автоматическое backup-задание;
  • будут выбраны VM и LXC;
  • будет указано хранилище;
  • будет настроен режим snapshot;
  • будет задано расписание;
  • будет настроено хранение старых backup;
  • будет проверен первый запуск.

Проверка backup-хранилища

Откройте:

Datacenter → Storage

Выберите нужное хранилище.

В поле:

Content

должен быть разрешён тип:

VZDump backup file

Через CLI:

pvesm status

Проверьте свободное место:

df -h

Для NFS-хранилища:

df -h /mnt/pve/STORAGE_ID

Проверка существующих backup job

В веб-интерфейсе откройте:

Datacenter → Backup

Здесь отображаются все задания резервного копирования.

Через CLI:

cat /etc/pve/jobs.cfg

Если файл отсутствует или пуст, задания ещё не созданы.

Создание нового задания

Откройте:

Datacenter → Backup

Нажмите:

Add

Откроется форма создания задания.

Выбор узла

В поле:

Node

можно выбрать:

All

или конкретный узел.

Для одиночного Proxmox VE обычно выбирают сам узел.

В кластере выбор зависит от расположения VM и доступности backup-хранилища.

Выбор хранилища

В поле:

Storage

выберите backup-хранилище.

Пример:

nfs-backup

Не используйте локальное хранилище как единственную копию, если требуется защита от отказа самого узла.

Выбор режима

Для большинства работающих VM и LXC:

Snapshot

Преимущества:

  • минимальный простой;
  • VM и контейнеры продолжают работать;
  • удобно для регулярного backup.

Ограничения:

  • зависит от storage backend;
  • не заменяет прикладной дамп базы данных;
  • согласованность приложения нужно учитывать отдельно.

Режим Suspend

Suspend

Гостевая система временно приостанавливается.

Это может вызвать заметный перерыв в работе сервиса.

Используется реже.

Режим Stop

Stop

VM или LXC останавливается на время backup.

Режим даёт более предсказуемое состояние, но требует downtime.

Используйте его только в согласованное окно обслуживания.

Выбор объектов backup

Обычно доступны режимы:

All
Include selected VMs
Exclude selected VMs
Pool based

All

В backup попадут все VM и LXC на выбранном узле.

Подходит для небольшого стенда.

Include selected VMs

Резервируются только выбранные объекты.

Это наиболее контролируемый вариант.

Exclude selected VMs

Резервируются все, кроме явно исключённых.

Подходит, если большая часть инфраструктуры должна входить в backup.

Настройка расписания

Поле:

Schedule

задаёт время запуска.

Примеры:

Ежедневно в 03:00:

03:00

Каждый день в 02:30:

02:30

Каждое воскресенье в 04:00:

sun 04:00

По будням в 01:30:

mon..fri 01:30

Выбирайте время с минимальной нагрузкой.

Проверка часового пояса

На узле:

timedatectl

Проверьте:

  • Local time;
  • Time zone;
  • синхронизацию NTP.

Backup job использует время узла Proxmox VE.

При неверном часовом поясе задание будет запускаться не в ожидаемое время.

Настройка сжатия

Обычно выбирают:

ZSTD

Преимущества:

  • хорошее сжатие;
  • высокая скорость;
  • разумная нагрузка на CPU.

Для слабого CPU можно оценить влияние на производительность.

Без сжатия backup занимает больше места.

Настройка retention

Retention определяет, сколько старых backup хранить.

Доступны параметры:

Keep Last
Keep Daily
Keep Weekly
Keep Monthly
Keep Yearly

Пример:

Keep Last: 3
Keep Daily: 7
Keep Weekly: 4
Keep Monthly: 6

Такая схема хранит:

  • 3 последних backup;
  • ежедневные за 7 дней;
  • недельные за 4 недели;
  • месячные за 6 месяцев.

Как работает retention

Proxmox не создаёт отдельные копии для каждого правила.

Он анализирует даты существующих backup и сохраняет подходящие точки.

Один архив может одновременно соответствовать нескольким правилам.

Простой вариант retention

Для небольшой инфраструктуры:

Keep Last: 7

Это оставит семь последних backup каждого объекта.

Более практичная схема

Для production:

Keep Last: 3
Keep Daily: 7
Keep Weekly: 4
Keep Monthly: 6

Конкретные значения зависят от:

  • доступного места;
  • критичности сервиса;
  • частоты изменений;
  • требований к восстановлению;
  • политики хранения.

Включение задания

Проверьте флажок:

Enabled

Если он отключён, задание будет сохранено, но не запустится автоматически.

Добавление заметки

При наличии поля комментария укажите назначение:

Ежедневный backup production VM

Это упрощает сопровождение нескольких заданий.

Сохранение задания

После заполнения нажмите:

Create

Задание появится в:

Datacenter → Backup

Проверка конфигурации через CLI

Посмотрите:

cat /etc/pve/jobs.cfg

Также:

grep -n '' /etc/pve/jobs.cfg

В файле будут указаны:

  • storage;
  • schedule;
  • mode;
  • selected VM;
  • retention;
  • enabled state.

Запуск задания вручную

В веб-интерфейсе:

Datacenter → Backup

Выберите job.

Нажмите:

Run now

Дождитесь завершения.

В журнале должна появиться строка:

TASK OK

Проверка задач

В нижней панели откройте:

Tasks

Фильтруйте по типу:

vzdump

Проверьте:

  • время запуска;
  • duration;
  • status;
  • размер backup;
  • ошибки.

Проверка файлов

Откройте:

Storage → Backups

Через CLI для локального storage:

ls -lht /var/lib/vz/dump/ |
head

Для NFS:

ls -lht /mnt/pve/STORAGE_ID/dump/ |
head

Проверка автоматического запуска

После наступления времени schedule проверьте:

Datacenter → Tasks

Через CLI:

journalctl --since today |
grep -i vzdump

Дополнительно:

journalctl -u pvescheduler   --since today   --no-pager

Проверка pvescheduler

systemctl status pvescheduler --no-pager

Ожидаемый статус:

active (running)

Проверьте запуск после загрузки:

systemctl is-enabled pvescheduler

Проверка pruning

После нескольких запусков проверьте, удаляются ли старые backup согласно retention.

В интерфейсе:

Storage → Backups

Сравните даты и количество архивов.

Через CLI:

find /mnt/pve/STORAGE_ID/dump   -maxdepth 1   -type f   -printf '%TY-%Tm-%Td %TH:%TM %f\n' |
sort

Отдельные задания для разных сервисов

Практично создавать несколько job:

Критичные VM — ежедневно
Тестовые VM — раз в неделю
Большие архивные VM — вручную
Базы данных — отдельный dump + VM backup

Не обязательно включать все объекты в одно расписание.

Резервное копирование баз данных

VM backup сохраняет состояние виртуального диска, но не всегда гарантирует логическую согласованность базы данных.

Для PostgreSQL, MySQL или MariaDB дополнительно используйте:

  • штатный dump;
  • backup самой СУБД;
  • остановку записи;
  • проверку восстановления.

Лучший вариант:

прикладной dump + backup VM/LXC

Исключение временных дисков

Проверьте диски VM:

qm config VM_ID |
grep -E '^(scsi|sata|virtio|ide)'

Для LXC:

pct config CT_ID |
grep -E '^(rootfs|mp[0-9]+)'

Диски и mount point с:

backup=0

не попадут в архив.

Используйте исключение только для действительно временных данных.

Уведомления об ошибках

При настроенной почте Proxmox VE может отправлять уведомления о backup job.

Проверьте:

Datacenter → Notifications

Для задания укажите notification target, если такая возможность используется в вашей версии Proxmox VE.

Обязательно проверяйте не только отправку тестового сообщения, но и фактическое уведомление об ошибке backup.

Типичные проблемы

Задание не запускается

Проверьте:

systemctl status pvescheduler --no-pager

Проверьте schedule и timezone:

timedatectl

Проверьте, что job включён.

Backup завершается с ошибкой

Проверьте:

  • свободное место;
  • доступность storage;
  • snapshot support;
  • состояние VM или LXC;
  • mount point;
  • QEMU Guest Agent;
  • журнал задачи.

Retention не удаляет старые архивы

Проверьте настройки job и формат имён backup.

Убедитесь, что архивы относятся к тому же storage и объекту.

Не хватает места

Проверьте:

pvesm status
df -h

Уменьшите retention только после оценки требований к восстановлению.

Backup пересекается с рабочей нагрузкой

Измените schedule на менее загруженное время.

При необходимости создайте несколько заданий с разными окнами.

Snapshot недоступен

Используйте suspend или stop, либо перенесите диски на storage с поддержкой snapshot.

Безопасный порядок настройки

  1. Проверить backup-хранилище.
  2. Проверить свободное место.
  3. Выбрать список VM и LXC.
  4. Выбрать режим.
  5. Настроить schedule.
  6. Настроить retention.
  7. Запустить job вручную.
  8. Проверить TASK OK.
  9. Проверить архив.
  10. Выполнить тестовое восстановление.

Быстрый набор проверок

Статус storage:

pvesm status

Статус scheduler:

systemctl status pvescheduler --no-pager

Конфигурация job:

cat /etc/pve/jobs.cfg

Последние backup:

ls -lht /var/lib/vz/dump/ |
head

Журнал:

journalctl -u pvescheduler   --since today   --no-pager

Итог

После выполнения инструкции:

  • создано автоматическое backup-задание;
  • выбраны VM и LXC;
  • настроены storage, mode и schedule;
  • задана retention-политика;
  • выполнен ручной тестовый запуск;
  • проверены scheduler и созданные архивы;
  • рассмотрены уведомления и типичные ошибки.

Автоматический backup считается надёжным только после регулярного контроля задач и успешного тестового восстановления.

← Предыдущая статья Добавление NFS-хранилища в Proxmox VE Следующая статья → Базовая настройка Proxmox Firewall