Восстановление данных ZFS: руководство по RAIDZ1, RAIDZ2, RAIDZ3 и Stripe
В этой статье мы рассматриваем процедуры восстановления данных из массивов RAIDZ1, RAIDZ2, RAIDZ3 и ZFS Stripe, созданных в операционной системе TrueNAS SCALE. Демонстрируется последовательность действий при аппаратном отказе сервера и методология восстановления доступа к пулу данных при выходе из строя одного или нескольких дисков либо при случайном удалении данных из массива.

- Возможности TrueNAS SCALE
- Метод 1. Автоматическое восстановление ZFS‑массивов
- Метод 2. Восстановление RAIDZ при отсутствии дисков
- Метод 3. Восстановление удалённых файлов
- Заключение
- Вопросы и ответы
- Комментарии
Помимо аппаратных отказов, мы рассматриваем восстановление после удаления целого датасета, повреждения пула, критического сбоя операционной системы, повреждения файловой системы ZFS, ошибок при добавлении новых дисков, некорректного поведения контроллера и случайной инициализации дисков в другой системе.
Восстановление данных выполняется на Linux Ubuntu, но также возможно в средах Windows и macOS.
Восстановление данных с RAID-массивов SHR-2 и SHR-1, созданных на NAS Synology DS418play
Возможности TrueNAS SCALE
TrueNAS — открытая операционная система для построения сетевого хранилища, основанная на Linux с применением файловой системы ZFS. Обеспечивает защиту данных, проверку целостности, эффективное управление дисками и поддерживает запуск виртуальных машин.
Платформа поддерживает различные типы RAID, включая RAIDZ, который сочетает производительность и отказоустойчивость. TrueNAS SCALE позволяет горизонтально масштабироваться за счёт объединения нескольких узлов в кластер при сохранении ключевых возможностей ZFS: самовосстановление, снимки (snapshots), сжатие, дедупликация и шифрование.

Система совместима с протоколами 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), репликация, Rsync |
| Облачные сервисы | Интеграция с AWS, Google Cloud, Azure |
| Мониторинг | Оповещения, логи, статистика |
| Плагины / Приложения | Расширяемость через каталог приложений |
| Высокая доступность | Поддержка кластера (HA) |
| Поддержка GPU | Да (для контейнеров и ВМ) |
Метод 1. Автоматическое восстановление ZFS‑массивов
В случае отказа аппаратных компонентов сервера (блок питания, материнская плата или контроллер дисков) прямой доступ к данным из операционной системы становится невозможным.
Подобные ситуации также возникают, когда сервер не загружается вследствие критической ошибки при обновлении TrueNAS SCALE или когда повреждён системный раздел.
Даже если файлы и диски не получили физического повреждения, доступ к RAIDZ-массиву может быть утрачен, и стандартные инструменты ZFS могут не обнаруживать диски или не позволять импорт пула. В таких случаях специализированное программное обеспечение, например Hetman RAID Recovery, обеспечивает безопасный доступ к данным и восстановление информации.
В этом примере мы демонстрируем автоматизированный процесс восстановления на компьютере под управлением Ubuntu.
Сначала выключите сервер и аккуратно извлеките все диски, которые входили в состав массива.

Подключите их к рабочей станции: оптимальный вариант — напрямую к материнской плате через SATA‑кабели для максимальной скорости и стабильности передачи данных. Если на материнской плате нет свободных портов, можно использовать внешние USB‑доки или адаптеры USB→диск.

Учтите, что при подключении через док‑станции скорость сканирования может быть ниже, поэтому для больших объёмов данных предпочтительнее использовать внутренние порты.
После подключения убедитесь, что диски отображаются в Ubuntu в утилите Disks, но не инициализируйте их, если система предлагает выполнить это действие.

