Как восстановить данные из Linux MD RAID 6 с шифрованием LUKS и fscrypt
Восстановление данных с Linux MD RAID 6, дополнительно защищённого шифрованием LUKS и fscrypt, представляет собой сложный многоуровневый процесс, в котором важно корректно определить состояние массива RAID, порядок подключения дисков и уровни шифрования. Ошибка на любом этапе — от неверной сборки массива до попытки смонтировать повреждённую файловую систему — может существенно осложнить дальнейшее восстановление. В этой статье описан безопасный подход к диагностике и реконструкции RAID 6, открытию контейнера LUKS и дальнейшей работе с данными, защищёнными fscrypt.

- Настройка RAID, LUKS2 и fscrypt
- Подключение дисков массива RAID
- Как восстановить данные с Linux RAID 6
- Заключение
- Часто задаваемые вопросы
- Комментарии
Особенность такой конфигурации заключается в том, что данные одновременно проходят через несколько уровней абстракции. Сначала физические диски объединяются в массив RAID 6 средствами Linux MD; затем полученный массив может содержать зашифрованный контейнер LUKS; а внутри файловой системы отдельные каталоги или файлы могут быть дополнительно защищены с помощью fscrypt. Поэтому даже полностью исправные диски и корректно собранный RAID ещё не гарантируют доступ к требуемым данным.
В процессе восстановления критически важно соблюдать правильную последовательность действий. До любых попыток записи на накопители следует оценить их состояние, определить параметры массива RAID, проверить метаданные и, если возможно, создать посекторные копии проблемных дисков. Особенно опасны автоматическая перестройка массива, проверка файловой системы с исправлением ошибок или повторная инициализация контейнера LUKS — такие действия могут изменить структуры, необходимые для дальнейшего восстановления.
Шифрование добавляет ещё один уровень сложности. Для LUKS необходимо сохранить доступ к заголовку контейнера, слотам ключей и соответствующим парольным фразам или файлам ключей. В случае fscrypt доступа только к файловой системе может быть недостаточно: для расшифровки отдельных каталогов требуются соответствующие ключи и метаданные политики шифрования. Если хотя бы один из этих элементов утрачен, возможности восстановления могут быть существенно ограничены.
Далее рассмотрим порядок работы с такой системой: от диагностики физических дисков и ручной сборки Linux MD RAID 6 в режиме, минимизирующем риск записи, до открытия контейнера LUKS, проверки файловой системы и восстановления доступа к данным, защищённым fscrypt. Основной принцип на каждом этапе — сначала максимально сохранить исходную информацию, и только затем переходить к попыткам восстановления.
Как восстановить данные с Linux RAID 6 с LUKS2 и fscrypt | 2 отсутствующих диска
| Уровень / технология | Назначение | Основная характеристика | Что важно при восстановлении |
|---|---|---|---|
| Linux MD RAID 6 | Объединяет несколько дисков в отказоустойчивый массив | Использует двойную паритетную информацию и допускает отказ до двух дисков | Важно правильно определить порядок дисков, параметры массива, UUID и состояние метаданных; не следует запускать автоматическую перестройку без предварительного анализа |
| LUKS | Полнодисковое или блочное шифрование | Шифрует весь логический том или контейнер | Для доступа требуется корректный заголовок LUKS и парольная фраза или ключ; повреждение заголовка может сделать данные недоступными даже при исправном RAID |
| Файловая система | Хранит каталоги, файлы и метаданные | Находится внутри разблокированного контейнера LUKS | Желательно работать с копией до выполнения исправления ошибок; автоматические операции восстановления могут изменить важные структуры |
| fscrypt | Шифрует отдельные каталоги или файлы | Работает на уровне файловой системы и может защищать только выбранные данные | Необходимы соответствующие ключи, политики шифрования и метаданные; разблокировка LUKS не предоставляет автоматический доступ к данным, защищённым fscrypt |
| Ключи и метаданные | Обеспечивают доступ к зашифрованной информации | Ключи могут храниться отдельно от самих данных | Потеря пароля, файла ключа, резервной копии заголовка LUKS или ключей fscrypt может критически ограничить варианты восстановления |
| Последовательность уровней | Определяет порядок доступа к данным | Типичная схема: диски → MD RAID 6 → LUKS → файловая система → fscrypt → файлы | Восстановление следует выполнять в том же порядке — от нижнего уровня к верхнему |
| Риск записи | Влияет на сохранность исходных данных | Любая перестройка, монтирование в режиме чтения-записи или операция исправления может изменить структуры | Предпочтительно сначала создать образы дисков и работать в режиме только чтения |
| Сложность диагностики | Определяет количество потенциальных точек отказа | Проблема может находиться на уровне диска, RAID, LUKS, файловой системы или fscrypt | Неисправность необходимо локализовать пошагово, не смешивая проблемы разных уровней |
Настройка RAID, LUKS2 и fscrypt
Для тестирования Hetman RAID Recovery мы подготовили сервер Dell PowerEdge R710 с RAID-контроллером PERC H700 и установленной Ubuntu Server 24.04 LTS.
Из четырёх HDD по 60 ГБ был создан программный массив Linux MD RAID 6 общей ёмкостью примерно 120 ГБ с помощью mdadm. Размер chunk составлял 512 КБ (в Hetman RAID Recovery этот параметр отображается как Размер блока).

