В предыдущих статьях мы рассмотрели базовую схему виртуальной инфраструктуры и настройку среды для удалённой работы. Теперь переходим к финальному этапу — организации резервного копирования виртуальных машин. Это необходимо, чтобы защитить рабочие системы от случайных сбоев, ошибок настройки, неудачных обновлений и других ситуаций, которые могут привести к потере данных или простою сервисов. Сначала мы настроим локальные backup, а затем добавим второй уровень защиты — внешнюю копию в S3-совместимое хранилище.
Как работает схема
В этой конфигурации используется следующая логика:
- Proxmox VE отправляет backup виртуальных машин в локальный datastore, например pbs-local
- после завершения backup выполняются служебные задачи PBS: Prune и Garbage Collection
- затем запускается Sync Job, который копирует данные из pbs-local во второй datastore, например pbs-s3
- второй datastore использует S3-совместимое объектное хранилище как backend
В результате локальный backup остаётся быстрым, а внешняя копия создаётся уже после него и не влияет на рабочие виртуальные машины.

Шаг 0. Установка Proxmox Backup Server
Перед началом настройки резервного копирования необходимо установить Proxmox Backup Server. В нашей схеме он используется локально, на том же сервере, что и основная инфраструктура, так как именно в таком варианте мы сначала создаём быстрые локальные backup, а уже затем добавляем внешний уровень хранения.
Пошаговую установку Proxmox Backup Server можно посмотреть в официальной документации Proxmox по этой ссылке:
https://pbs.proxmox.com/docs/installation.html
В рамках нашего примера предполагается, что Proxmox Backup Server уже установлен, доступен через веб-интерфейс и готов к созданию datastore для резервных копий.
Шаг 1. Создайте локальный datastore в PBS
Сначала создайте обычный datastore в PBS, который будет использоваться для хранения локальных резервных копий Proxmox VE.
Для этого в интерфейсе Proxmox Backup Server:
- Откройте Add Datastore
- В поле Name укажите, например, pbs-local
- В поле Backing Path укажите путь к локальному каталогу хранения, например /mnt/pbs-local
- Сохраните datastore
Этот datastore должен находиться на локальном диске или отдельном разделе сервера.
Шаг 2. Добавьте локальный PBS в Proxmox VE
После создания datastore его нужно подключить в Proxmox VE как backup storage.
В Proxmox VE:
- Перейдите в Datacenter → Storage
- Нажмите Add → Proxmox Backup Server
- Заполните поля:
- ID: например pbs-local
- Server: адрес PBS, например localhost или IP сервера
- Username: пользователь PBS
- Password: пароль пользователя
- Datastore: pbs-local
- Fingerprint: fingerprint сертификата PBS
- Нажмите Add
После этого storage pbs-local появится в списке хранилищ Proxmox VE.

Шаг 3. Создайте backup job в Proxmox VE
Теперь нужно настроить обычное резервное копирование виртуальных машин в локальный PBS datastore.
В Proxmox VE:
- Перейдите в Datacenter → Backup
- Нажмите Add
- Укажите:
- Node: нужный узел
- Storage: pbs-local
- Selection mode: выберите нужные VM
- Mode: Snapshot
- Schedule: удобное время запуска
- При необходимости настройте retention
- Сохраните задание
С этого момента backup виртуальных машин будет сначала сохраняться в локальный datastore.
Шаг 4. Добавьте S3 endpoint в PBS
После настройки локального backup можно подготовить второй datastore для внешней копии.
Для этого в PBS сначала нужно добавить S3 endpoint:
- Откройте Configuration → S3 Endpoints
- Нажмите Add
- Укажите:
- имя endpoint
- endpoint URL
- access key
- secret key
- регион
- Если используется S3-совместимое хранилище, которому требуется дополнительная совместимость, в расширенных настройках включите нужные параметры, например Skip If-None-Match header
- Сохраните endpoint
После этого PBS сможет использовать объектное хранилище как backend для отдельного datastore.

Шаг 5. Создайте второй datastore с типом S3
Теперь можно создать второй datastore, который будет использовать объектное хранилище.
В PBS:
- Нажмите Add Datastore
- В поле Name укажите, например, pbs-s3
- В поле Datastore Type выберите S3
- В поле Local Cache укажите отдельный локальный cache path
- В поле S3 Endpoint ID выберите ранее созданный endpoint
- В поле Bucket выберите или укажите bucket
- Сохраните datastore
Этот datastore будет использовать S3 backend, но локальный cache path всё равно обязателен для работы.
Шаг 6. Настройте Sync Job из локального datastore во внешний
После создания pbs-s3 нужно настроить синхронизацию из локального datastore.
В PBS:
- Откройте datastore pbs-s3
- Перейдите на вкладку Sync Jobs
- Нажмите Add
- В качестве источника укажите локальный datastore pbs-local
- Настройте расписание синхронизации
- Сохраните job
Именно этот шаг обеспечивает вторую копию backup во внешнее хранилище.

Шаг 7. Настройте порядок выполнения задач
Чтобы схема работала корректно, важно выстроить правильную последовательность задач.
Рекомендуемый порядок:
- backup из Proxmox VE в pbs-local
- Prune для pbs-local
- Garbage Collection для pbs-local
- Sync Job из pbs-local в pbs-s3
Такой порядок позволяет:
- сначала завершить локальный backup
- потом очистить старые backup и неиспользуемые chunks
- и только после этого синхронизировать уже актуальное состояние во внешний datastore

Шаг 8. Проверьте, что синхронизация завершилась успешно
После первого запуска Sync Job откройте:
- datastore pbs-s3
- вкладку Sync Jobs
- журнал выполнения задачи
Если всё настроено корректно, статус задания должен быть успешным, а в содержимом pbs-s3 появятся backup виртуальных машин.
Также во внешнем объектном хранилище можно увидеть внутреннюю структуру datastore, например каталоги .chunks, .cnt и другие служебные данные. Это нормально: PBS хранит backup не как отдельные архивы vzdump, а в собственной внутренней структуре.
Шаг 9. Добавьте внешний datastore в Proxmox VE
Если требуется восстанавливать виртуальные машины прямо из внешнего datastore через интерфейс Proxmox VE, его тоже нужно добавить как отдельный storage.
В Proxmox VE:
- Перейдите в Datacenter → Storage
- Нажмите Add → Proxmox Backup Server
- Укажите:
- ID: например pbs-s3
- Server: тот же PBS
- Username: пользователь PBS
- Password: пароль
- Datastore: pbs-s3
- Fingerprint: тот же fingerprint сертификата
- Сохраните storage
После этого в Proxmox VE можно будет открыть pbs-s3 и видеть backup уже из внешнего datastore.
Итог
Такая схема позволяет разделить быстрый локальный backup и внешнюю копию. Основные резервные копии сначала сохраняются в локальный datastore, а затем синхронизируются во второй datastore на базе S3-совместимого объектного хранилища. Это удобный вариант для тех случаев, когда нужно сохранить высокую скорость локального резервного копирования и при этом иметь дополнительную offsite-копию.