Відновлення даних ZFS: посібник із RAIDZ1, RAIDZ2, RAIDZ3 та Stripe

У цій статті ми розглянемо процедури відновлення даних із масивів RAIDZ1, RAIDZ2, RAIDZ3 та Stripe ZFS, створених в операційній системі TrueNAS SCALE. Продемонструємо послідовність дій у разі апаратної відмови сервера та методику відновлення доступу до пулу даних при виході з ладу одного чи кількох накопичувачів або випадковому видаленні інформації з масиву.

Відновлення даних ZFS: посібник із RAIDZ1, RAIDZ2, RAIDZ3 та Stripe

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

Відновлення даних відбувається в операційній системі Linux Ubuntu, але можливе також у середовищі Windows і macOS.

Перейти до перегляду
Відновлення даних з RAIDZ1, RAIDZ2, RAIDZ3, Stripe масивів ZFS

Відновлення даних з RAIDZ1, RAIDZ2, RAIDZ3, Stripe масивів ZFS

Можливості TrueNAS SCALE

TrueNAS – це відкрита операційна система для побудови мережевих сховищ даних, яка базується на Linux і використовує файлову систему ZFS. Вона забезпечує захист даних, перевірку цілісності, ефективне управління дисками та підтримує запуск віртуальних машин.

Платформа підтримує різні типи RAID, включаючи RAIDZ, що поєднує продуктивність і відмовостійкість. TrueNAS Scale дозволяє горизонтальне масштабування, об’єднуючи кілька вузлів у кластер, зберігаючи ключові функції ZFS: самовиправлення даних, снапшоти, компресію, дедуплікацію та шифрування.

TrueNAS Scale

Система сумісна з протоколами SMB, NFS, iSCSI та S3, а також дозволяє запускати контейнери та Kubernetes, що робить її універсальним рішенням для збереження та обробки даних у різних середовищах.

RAIDZ – надлишковий масив дисків у ZFS із розподіленим паритетом. Використання блоків змінної довжини оптимізує запис і дозволяє автоматично виправляти помилки підчас зчитування.

При відновленні деградованого масиву (resilvering) навантаження на інші диски суттєво зростає. Тому RAIDZ найкраще підходить для середовищ із помірними вимогами до відмовостійкості або для дисків невеликого об’єму, де час відновлення масиву мінімальний.

Категорія Можливості
Тип системи NAS / сервер з відкритим кодом на базі Linux
Файлова система Підтримка ZFS
RAID RAIDZ1, RAIDZ2, RAIDZ3, Stripe, Mirror
Масштабування Горизонтальне (Scale-out)
Віртуалізація Підтримка KVM (віртуальні машини)
Контейнери Kubernetes, Docker (через Apps)
Мережеві протоколи SMB, NFS, FTP, iSCSI
Керування Веб-інтерфейс (GUI)
Безпека Шифрування даних, контроль доступу, ACL
Резервне копіювання Snapshots, Replication, Rsync
Хмарні сервіси Інтеграція з AWS, Google Cloud, Azure
Моніторинг Система сповіщень, журнали, статистика
Плагіни / Apps Розширення через каталог додатків
Висока доступність Підтримка кластерів (HA)
Підтримка GPU Так (для контейнерів і VM)

Спосіб 1. Автоматичне відновлення ZFS масивів

У разі виходу з ладу апаратних компонентів сервера (блока живлення, материнської плати або дискового контролера) прямий доступ до даних із операційної системи стає неможливим.

Також такі ситуації виникають, коли сервер перестав завантажуватися через критичну помилку під час оновлення TrueNAS SCALE або при пошкодженні системного розділу.

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

Відновлення даних з пошкоджених RAID-масивів, недоступних для комп'ютера.

У цьому прикладі ми покажемо процес відновлення даних у автоматичному режимі на комп’ютері з Ubuntu.

Спершу вимкніть сервер і обережно витягніть усі диски, що входили до складу масиву.

Вимкніть сервер і обережно витягніть усі диски

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

Підключіть диски сервера до робочої станції

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

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

Диски відображаються в Ubuntu у програмі Disks

Одразу після перевірки перейдіть до запуску Hetman RAID Recovery для автоматичного збору масиву.

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

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

