Восстанавливаем данные с Fusion Drive. Базовый сценарий

Из прошлой статьи мы узнали как устроен Fusion Drive. В этой статье рассмотрим практический пример восстановления данных с Fusion Drive, в случае когда участники “живые” или же мы работаем с их копиями.

Сразу отметим, что для повторения решения вам необходим Data Extractor RAID Edition.

Общая последовательность шагов

Из предыдущей статьи мы знаем, что Fusion Drive — это логический (ненастоящий или виртуальный) диск, на котором размещена файловая система. Наша цель — построить образ этого диска. 

На пути к ней надо выполнить следующие шаги:

  • добавить оба диска в задачу
  • на форме создания RAID запустить автоопределение RAID по метаданным
  • должен определиться “SPECIAL — Apple CS Pool”, этот массив нужно создать
  • на созданном массиве выполнить сканирование метаданных, его результатом будет Virtual Drive — MAP — образ Fusion Drive
  • на виртуальном диске должна быть HFS+ с данными пользователя, можно приступать к сохранению данных

Подробная последовательность шагов

Рассмотрим каждый шаг более подробно. И дадим некоторые комментарии по ходу дела.

Добавление участников

С добавлением дисков все “как обычно”, никаких особенностей.

Напомню, как должны выглядеть диски если попытаться их открыть. Используется таблица разделов GPT, в которой есть большой раздел с типом “(Mac OS X) Core Storage (Lion FileVault)”. Если у диска размер сектора 512 байт, то почти всегда этот раздел начинается с сектора 409 640. В первом секторе будет узнаваться структура ACS Volume Header (сигнатура “CS” — CoreStorage).

Участники Fusion Drive в проводнике Data Extractor

Определение конфигурации RAID и создание массива

Пользуемся стандартным механизмом определения конфигурации на основе метаданных RAID. Автоопределение должно обнаружить логическую группу Apple CoreStorage и указать какие участники в нее входят. Далее нужно воспользоваться стандартными методами “редактировать конфигурацию” и “Создать RAID”.

Автоопределение обнаружило логическую группу Apple Core Storage

Специально для работы с Fusion Drive мы добавили в комплекс новый тип RAID — “SPECIAL — Apple CS Pool”. Внутри он работает как самый обычный JBOD. Его главная задача — зафиксировать параметры логической группы ACS:

  • количество участников
  • начало и конец (From и Till LBA) каждого участника
  • порядок участников.

Все эти параметры также можно задать вручную, что может быть полезно, если один из участников не подхватился автоопределением из-за непрочитанных секторов или испорченных метаданных.

Сканирование метаданных

Полученный массив — это еще не окончательный образ. Чтобы построить образ Fusion Drive необходимо выполнить сканирование метаданных из области Encrypted blocks. Если выбрать свежесозданный массив, то комплекс сразу предложит выполнить сканирование.

Комплекс предлагает выполнить сканирование метаданных с целью построить образ Fusion Drive

Второй раз для данного диска сообщение не появится. Но процесс можно запустить из контекстного меню на новом RAID: “ACS: Добавить виртуальный диск”.

Метод запуска сканирования из контекстного меню

Суть процесса — это анализ блоков в областях Encrypted blocks. В самом начале процесса комплекс определит где находятся эти области и выведет окно в котором можно будет указать какие области сканировать, а какие нет.

Окно с выбором областей сканирования. В данном случае есть по 2 области на участниках A и B, каждая из которых по 4ГБ (~9 миллионов секторов).

Основные факторы, которые влияют на выбор — это время, состояние дисков и целостность метаданных.

  • Если вам нужен результат побыстрее — оставьте одну копию, лучше с SSD диска.
  • Если у HDD проблемы с поверхностью — оставьте обе копии на SSD.
  • Если все диски живые и вы не торопитесь — оставьте все копии.
  • Если метаданные вычитаны, но содержат ошибки — оставьте все копии, так есть шанс получить наиболее правильный результат.

Сканирование состоит из нескольких этапов:

  • поиск блоков, которые описывают трансляцию (дескрипторов)
  • обработка этих блоков
  • формирование итоговой карты
  • создание виртуального диска на основе карты

В конце будет выведено окно о том, что добавлен новый диск.

Окно с информацией о том, что добавлен новый виртуальный диск. В логе на заднем плане есть информация о количестве найденных дескрипторов

В логе отображается информация о том, сколько нужных блоков было найдено в каждой области метаданных (descriptors were found). В моем примере на HDD ни нашлось ни одного блока. Более того, в этих областях были незашифрованные пользовательские данные. Возможно драйвер Fusion Drive перемещал метаданные и увеличивал их размер и в середине этого процесса произошла ошибка.

Работа с итоговым образом Fusion Drive

Метаданных на SSD хватило, чтобы построить корректный образ Fusion Drive. По завершению сканирования был добавлен новый Virtual Drive — Map, на котором хранятся пользовательские данные. Во многих случаях в этом месте уже можно приступать к сохранение файлов.

На построенном виртуальном диске данные открываются штатным образом

У Fusion Drive есть одна особенность, которую хорошо помнить на случай логических повреждений. Весь объем виртуального диска занимает файловая система HFS+ и начинается она с LBA = 0 (в будущем Apple также планирует добавить возможность использовать APFS на Fusion Drive).

Наиболее типичный сценарий такого повреждения — это когда начало и конец логического диска не вычитаны или переписаны, из-за чего данные недоступны штатным образом.

А наиболее быстрое решение (с учетом особенности Fusion Drive) — с помощью чернового восстановления найти копии HFS+ Volume Header (обычно в первых миллионах раздела размещается журнал HFS+, где много копий Volume Header). На основе одной из копий добавить раздел, указав вручную его начало — LBA = 0.

Черновое восстановление нашло копии HFS+ Volume Header из журнала HFS+. Используем одну из них, чтобы добавить виртуальный раздел. Вручную указываем начальное смещение LBA = 0.

Заключение

В этой статье мы рассмотрели базовый сценарий восстановления данных с Fusion Drive, ограничившись случаем «здоровых» дисков. В следующей статье мы рассмотрим как уменьшить нагрузку на проблемный HDD, если он входит в состав Fusion Drive.

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (2 голосов, средний: 5,00)
Загрузка...

Об авторе Александр Леоненко

Разработчик Data Extractor и Data Extractor RAID Edition
Запись опубликована в рубрике Data Extractor, Data Extractor RAID Edition с метками , , , , , . Добавьте в закладки постоянную ссылку.

2 комментария на «Восстанавливаем данные с Fusion Drive. Базовый сценарий»

  1. Евгений говорит:

    Я так понимаю, что только для владельцев комплекса RAID Edition?

    • Евгений, да, полноценно можно работать только в DE RE, т.к. используется часть его возможностей.

      Обычный Data Extractor позволяет построить частичный образ Fusion Drive для одного участника. В этом образе будет правильная трансляция, но вместо цепочек с других участников будут отсутствующие цепочки (пустые, без реального положения на диске).
      Если вы совместите оба таких образа в один — то получите корректный итоговый образ Fusion Drive, там просто HFS+ и никаких особенностей.

      Также, если нужны какие-то конкретные данные, то есть шанс, что их удастся сохранить и с частичного образа SSD — там обычно все метаданные ФС и наиболее «горячие» файлы.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *