Як відновити дані з віртуальних дисків QCOW2 та снапшотів KVM (QEMU) у RHEL 7.9
У цій статті розглянемо, як відновити віртуальні диски та снапшоти KVM у Red Hat Enterprise Linux 7.9, визначити причину втрати даних і повернути доступ до інформації за допомогою відповідних інструментів.

- Архітектура KVM та LVM у RHEL 7.9
- Підключення дисків до комп'ютера
- Як відновити віртуальні машини KVM (QEMU) та снапшоти з RHEL 7.9
- Висновок
- Поширені запитання
- Коментарі
Віртуалізація на базі KVM (Kernel-based Virtual Machine) і QEMU широко використовується в Red Hat Enterprise Linux 7.9 для створення та керування віртуальними машинами. Їхні операційні системи, програми й користувацькі файли зберігаються у віртуальних дисках, наприклад у форматах QCOW2 або RAW. Для збереження попереднього стану віртуальних машин можуть використовуватися снапшоти, які дають змогу повернутися до певного моменту часу. Проте випадкове видалення файлів, пошкодження образів дисків, збій фізичного накопичувача або порушення ланцюжка снапшотів можуть призвести до втрати доступу до важливих даних.
Як відновити віртуальні машини KVM (QEMU) та снапшоти з RHEL 7.9
Архітектура KVM та LVM у RHEL 7.9
Розглянемо детальніше архітектуру нашої серверної системи.
Сама операційна система Red Hat Enterprise Linux версії 7.9 встановлена на окремому системному диску з файловою системою XFS. А от сховище для середовища віртуалізації KVM має комплексну, багаторівневу дискову підсистему.