На массиве был настроен зашифрованный том LUKS2, а внутри него создана файловая система EXT4. Дополнительный каталог на этом разделе был зашифрован с помощью fscrypt с использованием собственной парольной фразы.

После подготовки хранилища были записаны тестовые файлы, а затем часть обычных данных была удалена из EXT4 и часть файлов из каталога, защищённого fscrypt.
Подключение дисков массива RAID
МЕТОД 1. Подключение физических дисков.
Диски массива RAID можно подключить через:
- SATA;
- SAS;
- Fibre Channel;
- HBA;
- RAID-контроллер.
Однако важно, чтобы контроллер предоставлял программе доступ к каждому физическому диску отдельно.
Также можно использовать:
- USB-адаптеры;
- док-станции;
- внешние корпуса.
Для длительного анализа лучше использовать прямое подключение через SATA, SAS, HBA или соответствующий контроллер — как правило, это быстрее и стабильнее.

Подключение всех дисков массива не всегда обязательно. Hetman RAID Recovery учтёт отсутствующие диски и сможет восстановить их данные, если уровень RAID это позволяет и оставшихся исправных накопителей достаточно для восстановления массива. Например, RAID 5 допускает отсутствие одного диска, а RAID 6 — двух.
После подключения дисков Windows может предложить инициализировать или отформатировать их. Не соглашайтесь — закройте это сообщение, чтобы не изменить данные RAID и служебную информацию.
МЕТОД 2. Работа с образами дисков
Работа с образами полезна, если не хватает портов для одновременного подключения всех дисков или если накопители имеют плохие показатели SMART, ошибки чтения либо нестабильную работу.
Чтобы создать образ в Hetman RAID Recovery, выберите нужный физический диск в главном окне программы и нажмите Сохранить диск.

В мастере сохранения выберите создание образа всего диска, укажите папку и имя файла, а затем запустите копирование.
Предпочтительно сохранять образ на другой исправный накопитель с достаточным свободным местом.
Для дальнейшей работы нажмите Подключить диск – RAW-образы дисков. Выберите созданные файлы образов и добавьте их в программу.

После этого Hetman RAID Recovery будет работать с ними как с обычными физическими дисками и сможет использовать их для автоматической или ручной реконструкции RAID.

МЕТОД 3. Подключение дисков по SSH
Если сервер Linux остаётся доступен по сети, диски можно добавить удалённо через Инструменты – Подключиться по SSH.

Укажите адрес сервера, порт и данные аутентификации, затем выберите требуемые физические диски или тома. Они будут добавлены в Hetman RAID Recovery и станут доступны для анализа и реконструкции RAID без физического подключения к компьютеру.

Как восстановить данные с Linux RAID 6
ШАГ 1. Автоматическое определение массива RAID
После запуска Hetman RAID Recovery программа автоматически анализирует доступные диски и ищет на них признаки массивов RAID. Если нужные диски уже подключены к компьютеру, найденный массив отображается в разделе Массивы RAID сразу после запуска.
Если диски добавлены позже — подключены физически, смонтированы из образов или добавлены через SSH — программа повторно анализирует доступные члены RAID и, если информации достаточно, автоматически реконструирует массив.

Для обнаруженного RAID Hetman RAID Recovery отображает его основные параметры:
- тип и ёмкость массива;
- размер сектора и блока;
- схему размещения данных;
- состояние RAID;
- список дисков-членов, их порядок и смещения.

В нашем случае программа автоматически определила Linux MD RAID 6 объёмом примерно 118 ГБ и отобразила его как готовый к дальнейшему анализу. Подробные параметры массива мы рассмотрим позже при ручной реконструкции.
Если некоторые диски отсутствуют, программа показывает их как Пустой диск и определяет, достаточно ли доступных накопителей для реконструкции. В нашем тесте даже при отсутствии двух из четырёх дисков RAID 6 массив имеет статус Восстановим и остаётся доступным для анализа и восстановления данных.
ШАГ 2. Анализ RAID и расшифровка данных
Чтобы начать поиск данных, дважды щёлкните по найденному массиву RAID или разделу. Если Hetman RAID Recovery определит, что том зашифрован с помощью LUKS, программа сразу предложит ввести пароль или указать файл ключа.

Для его расшифровки требуется корректный пароль или ключ, а также неповреждённые служебные данные LUKS.
После разблокировки LUKS выберите тип анализа. Сначала можно запустить Быстрое сканирование — оно часто достаточно, если структура раздела и файловая система не были повреждены, и требуется только найти недавно удалённые файлы.

Если на диске выполнялись какие-либо деструктивные операции — удаление или создание разделов, форматирование, изменение файловой системы, повреждение таблицы разделов или другие действия, которые могли изменить структуру данных — рекомендуется использовать Полный анализ. При полном анализе укажите файловую систему, использованную на массиве. В нашем случае это Ext2/3/4.
Если во время анализа программа обнаружит данные, зашифрованные с помощью fscrypt, она предложит ввести соответствующую парольную фразу. После расшифровки можно перейти к поиску как существующих, так и удалённых файлов.

ШАГ 3. Просмотр и сохранение восстановленных файлов
После завершения анализа просмотрите найденные файлы. Используйте режим миниатюр, предпросмотр, а также поиск и фильтры, чтобы быстро найти нужные данные и проверить их содержимое.
Удалённые файлы программа помечает красным крестиком. Выберите файлы и папки, которые нужно сохранить, и нажмите Восстановить.

Не сохраняйте восстановленные данные на диски, являющиеся членами массива RAID. Запись на них может перезаписать информацию, которая ещё не была восстановлена. Для сохранения используйте отдельный физический накопитель.
В мастере укажите место назначения и начните сохранение файлов.
ШАГ 4. Ручная реконструкция RAID
Автоматическое определение RAID может быть невозможно, если служебная информация о массиве повреждена, перезаписана, отсутствует или не совпадает на разных дисках.
Это может произойти после операций непосредственно на дисках-членах, которые могли повредить или перезаписать метаданные RAID:
- инициализация дисков в Windows;
- выполнение mdadm –zero-superblock;
- создание нового RAID поверх старого;
- изменение таблицы разделов;
- частичная перезапись накопителей;
- или неудачная перестройка.

Ручная реконструкция также может потребоваться, если некоторые диски отсутствуют или повреждены, если на накопителях остались метаданные от разных массивов RAID, если был изменён порядок дисков или смещения, либо если образ одного из дисков был создан неполностью.
Если Hetman RAID Recovery не смог автоматически определить конфигурацию массива, его можно восстановить вручную с помощью RAID Constructor.
Откройте RAID Constructor, выберите Ручной режим и укажите известные параметры массива.

