Proxmox BS: Відновлення на рівні файлів із резервної копії ВМ | INTROSERV
EUR
european

EUR

usa

USD

Ukraine Ua
Ex. VAT Ex. VAT 0%

Proxmox BS: Відновлення файлів із бекапу ВМ

Вступ

Цей посібник пояснює, як використовувати Proxmox Backup Server для файлового відновлення з резервної копії VM без розгортання всієї віртуальної машини. Ви дізнаєтеся, як отримувати окремі файли через файловий браузер резервних копій Proxmox у веб-інтерфейсі Proxmox VE і як виконувати відновлення файлів Proxmox з командного рядка за допомогою proxmox-backup-client. Цей робочий процес корисний, коли потрібно відновити окремі файли, що містяться в резервних копіях Proxmox, але ви не хочете запускати повне відновлення резервної копії VM.

Цільова аудиторія: системні адміністратори середнього рівня
Орієнтовний час: 20-40 хвилин
Кінцева мета: наприкінці цього посібника ви зможете відновлювати конкретні файли з резервної копії VM у Proxmox Backup Server без відновлення всієї VM.

Передумови

Перед початком переконайтеся, що у вас є:

  • Робочий хост Proxmox VE з налаштованим сховищем Proxmox Backup Server.
  • Proxmox Backup Server 3.x або 4.x з наявним datastore.
  • Завершена резервна копія VM, збережена в PBS datastore.
  • Доступ до веб-інтерфейсу Proxmox VE з дозволами на перегляд резервних копій і відновлення файлів.
  • Доступ до shell на хості Proxmox VE для CLI-методу.
  • Команда proxmox-backup-client, доступна на хості Proxmox VE.
  • Root-доступ до shell для CLI-методу з mapping, оскільки mapping loop-пристроїв і монтування файлових систем потребують підвищених прав.
  • Файл ключа шифрування, якщо резервна копія VM використовує клієнтське шифрування.
  • Базові знання файлових систем Linux, точок монтування та сховищ резервних копій Proxmox VE.

Info

Веб-інтерфейс Proxmox VE є рекомендованим методом для більшості задач відновлення одного файлу. CLI-метод корисний, коли потрібен доступ через shell, автоматизація або відновлення з вузла, де веб-інтерфейс не є практичним.

Крок 1: Зрозумійте варіанти файлового відновлення

Proxmox Backup Server зберігає резервні копії віртуальних машин Proxmox VE як резервні копії образів дисків на рівні блоків. Це означає, що резервна копія VM зазвичай містить файли на кшталт drive-scsi0.img.fidx, qemu-server.conf.blob і client.log.blob, а не звичайне дерево каталогів.

Для робочих процесів granular file recovery Proxmox VE є два практичні варіанти:

  • Використати веб-інтерфейс Proxmox VE, щоб переглянути backup snapshot і завантажити файли.
  • Використати proxmox-backup-client map, щоб зіставити образ диска VM із резервної копії з локальним loop-пристроєм, а потім змонтувати файлову систему гостя в режимі read-only.

Кнопка File Restore у Proxmox VE відкриває файловий браузер вмісту резервної копії. Команда proxmox-backup-client map зіставляє образ диска резервної копії VM з локальним loopback-пристроєм, і після відновлення її потрібно супроводжувати командою unmap.

Warning

Не монтуйте відновлену файлову систему VM у режимі read-write, якщо ви повністю не розумієте ризики. Для відновлення файлів монтуйте файлову систему в режимі read-only і копіюйте файли назовні.

Крок 2: Відновіть окремі файли через веб-інтерфейс Proxmox VE

Використовуйте цей метод, коли потрібен найпростіший спосіб отримати конкретні файли без розгортання всієї VM.

Відкрийте подання Backup

  1. Увійдіть у веб-интерфейс Proxmox VE.
  2. У лівому дереві навігації виберіть VM.
  3. Відкрийте вкладку Backup.
  4. Виберіть сховище Proxmox Backup Server у селекторі сховищ, якщо у вашому середовищі є кілька сховищ резервних копій.

Ви маєте побачити список доступних backup snapshots для вибраної VM.

Відкрийте файловий браузер Proxmox Backup

  1. Виберіть backup snapshot, який містить потрібний файл.
  2. Натисніть File Restore.
  3. Дочекайтеся, поки Proxmox VE відкриє файловий браузер резервної копії.
  4. Розгорніть диск VM, який містить гостьову операційну систему або том з даними.