В основі системи лежать дискові масиви RAID 5 та RAID 0. Поверх них розгорнуто логічні томи LVM. Для забезпечення безпеки даних ці томи додатково зашифровані за стандартом LUKS, і лише всередині цього криптоконтейнера створено файлову систему ext4, де безпосередньо розміщуються файли віртуальних машин.
Управління всім цим середовищем здійснюється через демон Libvirt, який зручно абстрагує фізичну дискову ієрархію у пули сховищ та зв’язує їх з конфігураціями кожної віртуальної машини. Проте в момент аварії ця зручність грає проти нас, оскільки при відмові нижнього рівня зберігання Libvirt миттєво втрачає зв’язок із пулами. Як наслідок, усі віртуальні машини просто зникають із консолі управління або відразу переходять у статус недоступних.
Головна проблема полягає в тому, що така складна архітектура суттєво ускладнює процес відновлення даних. Уся ця структура (RAID, LVM, LUKS та ext4) тісно пов’язана між собою. Збій на будь-якому з цих рівнів миттєво руйнує весь ланцюжок і повністю блокує доступ до віртуальних машин.
Перейдемо безпосередньо до віртуальних машин. Вони використовують віртуальні диски у популярному форматі qcow2. Цей формат підтримує створення снапшотів, тобто знімків стану системи у певний момент часу. Зберігати всі знімки та поточні зміни в одному файлі віртуального диска надзвичайно зручно для адміністрування та керування ресурсами.
Проте, з точки зору надійності, це робить систему дуже вразливою. Якщо цей єдиний файл формату qcow2 отримує логічні пошкодження через збій хост-системи, ви ризикуєте втратити не лише поточну робочу версію віртуальної машини, але й абсолютно всі її збережені стани одночасно.
На щастя, це не означає остаточну втрату інформації, адже за допомогою Hetman RAID Recovery можна проаналізувати зруйновану структуру та успішно відновити як самі віртуальні диски, так і дані зсередини них.
| Компонент | Призначення та особливості |
|---|---|
| KVM (Kernel-based Virtual Machine) | Модуль ядра Linux, який забезпечує апаратну віртуалізацію та дає змогу запускати віртуальні машини в RHEL 7.9. |
| QEMU | Емулює віртуальне обладнання та забезпечує роботу віртуальних машин, зокрема доступ до їхніх віртуальних дисків. |
| libvirt | Засоби керування віртуалізацією, які використовуються для створення, запуску, зупинки та налаштування віртуальних машин через virsh та інші інструменти. |
| Віртуальна машина (VM) | Ізольоване середовище, у якому працює гостьова операційна система зі своїми програмами, налаштуваннями та файлами. |
| Віртуальний диск QCOW2 | Формат образу диска QEMU, який підтримує динамічне виділення місця, метадані та внутрішні снапшоти. Також може використовуватися як частина ланцюжка зовнішніх снапшотів. |
| Віртуальний диск RAW | Образ диска без додаткової структури контейнера QCOW2. Може зберігатися у файлі або на блоковому пристрої LVM. |
| Снапшот (Snapshot) | Збережений стан диска або віртуальної машини. Снапшоти можуть бути внутрішніми, розміщеними в одному QCOW2-файлі, або зовнішніми, коли зміни записуються в окремий файл. |
| Ланцюжок зовнішніх снапшотів | Послідовність базового образу та дочірніх дисків, які зберігають зміни. Для доступу до актуального стану даних необхідно зберегти правильні зв’язки між файлами. |
| LVM (Logical Volume Manager) | Система керування логічними томами Linux, яка дає змогу об’єднувати фізичні пристрої у групи томів і створювати логічні томи для віртуальних дисків. |
| PV (Physical Volume) | Фізичний пристрій або розділ, підготовлений для використання в LVM. Він є базовим рівнем структури LVM. |
| VG (Volume Group) | Група томів, яка об’єднує один або кілька PV та надає простір для створення логічних томів. |
| LV (Logical Volume) | Логічний том, який може використовуватися як блоковий пристрій для зберігання віртуального диска RAW або файлової системи з образами QCOW2. |
| Файлова система хоста | Файлова система RHEL, наприклад XFS або ext4, на якій можуть зберігатися файли віртуальних дисків і конфігурації віртуальних машин. |
| XML-конфігурація libvirt | Містить параметри віртуальної машини, зокрема шлях до диска, тип контролера та інші налаштування. Допомагає встановити, який образ використовувався віртуальною машиною. |
| Метадані LVM | Містять інформацію про фізичні томи, групи томів і логічні томи. Їх пошкодження може призвести до недоступності логічних томів і розміщених на них даних. |
Підключення дисків до комп'ютера
Щоб розпочати процес відновлення, необхідно фізично вилучити диски з проблемного сервера та підключити їх до комп’ютера. Найкращим та найшвидшим варіантом є пряме підключення до SATA або SAS портів на материнській платі комп’ютера.
Також можна використати зовнішні USB док станції або перехідники, проте враховуйте, що це може знизити швидкість сканування.
Важливе правило при збірці масивів: для успішного відновлення даних із масиву RAID 5 вам достатньо підключити всі диски крім одного неробочого. А от для масиву RAID 0 необхідно обов’язково підключити абсолютно всі накопичувачі, що входили до його складу, інакше відновити інформацію буде неможливо.
Якщо для підключення всіх накопичувачів не вистачає вільних портів, або диски мають ознаки апаратних несправностей, найкращим рішенням є створення посекторних образів. Ця вбудована функція Hetman RAID Recovery дозволяє зберегти точну побайтову копію кожного диска як звичайний файл. Робота з образами є стандартом безпеки, адже сканування відбувається без жодного фізичного навантаження на оригінальні серверні накопичувачі.
Щоб створити образ, виділіть підключений диск у головному вікні та натисніть кнопку Save disk на верхній панелі, вказавши шлях для збереження.

Після створення всіх образів змонтуйте їх у програму: відкрийте головне меню, оберіть пункт Mount disk.

Вкажіть тип Raw disk images і відкрийте збережені файли.

Вони одразу з’являться у списку доступних пристроїв, готові до автоматичної збірки масиву та подальшого сканування.