Сразу после проверки запустите Hetman RAID Recovery для автоматической сборки массива.
Ключевая особенность Hetman RAID Recovery — глубокий анализ служебных метаданных ZFS. Программа не требует работающей операционной системы или контроллера — она считывает служебную информацию напрямую с дисков и автоматически реконструирует структуру пула.
Поскольку ZFS хранит все критические данные конфигурации массива внутри самого пула, логическая целостность файлов сохраняется даже при полной недоступности серверной среды. В результате пользователь получает доступ к данным в привычном виде без зависимости от исходной системы.
В этой статье демонстрируются различные конфигурации массива:
- RAIDZ1 на трёх дисках,
- RAIDZ2 на четырёх,
- RAIDZ3 на пяти,
- и Stripe на двух дисках.

Далее подробно рассмотрим алгоритм восстановления для трёхдискового массива RAIDZ1 в ситуации полного аппаратного отказа сервера или критической ошибки после обновления TrueNAS SCALE.
Важно отметить, что этот подход универсален и также применим к конфигурациям RAIDZ2, RAIDZ3 и Stripe.
После запуска Hetman RAID Recovery программа автоматически сканирует все подключённые устройства. Программа считывает служебные метаданные ZFS, анализирует конфигурацию виртуальных vdev‑групп и на основе полученных данных реконструирует корректную модель RAIDZ1.
В рабочем окне отображаются обнаруженные диски и собранные логические структуры — вы можете сразу продолжить работу с ними: выполнить детальный анализ, просмотреть структуру данных или восстановить необходимые файлы.

Выберите требуемый RAIDZ1 из списка реконструированных массивов и запустите режим Быстрая проверка (Fast scan) для оперативного определения структуры данных.

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

На следующем шаге укажите папку для сохранения данных — предпочтительно на отдельном носителе с достаточным свободным объёмом.

Подтвердите запуск процесса, укажите итоговый путь назначения и снова нажмите Recovery для начала копирования. По завершении операции нажмите Finish.
В результате данные из пула ZFS RAIDZ1 будут восстановлены и доступны для обычного использования.

Метод 2. Восстановление RAIDZ при отсутствии дисков
Рассмотрим случай выхода из строя одного или нескольких дисков в массиве RAIDZ.
Архитектура RAIDZ обеспечивает отказоустойчивость в зависимости от типа массива:
- RAIDZ1 выдерживает потерю одного диска.
- RAIDZ2 выдерживает потерю двух дисков.
- RAIDZ3 выдерживает потерю трёх дисков.
В случае Stripe отсутствует избыточность, поэтому выход любого диска из строя приводит к полной потере данных.

Если невозможно подключить все диски, можно создать образ отсутствующего диска и использовать его вместе с другими дисками для дальнейшего восстановления.
Благодаря механизмам распределённого паритета и проверкам целостности данных специализированное ПО, такое как Hetman RAID Recovery, может реконструировать утраченные блоки и восстановить доступ к информации, если число вышедших из строя дисков не превышает допустимый уровень для конкретного типа RAIDZ.
Если этот порог превышен, логическая структура массива нарушается и стандартные программные методы становятся неэффективны. В таких ситуациях восстановление возможно только с использованием профессионального оборудования в специализированных лабораториях.
Убедитесь, что целевой носитель имеет достаточный объём свободного пространства для сохранения восстановленных данных и аккуратно извлеките диски из сервера, подключив их к компьютеру через SATA‑порты или внешнюю док‑станцию. Важно избегать любых записей на этих дисках, так как это может привести к необратимой потере данных.

Перед началом закройте все приложения, которые могут использовать эти диски, и временно отключите автоматические резервные копии или синхронизацию. Если система не монтирует массив, не инициализируйте диски, не создавайте разделы и не форматируйте их.
Оставьте их в текущем состоянии и переходите непосредственно к процедуре восстановления. Следование этим рекомендациям значительно повышает шансы успешного и безопасного восстановления данных независимо от типа RAIDZ или конфигурации Stripe.
Если архитектура вашей рабочей станции не позволяет одновременно подключить все диски, оптимальным решением будет использование виртуальных образов дисков. Этот метод предполагает создание точных побитовых копий каждого диска для последующего анализа.
После монтирования образа отсутствующего диска Hetman RAID Recovery будет рассматривать его как полноценное физическое устройство и, в сочетании с доступными дисками, автоматически реконструирует структуру массива. Такой подход позволяет начать восстановление данных даже при нехватке портов подключения — сохраняя безопасность и целостность данных на каждом этапе.
Рассмотрим процесс восстановления на примере RAIDZ3, в котором одновременно вышли из строя три диска.
Эта конфигурация массива позволяет вернуть данные даже при столь серьёзной отказе — мы выполняем это с помощью Hetman RAID Recovery.
Сразу после открытия программное обеспечение автоматически сканирует все подключённые диски, считывает служебную информацию и на её основе реконструирует исходную структуру массива. В рабочем окне отображаются все обнаруженные физические диски и сформированные виртуальные конфигурации, которые можно сразу использовать. Выберите найденный RAIDZ3 и запустите Быструю проверку (Fast scan).

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

