Восстановление RAID5 массива из трех SCSI дисков
Задача | Извлечь данные с трех SCSI-дисков, объединенных в RAID5 | ||||||||
Оборудование |
|
||||||||
Проблема заказчика | Операционная система выдала «синий экран смерти». После перезагрузки ОС, находящаяся на рейд-массиве, не запустилась | ||||||||
Результаты диагностики |
Первым делом диски были проверены на наличие нечитаемых секторов (бэд-блоков), так как все диски определялись как устройство. На третьем диске обнаружились бэд-блоки только в конце диска. Также проверка дисков на целостность контрольных сумм выявила рассинхронизацию, что позволяет сделать предположение о неактуальности одного из дисков. |
||||||||
Процесс |
Для работы были сделаны файлы-образы всех трех дисков. Дальше необходимо было определить параметры рейд-массива: размер блока, порядок дисков, алгоритм чтения дисков и расположения контрольных сумм. На файловой системе NTFS эти параметры определяются на основе файловых записей MFT. Так, размер блока будет равен разнице между порядковыми номерами файловых записей на двух соседних дисках по одинаковому смещению относительно начала диска. Поскольку были известны такие параметры, как размер блока, количество дисков и уровень рейд-массива, плюс возможность вычислить начало очередного цикла, находящегося в районе MFT, то по номерам файловых записей был определен порядок дисков и контрольных сумм. Далее, имея в распоряжении все необходимые данные, в программе R-studio собрали рейд-массив. На рейде оказалось 4 логических диска, и теперь необходимо было вычислить, какой же диск «лишний», так как RAID5 позволяет извлечь данные без потери качества при отсутствии одного из дисков. А это именно наш случай. Первым делом был исключен диск с нечитаемыми секторами. Но, как показала дальнейшая проверка, он оказался актуальным и без него никак нельзя. Поочередно открывая в R-studio разделы и проверяя последние созданные или измененные файлы, установили, что для сборки не нужен первый диск. |
||||||||
Результат |
Был собран рейд-массив без первого диска с размером блока в 128 секторов и backward порядком распределения контрольных сумм. Данные были извлечены неповрежденными и в полном объеме. Проверка данных заказчиком это подтвердила. |