корневой раздел на fake-RAID (imsm)

Доброе время суток, уважаемые.

Пытаюсь "собрать" систему с использованием FW RAID Intel Matrix Storage Management и mdadm 3.0.

Два винта включены в RAID1 средствами BIOS.

В процессе установки с Live-CD определен контейнер и его составляющие:

# mdadm --create --verbose /dev/md/imsm /dev/sd[ab] --raid-devices 2 --metadata=imsm
# mdadm --create --verbose /dev/md/v0 /dev/md/imsm --raid-devices 2 --level 1

Полученное "зеркало" /dev/md/v0 разбито fdisk'ом на два раздела (под swap и под /). Раздел /boot будет на флешке, т.к. grub "не понимает" формата метаданных, отличного от 0.90 (по крайней мере, я не смог установить grub на этот RAID).

После установки системы впал в задумчивость - а как же, собственно, монтировать корневой раздел при загрузке? Несколько дней гуглил, плюс ставил собственные эксперименты - ответа пока не нашел.

Наверняка у кого-то используется подобная конфигурация - поделитесь инфой, как обеспечивается автоматическое "поднятие" RAID-массива при загрузке ОС, и как потом монтируется корневой раздел.

Думаю, имеет смысл собрать

Думаю, имеет смысл собрать initramfs со всем необходимым для монтирования RAID, что можно сделать, ЕМНИП, при помощи genkernel.

Гость написал(а): Думаю,

Гость написал(а):
Думаю, имеет смысл собрать initramfs со всем необходимым для монтирования RAID, что можно сделать, ЕМНИП, при помощи genkernel.

Пробовал. И с самописным init'ом, и с тем, который genkernel генерит. Не получается "собрать" RAID.

как, как - никак. 1) imsm -

как, как - никак.
1) imsm - дефективен бай ДНК - тема на форуме была.
2) ядро не может собрать раздел с метадатой версии выше 0.90.
3) тема сисек причина юзежа imsm не раскрыта ( винды пока не наблюдается) - вывод мдадм простой рулить вместе с lwm

Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)

slepnoga написал(а): 1) imsm

slepnoga написал(а):
1) imsm - дефективен бай ДНК - тема на форуме была.

Ссылочку не дадите?

slepnoga написал(а):
2) ядро не может собрать раздел с метадатой версии выше 0.90.

Что значит "не может"? Я неоднократно перегружался с установочного образа и "собирал" ранее созданный массив. Массив собирался нормально, второй винт не "отваливался", никаких ошибок зеркала или файловой системы не было.

Это grub "не понимает" версии метаданных выше 0.90 - ну так я вообще с флешки гружусь.

slepnoga написал(а):
3) тема сисек причина юзежа imsm не раскрыта ( винды пока не наблюдается) - вывод мдадм простой рулить вместе с lwm

Мне такой подход (когда создается RAID целиком из двух винтов (sda и sdb), когда RAID является единым "устройством", которое разбивается на разделы) показался идеологически более правильным.

До этого с программными RAID-массивами дела не имел.

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

Целесообразность

Целесообразность использования fake raid под вопросом из-за того как он работает, фактически это тотже softraid из ядра, но ему обьяснили как работать с другим типом метаданных. Тоесть, логически между ними нет разницы. Разница появляется в реальности, так как со своим софтрейдом ядро будет работать всегда, независимо от матери("контроллера") а вот fakeraid - нет. Также, схема метаданных добывается методом реинжиниринга, и нет никаких гарантий правильного её описания. В итоге мы имеем выбор:

1) softraid из ядра со своей схемой, работающий стабильно и везде в linux
2) softraid из ядра с левой схемой, возможно неадекватно работающий и/или непонимающий всех фишечек производителя, также как зря поддерживаемый программами для работы с raid.

Исходя из этого, как правило fakeraid используют в крайних случаях, когда без него совсем никак, вроде dual boot с виндой.

evadim