Отметьте необходимые элементы и нажмите Recovery. Затем укажите папку для сохранения и подтвердите операцию, снова нажав Recovery.

После завершения копирования — нажмите Finish.
По завершении всех шагов восстановленные файлы из массива RAIDZ3 будут полностью пригодны для обычной эксплуатации.

Метод 3. Восстановление удалённых файлов
Наконец, рассмотрим один из наиболее распространённых сценариев — случайное удаление файлов из RAID‑массива.
В этом примере мы восстанавливаем данные из Stripe, созданного на двух дисках под файловой системой ZFS.
Особенность Stripe в том, что данные распределяются по всем дискам без какой‑либо избыточности. Это означает, что ни один отдельный диск не содержит целиком файлы. Для успешного восстановления все диски должны быть подключены одновременно и рассматриваться как единая логическая структура. Если один из дисков отсутствует или не подключён, программное обеспечение не сможет считать данные.

Перед началом убедитесь, что все диски физически подключены к компьютеру — напрямую через SATA к материнской плате или с использованием внешней док‑станции.
Важно не записывать новые данные на эти диски и не инициализировать их в системе, чтобы избежать перезаписи утраченных файлов.

В Ubuntu запустите Hetman RAID Recovery.
Программное обеспечение автоматически просканирует все подключённые диски, прочитает метаданные ZFS и восстановит логическую структуру Stripe соответствующим образом. В главном окне вы увидите физические диски и собранный массив, готовый к работе.

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

Дополнительные настройки обычно не требуются; просто нажмите Next и дождитесь окончания процесса. По завершении сканирования в главном окне будет показана восстановленная структура массива со всеми папками и файлами. При необходимости используйте превью для проверки содержимого документов, изображений или других файлов.
Отметьте необходимые файлы и папки и нажмите Recovery.

Укажите место назначения для восстановленных данных на отдельном носителе с достаточным объёмом свободного пространства и подтвердите запуск процесса, снова нажав Recovery.
После завершения копирования нажмите Finish.

В результате все файлы будут восстановлены и доступны для обычного использования.
Этот процесс обеспечивает безопасность данных, позволяет восстановить файлы даже после случайного удаления и сохраняет структуру файловой системы ZFS без риска повреждения других данных на дисках.
Заключение
Восстановление данных из файловой системы ZFS и массивов RAIDZ1, RAIDZ2, RAIDZ3 и Stripe является сложной задачей, но вполне осуществимо при правильном подходе и понимании архитектуры этих решений. Благодаря встроенным механизмам проверки целостности и обнаружения ошибок ZFS обеспечивает высокий уровень защиты, особенно в конфигурациях RAIDZ2 и RAIDZ3.
Тем не менее даже такие надёжные системы не застрахованы от потери данных вследствие аппаратных отказов, ошибок пользователя или критического повреждения пула. Менее защищённой остаётся конфигурация Stripe, где отсутствие избыточности означает полную потерю данных при выходе любого диска из строя.
Успех восстановления зависит от множества факторов: типа RAID, числа вышедших из строя дисков, состояния файловой системы и оперативности действий. Ключевые рекомендации — немедленно прекратить записи в затронутый массив, выполнить корректную диагностику и использовать специализированное ПО или услуги профессионалов.
Таким образом, чтобы минимизировать риск потери данных, важно не только знать методы их восстановления, но и заранее реализовать стратегии резервного копирования и выбирать соответствующий уровень RAID в соответствии с критичностью информации.







