Восстановление данных Москва С.-Петербург Новосибирск Другие города » Все города »
Звоните нам в Москве:  +7 495 230−1000

Ошибка Invalid Disk с динамическим диском в RAID5 после изменения размера раздел

Ошибка Invalid Disk с динамическим диском в RAID5 после изменения размера раздел  

  От: Darksideneo 18 июля 2015 г. 3:08

Имеется 3 харда WD на 2Tb каждый и 2 Intel SSD по 75Gb.

Так же имеется 2 софт рейда:
три WD харда состоят в RAID5, а 2 SSD в RAID1.
Система Windows Server 2012 R2 стоит на SSD, которые в RAID1.

RAID1 занимает SSD диски полностью.
А RAID 5 занимал часть 3ех WD дисков, когда то раньше там были другие разделы. Но в момент изменения раздела там было просто неразмеченное пространство.

Я использовал MiniTool ver 9.0 чтобы изменить размер RAID5, чтобы расширить его на все свободное место.
Для этой операции программа требует перезагрузки и запускается до запуска системы. Все так и произошло, без ошибок она произвела все операции и снова произвела перезагрузку.

После чего система перестала запускаться. При загрузку начал появляться BSOD "inaccessible_boot_device". Я пробывал разные способы, но то что рекомендуют в интернете для такой ошибки в моем случае не подходит. Тк как оказалось проблема в том, что ВСЕ 5 дисков стали Invalid.

Понял я это только когда загрузился с liveCD c Windows 8.1. Так же используя утилиты, либо Linux я смог получить доступ к файлам системы RAID 1. Как сделать то же самое с RAID 5 понятия не имею.

Для того, чтобы система снова стала загружаться я используя утилиту преобразовал один диск из динамического RAID1 в базовый, после перезагрузки система сразу загрузилась. Но 4 диска остались все так же Invalid. И если что делать c 2ым SSD диском из RAID1 понятно, то как вернуть к жизни RAID 5 не знаю. И информации о подобных проблемах и решений почти не найти. Если у кого есть соображения поделитесь пожалуйста.

Re: Ошибка Invalid Disk с динамическим диском в RAID5  

  От: OLiMP 20 июля 2015 г. 12:27

Если Вам требуется восстановить информацию с массива то либо читаем статью восстановление Raid массивов простыми методами либо привозите диски из массива. Если Вам требуется только вернуть работоспособность массива то пересоздайте массив заново. Данные естественно будут утеряны.

Re: Ошибка Invalid Disk с динамическим диском в RAID5 после изменения размера раздел  

  От: Darksideneo 20 июля 2015 г. 19:40

[b]OLiMP[/b]
Да, мне требуется восстановить информацию. А в идеале восстановить БД динамических дисков. Изучая информацию на Microsoft Technet стало понятно, почему Invalid стали все диски. Тк система хранит копию на всех динамических дисках в системе:
"Dynamic disks offer greater flexibility for volume management because they use a database to track information about dynamic volumes on the disk and about other dynamic disks in the computer. Because each dynamic disk in a computer stores a replica of the dynamic disk database, Windows Server 2003 can repair a corrupted database on one dynamic disk by using the database on another dynamic disk."
https://technet.microsoft.com/en-us/library/cc737048(v=ws.10).aspx

Я провел анализ данных на диске по этому гайду:
https://blog.serverdensity.com/a-suspicious-alliance-of-disk-management-and-storage-spaces/

Я взял файл, который есть на рейде в единственном экземпляре и есть у меня локально (это файл видео).
Я искал фрагмент на дисках из Raid5 используя HxD.

Удалось выяснить, что
Sector size: 0x10000 = 64 Kbyte

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

Вот соотвествия информации в файле и на дисках:

1.1
File offset
00E83000 - 00E93000
Disk G offset
690D9B0000 - 690D9C0000

1.2
File offset
00E93000 - 00EA3000
Disk R offset
690D9B0000 - 690D9C0000

2.1
File offset
00EA3000 - 00EB3000
Disk T offset
5A679C0000 - 5A679D0000

2.2
File offset
00EB3000 - 00EC3000
Disk G offset
690D9C0000 - 690D9D0000

3.1
File offset
00EC3000 - 00ED3000
Disk R offset
690D9D0000 - 0690D9E0000

3.2
File offset
00ED3000 - 00EE3000
Disk T offset
5A679D0000 - 5A679E0000

Порядок получается:
...->G->R->T->G...

