Порядок восстановления данных в файловой системе HFS+

В нашем обзоре мы рассмотрим структурное построение продвинутой файловой системы HFS+ и ее отличия от предыдущей версии HFS. А также покажем порядок восстановления информации на носителях под управлением HFS+.

Порядок восстановления данных в файловой системе HFS+

Отличительная особенность HFS+

Выделяемой особенностью HFS+ стоит назвать принцип ее функционирования на основе 32-битной архитектуры, который пришел на смену 16-битной в HFS. Предыдущая адресация оказывала сильный сдерживающий эффект, так как устанавливала предел емкости томов (65 536 блоков).

Так, например, в накопителе емкостью один гигабайт объем блока устанавливается равным шестнадцати килобайт. И даже минимальный файл объемом в один байт занимал полностью все шестнадцать.

Для хранения значительной доли служебной информации в системе HFS+, как и в предыдущем варианте HFS, задействуется B-дерево.

Единичный том в системе HFS+ разделен на сектора по 512 байт. Один или больше секторов совокупно объединены в кластер, конечное число которых напрямую зависит от общей емкости исходного накопителя. Новый вариант адресации в 32-бита обеспечивает прямой доступ к более 4294967296 кластерам, что гораздо предпочтительнее 65536 из предыдущей версии. Сравнительный анализ двух видов систем показывает, что они обладают существенными различиями. Например, различаются длиной файлового имени (31 в HFS против 255 в HFS+), применяемой кодировкой («Mac Roman» и «Unicode» для HFS и HFS+ соответственно), узлами каталога (512 байт и 4 килобайт для HFS и HFS+), граничными размерами файла: 2^31 против 2^63.

Системная архитектура файловой системы

Пространство в файловой системе разделено на логические блоки, именуемые секторами. В основном, они имеют значение в 512 байт и совокупно объединены в блоки распределения, включающие в себя один или более секторов. Количество объединенных блоков зависит от общего размера тома.

HFS+ оснащена кодировкой Big Endian, а значение для ее блоков распределения равняется 32-м битам.

Порядок восстановления данных в файловой системе HFS+

Система HFS+ хранит на диске служебную информацию – файлы метаданных, используемые для организации и управления размещением данных. Наиболее важными из них, которые востребованы в процессе восстановления данных и напрямую влияют на работоспособность системы, выделяются следующие элементы:

- Volume Header (Заголовок раздела). Заголовок задействует Extents (расширение записей) и форматирован в виде таблицы.

- Allocation File (Карта занятого пространства диска). Также применяет Extents и структурирована в битовом формате.

- Catalog File (Каталог файлов). Каталог выполнен по древовидному принципу. Как и ранние элементы задействует расширение Extents.

- Extents Overflow File (Дополнительные расширения записей). Представлено в древовидном исполнении.

- Bad block file (Реестр сбойных секторов). Также основан на Би-дереве.

- StartUp file (Файл запуска). Закрепленная величина.

- Журнал (Journal). Пространство накопителя, обладающее установленным значением и закрепленным местоположением.

Помимо перечисленных в HFS+ присутствуют и другие элементы. Однако указанные выше имеют приоритетное значение, когда остро встает необходимость восстановить ту или иную информацию. Теперь мы рассмотрим основополагающие показатели, а именно смысл значений B-Tree (Би-дерево) и Extents (расширение записей).

Краткое объяснение понятия Би-дерево

В HFS+ применена древовидная структура хранения данных. Сбалансированная структура построения страниц позволяет записывать различное количество информации в выделенные ячейки заданного граничного объема. Основной принцип структуры реализован следующим образом. Например, файл в сто мегабит нужно поместить в ячейки размером по четыре килобайта. Система поместит в первый по счету блок непосредственно ссылки на все последующие связанные ячейки, в которые уже будет записана вся информация. Также ячейки помимо данных могут содержать дополнительные связующие ссылки нового уровня блоков. Ячейки дерева со ссылками получили название узлы. Остальные элементы, ответственные за хранение данных - листья.

Порядок восстановления данных в файловой системе HFS+

Понятие Extent и Extent Overflow File