Для Linux MD RAID 6, созданного с помощью mdadm в нашем тесте со стандартным layout, RAID Constructor использует схему Left Synchronous P+Q. В нашем случае размер блока составлял 512 КБ.

Для большинства накопителей в поле Bytes per sector следует использовать 512 байт. Если диск использует логический размер сектора 4K, выберите 4096 байт.
Для стандартного Linux MD RAID оставьте параметр Byte order в значении Standard, если массив не был создан с другими специальными настройками.
Далее задайте правильную последовательность дисков и укажите смещение данных — Offset — для каждого диска. В нашем тесте оно составляло 34 603 008 байт для каждого диска.

Если один или несколько дисков недоступны, вместо них добавьте Пустой диск.
После сборки конфигурации добавьте реконструированный RAID в главное окно программы, нажав Добавить.

После этого с ним можно работать так же, как с автоматически обнаруженным массивом: разблокировать LUKS, проанализировать файловую систему и восстановить необходимые файлы.

ШАГ 5. Как определить неизвестные параметры массива
Если некоторые параметры RAID неизвестны, их можно определить по структуре данных, хранящихся на массиве. В нашем случае известно, что использовался Linux MD RAID 6, а непосредственно на нём находился зашифрованный том LUKS2.

Начнём с определения смещения данных — Offset. Откройте каждый диск массива в HEX-редакторе, запустите поиск по HEX-значению и введите сигнатуру LUKS: 4C 55 4B 53 BA BE. В параметрах поиска задайте направление Вниз, позицию Начало сектора и запустите поиск.

В нашем тестовом массиве сигнатура LUKS была найдена по адресу 34 603 008 байт от начала диска. Именно это значение мы используем как Offset для всех дисков массива.

Диск, на котором найдена сигнатура, содержит начало логического тома LUKS. Это позволяет определить смещение данных и получить опорный диск, однако сама сигнатура не показывает полную последовательность всех накопителей. Поэтому, если порядок дисков неизвестен, оставьте его для автоматического определения с помощью Автоматически определить порядок дисков.

Далее задайте уже известные параметры RAID. Если массив был создан с помощью mdadm с настройками по умолчанию, типичная схема для RAID 5 — Left Synchronous, а для RAID 6 — Left Synchronous P+Q. В нашем случае размер блока составляет 512 КБ. Если этот параметр был изменён при создании RAID, он может иметь другое значение, например 64, 128, 256 КБ или 1 МБ.
Для параметров, которые удалось определить, указывайте точные значения. Оставляйте Определять автоматически только для неизвестных параметров. Это значительно сокращает число возможных конфигураций и ускоряет поиск.
Затем нажмите Далее и дождитесь завершения проверки вариантов.
Во время поиска Hetman RAID Recovery отображает ход выполнения, затраченное время и количество найденных конфигураций. После завершения поиска выберите наиболее подходящую конфигурацию и добавьте реконструированный RAID в главное окно программы.
Корректность параметров можно проверить по структуре полученных данных. В нашем случае Hetman RAID Recovery должен определить том LUKS2 ожидаемого размера. Если он успешно разблокируется с правильным паролем, а внутри будет обнаружена файловая система EXT4, конфигурация RAID выбрана корректно.

Заключение
Hetman RAID Recovery автоматически обнаружил тестовый Linux MD RAID 6, разблокировал LUKS2 с помощью известного пароля и в ходе Быстрого сканирования нашёл как существующие, так и удалённые файлы. После ввода парольной фразы fscrypt программа также получила доступ к существующим и удалённым файлам в дополнительно зашифрованном каталоге.
Если метаданных RAID недостаточно, массив можно реконструировать вручную в RAID Constructor с использованием известных параметров либо воспользоваться автоматическим подбором неизвестных значений. Поиск сигнатуры LUKS2 в HEX-редакторе помогает определить смещение данных, а корректность конфигурации можно проверить успешной разблокировкой LUKS и обнаружением файловой системы EXT4.

