Software Raid 10 испортил суперблок после отказа двух дисков, как мне его восстановить?

У меня есть программный raid 10 с жесткими дисками 6 x 2 ТБ (raid 1 для /boot), Ubuntu 10.04 - это ОС.

У меня был сбой в контроллере raid, из-за которого два диска вышли из синхронизации, произошел сбой системы, и первоначально операционная система не загрузилась и вместо этого зашла в initramfs, сказав, что диски были заняты, но в итоге мне удалось вызвать рейд, остановив и собрав диски,

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

Казалось, что все работает нормально, и два диска начали восстанавливаться, я был уверен, что это был сбой контроллера sata, потому что в моих файлах журнала были ошибки dma.

После этого ОС вылетела с ошибками ext.

Теперь он не вызывает рейд, он говорит, что на /dev/sda2 нет суперблока, даже если я собираюсь вручную со всеми именами устройств.

Я также сделал мемтест и изменил материнскую плату в дополнение ко всему остальному.

РЕДАКТИРОВАТЬ: Это мой макет раздела

Disk /dev/sdb: 2000.4 GB, 2000398934016 bytes
255 heads, 63 sectors/track, 243201 cylinders, total 3907029168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x0009c34a

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1   *        2048      511999      254976   83  Linux
/dev/sdb2          512000  3904980991  1952234496   83  Linux
/dev/sdb3      3904980992  3907028991     1024000   82  Linux swap / Solaris

Все 6 дисков имеют одинаковую разметку, раздел № 1 предназначен для raid 1 / boot, раздел № 2 предназначен для удаленного плана raid 10, раздел № 3 является подкачкой, но в sda не было включено подкачка

EDIT2: это вывод mdadm --detail /dev/md1

Layout : near=1, far=2
Chunk Size : 64k

UUID : a0feff55:2018f8ff:e368bf24:bd0fce41
Events : 0.3112126

Number Major Minor RaidDevice State
0      8     34    0          spare rebuilding /dev/sdc2
1      0     0     1          removed
2      8     18    2          active sync /dev/sdb2
3      8     50    3          active sync /dev/sdd2
4      0     0     4          removed
5      8     82    5          active sync /dev/sdf2

6      8     66    -          spare /dev/sde2

EDIT3: я запустил ddrescue, и он скопировал все из sda, кроме одного сектора размером 4096 байт, который, как я подозреваю, является суперблоком рейда

РЕДАКТИРОВАТЬ 4: Вот еще немного информации слишком долго, чтобы поместиться здесь

lshw: http://pastebin.com/2eKrh7nF

mdadm - деталь / dev / sd [abcdef] 1 (raid1): http://pastebin.com/cgMQWerS

mdadm - деталь / dev / sd [abcdef] 2 (raid10): http://pastebin.com/V5dtcGPF

dumpe2fs из /dev/sda2 (с клонированного диска ddrescue): http://pastebin.com/sp0GYcJG

Я попытался воссоздать md1 на основе этой информации с помощью команды

mdadm --create /dev/md1 -v --assume-clean --level=10 --raid-devices=6 --chunk=64K --layout=f2 /dev/sda2 missing /dev/sdc2 /dev/sdd2 missing /dev/sdf2

Но я не могу смонтировать его, я также пытался воссоздать его на основе моего исходного mdadm --detail /dev/md1, но он все еще не монтируется

Он также предупреждает меня, что /dev/sda2 является файловой системой ext2fs, но я думаю, что это из-за ddrescue

РЕДАКТИРОВАТЬ5: Я понял, что / dev / sdb на самом деле был / dev / sdc и наоборот, и я также сделал большую ошибку, так как более новый live cd, который я использовал по умолчанию - метаданные 1.2, которые, вероятно, уничтожили данные на этих дисках, хорошо, что Я их клонировал на 6 других дисков.

РЕДАКТИРОВАТЬ 6: Мне наконец удалось восстановить мой массив, воссоздав его снова, на этот раз с правильной опцией --metadata. Если кто-то находится в моей ситуации и читает это, очень важно отразить ваши данные, чтобы вы могли восстановиться после ошибки, как я, а также убедитесь, что mdadm - проверить все диски, потому что их имена будут изменены при загрузке живого компакт-диска и Важно воссоздать в правильном порядке, любые диски, помеченные как запасные, должны быть указаны как отсутствующие.

1 ответ

Решение

Как владелец профессиональной фирмы по восстановлению данных, правильный способ восстановления поврежденного RAID-массива, подобного этому, заключается в создании клонов или образов каждого диска. Никогда не работайте с оригиналами. Если у вас есть образы дисков, вам нужно будет воссоздать RAID в каком-то программном обеспечении, таком как X-Ways. Обязательно соблюдайте правильный порядок дисков! Восстановление RAID-массивов может быть довольно сложным, и, если данные важны, вы должны пометить диски и отправить их в уважаемую компанию, но большинство восстановлений RAID недешевы.

Другие вопросы по тегам