Тепер ви маєте переглядати backup snapshots через інтерфейс Proxmox VE. Це подання дозволяє виконувати операції Proxmox Backup Server restore files без повного відновлення резервної копії VM.

Завантажте потрібний файл

  1. Перейдіть до каталогу, який містить файл.
  2. Виберіть файл.
  3. Натисніть Download.
  4. Збережіть файл на свою робочу станцію.

Ви маєте отримати вибраний файл через браузер. На цьому browser-based file-level restore з резервної копії VM завершено.

Info

Якщо VM має кілька дисків, перевірте кожен диск у файловому браузері, доки не знайдете правильну файлову систему. Наприклад, диск операційної системи може бути drive-scsi0, а дані застосунку можуть бути на drive-scsi1.

Крок 3: Підготуйте CLI-середовище

Використовуйте цей метод, коли вам потрібні робочі процеси restoring data from PBS datastore з командного рядка.

Визначте змінні відновлення

Виконайте такі команди на хості Proxmox VE. Замініть placeholders значеннями зі свого середовища.

export PBS_REPOSITORY="<PBS_USER>@<PBS_REALM>@<PBS_SERVER>:<DATASTORE>" export PBS_SNAPSHOT="vm/<VM_ID>/<SNAPSHOT_TIMESTAMP>" export PBS_ARCHIVE="drive-scsi0.img" export RESTORE_MOUNT="/mnt/pbs-file-restore" export RESTORE_TARGET="/root/restored-from-pbs" export PBS_PASSWORD="<PBS_USER_PASSWORD>" export PBS_FINGERPRINT="<PBS_SERVER_FINGERPRINT>"

Приклади значень:

export PBS_REPOSITORY="root@[email protected]:backup" export PBS_SNAPSHOT="vm/101/2026-06-04T01:30:00Z" export PBS_ARCHIVE="drive-scsi0.img" export RESTORE_MOUNT="/mnt/pbs-file-restore" export RESTORE_TARGET="/root/restored-from-pbs" export PBS_PASSWORD="12345678" export PBS_FINGERPRINT="b1:89:bd:c9:b1:f8:33..."

Змінні визначають PBS repository, backup snapshot VM, disk archive для mapping, тимчасову точку монтування та локальну ціль відновлення. Задайте змінні середовища PBS_PASSWORD і PBS_FINGERPRINT. Щоб отримати відбиток сертифіката на Proxmox Backup Server, виконайте команду proxmox-backup-manager cert info.

Під час першого підключення команда login в інтерактивному режимі запитує підтвердження відбитка сертифіката та введення пароля. Без цих змінних автоматизовані команди завершуються з помилкою certificate validation failed, якщо не вказано відбиток сертифіката, або no password input mechanism available, якщо не вказано пароль.

Увійдіть до Proxmox Backup Server

Запустіть команду login:

proxmox-backup-client login --repository "$PBS_REPOSITORY"

Очікуваний вивід:

Password:

Введіть пароль користувача PBS. Якщо автентифікація успішна, клієнт збереже тимчасовий ticket.

Tip

Якщо ви використовуєте API token, задавайте PBS_PASSWORD лише для поточної shell-сесії та скасовуйте її після відновлення. Не зберігайте token secrets в історії shell або скриптах, якщо не захищаєте права доступу до файлу.

Крок 4: Визначте backup snapshot VM і disk archive

Виведіть список backup groups у PBS repository:

proxmox-backup-client list --repository "$PBS_REPOSITORY"

Приклад очікуваного виводу: список backup groups.

Виведіть список snapshots для VM group:

proxmox-backup-client snapshot list vm/<VM_ID> \ --repository "$PBS_REPOSITORY"

Приклад очікуваного виводу: список snapshots.

Виведіть список файлів у вибраному snapshot:

proxmox-backup-client snapshot files "$PBS_SNAPSHOT" \ --repository "$PBS_REPOSITORY"

Приклад очікуваного виводу:

client.log.blob drive-scsi0.img.fidx index.json.blob qemu-server.conf.blob

Info

Коли виконуєте mapping disk archive VM, використовуйте назву архіву без суффікса .fidx. Наприклад, використовуйте drive-scsi0.img, а не drive-scsi0.img.fidx.

Крок 5: Зіставте диск резервної копії VM з loop-пристроєм

Створіть каталоги для відновлення:

mkdir -p "$RESTORE_MOUNT" "$RESTORE_TARGET"

Виконайте mapping образу диска VM з PBS:

proxmox-backup-client map "$PBS_SNAPSHOT" "$PBS_ARCHIVE" \ --repository "$PBS_REPOSITORY"