Як відновити віртуальні машини KVM (QEMU) та снапшоти з RHEL 7.9
СПОСІБ 1. Відновлення файлів віртуальних машин
Перейдемо до практики та розглянемо відновлення доступу до файлу віртуального диска qcow2.
У нашому випадку файл не був видалений, але через раптовий апаратний збій сервера та подальше руйнування логічної структури масиву доступ до нього було повністю заблоковано.

Проте, алгоритми Hetman RAID Recovery дозволяють легко обійти цю проблему. У головному вікні програми ми бачимо вже автоматично зібраний масив RAID 5, але для доступу до даних його логічний том спочатку необхідно розблокувати, ввівши пароль від LUKS.

Лише після успішного зняття криптографічного захисту ми обираємо цей том і запускаємо алгоритм Fast scan, який миттєво проаналізує структуру нашої файлової системи, якою в цьому випадку виступає ext4.

Переходимо до папки, де зберігалася віртуальна машина. Програма успішно відтворила дерево каталогів та виявила наш неушкоджений файл qcow2.

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

СПОСІБ 2. Відновлення файлів з гостьових ОС
Тепер розглянемо іншу поширену ситуацію: втрата даних відбулася безпосередньо всередині самої віртуальної машини. У нашому прикладі це гостьова операційна система Windows 10.
Зазвичай для доступу до таких файлів потрібно запускати гіпервізор та повністю завантажувати віртуальну машину, що не завжди можливо або безпечно після системних збоїв. Проте, Hetman RAID Recovery дозволяє працювати з форматом qcow2 напряму. Ви можете відкрити віртуальний диск прямо в інтерфейсі програми без використання гіпервізора.

Для цього відкрийте меню Mount disk, оберіть відповідний пункт для віртуальних машин, вкажіть шлях до папки, де знаходиться ваш збережений файл qcow2,

та натисніть Mount folder.

Після цього віртуальний диск миттєво з’явиться у загальному списку пристроїв. Оскільки наша гостьова система – це Windows 10, ми одразу бачимо її розділ із файловою системою NTFS.

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

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

Це дає змогу легко відновити дані з попередніх станів системи. Наприклад, якщо важливий файл був змінений або повністю видалений, і в поточній робочій версії віртуальної машини його вже немає, ви можете просто звернутися до старішого знімка. Оберіть потрібний снапшот у списку та запустіть алгоритм Fast scan.

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

Висновок
Відновлення віртуальних дисків і снапшотів KVM у Red Hat Enterprise Linux 7.9 потребує розуміння архітектури віртуалізації, структури сховищ і способу зберігання даних. Залежно від конфігурації віртуальної машини її диск може бути представлений файлом QCOW2 або RAW, розміщеним у файловій системі, або логічним томом LVM. Від цього залежить вибір інструментів і послідовність дій під час відновлення.
Якщо віртуальна машина перестала запускатися, диск було випадково видалено або снапшот пошкоджено, насамперед потрібно встановити причину проблеми та перевірити доступність вихідних даних. Особливу увагу слід приділити зовнішнім снапшотам QCOW2, оскільки порушення зв’язків між базовим і дочірніми образами може призвести до втрати доступу до актуального стану віртуального диска. У випадку використання LVM необхідно перевірити стан фізичних томів, груп томів і логічних томів, не змінюючи їхню структуру без потреби.
Для підвищення шансів на успішне відновлення рекомендується припинити запис на пошкоджений носій, не видаляти залишкові файли снапшотів і за можливості створити посекторну копію накопичувача або резервну копію образів. Для пошуку втрачених файлів можна використовувати спеціалізовані програми для відновлення даних, зокрема рішення Hetman Software. Водночас результат залежить від характеру пошкодження, стану носія та того, чи були втрачені дані перезаписані.
Щоб мінімізувати ризик повторної втрати інформації, необхідно регулярно створювати резервні копії віртуальних дисків і конфігурацій віртуальних машин, перевіряти цілісність резервних копій та контролювати стан сховищ. Снапшоти варто використовувати як засіб повернення до попереднього стану, а не як повноцінну заміну резервному копіюванню.




