Відновлення VM з бекапу в Proxmox VE — це простий процес через веб-інтерфейс або CLI. PBS підтримує як повне відновлення VM, так і вилучення окремих файлів та Live Restore (запуск VM прямо з бекапу).
Повне відновлення VM через веб-інтерфейс
- Перейдіть до Storage → my-pbs → Backups
- Виберіть потрібний бекап і натисніть Restore
- Вкажіть VM ID, сховище для дисків, налаштування мережі
- Натисніть Restore — VM буде відновлено
Відновлення через CLI (qmrestore/pctrestore)
# Відновити VM з PBS-бекапу з новим ID 200
qmrestore pbs:backup/vm/100/2025-03-15T01:00:00Z 200 --storage local-lvm --unique 1
# Відновити LXC з PBS
pctrestore pbs:backup/ct/200/2025-03-15T01:00:00Z 201 --storage local-lvm --unique 1
# Відновити з локального vzdump-файлу
qmrestore /mnt/backup/vzdump-qemu-100-2025_03_15-01_00_00.vma.zst 200
Live Restore — негайний запуск з бекапу
Live Restore дозволяє запустити VM з бекапу негайно, без очікування повного відновлення даних. PBS потоково передає блоки в міру звернення до них:
# Live Restore через веб-інтерфейс
# Backups → Restore → увімкнути "Start now (live restore)"
# Через CLI
qmrestore pbs:backup/vm/100/2025-03-15T01:00:00Z 200 --storage local-lvm --live-restore 1
# Моніторинг прогресу Live Restore
qm status 200 --verbose 1
Відновлення окремих файлів
PBS дозволяє переглядати вміст бекапу та вилучати окремі файли без повного відновлення:
# Змонтувати бекап як файлову систему
proxmox-backup-client mount pbs:backup-store:vm/100/2025-03-15T01:00:00Z /mnt/restore
# Переглянути та скопіювати потрібні файли
ls /mnt/restore
cp /mnt/restore/etc/nginx/nginx.conf /tmp/restored-nginx.conf
# Відмонтувати
proxmox-backup-client umount /mnt/restore
Відновлення на іншому хості або в хмарі
# Скопіювати бекап у віддалений PBS через sync job
# PBS → Datastore → Sync Jobs → Add
# Source: local datastore
# Target: remote PBS instance
# Або завантажити конкретний бекап напряму
proxmox-backup-client restore pbs:backup-store:vm/100/... drive-scsi0.img -
--unique 1, щоб змінити MAC-адреси мережевих інтерфейсів. Без цього прапорця відновлена VM отримає ті самі MAC-адреси, що може спричинити конфлікти в мережі.
Помилки відновлення
Три помилки, які найчастіше трапляються під час відновлення VM з бекапу.
TASK ERROR: unable to restore VM 100 - VM 100 already exists
problems could be detected reading archive - can't seek to 10485760
TASK ERROR: unable to create image: no such logical volume pve/data
- VM 100 already exists: відновлення в той самий ID без видалення оригіналу заборонено. Або вкажіть інший VM ID, або видаліть чи перейменуйте наявну VM перед відновленням.
- can't seek to ...: файл бекапу пошкоджений або скопійований не повністю (обрив мережі під час копіювання, файлова система з обмеженням 4 ГБ на файл). Перевірте контрольну суму або запустіть verify в PBS перед відновленням.
- no such logical volume: цільове сховище LVM-Thin переповнене або пул не існує — перевірте вільне місце через
pvesm statusі за потреби розширте тонкий пул.
Способи відновлення: порівняння
| Спосіб | Час до запуску VM | Навантаження на мережу | Коли використовувати |
|---|---|---|---|
| Повне відновлення | Хвилини-години (залежно від розміру) | Високе, одноразово | Планове відновлення, перенесення на нове залізо |
| Live Restore | 10–30 секунд | Постійне, у фоні | Аварія в проді, потрібен мінімальний простій |
| Відновлення файлів | Секунди на файл | Мінімальне | Потрібен один файл чи конфіг, а не вся VM |
Коли відновлення з бекапу не допоможе
- Бекап застарів відносно RPO: якщо останній бекап робився вночі, а аварія сталася ввечері — втрачені всі зміни за день; для критичних сервісів потрібна реплікація, а не лише бекап раз на добу.
- Пошкодження на рівні застосунку (наприклад, помилковий DROP TABLE), яке встигло реплікуватися в бекап — відновлення поверне той самий пошкоджений стан; потрібна точка відновлення до інциденту, а не остання.
- Бекап без регулярної верифікації: PBS зберігає блоки роками, але закінчення терміну придатності носія чи приховане пошкодження чанка виявляється лише під час verify або реального відновлення.
Перевірка результату відновлення
# Статус відновленої VM
qm status 200 --verbose
# Перевірка мережевих інтерфейсів після restore --unique
qm config 200 | grep net0
# Звірка контрольної суми диска з журналом бекапу (для критичних даних)
sha256sum /dev/pve/vm-200-disk-0
Якщо VM запускається, мережевий інтерфейс отримав новий MAC-адресу, а контрольна сума збігається з очікуваною — відновлення пройшло успішно. Про створення розкладу регулярних бекапів — у статті розклад бекапів у Proxmox VE.