evadim написал(а):
Целесообразность использования fake raid под вопросом из-за того как он работает, фактически это тотже softraid из ядра, но ему обьяснили как работать с другим типом метаданных. Тоесть, логически между ними нет разницы. Разница появляется в реальности, так как со своим софтрейдом ядро будет работать всегда, независимо от матери("контроллера") а вот fakeraid - нет. Также, схема метаданных добывается методом реинжиниринга, и нет никаких гарантий правильного её описания. В итоге мы имеем выбор:

1) softraid из ядра со своей схемой, работающий стабильно и везде в linux
2) softraid из ядра с левой схемой, возможно неадекватно работающий и/или непонимающий всех фишечек производителя, также как зря поддерживаемый программами для работы с raid.

Исходя из этого, как правило fakeraid используют в крайних случаях, когда без него совсем никак, вроде dual boot с виндой.

Вы утверждаете - или только предполагаете?

Насколько я разобрался - ядру вообще глубоко фиолетово, какие там метаданные. У ядра есть тем или иным образом собранный программный массив, с которым он работает. А как этот массив собирался, или как создавался - ядру дела нет. Поэтому "обучение" mdadm "левым" метаданным оказалось делом несложным.

Поэтому мне и непонятно - почему к fake-RAID такое негативное отношение...

Потому, что не понятно зачем

Потому, что не понятно зачем нужна дополнительная прослойка, которая почти ничего не дает, зато завязана на конкретную материнку и гарантии что она(прослойка) работает 100% правильно никто не даст.

IVB написал(а): evadim

IVB написал(а):
evadim написал(а):
Целесообразность использования fake raid под вопросом из-за того как он работает, фактически это тотже softraid из ядра, но ему обьяснили как работать с другим типом метаданных. Тоесть, логически между ними нет разницы. Разница появляется в реальности, так как со своим софтрейдом ядро будет работать всегда, независимо от матери("контроллера") а вот fakeraid - нет. Также, схема метаданных добывается методом реинжиниринга, и нет никаких гарантий правильного её описания. В итоге мы имеем выбор:

1) softraid из ядра со своей схемой, работающий стабильно и везде в linux
2) softraid из ядра с левой схемой, возможно неадекватно работающий и/или непонимающий всех фишечек производителя, также как зря поддерживаемый программами для работы с raid.

Исходя из этого, как правило fakeraid используют в крайних случаях, когда без него совсем никак, вроде dual boot с виндой.

Вы утверждаете - или только предполагаете?

Насколько я разобрался - ядру вообще глубоко фиолетово, какие там метаданные. У ядра есть тем или иным образом собранный программный массив, с которым он работает. А как этот массив собирался, или как создавался - ядру дела нет. Поэтому "обучение" mdadm "левым" метаданным оказалось делом несложным.

Поэтому мне и непонятно - почему к fake-RAID такое негативное отношение...

Поскольку никто так и не ответил - пришлось подробно разбираться самому.

В процессе разборок выяснилось, что поддержка external metada вносит дополнительные сложности в работу системы, а именно: грузится демон mdmon, который отслеживает изменение статуса рейда. Сначала этот mdmon нужно запустить на этапе загрузки initrd, причем ему нужна r/w файловая система, а потом еще нужно "пнуть" этот демон после нормальной загрузки, чтобы он переключился на "правильную" файловую систему с той, которую ему подсунули на этапе загрузки initrd.

В общем, я принял решение отказаться от использования external metadata, создал обычный программный рейд из двух дисков и разбил его на разделы.

При таком варианте даже initrd оказался не нужен - достаточно в конфиге GRUB'а иметь:

md=0,/dev/sda,/dev/sdb root=/dev/md0p2

IVB написал(а): ...В общем, я

IVB написал(а):
...В общем, я принял решение отказаться от использования external metadata, создал обычный программный рейд из двух дисков и разбил его на разделы...

Что вам и предлагали с самого начала... :)

SysA написал(а): IVB

SysA написал(а):
IVB написал(а):
...В общем, я принял решение отказаться от использования external metadata, создал обычный программный рейд из двух дисков и разбил его на разделы...

Что вам и предлагали с самого начала... :)

