Анализ и восстановление дискового массива сетевого накопителя Q-NAP

Принесли на восстановление данных сетевой диск (NAS — network attached storage) Q-Nap на трёх дисках, где в результате аппаратного сбоя перестал быть доступен "основной" сетевой диск.

Для восстановления информации с Q-Nap в таком случае прежде всего необходимо протестировать диски на аппаратную исправность, так как попытки собирать, даже виртуально, массив с использованием проблемных хардов, с бэд-блоками и т.п. чреват выходом из строя диска (ов) окончательно с последующими сложностями в восстановлении файлов. Если есть обоснованные подозрения в исправности HDD в коробке, то необходимо, прежде чем приступать к анализу и сборке массива, сделать полную посекторную копию на заведом исправный жёсткий диск.

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

В MBR всех дисков описана конфигурация, где Partition 1 это ОС самого Q-Nap, а Partition 3 — хранилище данных, которое в Linux NAS-а виделось как дополнительный логический носитель. Путём сравнения содержимого убеждаемся что содержимое Partition 1 по всем трём дискам совпадает, а дальше идут различия, т.е. на уровне "внутренней" ОС часть доступного логического пространства была выделена под Raid 1 (Mirro Raid), а остальное под Raid-5.

Дальше требуется определить порядок дискв в составе Raid-5, тип ротации и размер блока. Обычно это Backward Dynamic 128 sect. И в финале немаловажно, о чём нередко забывают, проверить не было ли в работе массива ситуации, когда NAS долгое время работал в режиме degraded, т.е. на двух дисках, вместо трёх. Так как если такая ситуация имела место быть, то виртуальная сборка QNAP RAID на трёх дисках, включая менее актуальный приведет к тому, что часть файлов записанных либо модифицированных после начала сбоя окажется повреждённой.

Сделать это можно провекрой валидности XOR по всем дискам, входившим в состав массива.

На приведённом выше сриншоте наглядно: (первые байты) 37h XOR 5Eh XOR EAh = 83h — значит сектор в целом собран из всех дисков. Проверка всех секторов в автоматическом режиме может выявить возможные расхождения, что позволит скорректировать сборку массива указав при виртуальной сборке диск, выпавший из массива ранее, как "missing".