Як відновити віртуальні машини та снапшоти XCP-ng і XenServer
У цій статті розглянемо, як відновити дані віртуальних машин і снапшотів у XCP-ng та XenServer, де зберігаються віртуальні диски, як працює механізм снапшотів і що робити, якщо віртуальна машина була видалена або її диск став недоступним. Також розглянемо можливості відновлення даних із віртуальних дисків після пошкодження файлової системи, випадкового видалення файлів або збою сховища, а також використання спеціалізованих програм для відновлення інформації.

- Архітектура локальних сховищ XCP-ng
- Підключення дисків та створення їх образів
- Як відновити віртуальні машини та снапшоти XCP-ng / XenServer
- Висновок
- Поширені запитання
- Коментарі
Гіпервізори XCP-ng та XenServer використовуються для створення, запуску й керування віртуальними машинами, які зберігають операційні системи, програми та важливі дані на віртуальних дисках. Для захисту від збоїв і можливості повернення до попереднього стану віртуальних машин застосовуються снапшоти (snapshots). Однак видалення віртуальної машини, пошкодження сховища, збій обладнання, помилки під час адміністрування або невдале об’єднання снапшотів можуть призвести до втрати доступу до важливих даних.
Для вирішення цих проблем ми використаємо мультиплатформенну утиліту Hetman RAID Recovery. Ця програма дозволяє підключити диски та проводити відновлення у середовищах Windows, Linux та macOS. Вона автоматично розпізнає логічну структуру серверних накопичувачів, безпечно витягує цілісні віртуальні машини разом зі знімками стану, а також дозволяє знаходити та відновлювати видалені файли безпосередньо зсередини гостьових операційних систем.
Як відновити віртуальні машини та снапшоти XCP-ng / XenServer
Архітектура локальних сховищ XCP-ng
Для успішного порятунку інформації варто розуміти принцип роботи Storage Repository у середовищі XCP-ng. Гіпервізор дозволяє розгортати сховища на базі LVM, де кожен віртуальний диск створюється як окремий логічний том. Проте сьогодні ми сфокусуємося на локальному сховищі з файловою системою EXT4, де віртуальні диски зберігаються у вигляді звичайних файлів.