Шаблон выглядит как Left Symmetric parity distribution

Так же меня несколько смущает смещение на диске T, оно соотвсвует 60Gb(58), кажется как раз тот размер, где раньше начинался RAID5 раздел.

Запись NTFS начинается на всех дисках на 2048 секторе, BOOTMGR соотв на 2049 секторе.

Я пробывал воспроизвести такую же ситуацию на виртуалке, используя такую же версию ОС. Отличался только размер дисков. Там при использовании той же программы изменения размера RAID5 не вызвало никаких проблем.

Кроме того, я пробывал открывть RAID5 на вируталке используя dmde. А так же проводить такой же анализ файлов используя HxD.
Удалось выяснить, что там такой же размер сектора 0х10000, паттерн Left Symmetric parity distribution, порядок дисков 3-2-1, если 1-2-3 это порядок как видит их система. Такого смещения как у меня на диске T там не нет, все 3 фрагмента стоят по одному адресу.

Чтобы корректно открылся данный диск и была доступна файловая структура должны быть установлены все параметры корректно, если указать диски в том же порядке, но не тот первый диск, то уже файловая структура корректно не открывается. Смещение для всех дисков, чтобы открывался RAID корректно для вируатлки это 129, те до BootMgr записи. Если указать не тот размер смещения, то раздел корреткно не определятся, но после поиска по всему диску файловая структура и файлы открываются все же корреткно.
[i]Посмотрел в VBLK, там порядок 2-1-3, изменил в DMDE, так же указал смещение до PRIVHEAD, в результате тоже открылось корректно.[/i]

Попытался расписать все как можно более подробно, если нужны какие-то еще данные могу их выяснить.

Собственно для того, чтобы открыть RAID5, который у меня система не видит корректно мне нужно узнать какой диск первый. Это можно посмотреть в бут секторе, но как интерпритировать информацию оттуда о порядке я не знаю, могли бы помочь?
А так же на что влияет смещение на диске T, как и где это надо указывать при открытии RAID? До куда должны быть указаны смещения при открытии диска?

Ошибка Invalid Disk с динамическим диском в RAID5  

  От: OLiMP 20 июля 2015 г. 20:27

Специалист по RAID массивам уже ушёл из офиса. Завтра думаю он ответит на Ваши вопросы детально. Первый диск можно вычислить по Master Boot Record. На сколько мне известно информация о разделе или разделах будет лежать только на одном диске в нулевом секторе.

Re: Ошибка Invalid Disk с динамическим диском в RAID5 после изменения размера раздел  

  От: Darksideneo 20 июля 2015 г. 22:32

Я почитал ресурсы на эту тему, как понял порядок можно посмотреть в секции VBLK, там где Disk1 Disk2 Disk3 с указанием GUID, а сам GUID брать 1ый из PRIVHEAD каждого диска. Правильно?)

MBR (это то что в самом начале диска) у 3ех дисков только на 1 байт отличается.

Ошибка Invalid Disk с динамическим диском в RAID5  

  От: OLiMP 20 июля 2015 г. 23:17

MBR это то что в самом начале диска. Но уж раз он на всех трёх дисках присутствует то по нему точно не определить какой диск был первый. Сборками массивов не занимаюсь, поэтому никаких конкретных советов дать не могу к сожалению. Единственное что могу порекомендовать так это ПО под Windows которым собираются массивы в компании. Это UFS Explorer Professional (основной инструмент для сборки массивов) и WinHex (используется крайне редко). Обе программы платные, но в них есть демо режим. То есть скачать и посмотреть а смогут ли они правильно собрать массив думаю можно и без покупки ПО. И если какая то из программ собирает массив верно то следует задуматься о её покупке.

Re: Ошибка Invalid Disk с динамическим диском в RAID5 после изменения размера раздел  

  От: BlackCat 21 июля 2015 г. 14:19

Проще всего определить последовательность дисков - это собрать виртуальный массив софтом, тем же UFS и проверить состояние файловой системы. У вас всего 3 варианта. Или провести анализ записей МФТ и по их порядку определить - но это уже зависит от уровня ваших знаний. Можно почитать Криминалистический анализ файловых систем - там подробно описаны структуры NTFS и не только, а также статьи на нашем сайте.

Re: Ошибка Invalid Disk с динамическим диском в RAID5 после изменения размера раздел  

  От: Darksideneo 21 июля 2015 г. 17:25