Приклад очікуваного виводу:

/dev/loop0

Збережіть повернений loop device у змінну:

export LOOP_DEVICE="/dev/loop0"

Команда map зіставляє образ диска резервної копії VM з локальним loopback-пристроєм.

Warning

Використовуйте цей CLI-метод лише з довіреними резервними копіями. Змонтована файлова система може містити шкідливі шляхи, спеціальні файли або неочікувані metadata.

Крок 6: Огляньте зіставлений диск

Виведіть список partitions і filesystems:

lsblk -f "$LOOP_DEVICE"

Приклад очікуваного виводу:

NAME FSTYPE LABEL UUID MOUNTPOINTS loop0 ├─loop0p1 vfat 1111-2222 └─loop0p2 ext4 aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee

Якщо partitions не з'являються, попросіть kernel прочитати partition table:

partx -a "$LOOP_DEVICE"

Потім перевірте ще раз:

lsblk -f "$LOOP_DEVICE"

Тепер ви маєте побачити partition devices, наприклад /dev/loop0p1 і /dev/loop0p2.

Info

Гості Linux зазвичай використовують ext4, XFS або Logical Volume Manager. Гості Windows зазвичай використовують NTFS. Для відновлення файлів Windows веб-інтерфейс зазвичай простіший, тому що він бере на себе більшу частину workflow файлового браузера.

Крок 7: Змонтуйте гостьову файлову систему в режимі read-only

Виберіть partition, яка містить потрібні файли. У цьому прикладі root filesystem Linux — це /dev/loop0p2.

Змонтуйте її в режимі read-only:

mount -o ro /dev/loop0p2 "$RESTORE_MOUNT"

Ожидаемый вывод: Команда не має повертати жодного виводу, якщо mount виконано успішно.

Перевірте змонтовану файлову систему:

ls "$RESTORE_MOUNT"

Приклад очікуваного виводу:

bin boot etc home root usr var

Тепер ви виконуєте restore individual files Proxmox recovery через командний рядок без відновлення всієї VM.

Змонтуйте LVM volume, якщо гість використовує LVM

Якщо lsblk -f показує LVM2_member, виконайте scan volume groups:

vgscan --mknodes

Приклад очікуваного виводу:

Found volume group "ubuntu-vg" using metadata type lvm2

Активуйте volume group:

vgchange -ay ubuntu-vg

Виведіть список logical volumes:

lvs

Приклад очікуваного виводу:

LV VG Attr LSize ubuntu-lv ubuntu-vg -wi-a----- 50.00g

Info

Вивід lvs містить список усіх логічних томів, виявлених на хості Proxmox VE, не лише групи томів гостьової системи, такої як ubuntu-vg. Він також може включати власні томи гіпервізора з групи томів pve, включаючи кореневий том, том swap, том даних та логічні томи, що використовуються дисками віртуальних машин.

Змонтуйте logical volume в режимі read-only:

mount -o ro /dev/ubuntu-vg/ubuntu-lv "$RESTORE_MOUNT"

Тепер ви маєте змогу переглядати відновлену гостьову файлову систему в $RESTORE_MOUNT.

Крок 8: Скопіюйте конкретні файли з резервної копії

Створіть локальний каталог для відновлених файлів:

mkdir -p "$RESTORE_TARGET"

Скопіюйте один файл:

cp -a "$RESTORE_MOUNT/etc/hostname" "$RESTORE_TARGET/"

Ожидаемый вывод: Команда не має повертати жодного виводу, якщо файл успішно скопійовано.

Скопіюйте каталог:

rsync -a "$RESTORE_MOUNT/var/www/html/" \ "$RESTORE_TARGET/html/"

Ожидаемый вывод: Команда не має повертати жодного виводу, якщо каталог успішно скопійовано.

Перевірте скопійовані файли:

find "$RESTORE_TARGET" -maxdepth 3 -type f

Приклад очікуваного виводу:

/root/restored-from-pbs/hostname /root/restored-from-pbs/html/index.html

Tip

Використовуйте rsync -a замість звичайного cp, коли потрібно зберегти permissions, ownership, timestamps і symbolic links у відновленій копії.

Крок 9: Відновіть файли з file-based PBS backup за допомогою pxar

Цей крок є необов'язковим для file-level restore VM, але він корисний, коли backup snapshot містить file archive, наприклад root.pxar.

Виведіть список файлів у snapshot:

proxmox-backup-client snapshot files "$PBS_SNAPSHOT" \ --repository "$PBS_REPOSITORY"

