Определяне на RAID конфигурация от MFT записи с помощта на инструмента за преглед на структура, блог за разработчици

Забележка. Примерът в тази статия е създаден изкуствено, за да илюстрира нови техники на последната конференция. Следователно потребителските данни може да не изглеждат съвсем „естествени“. За основа обаче се вземат съвсем реални задачи.

Да предположим, че трябва да възстановим данни от RAID5 от 5 диска, които имаха файлова система NTFS. Но началото на всеки участник се заличава поради разрушителни опити за „излекуване“. За да опростя статията, ще предположа, че размерът на блока (128 сектора), началото на ивицата (0 LBA) вече са известни.

Остава да се определи редът на диска и алгоритъмът на ротация на блока за RAID 5. MFT записите са много подходящи за това. Нека се опитаме да ги намерим с груба реставрация.

конфигурация

MFT записи за член на RAID

Записите бяха намерени, номерата им са посочени в полето "коментар" във формат:
[Номер на първия запис . Номер на последния запис] (дължина на последователността в записите)
В правилната конфигурация те трябва да се следват непрекъснато. Нека се опитаме да съберем точно такава конфигурация.

Първо, трябва да разберете къде MFT записите ще лежат на RAID. Моята оценка е: 1 907 968 ​​* 4 = 7 631 872. Където 1 907 968 ​​е началото на записите на един от участниците, а 4 е коефициентът на преобразуване за RAID5 от 5 диска. Възможно е да се направи оценка с големи предположения, най-важното е да влезете в таблицата.

Ако все още ви е трудно да правите такива оценки, тогава можете да използвате RAID калкулатора. Всички известни параметри трябва да бъдат посочени там. Алгоритъмът и индексът на участниците могат да бъдат оставени по подразбиране.

инструмента

Сега отворете формуляра за създаване на нов RAID, задайте всички известни параметри, изчистете таблицата. Настройте формата, така че разделите "Explorer", "Table", "Structure" (от долния панел) да са отворени. Трябва да изглежда като екранна снимка.

записи

Формуляр за дефиниция на конфигурация на масив

Придвижвайки се през клетките на таблицата, можем да видим как се променя съдържанието на раздела "структура". Там се показват полетата на MFT записа, оценката се оказва правилна и анализаторът на структурата определя как да се показват данните. Ние се интересуваме преди всичко от връзката между клетката и номера на записа (полето MFTRecordId или само ID).

помощта

Номер на клетка на таблицата и номер на MFT запис

В този пример, на ред 1, записите имаха следните номера: 192, 256, 320, 384 и една клетка не съдържаше запис. Такъв RAID5 в ред 1 трябва да има блокове с данни 4, 5, 6, 7 и един XOR блок. Лесно е да се досетим, че блоковете с данни трябва да бъдат подредени във възходящ ред на номера на записа (192 - 4, 256 - 5, 320 - 6, 384 - 7), а клетка без запис е XOR.

Получих матрица като тази:

инструмента

Ред 1 е завършен

Придвижвайки се по-нататък през клетките, е лесно да попълните цялата таблица до края. Ако опцията за сравнение със стандартни конфигурации е активирана, тогава комплексът ще отгатне конфигурацията след няколко блока.

определяне

RAID масивът е сглобен. Ако изпълните грубо възстановяване върху него, можете да се уверите, че събраната конфигурация е правилна - MFT записите трябва да се подреждат един след друг. В моя пример резултатът е площ от повече от 70 000 записа, което е повече от 3500 пълни периода - т.е. RAID матрицата е напълно проверена повече от 3500 пъти.

определяне

Грубо възстановяване на RAID

Така че работата по дефинирането на конфигурацията може да се счита за завършена. Следващата стъпка е търсене на дялове и прилагане на методи за логически анализ на файлови системи, например търсене на NTFS структури. Но това е тема за други статии (за режимите на логически анализ беше написано в статията за възстановяване на изтрити файлове).

Забележка 1. Честа ситуация е, когато виртуални машини с NTFS се съхраняват на RAID. В този случай техниката се повтаря напълно - предполагаме, че има голяма непрекъсната секция на MFT таблицата, която може да бъде събрана, за да се определи конфигурацията. Оригиналният пример беше точно такъв, но за по-голяма простота го премахнах от описанието.