Если бы мне с самого начала сказали "Чувак, почитай то-то и то-то", или хотя бы "погугли на предмет mdmon" - это было бы аргументом. Но когда мне говорят "Это плохо - потому что это плохо" - это не может служить аргументом.

В любом случае - спасибо всем ответившим, они были правы: использование external metadata оправдано только в крайних случаях - например, когда один и тот же массив должен быть доступен под Линухом и под Виндой.

IVB написал(а): Если бы мне с

IVB написал(а):
Если бы мне с самого начала сказали "Чувак, почитай то-то и то-то", или хотя бы "погугли на предмет mdmon" - это было бы аргументом. Но когда мне говорят "Это плохо - потому что это плохо" - это не может служить аргументом.

следил за темой ради интереса, в итоге как я понял решение не найдено...

ЗЫ: помню в каком то лохматом году поставил контроллер Fasttrack tx2000. в итоге оказался софтовый и под линуксом 2 диска... ставлю FreeBSD и о чудо - она все нормально определила как raid и грузилась с него без всяких initrd... философский вопрос: почему же в линуксе не так?

________________________
"We Will Win"

честно говоря не вижу причины

честно говоря не вижу причины для беспокойства ... у меня уже используется подобный сервер. Отличия - я просто отключил рейд в биосе, выставив AHCI (что прекрасно поддерживается ядром линукса и уж точно должно присутствовать в Intel контроллерах):
serverxxx ~ # mount
/dev/md3 on / type ext4 (rw)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
udev on /dev type tmpfs (rw,nosuid,relatime,size=10240k,mode=755)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620)
shm on /dev/shm type tmpfs (rw,noexec,nosuid,nodev)
usbfs on /proc/bus/usb type usbfs (rw,noexec,nosuid,devmode=0664,devgid=85)
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,noexec,nosuid,nodev)
securityfs on /sys/kernel/security type securityfs (rw,noexec,nosuid,nodev)
/dev/mapper/cryptvg-backup on /backup type ext4 (rw)
/dev/md1 on /boot type ext2 (rw,noatime)
serverxxx ~ # cat /proc/mdstat
Personalities : [raid1]
md1 : active raid1 sdb1[1] sda1[0]
112320 blocks [2/2] [UU]

md2 : active raid1 sdb2[1] sda2[0]
4200896 blocks [2/2] [UU]

md3 : active raid1 sdb3[1] sda3[0]
15735552 blocks [2/2] [UU]

unused devices:

Я правильно вас понял: загружаем систему с md-raid? Причем grub я не стал выносить с рейда ...

честно говоря не вижу причины

честно говоря не вижу причины для беспокойства 

Само собой, мне беспокоится неочем :)
По теме :
на линуксовом софт-райде /ме тоже поставил немало машин, но юзать встроенный факе-раид мне в голову и в страшном сне не пришло бы.
если нужен RAID1 то обычно делал так:
100 мб /boot - md0 ( metadata - 0.90)
10Г / - мд1 (metadata - 0.90)
свап - не в райд ( ман swapon - pri=1 для обоих разделов)
остальное - мд3 (metadata - max )
на md3 при надобности lvm
если совем край - то на нарезается md4 с раид0 для дампа туда нужного файла при бекапе перед отправкой на сетевой локейшн

Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)

slepnoga написал(а): юзать

slepnoga написал(а):
юзать встроенный факе-раид мне в голову и в страшном сне не пришло бы.

Почему? Что с ним "не так"?

Я понимаю, что "старый" способ (когда массивы создаются из разделов, а не из дисков) более привычен, т.к. "новый" способ появился совсем недавно - в mdadm 3.0+. Но почему Вы так негативно отметаете этот новый способ? Только потому, что он новый?

т.к. "новый" способ появился

т.к. "новый" способ появился совсем недавно - в mdadm 3.0+.

Вы ошибаетесь - загнать в раид несколько блок-девайсов ( и пофик, есть на них таблица разделов или нет, и даже пофик, где они были физически) можно было всегда - как пример - /dev/md0p1 - что за зверь,по твоему ? :)
так же всегда можно было комбинировать и загонятз раид на раид

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

Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".