Приклад очікуваного виводу:

catalog.pcat1.didx root.pxar.didx

Відкрийте interactive restore shell:

proxmox-backup-client catalog shell "$PBS_SNAPSHOT" root.pxar \ --repository "$PBS_REPOSITORY"

Усередині shell виведіть список каталогів:

pxar:/ > ls

Приклад очікуваного виводу:

etc home root var

Виберіть файл:

pxar:/ > select /etc/hostname

Відновіть вибрані файли:

pxar:/ > restore-selected /root/restored-from-pxar

Вийдіть із shell:

pxar:/ > exit

Info

Використовуйте pxar-метод для file-based backups. Використовуйте map-метод для резервних копій образів VM.

Крок 10: Очистіть CLI-сесію відновлення

Відмонтуйте гостьову файлову систему:

umount "$RESTORE_MOUNT"

Якщо ви активували LVM volume group, деактивуйте її після unmount:

vgchange -an ubuntu-vg

Видаліть partition mappings, якщо створювали їх за допомогою partx:

partx -d "$LOOP_DEVICE"

Виконайте unmap PBS loop device:

proxmox-backup-client unmap "$LOOP_DEVICE"

Ожидаемый вывод: Команда не має повертати жодного виводу, якщо loop device успішно unmapped.

Видаліть тимчасові каталоги монтування, якщо вони більше не потрібні:

rmdir "$RESTORE_MOUNT"

Скасуйте sensitive environment variables:

unset PBS_PASSWORD unset PBS_REPOSITORY unset PBS_SNAPSHOT unset PBS_ARCHIVE unset LOOP_DEVICE

Тепер ви очистили локальне recovery environment.

Перевірка

Перевірте, що відновлені файли існують:

ls -la "$RESTORE_TARGET"

Приклад очікуваного виводу:

total 12 drwxr-xr-x 3 root root 4096 Jun 4 02:10 . drwx------ 10 root root 4096 Jun 4 02:10 .. -rw-r--r-- 1 root root 12 Jun 4 01:00 hostname

Порівняйте вміст файлів, де це доречно:

cat "$RESTORE_TARGET/hostname"

Приклад очікуваного виводу:

app-vm-01

Переконайтеся, що відновлена копія розташована поза змонтованою файловою системою резервної копії:

realpath "$RESTORE_TARGET"

Приклад очікуваного виводу:

/root/restored-from-pbs

Перевірте, що після cleanup не залишилося PBS loop mappings:

losetup -a | grep pbs-loopdev || true

Ожидаемый вывод: Якщо команда не повертає вивід, це означає, що proxmox-backup loop mappings не залишилися.

Відкат змін

Цей посібник не змінює оригінальну VM backup або PBS datastore. Метод через веб-інтерфейс лише завантажує файли на вашу робочу станцію. CLI-метод створює тимчасові loop mappings, mount points і локальні копії відновлених файлів.

Info

У цьому розділі наведено альтернативу кроку 10 для дострокового виходу з процедури. Не виконуйте його після завершення кроку 10.

Щоб виконати revert CLI recovery environment, запустіть:

umount "$RESTORE_MOUNT" proxmox-backup-client unmap "$LOOP_DEVICE" rm -rf "$RESTORE_TARGET" rmdir "$RESTORE_MOUNT"

Warning

Команда rm -rf "$RESTORE_TARGET" видаляє відновлену копію з хоста Proxmox VE. Не запускайте її, якщо вам ще потрібні відновлені файли.

Якщо ви активували guest LVM volume group, деактивуйте її:

vgchange -an ubuntu-vg

Якщо ви додавали partition mappings вручну, видаліть їх:

partx -d "$LOOP_DEVICE"

Усунення несправностей

Кнопка File Restore відсутня

Переконайтеся, що ви вибрали backup snapshot на PBS storage, а не локальне ISO або image storage. Також переконайтеся, що ваш обліковий запис має достатньо privileges для перегляду backup content.

Web file browser не може прочитати файлову систему

Гостьова файловая система може бути непідтримуваною, зашифрованою всередині VM, пошкодженою або розташованою всередині LVM, RAID чи іншого storage layer. Спробуйте CLI-метод, щоб можна було вручну перевірити partitions за допомогою lsblk, blkid, vgscan і filesystem-specific tools.

proxmox-backup-client map завершується помилками автентифікації

Перевірте repository string і credentials:

echo "$PBS_REPOSITORY" proxmox-backup-client login --repository "$PBS_REPOSITORY"

Ожидаемый формат repository:

<PBS_USER>@<PBS_REALM>@<PBS_SERVER>:<DATASTORE>

Якщо ви використовуєте namespace, додайте --ns до відповідних команд proxmox-backup-client.

Резервна копія зашифрована

Надайте key file під час mapping резервної копії:

proxmox-backup-client map "$PBS_SNAPSHOT" "$PBS_ARCHIVE" \ --repository "$PBS_REPOSITORY" \ --keyfile <PATH_TO_ENCRYPTION_KEY>

Приклад очікуваного виводу:

/dev/loop0

Partition devices не з'являються

Запустіть:

partx -a "$LOOP_DEVICE" lsblk -f "$LOOP_DEVICE"

Якщо диск використовує LVM, запустіть:

vgscan --mknodes lvs

Якщо диск використовує software RAID, ZFS всередині гостя або full-disk encryption, використовуйте відповідні guest storage tools і монтуйте відновлені файли в режимі read-only, коли це можливо.

Mount завершується помилкою Wrong filesystem type

Перевірте filesystem type:

blkid

Приклад очікуваного виводу:

/dev/loop0p2: UUID="..." TYPE="ext4"

Потім змонтуйте з правильним type, ако потрібно:

mount -t ext4 -o ro /dev/loop0p2 "$RESTORE_MOUNT"

Копія файлу зберігає неправильного власника

Коли ви копіюєте файли зі змонтованої гостьової файлової системи від root, ownership може посилатися на numeric user IDs із гостя. Це очікувано. Використовуйте rsync -a, щоб зберегти metadata для подальшої перевірки, або копіюйте без збереження ownership, якщо вам потрібен лише вміст файлів.

Висновок

Ви відновили окремі файли з резервної копії VM у Proxmox Backup Server без розгортання всієї VM. Метод через веб-інтерфейс є найшвидшим шляхом для більшості задач Proxmox Backup Server restore files, тоді як CLI-метод дає точний контроль для advanced Proxmox file recovery і filesystem inspection. Для рутинних операцій спочатку використовуйте workflow Proxmox VE File Restore, а proxmox-backup-client map використовуйте тоді, коли потрібне глибше command-line recovery з PBS datastore.

Наступні кроки

Розгляньте можливість задокументувати свою внутрішню процедуру відновлення з точними назвами PBS repository, namespaces, VM IDs, місцем зберігання encryption key і restore validation checklist. Також можна регулярно тестувати file-level restore як частину перевірки резервних копій, тому що резервна копія корисна лише тоді, коли ви можете відновити потрібні дані.

Версія документа: 1.0
Останнє оновлення: Червень 2026
Власник: Команда технічної документації

VAT

  • Other

    Ex. VAT

    0%
  • austria

    Austria

    20%
  • Belgium

    Belgium

    21%
  • Bulgaria

    Bulgaria

    20%
  • Croatia

    Croatia

    25%
  • Cyprus

    Cyprus

    19%
  • Czech Republic

    Czech Republic

    21%
  • Denmark

    Denmark

    25%
  • Estonia

    Estonia

    22%
  • France

    France

    20%
  • Finland

    Finland

    24%
  • Germany

    Germany

    19%
  • Greece

    Greece

    24%
  • Hungary

    Hungary

    27%
  • Ireland

    Ireland

    23%
  • Italy

    Italy

    22%
  • Latvia

    Latvia

    21%
  • Lithuania

    Lithuania

    21%
  • Luxembourg

    Luxembourg

    17%
  • Malta

    Malta

    18%
  • Netherlands

    Netherlands

    21%
  • Poland

    Poland

    23%
  • Portugal

    Portugal

    23%
  • Romania

    Romania

    19%
  • Slovakia

    Slovakia

    20%
  • Slovenia

    Slovenia

    22%
  • Spain

    Spain

    21%
  • Sweden

    Sweden

    25%
  • USA

    USA

    0%
european
states
  • germany
  • Español
  • Italiano
  • Poland
  • Русский
  • Slovenski
  • Türkçe
  • ukraine
  • kingdom
  • French
  • Hrvatska
  • Other
  • Austria
  • Belgium
  • Bulgaria
  • Croatia
  • Cyprus
  • Czech Republic
  • Denmark
  • Estonia
  • Finland
  • France
  • Germany
  • Greece
  • Hungary
  • Ireland
  • Italy
  • Latvia
  • Lithuania
  • Luxembourg
  • Malta
  • Netherlands
  • Poland
  • Portugal
  • Romania
  • Slovakia
  • Slovenia
  • Spain
  • Sweden
  • USA