Як відновити данні з ZFS: ZVOL, Dataset, Snapshot та віртуальні диски
Читайте про відновлення даних із файлової системи ZFS у TrueNAS 25.04.2.6. Розглянемо, як виконати аналіз структури пулу та відновити дані з ZVOL, Dataset, Snapshot, а також з віртуальних дисків і віртуальних машин. Розберемо типові сценарії втрати даних, зокрема збої масиву, невдалі оновлення системи, апаратні відмови та випадкове видалення. Усі дії виконаємо за допомогою Hetman RAID Recovery у середовищі Windows, при цьому аналогічні можливості доступні також у Linux та macOS.

- Структура ZFS
- Відновлення даних у ZFS
- Відновлення віртуальних дисків
- Доступ до Snapshot в ZFS
- Відновлення видалених даних
- Висновок
- Питання та відповіді
- Коментарі
Файлова система ZFS давно вважається одним із найнадійніших рішень для зберігання даних завдяки високій стійкості до помилок, вбудованій перевірці цілісності та широким можливостям керування сховищем. Окрім звичайного зберігання файлів, ZFS підтримує такі важливі функції, як ZVOL, Dataset, Snapshot та роботу з віртуальними дисками, що робить її популярною у серверах, NAS-системах і середовищах віртуалізації.
Проте навіть така надійна система не застрахована від збоїв. Пошкодження пулу, випадкове видалення Dataset, втрата Snapshot, помилки під час роботи з ZVOL або збій віртуального диска можуть призвести до втрати доступу до важливої інформації. У таких ситуаціях важливо розуміти, як правильно діяти, щоб не погіршити стан сховища та максимально підвищити шанси на успішне відновлення.
У цій статті ми розглянемо, як відновити дані з ZFS, включаючи ZVOL, Dataset, Snapshot та віртуальні диски, які методи можна використовувати для повернення інформації та які інструменти допоможуть безпечно відновити доступ до файлів після збою.
Відновлення даних у ZFS, ZVOL, Dataset, Snapshot та віртуальні диски
Структура ZFS
У файловій системі ZFS існують три основні типи об’єктів верхнього рівня: Dataset, ZVOL і Snapshot. Кожен з них виконує свою роль і має власні налаштування.
Dataset – це основний файловий контейнер у ZFS-пулі, який функціонує як окрема файлова система для зберігання файлів та каталогів. Ви можете монтувати його безпосередньо в операційній системі з доступом через протоколи FTP, NFS, iSCSI, SSH або SMB. Головна перевага Dataset полягає в тому, що ви можете незалежно налаштовувати його параметри без впливу на інші частини пулу. Під час створення задаєте базові властивості: алгоритм стиснення (LZ4, GZIP, ZSTD, LZJB, ZLE), режим доступу, чутливість до регістру та параметри синхронного запису. Після створення майже всі налаштування можна змінювати в будь-який момент без втрати даних, що дозволяє адаптувати кожен Dataset під ваші конкретні завдання.
ZVOL представляє собою блочний пристрій, тобто віртуальний диск, який на відміну від Dataset не містить файлів безпосередньо. Він надає блоковий простір для створення файлових систем або підключення як диск до віртуальних машин. ZVOL функціонує на рівні блоків та забезпечує стабільнішу продуктивність у порівнянні з файлами-образами.
При створенні ZVOL ви задаєте логічний розмір volsize та розмір блоку volblocksize, які суттєво впливають на продуктивність. Для оптимізації зберігання включіть стиснення для зменшення обсягу та дедуплікацію для усунення дублікатів. Важливо також увімкнути режим sparse, який дозволяє виділяти простір у пулі лише при фактичному записі даних, замість резервування всього обсягу під час створення.
TrueNAS дозволяє також створювати віртуальні диски у вигляді файлів замість ZVOL. Такі файли-образи можуть використовуватися через iSCSI, однак не підтримують режим sparse і займають повний обсяг дискового простора одразу при створенні.
Snapshot – це миттєвий знімок стану Dataset або ZVOL на певний момент часу, створений за механізмом copy-on-write, при якому нові зміни записуються в інші блоки, а попередні залишаються незмінними. Завдяки цьому Snapshot майже не займає додаткового місця та дозволяє відновити попередній стан або окремі файли без впливу на поточні дані. Після створення Snapshot доступний лише для читання його можна видалити або використати для клонування. Управління здійснюється через параметри visible та hide для видимості, а також через snapshot tasks для автоматизації replication та retention щодо передачі та терміну зберігання.
| Тип об’єкта | Призначення | Основні особливості | Де використовується |
|---|---|---|---|
| Dataset | Логічна файлова система всередині пулу ZFS | Підтримує стиснення, квоти, дедуплікацію, окремі права доступу | Зберігання файлів і каталогів |
| ZVOL | Віртуальний блочний пристрій | Працює як звичайний диск, може форматуватись іншою файловою системою | Віртуальні машини, iSCSI, бази даних |
| Snapshot | Знімок стану даних у певний момент часу | Створюється миттєво, займає мінімум місця до змін даних | Резервне копіювання, відкат змін, відновлення |
Відновлення даних у ZFS
Ми розглянемо процес аналізу та відновлення ваших даних за допомогою програми Hetman RAID Recovery.
Hetman RAID Recovery допоможе у критичних ситуаціях, коли серверне обладнання вийшло з ладу, операційна система TrueNAS працює некоректно через оновлення чи системні збої, або диски в сервері вийшли з ладу. Незалежно від причини втрати доступу до ваших даних, програма дозволяє витягнути інформацію та відновити її на окремому накопичувачі.
Підключення дисків
Для початку процесу відновлення необхідно вийняти диски, які входили до складу пулу, та підключити їх до комп’ютера з встановленою програмою Hetman RAID Recovery. Це можна зробити напряму через SATA порти на материнській платі або за допомогою зовнішніх док станцій. Якщо апаратна архітектура вашої робочої станції не дозволяє підключити всі накопичувачі одночасно, програма дозволяє використовувати комбінований підхід.
У ситуації дефіциту вільних портів оптимальним рішенням стане створення віртуальних образів частини дисків. Ви можете підключити частину фізичних накопичувачів напряму, а для інших використовувати їхні точні побітові копії, змонтовані безпосередньо в інтерфейсі утиліти.

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