Расширенные записи применяются системой для запоминания сведений о секторах, в которых расположен отдельный файл. Обычно их задействуется от нуля до восьми. Каждая из воссозданных записей содержит указание на первый информационный сектор, хранящий данные и отметку о совокупном количестве занятых кластеров. Если дробление файла большое, он разбит на много фрагментов и выделенного числа Extent недостаточно, то для записи остатка система задействует дополнительные расширения (Extent Overflow File).

Понимание Volume header (заголовок тома)

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

Порядок восстановления данных в файловой системе HFS+
Порядок восстановления данных в файловой системе HFS+
Порядок восстановления данных в файловой системе HFS+

Карта занятого пространства диска

В элементе Allocation file представлены сведения обо всех блоках размещения (включены пустые и заполненные). Они маркированы в соответствии с двоичной системой: «1» - это заполнено, «0» - это пусто. Подобный формат представления получил название (bitmap) битовая карта. Фрагменты сохраненного на диске файла не всегда должны находится в соседних ячейках. Полные сведения о них будут представлены в Volume header.

Порядок восстановления данных в файловой системе HFS+

Назначение каталога файлов

Древовидная структура хранения файлов довольно обширна. Она предполагает наличие отдельного файла для записи сведений о расположении папок и файлов в накопителе. Как и более ранней версии системы, в HFS+ таким файлом выступает файл каталога. Но в отличие от первоисточника, его емкость значительно увеличена. Размер поля приемника в HFS+ стал больше, что существенно расширяет доступные возможности. Размер поля не привязан к единому стандарту и может изменяться, исходя из возникающих требований.

В основном, в полях система располагает на хранение небольшой объем сведений, конечный размер которого не превышает значения в четыре килобайта. Если массив больше, то задействуются соответствующие расширения Extent.

Предназначение файла запуска

Главным образом StartUp file отвечает за взаимодействие с различными ОС, если у них отсутствует возможность определить HFS+ и заставить ее успешно функционировать. Его принцип схож с деятельностью с ответственными за загрузку блоками системы HFS.

Список сбойных секторов

В элементе находятся системный реестр. Он включает все сведения о перемещенных секторах.

Системный элемент Журнал

Journal представляет собой зарезервированное пространство на дисковом носителе. Когда системе необходимо внести изменения, последовательность действий будет следующая. Она сперва выполнит запись в журнал, а уже потом произведет исправления в соответствующие файлы. При непредвиденном сбое такой подход позволит восстановить работоспособность файловой системы.

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

Порядок восстановления данных в файловой системе HFS+

Универсальный инструмент для восстановления информации Time Machine

В операционной системе для Mac-устройств, от Mac OS X Leopard и далее, представлен инструмент восстановления Time Machine. Основным его предназначением является обязательное записывание любых системных изменений для последующего безопасного восстановления при развитии негативных последствий.

Для успешного выполнения заложенных производителем обязанностей инструменту по возврату данных нужно предоставить отдельный носитель. Это может быть внешний носитель, внутренний жесткий диск, USB-накопитель. Или можно использовать специально подготовленное и предназначенный для Time Machine хранилище Apple Time Capsule. Оно представляет собой сетевой диск, на который записываются резервные копии перед внесением изменений. При начальном использовании инструмент выполнит полное копирование, а затем будет сохранять только произведенные изменения.

Порядок восстановления данных в файловой системе HFS+

Действенный вариант восстановления данных HFS+

Если в процессе эксплуатации пользователям потребуется восстановить утраченные данные, то из HFS+ сделать это намного сложнее. Файловой системы, использующей древовидную структуру для хранения системных сведений, требуется постоянное обновление Би-дерева после любых изменений, в том числе и удаления. И после такой перезаписи, все сведения о расположении утраченного элемента немедленно стираются.

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

Вывод

Файловая система HFS+ пришла на замену HFS. Однако несмотря на преимущества, ее уже заменяет более новый тип системы (APFS). Отдельные недостатки HFS+ остро поднимают вопрос восстановления. И несмотря на кажущуюся сложность системы, вернуть утраченные данные можно как при помощи резервного копирования, так и посредством использования специальных программ.

Полную версию статьи со всеми дополнительными видео уроками смотрите в источнике.

22
2 комментария

И давно vc.ru стал филиалом Хабра? ;)

Наших статей нет на хабре.

Если у вас остались вопросы о том, какой алгоритм восстановления данных файловой системы HFS+, задавайте их в комментариях.