У попередніх статтях ми розглянули базову схему віртуальної інфраструктури та налаштування середовища для віддаленої роботи. Тепер переходимо до фінального етапу — організації резервного копіювання віртуальних машин. Це необхідно, щоб захистити робочі системи від випадкових збоїв, помилок налаштування, невдалих оновлень та інших ситуацій, які можуть призвести до втрати даних або простою сервісів. Спочатку ми налаштуємо локальні 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-копію.