Як відновити дані з віртуальних дисків QCOW2 та снапшотів KVM (QEMU) у RHEL 7.9

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

Як відновити дані з віртуальних дисків QCOW2 та снапшотів 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 (QEMU) та снапшоти з RHEL 7.9

Архітектура KVM та LVM у RHEL 7.9

Розглянемо детальніше архітектуру нашої серверної системи.

Сама операційна система Red Hat Enterprise Linux версії 7.9 встановлена на окремому системному диску з файловою системою XFS. А от сховище для середовища віртуалізації KVM має комплексну, багаторівневу дискову підсистему.

Архітектура KVM та LVM у RHEL 7.9

В основі системи лежать дискові масиви RAID 5 та RAID 0. Поверх них розгорнуто логічні томи LVM. Для забезпечення безпеки даних ці томи додатково зашифровані за стандартом LUKS, і лише всередині цього криптоконтейнера створено файлову систему ext4, де безпосередньо розміщуються файли віртуальних машин.

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

Головна проблема полягає в тому, що така складна архітектура суттєво ускладнює процес відновлення даних. Уся ця структура (RAID, LVM, LUKS та ext4) тісно пов’язана між собою. Збій на будь-якому з цих рівнів миттєво руйнує весь ланцюжок і повністю блокує доступ до віртуальних машин.

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

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

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

Для відновлення даних із пошкоджених RAID-масивів, NAS-пристроїв та інших багатодискових систем зберігання.
Компонент Призначення та особливості
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 на верхній панелі, вказавши шлях для збереження.

Hetman RAID Recovery: створення посекторного образу диска

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

Hetman RAID Recovery: відкрийте головне меню, оберіть пункт Mount disk

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

Hetman RAID Recovery: Mount disk - Raw disk images

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

Hetman RAID Recovery: Mounted Disks

Як відновити віртуальні машини KVM (QEMU) та снапшоти з RHEL 7.9

СПОСІБ 1. Відновлення файлів віртуальних машин

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

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

Hetman RAID Recovery: автоматично визначені розділи RAID

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

Hetman RAID Recovery: розблокування масиву введенням пароля від LUKS

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

Hetman RAID Recovery: Fast scan розблокованого масиву

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

Hetman RAID Recovery: неушкоджений файл qcow2

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

Hetman RAID Recovery: Виділяємо знайдений образ та натискаємо Recovery

СПОСІБ 2. Відновлення файлів з гостьових ОС

Тепер розглянемо іншу поширену ситуацію: втрата даних відбулася безпосередньо всередині самої віртуальної машини. У нашому прикладі це гостьова операційна система Windows 10.

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

Hetman RAID Recovery: відкрийте меню Mount disk

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

Hetman RAID Recovery

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

Hetman RAID Recovery

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

Hetman RAID Recovery

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

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

Hetman RAID Recovery: виділіть потрібні файли та натисніть Recovery

СПОСІБ 3. Відновлення даних за допомогою снапшотів

Ще одна потужна функція Hetman RAID Recovery полягає в роботі зі снапшотами, тобто знімками стану системи.

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

Hetman RAID Recovery: програма автоматично знаходить усі наявні снапшоти

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

Hetman RAID Recovery: змонтовані до програми усі наявні снапшоти

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

Hetman RAID Recovery

Висновок

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

Якщо віртуальна машина перестала запускатися, диск було випадково видалено або снапшот пошкоджено, насамперед потрібно встановити причину проблеми та перевірити доступність вихідних даних. Особливу увагу слід приділити зовнішнім снапшотам QCOW2, оскільки порушення зв’язків між базовим і дочірніми образами може призвести до втрати доступу до актуального стану віртуального диска. У випадку використання LVM необхідно перевірити стан фізичних томів, груп томів і логічних томів, не змінюючи їхню структуру без потреби.

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

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

Valery Martyshko

Автор: , Технічний письменник

Автор, перекладач та технічний спеціаліст компанії Hetman Software. Має майже десятирічний досвід роботи в IT сфері, який охоплює різні галузі: від ПК з Windows та мобільних пристроїв, до фото та відео обладнання, сигналізацій та систем відеоспостереження, і т.д. Окрім іншого, є також спеціалістом по Android, Windows та Microsoft Office. Є експертом в області відновлення даних, файлових систем, пристроїв зберігання даних, RAID масивів.

Vladyslav Kupriyenko

Редактор: , Технічний письменник

Редактор статей блогу, автор та ведучий рубрики на YouTube каналі компанії Hetman Software. За освітою: спеціаліст з обслуговування комп’ютерних систем та мереж, вивчав розробку програмного забезпечення. Має досвід роботи в IT сфері, який охоплює різні галузі: адміністрування комп’ютерної мережі та обладнання, контроль та підтримка роботи Інтернет, офісних та спеціалізованих програм. Є фахівцем в області відновлення даних, файлових систем та пристроїв зберігання даних.

Рекомендуємо для вас