[b]Алексей[/b]
Я как раз этим занимаюсь, пытаюсь софтом открыть RAID. Использую для этого DMDE.
Порядок дисков, это не 3 варианта, а 6, ма же не знаем какой первый. В случае симметричного лейаута действительно должно 3ех хватать, если при этом все остальные параметры указаны верно. Кроме того, тк что-то не так в БД динамических дисков вероятно нужно полное сканирование проводить перед тем как открыть диски, а это больше суток времени требуется.

По поводу анализа MFT для нахождения первого диска не очень понял, попробую изучить этот вопрос подробнее. Последовательность можно по файлам искать, что я уже сделал, либо смотреть в БД динамических дисков, как раз где VBLK.

Re: Ошибка Invalid Disk с динамическим диском в RAID5 после изменения размера раздел  

  От: BlackCat 21 июля 2015 г. 18:30

Ну насчет DMDE ничего не скажу - этот софт мы не используем. Даже если и 6 вариантов получится - то это не проблема, просто первый диск и последний определить не сложно, анализируя вручную данные в хекс редакторе. Стоит все таки ознакомиться как устроен RAID5 - там нет дублирования в явном виде - там четность генерируется и пишется на каждый диск по заданному контроллером алгоритму. У динамических дисков проблема только в том, что нужно правильно определить границы тома для каждого диска, но опять же - самый простой способ - анализ вручную записей мфт - но при некоторых условиях он может и не работать.
К сожалению обучать всем основам нет возможности, основные идеи я высказал, далее изучайте или приносите.

Re: Ошибка Invalid Disk с динамическим диском в RAID5 после изменения размера раздел  

  От: Darksideneo 21 июля 2015 г. 18:57

Как устроен RAID 5 разумеется мне известно, иначе я не смог бы провести анализ, например, лейаута. Который расписан несколько постов выше.

В сторону MFT и границ раздела буду смотреть. Границы разделов я так понимаю можно посмотреть опять же в БД динамических дисков?

Re: Ошибка Invalid Disk с динамическим диском в RAID5 после изменения размера раздел  

  От: BlackCat 22 июля 2015 г. 11:05

Границы разделов должны быть указаны в служебной информации контроллера или в вашем случае как вы и написали в БД динамических дисков, но даже если она разрушена - то по различным косвенным признакам определить можно. Кстати UFS последних версий по моему автоматом определяет подобные массивы. Можете попробовать демо-версию скачать - посмотреть.

Re: Ошибка Invalid Disk с динамическим диском в RAID5 после изменения размера раздел  

  От: Darksideneo 27 июля 2015 г. 0:07

Кажется мне удалось корректно открыть RAID массив.

Все оказалось несколько проще и для этого было достаточно того анализа, который я проводил с файлом и описывал в 2ом своем посте в этой теме.

Ни одна из программ восстановления рейд массивов не смогла ничего сделать автоматом. Зато с теми параметрами, которые я выяснил все открывается в любой программме.

Информация в базе данных динамических дисков как известно была нарушена, позиция начала взятая оттуда не позволяла открыть массив. Так же ситуацию усложняло то, что NTFS разделов на дисках была не одна сотня. Возможно это диски из вируалок, различные копии, сделанные теневым копированием тома, так же старые разделы, которые были в той области, куда расширял RAID5 и тд.

Оказалось, что размер сектора, алгоритм я сразу определил верно. Точный порядок дисков я взял из БД динамических дисков, она была там корректная (R->T->G) . Хотя тут можно было это и определить по началу раздела.

Смещение для первых 2ух дисков следовало указать:
690D9C0000 - 5A679C0000 = EA6000000 (122880000 sectors)

Соотвестенно в программе MiniTool есть, вероятно баг, который вызывает такие проблемы при изменении размера тома, если на одном диске место, которое занимает RAID5 раздел расположено зеркально остальным.

Ошибка Invalid Disk с динамическим диском в RAID5  

  От: OLiMP 27 июля 2015 г. 23:32

Рад что у Вас всё получилось.

Контакты
Центральный офис

телефон: +7 495 230−1000
e-mail:
адрес: 119049, Москва, Коровий Вал, д. 1А, стр. 1 (здание универмага «Добрынинский»), 6 этаж, офис R.LAB

Социальные сети и мессенджеры

VK: Паблик компании
YouTube: Наш канал
Telegram: Консультация у специалистов R.LAB через бота (@rlabsupportbot)
WhatsApp: Консультации по восстановлению данных (74952301000)