При розпізнаванні дисків програма аналізує метаінформацію та визначає конфігурацію вашого RAID масиву. Кількість дисків, необхідних для повноцінного відновлення даних, залежить від типу конфігурації, яку ви використовували:
- У конфігурації ZFS Stripe відсутня надмірність, тому необхідна наявність усіх дисків. Відсутність або пошкодження навіть одного накопичувача унеможливлює повне відновлення структури, і в такому випадку можливе лише часткове витягування даних з доступних дисків.
- У RAIDZ1 допускається відмова одного диска. Тому, для відновлення достатньо підключити всі накопичувачі, окрім одного пошкодженого. Якщо відсутні два або більше дисків, то відновлення повної структури стає неможливим.
- RAIDZ2 дозволяє втрату до двох дисків. Для коректної реконструкції пулу достатньо решти справних накопичувачів, що забезпечує відновлення даних навіть при подвійній відмові.
- RAIDZ3 має найвищий рівень відмовостійкості і допускає втрату до трьох дисків. За наявності інших справних накопичувачів можливе повне відновлення даних навіть у складних сценаріях з множинними збоями.
| Тип ZFS | Мінімальна кількість дисків | Допустима втрата дисків | Продуктивність | Рівень захисту даних | Аналог RAID |
|---|---|---|---|---|---|
| Stripe | 2 | 0 | Дуже висока | Немає | RAID 0 |
| RAIDZ1 | 3 | 1 | Висока | Середній | RAID 5 |
| RAIDZ2 | 4 | 2 | Середня | Високий | RAID 6 |
| RAIDZ3 | 5 | 3 | Нижча | Дуже високий | – |
Автоматичне відтворення пулу
Запустіть Hetman RAID Recovery та програма автоматично почне сканування всіх підключених пристроїв. Утиліта зчитує службові метадані ZFS, аналізує конфігурацію віртуальних груп vdev та на основі отриманих даних відновлює коректну модель вашого пулу.

У робочому вікні ви побачите всі виявлені накопичувачі та їх параметри. Оберіть у списку реконструйованих масивів потрібний пул та запустіть режим Fast Scan для швидкого визначення структури даних.

Після завершення сканування у головному вікні відобразиться відновлена файлова система з повною ієрархією каталогів та файлів. Ви матимете можливість переглянути всі Dataset, папки, файли, ZVOL, віртуальні диск-файли (LUN) та Snapshot. Розгортайте папки для перевірки вмісту та визначення потрібних об’єктів для відновлення.

Відмітьте потрібні об’єкти, які ви хочете відновити, та натисніть Recovery.

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

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

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

Відновлення віртуальних дисків
У ситуаціях, коли виникає потреба у відновленні даних через випадкове видалення файлів, форматування розділів або видалення конфігурації віртуальної машини при збереженому ZVOL, Hetman RAID Recovery надає інструменти для глибокого аналізу та повернення інформації.
Програма дозволяє працювати з об’єктами ZFS як з повноцінними накопичувачами, незалежно від того, чи це файл образу диска, чи блочний пристрій ZVOL. Завдяки підтримці широкого спектра файлових систем, включаючи NTFS, ReFS, VMFS, Ext, XFS, BTRFS, FAT, ExFAT, APFS, HFS та HikvisionFS, ви можете успішно відновлювати дані з віртуальних середовищ будь-якої складності.
Процес відновлення починається з запуску швидкого сканування пулу для пошуку необхідного ZVOL або віртуального диска.

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

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

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