Після краху сервера такий накопичувач стає нерозпізнаним пристроєм для звичайних десктопних операційних систем. Стандартні засоби Windows або macOS просто не розуміють специфічну логічну структуру, розгорнуту гіпервізором. Через це ви не зможете напряму підключити диск і скопіювати потрібні образи, навіть якщо самі дані залишилися фізично цілими.
Окремо варто згадати про особливості форматів віртуальних дисків та знімків стану. У середовищі XCP-ng на сховищах EXT4 файли зазвичай зберігаються у форматі VHD. Під час створення снапшота система формує новий зв’язаний файл відмінностей, куди починають записуватися всі наступні зміни гостьової системи. Гіпервізор створює ці знімки для точної фіксації поточного стану віртуальної машини у певний момент часу.
Сторонній системі вкрай складно розібрати таку специфічну структуру без профільного програмного забезпечення. Саме тут на допомогу приходить Hetman RAID Recovery.
Програма ідеально розпізнає логіку файлової системи EXT4 і миттєво надає прямий доступ до існуючих файлів віртуальних машин та снапшотів, а також ефективно знаходить раніше видалені дані. Крім того, утиліта повноцінно підтримує роботу зі сховищами на базі LVM, дозволяючи успішно знаходити та відновлювати віртуальні диски безпосередньо з логічних томів. Алгоритм програми автоматично розпізнає їхню конфігурацію, забезпечуючи безпечне вилучення даних навіть у разі серйозних пошкоджень структури хоста.
| Компонент | Опис |
|---|---|
| Local Storage Repository (Local SR) | Локальне сховище, підключене до сервера XCP-ng, у якому зберігаються віртуальні диски машин (VDI) та пов’язані з ними дані. |
| Storage Repository (SR) | Логічна одиниця зберігання, яку гіпервізор використовує для організації доступу до віртуальних дисків. SR може бути локальним або мережевим. |
| Physical Block Device (PBD) | Об’єкт, який пов’язує сховище SR із конкретним хостом XCP-ng та забезпечує доступ до нього. |
| Virtual Disk Image (VDI) | Віртуальний диск, на якому зберігаються операційна система, програми та файли гостьової операційної системи. |
| Virtual Block Device (VBD) | Віртуальний пристрій, що підключає VDI до віртуальної машини (VM). |
| VHD (Virtual Hard Disk) | Формат віртуального диска, який використовується в багатьох сховищах XCP-ng та XenServer. Може підтримувати ланцюжки базових дисків і снапшотів. |
| LVM (Logical Volume Manager) | Механізм керування логічними томами, який застосовується в певних типах локальних сховищ на основі блокових пристроїв. |
| EXT (файлова система ext4) | Файлова система, яка використовується для зберігання файлів віртуальних дисків у відповідному типі локального сховища. |
| Снапшот (Snapshot) | Збережений стан віртуальної машини або її дисків на певний момент часу. Залежно від типу сховища може реалізовуватися через ланцюжок віртуальних дисків. |
| Ланцюжок VHD | Послідовність базового диска та дочірніх дисків, які містять зміни, пов’язані зі снапшотами. Порушення зв’язків між ними може ускладнити доступ до актуальних даних. |
| XAPI | Програмний інтерфейс керування XCP-ng, який використовується для роботи з віртуальними машинами, сховищами, віртуальними дисками та снапшотами. |
| Метадані сховища | Інформація про конфігурацію SR, віртуальні диски та їхні зв’язки. Пошкодження або втрата метаданих може призвести до того, що віртуальні диски перестануть відображатися в інтерфейсі керування. |
Підключення дисків та створення їх образів
Першим кроком у процесі відновлення є фізичне вилучення серверних накопичувачів та їх підключення до робочого комп’ютера:
- Найкраще використовувати пряме підключення до портів SATA на материнській платі.
- Якщо вільних портів бракує або ви використовуєте серверні SAS диски, то можна встановити плату розширення HBA.
- Також як альтернативу зручно використовувати зовнішні USB кишені чи док-станції, проте враховуйте, що пропускна здатність USB може збільшити загальний час сканування.
При підключенні є одне критично важливе правило. Операційна система Windows, Linux чи macOS може запропонувати вам відформатувати або ініціалізувати нові диски. Ці системні запити необхідно обов’язково ігнорувати і просто закривати, щоб не знищити інформацію остаточно.

Для гарантування максимальної безпеки оригінальних даних ми завжди рекомендуємо створювати повний образ підключеного носія. Це точна побайтова копія вашого фізичного диска. Ця вбудована функція також рятує у ситуаціях, коли ви не можете одночасно підключити всю необхідну кількість дисків до комп’ютера.
Щоб створити образ, виділіть диск у програмі, натисніть кнопку Save disk і вкажіть шлях для збереження файлу.

Після цього, відкрийте головне меню, оберіть Mount disk, вкажіть тип Raw disk images і відкрийте збережений образ для подальшої безпечної роботи.

Як відновити віртуальні машини та снапшоти XCP-ng / XenServer
СПОСІБ 1. Відновлення існуючих та видалених віртуальних машин
Переходимо до практичної частини. Відразу після вибору нашого накопичувача програма автоматично розпізнає структуру файлової системи EXT4. Запускаємо Швидке сканування підключеного сховища.

За лічені секунди алгоритм виявляє існуючі віртуальні диски разом із ланцюжками файлів знімків стану. Аналогічний швидкий пошук повноцінно працює і для архітектури LVM, де програма так само миттєво знаходить усі наявні логічні томи з віртуальними машинами.

Спочатку розглянемо сценарій відновлення наявних віртуальних машин. У нашому випадку файли фізично присутні на диску, але доступ до них було втрачено виключно через загальний крах сервера. Ми просто виділяємо ці цілісні віртуальні машини, натискаємо кнопку Recovery та успішно зберігаємо їх на безпечний локальний диск нашого комп’ютера.

