Настройка расписания резервного копирования в 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.
Безопасный порядок настройки
- Проверить backup-хранилище.
- Проверить свободное место.
- Выбрать список VM и LXC.
- Выбрать режим.
- Настроить schedule.
- Настроить retention.
- Запустить job вручную.
- Проверить
TASK OK. - Проверить архив.
- Выполнить тестовое восстановление.
Быстрый набор проверок
Статус 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 считается надёжным только после регулярного контроля задач и успешного тестового восстановления.