У меня есть массив из 6 устройств raid 5, в котором 1 диск вышел из строя, а затем из-за отключения электроэнергии машина отключилась, и при запуске все диски отображались как запасные со следующим выводом mdadm -E.
/dev/sda5:
Magic : a92b4efc
Version : 1.2
Feature Map : 0x0
Array UUID : b480fe0c:c9e29256:0fcf1b0c:1f8c762c
Name : GATEWAY:RAID5_500G
Creation Time : Wed Apr 28 16:10:43 2010
Raid Level : -unknown-
Raid Devices : 0
Avail Dev Size : 976768002 (465.76 GiB 500.11 GB)
Used Dev Size : 976765954 (465.76 GiB 500.10 GB)
Data Offset : 2048 sectors
Super Offset : 8 sectors
State : active
Device UUID : a8499a91:628ddde8:1cc8f4b9:749136f9
Update Time : Sat May 19 23:04:23 2012
Checksum : 9950883c - correct
Events : 1
Device Role : spare
Array State : ('A' == active, '.' == missing)`
Это устройство MD было частью физического тома для группы томов LVM.
Я пытаюсь воссоздать массив с помощью mdadm --create --assume-clean, используя 1 устройство как отсутствующее. Я проверяю, правильно ли создается устройство, проверяя UUID созданного устройства, который будет соответствовать, если устройство создается правильно.
Я пробовал несколько комбинаций порядка дисков, которые я считаю правильными, но я думаю, что меня сбивает с толку тот факт, что mdadm, который я использовал для создания этого устройства md, был какой-то серии 2.x, а теперь мы находимся на 3. x (и я, возможно, изначально использовал некоторые из значений по умолчанию, которые я не помню). Какие все «значения по умолчанию» были изменены по сравнению с версиями, чтобы я мог попробовать их? Нравится размер куска? Можем ли мы вручную настроить смещение super / data? Имеют ли они значение, когда мы выполняем mdadm --create --assume-clean?
Спасибо, Аншу
Хотя в лучшем случае mdadm должен уметь определять версию формата суперблока при сборке или проверке, вы можете попробовать явно указать старую версию формата суперблока, используя -e 0.90
параметр в mdadm и посмотрите, что - исследовать должен сказать об этом.
В смещение суперблока имеет жестко запрограммированную позицию в отношении конца устройства (в вашем случае раздела), если конец устройства был перемещен (т.е. путем изменения размера раздела или выполнения необработанной копии на больший диск), mdadm не сможет найти правильную копию .
Это также выглядит так, как будто ваши суперблоки были испорчены - в этом случае вы не сможете «собрать» без некоторой ручной работы. Вы должны проверить все свои диски на наличие действительного суперблока - где-то может быть копия, которая избавит вас от множества проб и ошибок при воссоздании массива MD.
Общий подход к восстановлению будет использовать mdadm --build
с размером блока 64 КБ (старый mdraid по умолчанию, позже он изменился на 512 КБ), количество ваших устройств и предполагаемый уровень RAID в качестве постоянных параметров и перетасовка порядка устройств, если вы не получите работающую файловую систему. Излишне говорить, что вы должны делать это с копии данных вашего жесткого диска, чтобы вы не могли безвозвратно изменить данные, введя неквалифицированную команду.