Тепер розглянемо ситуацію з файлами, які були випадково видалені користувачем ще до збою системи.
Зверніть увагу на візуальне відображення видалених файлів в інтерфейсі програми. Вони позначаються спеціальним червоним хрестиком, що робить їх пошук дуже зручним.

Виділяємо ці знайдені видалені віртуальні машини, натискаємо кнопку Recovery та успішно зберігаємо їх на безпечний локальний диск нашого комп’ютера.
СПОСІБ 2. Відновлення файлів з гостьових операційних систем
Ще одна потужна функція програми полягає у можливості прямого монтування знайдених віртуальних дисків. Це дозволяє отримати доступ до їхнього внутрішнього вмісту без необхідності запускати сам гіпервізор.

Що найважливіше, ми можемо змонтувати навіть ті видалені віртуальні диски, які система щойно знайшла на нашому сховищі EXT4, і витягнути з них корисну інформацію.

Змонтувавши диск, ми запускаємо його Швидке сканування.

На цьому етапі ми демонструємо процес пошуку користувацьких файлів, що були випадково видалені всередині нашої гостьової операційної системи Windows 10 ще до загального збою сервера.
Програма успішно реконструює дерево каталогів. Ми можемо переглянути знайдену інформацію за допомогою функції попереднього перегляду, переконатися в цілісності документів та виконати фінальне збереження потрібних файлів на локальний комп’ютер.

СПОСІБ 3. Відновлення даних за допомогою снапшотів
Програма також чудово працює зі знімками стану системи. Після аналізу диска інтерфейс відображає файли снапшотів поруч із файлами віртуальних машин. При цьому ви можете помітити як наявні актуальні знімки стану, так і ті, що були попередньо видалені.

Спочатку продемонструємо відновлення даних з існуючого снапшота. У нашому випадку ми зробили один базовий знімок системи. Ми монтуємо цей знайдений актуальний снапшот, запускаємо швидке сканування і здійснюємо процес пошуку та відновлення файлів, які відповідають саме цій конкретній точці в часі.


А тепер перейдемо до відновлення даних із видаленого снапшота. Для ускладнення тесту після створення першого знімка ми додали нові файли, зробили ще один снапшот, а потім його повністю видалили.

Ми монтуємо цей знайдений програмою видалений знімок стану, успішно скануємо його та зберігаємо потрібні файли на локальний комп’ютер.

Це наочно підтверджує здатність системи рятувати дані незалежно від поточного статусу снапшота.

Висновок
Відновлення віртуальних машин і снапшотів у гіпервізорах XCP-ng та XenServer залежить від причини втрати даних, типу сховища та стану віртуальних дисків. Випадкове видалення віртуальної машини, пошкодження сховища, збій фізичного накопичувача або порушення ланцюжка снапшотів можуть призвести до втрати доступу до операційної системи, програм і файлів користувача.
Під час відновлення важливо правильно визначити структуру сховища (SR), знайти відповідні віртуальні диски (VDI) та перевірити цілісність файлів VHD і залежностей між ними. Якщо диск або снапшот недоступний через інтерфейс керування, це не завжди означає, що дані остаточно втрачені. У деяких випадках інформацію можна відновити безпосередньо з віртуального диска за допомогою спеціалізованого програмного забезпечення для відновлення даних.
Щоб не погіршити ситуацію, рекомендується припинити операції запису на пошкоджене сховище, не видаляти залишки ланцюжків снапшотів і не створювати нові сховища поверх носія з втраченими даними. За можливості слід створити посекторну копію накопичувача та виконувати подальші дії з копією.
Спеціалізовані програми для відновлення даних, зокрема рішення Hetman Software, можуть допомогти просканувати доступні віртуальні диски, знайти втрачені файли та відновити інформацію після видалення або пошкодження файлової системи. Результат залежить від стану носія, характеру пошкодження та того, чи були втрачені дані перезаписані.
Регулярне резервне копіювання, перевірка працездатності снапшотів і контроль стану сховищ XCP-ng та XenServer допоможуть зменшити ризик втрати інформації та скоротити час відновлення роботи віртуальної інфраструктури.