Доступ до Snapshot в ZFS
Hetman RAID Recovery дозволяє ефективно відновлювати видалені або змінені дані з об’єктів ZVOL та віртуальних дисків, використовуючи раніше створені Snapshot. Це рішення є критично важливим у ситуаціях, коли повний відкат системи або rollback є недоцільним через загрозу втрати актуальних змін, внесених після створення знімка та дозволяє зберегти актуальний стан системи та одночасно повернути лише необхідні дані.
Для початку роботи необхідно запустити режим Fast Scan, після чого в ієрархії пулу з’явиться спеціальна папка Snapshot.

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


Якщо збереження великих образів ZVOL на локальний диск комп’ютера є неможливим через брак часу або вільного місця, доцільно скористатися функцією монтування об’єктів безпосередньо в інтерфейсі програми. Це дозволяє працювати з віртуальними дисками та образами LUN як зі звичайними накопичувачами без їх попереднього вивантаження на фізичний носій. Хоча швидкість обробки даних у такому режимі може бути дещо нижчою, це суттєво економить ресурси та дозволяє одразу перейти до глибокого пошуку файлів усередині гостьових файлових систем, таких як NTFS, ext4 або XFS.

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

Далі, залишається лише натиснути Recovery і вказати шлях до безпечного носія.

Такий підхід робить процес відновлення прозорим і зручним, забезпечуючи гнучкість у роботі з даними в продуктивних середовищах, де безперервність сервісів має найвищий пріоритет.
Відновлення видалених даних
У випадках, коли дані були видалені безпосередньо з пулу, а знімки Snapshot відсутні або були перезаписані, стандартний аналіз метаданих стає неефективним. Специфіка файлової системи ZFS та механізму copy on write призводить до того, що після видалення об’єктів дерево каталогів часто не зберігається. Проте самі дані залишаються в блоках пулу, що дозволяє програмі Hetman RAID Recovery успішно їх знайти та повернути навіть за відсутності записів у таблиці розміщення.
Причинами такої втрати можуть бути випадкове видалення датасетів, ZVOL або віртуальних машин разом із прив’язаними дисками.
Також, критичною є ситуація ініціалізації дисків у сторонніх операційних системах, таких як Windows або macOS, що призводить до затирання початкової службової інформації ZFS. У таких сценаріях програма виконує низькорівневий аналіз усієї поверхні дисків, ідентифікуючи файли та логічні структури за їхніми сигнатурами.
Для відновлення необхідно обрати реконструйований масив і запустити режим Full scan. Цей процес потребує більше часу, оскільки програма працює безпосередньо з блоками даних, збираючи розрізнені фрагменти в цілісні об’єкти. Якщо видалення відбулося всередині віртуальної машини, застосовується подвійний аналіз: спочатку відновлюється ZVOL як блочний пристрій, а потім сканується його внутрішня файлова система для пошуку даних гостьової ОС.

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

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

Після вибору потрібних елементів натисніть Recovery та вкажіть шлях до окремого безпечного носія з достатньою кількістю вільного місця. Програма повідомить про завершення копіювання, після чого всі дані будуть готові до використання.
Висновок
Відновлення даних з файлової системи ZFS, включаючи ZVOL, Dataset, Snapshot та віртуальні диски, можливе навіть після серйозних збоїв, якщо діяти обережно та послідовно. Завдяки вбудованим механізмам контролю цілісності, знімкам і гнучкій структурі зберігання ZFS значно підвищує шанси на успішне повернення інформації порівняно з багатьма іншими файловими системами.
Особливо важливу роль у відновленні відіграють snapshots, які дозволяють повернути попередній стан даних без складної реконструкції всього пулу. У випадку з ZVOL і віртуальними дисками додатковою перевагою є можливість роботи з окремими блочними пристроями, що спрощує аналіз та копіювання інформації. Водночас пошкодження metadata або помилки в структурі pool можуть значно ускладнити процес і вимагати спеціалізованих інструментів.
Щоб підвищити шанси на успішне відновлення, важливо не виконувати запис на проблемний пул, не створювати нові datasets і по можливості працювати лише з копіями накопичувачів. У складних випадках найкращим рішенням може стати звернення до фахівців з відновлення даних.
Таким чином, навіть складна архітектура ZFS не є перешкодою для відновлення, якщо правильно використати її можливості та дотримуватися безпечного підходу до роботи з пошкодженим сховищем.