У цій статті для демонстрації використовуються різні конфігурації масивів:

  • RAIDZ1 на трьох дисках,
  • RAIDZ2 на чотирьох,
  • RAIDZ3 на п’яти,
  • а також Stripe на двох накопичувачах.
Таблиця: різні конфігурації RAIDZ

Детально розглянемо алгоритм відновлення для масиву RAIDZ1 із трьох дисків у ситуації повної апаратної відмови сервера або критичної помилки після оновлення TrueNAS Scale.

Важливо, що цей підхід є універсальним і може застосовуватись також для конфігурацій RAIDZ2, RAIDZ3 та Stripe.

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

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

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

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

Hetman RAID Recovery: оберіть у списку реконструйованих масивів потрібний RAIDZ1

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

Hetman RAID Recovery: відновлена файлова система з повною ієрархією

На наступному кроці вкажіть папку для збереження даних – бажано на окремому носії з достатнім обсягом вільного місця.

Hetman RAID Recovery: доступні способи збереження даних

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

У підсумку дані з пулу ZFS RAIDZ1 будуть відновлені та стануть доступними для подальшого використання у звичному вигляді.

Hetman RAID Recovery: збережені дані з пулу ZFS RAIDZ1

Спосіб 2. Відновлення RAIDZ без кількох дисків

Тепер розглянемо випадок відмови одного або кількох дисків у масиві RAIDZ.

Архітектура RAIDZ забезпечує відмовостійкість залежно від типу масиву:

  • RAIDZ1 допускає втрату одного диска.
  • RAIDZ2 допускає втрату двох дисків.
  • RAIDZ3 допускає втрату трьох дисків.

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

Таблиця: архітектура RAIDZ

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

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

Відновлення даних з пошкоджених RAID-масивів, недоступних для комп'ютера.

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

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

Підключення дисків сервера до комп’ютера через зовнішню док-станцію

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

Необхідно залишити їх у поточному стані та одразу перейти до процедури відновлення. Дотримання цих рекомендацій суттєво підвищує шанси на успішне та безпечне відновлення даних незалежно від типу масиву RAIDZ або конфігурації Stripe.

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

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

Розберемо процес відновлення інформації на прикладі RAIDZ3, у якому одночасно відмовили три диски.

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

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

Hetman RAID Recovery: пул ZFS

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

Hetman RAID Recovery: пул ZFS після сканування

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

Hetman RAID Recovery: аналіз пулу ZFS

Коли копіювання завершиться – натисніть Finish.

Після проходження всіх етапів відновлені файли з RAIDZ3-масиву стануть повністю придатними для використання у штатному режимі.

Відновлені дані пулу ZFS

Спосіб 3. Відновлення видалених файлів

Наостанок розглянемо одну з найпоширеніших ситуацій – випадкове видалення файлів з RAID-масиву.

У цьому прикладі відновлюємо дані зі Stripe, створеного з двох дисків під файловою системою ZFS.

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

Структура пулу ZFS

Перед початком роботи переконайтеся, що всі диски фізично підключені до комп’ютера – безпосередньо через SATA до материнської плати або за допомогою зовнішньої док-станції.

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

Ubuntu: Disks утиліта

В Ubuntu запустіть Hetman RAID Recovery.

Відновлення даних з пошкоджених RAID-масивів, недоступних для комп'ютера.

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

Hetman RAID Recovery: пул ZFS

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

Hetman RAID Recovery: повний аналіз пулу ZFS

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

Оберіть необхідні файли та папки й натисніть Recovery.

Hetman RAID Recovery: відновлення даних пулу ZFS

Вкажіть місце збереження відновлених даних на окремому носії з достатнім обсягом вільного простору й підтвердіть запуск процесу повторним натисканням Recovery.

Після завершення копіювання натисніть Finish.

Hetman RAID Recovery: завершене відновлення даних пулу ZFS

В результаті всі файли будуть відновлені та доступні для роботи у звичному вигляді.

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

Висновок

Відновлення даних із файлової системи ZFS та масивів RAIDZ1, RAIDZ2, RAIDZ3 і Stripe є складним, але цілком реальним завданням за умови правильного підходу та розуміння архітектури цих рішень. Завдяки вбудованим механізмам цілісності даних і контролю помилок ZFS забезпечує високий рівень захисту, особливо у конфігураціях RAIDZ2 та RAIDZ3.

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

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

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

Valery Martyshko

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

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

Vladyslav Kupriyenko

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

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

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