* RE: [Comm] root raid частное решение
@ 2003-05-27 11:54 Aleksey Avdeev
2003-05-27 13:12 ` Владимир
0 siblings, 1 reply; 5+ messages in thread
From: Aleksey Avdeev @ 2003-05-27 11:54 UTC (permalink / raw)
To: community; +Cc: mike, ldv
[-- Attachment #1: Type: text/plain, Size: 4613 bytes --]
> -----Original Message-----
> From: community-admin@altlinux.ru [mailto:community-admin@altlinux.ru]On
> Behalf Of Aleksey Avdeev
> Sent: Thursday, May 22, 2003 11:48 AM
> To: community@altlinux.ru
> Subject: Re: [Comm] root raid
>
>
> Борис Ревякин пишет:
> > On Wed, 21 May 2003 12:10:48 +0400
> > "Aleksey Avdeev" <solo_oboroten@mail333.com> wrote:
> >
> >
> >>Michael Shigorin пишет:
> >>
> >>>On Fri, May 16, 2003 at 11:00:00AM +0400, Борис Ревякин wrote:
> >>>
> >>>
> >>>>>http://search.altlinux.ru/?q=root+raid1 по части обсуждения
> >>>>
> >>>>Михаил, обсуждения кое какие и правда есть, но я решения не нашел.
> >>>>Пожалуйста, ткните в решение. Ну _ОЧЕНЬ_ прошу.
> >>>
> >>>
> >>>Оно там было, ищите -- я тоже буду искать, но не сейчас, а
> >>>скоро...
> >>
> >> Только загрузка на raid1 в ДЕГРАДИРОВАННОМ режиме... Как
> >>загрузить систему с корнем на raid1 в штатном режиме, мне лично -
> >>найти не удалось.
> >>
> >>
> >>>Еще что-то вроде Root-RAID-Boot HOWTO содержало указание на то,
> >>>что стоит делать /boot первым разделом и ставить загрузчик
> >>>(точнее, именно LILO) на него. В случае для зеркала.
> >>
> >> При пользовании мини HOWTO "Boot + Root + Raid + Lilo :
> >>Программный Raid" нужно учитывать что подменой корня в Мастере
> >>занимается не linuxrc а кто-то другой (возможно
> >>BusyBox или код в ядре)... А так, подобная схема у меня работала
> >>на ядре 2.4.20-alt5-up, сейчас делаю её же для ядра 2.4.20-alt7-up.
> >>
> >>
> >>>Эх, блин -- на шляпе-то работает...
> >>>
> >>
> >> ИМХО: В Мастере проблема в том, что автодетект рейда
> >>выполняется ДО загрузки необходимых модулей средствами
> >>linuxrc (помоему, даже до монтирования initrd). При этом, запись
> >>в initrd /sbin/modprobe (бинарник с необходимыми либами, или как
> >>линк на существующий там insmod) и /etc/modules.conf не помогло.
> >> (depmod -a в контексте initrd - тоже.)
> >
> >
> > Полностью с Вами согласен.
> > Если собрать ядро с md внутрях, то загрузка происходит нормально.
> > Cкажите, что надо править для решения этой проблемы?
> > Уж очень не хочется пересобирать ядра из-за этой фишки. :-(
>
> Править надо initrd. Пока делаю это примерно так:
>
> 1. $ sudo mkinitrd --with raid1 --pause <initrd-image>
> <kernel-version>
>
> 2. Скрипт выведет имя каталога (у меня /tmp/initrd.*) где он
> создал заготовку образа и предложит нажать на ENTER после
> корректировок.
>
> 3. Я выполнял следующие (от root, всё относительно /tmp/initrd.*):
>
> а) mkdir proc
>
> б) ln -s bin sbin
>
> в) в bin скопировал системные umount и raidstart
>
> г) в lib - требуемые библиотеки (2 штуки + 2 софт линка на них
> какие именно - непомню: сделано дома)
>
> д) в etc - /etc/raidtab
>
> е) в dev - используемые устройства (в моём случаи -
> требующиеся sd* и md*)
>
> ё) дополнить linuxrc следующим кодом (шаблон):
>
> /bin/mount <опции, устройство> /proc
> /bin/raidstart <md*>
> /bin/umount /proc
>
> 4. Нажать на ENTER :-)
>
> Разумеется решение не очень красивое (например, umount можно
> реализовать средствами BusyBox). :-( Над болие красивым я
> работаю, но это займёт время, а его - мало.
>
Поэкспериментировал с ядром 2.4.20-alt7-up. Листинг
содержимого initrd содержится в прилагаемом файле initrd.ls.gz.
linuxrc:
**********
#!/bin/sh
/bin/insmod -f /lib/modules/2.4.20-alt7-up/kernel/drivers/md/raid1.o
/bin/insmod -f
/lib/modules/2.4.20-alt7-up/kernel/fs/reiserfs/reiserfs.o
#/bin/mount -t proc /proc /proc
#/sbin/raidstart /dev/md0 /dev/md1
/sbin/raidstart --all
^^^ Строки эквивалентны. Я не знаю, какой вариант правильнее.
#/bin/cat /proc/mdstat
^^^ Если используется - требуется подключить proc и добавить cat
и umount в bin (или реализовать их средствами BusyBox).
#/bin/umount proc
**********
modules.conf:
**********
alias md-personality-3 raid1
**********
Если существует линк md-personality-3.o -> raid1.o, то
modules.conf не требуется.
raidtab:
**********
raiddev /dev/md0
raid-level 1
nr-raid-disks 2
nr-spare-disks 0
chunk-size 4
persistent-superblock 1
device /dev/hdc3
raid-disk 0
device /dev/hda3
raid-disk 1
raiddev /dev/md1
raid-level 1
nr-raid-disks 2
nr-spare-disks 0
chunk-size 4
persistent-superblock 1
device /dev/hdc5
raid-disk 0
device /dev/hda5
raid-disk 1
**********
Описание md1 - явная избыточность. Но при его удалении система
переставала корректно загружаться: Корень цепляла, а всё то, что
у меня на md1 (том lvm) - нет. Думаю, что что-то я не учёл...
ЗЫ: Приношу извинения за возможный дубль: не вижу в архиве своих
сообщений. :-(
--
С уважением. Алексей.
[-- Attachment #2: initrd.ls.gz --]
[-- Type: application/octet-stream, Size: 656 bytes --]
[-- Attachment #3: linuxrc --]
[-- Type: application/octet-stream, Size: 284 bytes --]
[-- Attachment #4: modules.conf --]
[-- Type: application/octet-stream, Size: 30 bytes --]
[-- Attachment #5: raidtab --]
[-- Type: application/octet-stream, Size: 343 bytes --]
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [Comm] root raid частное решение
2003-05-27 11:54 [Comm] root raid частное решение Aleksey Avdeev
@ 2003-05-27 13:12 ` Владимир
2003-05-28 7:58 ` Aleksey Avdeev
0 siblings, 1 reply; 5+ messages in thread
From: Владимир @ 2003-05-27 13:12 UTC (permalink / raw)
To: community
Aleksey Avdeev пишет:
>
> Поэкспериментировал с ядром 2.4.20-alt7-up. Листинг содержимого
> initrd содержится в прилагаемом файле initrd.ls.gz.
>
> linuxrc:
>
> **********
>
> #!/bin/sh
> /bin/insmod -f /lib/modules/2.4.20-alt7-up/kernel/drivers/md/raid1.o
> /bin/insmod -f /lib/modules/2.4.20-alt7-up/kernel/fs/reiserfs/reiserfs.o
> #/bin/mount -t proc /proc /proc
> #/sbin/raidstart /dev/md0 /dev/md1
> /sbin/raidstart --all
>
> ^^^ Строки эквивалентны. Я не знаю, какой вариант правильнее.
>
> #/bin/cat /proc/mdstat
>
> ^^^ Если используется - требуется подключить proc и добавить cat и
> umount в bin (или реализовать их средствами BusyBox).
>
> #/bin/umount proc
Я из initrd инициализирую только корневой raid, соответсвенно сторока
имеет вид
/sbin/raidstart /dev/md0
Остальные инициализируются позднее.
>
>
> **********
>
> modules.conf:
>
> **********
>
> alias md-personality-3 raid1
>
> **********
>
> Если существует линк md-personality-3.o -> raid1.o, то modules.conf
> не требуется.
У меня ни линка, ни записи в modules.conf нет.
>
> raidtab:
>
> **********
>
> raiddev /dev/md0
> raid-level 1
> nr-raid-disks 2
> nr-spare-disks 0
> chunk-size 4
> persistent-superblock 1
> device /dev/hdc3
> raid-disk 0
> device /dev/hda3
> raid-disk 1
> raiddev /dev/md1
> raid-level 1
> nr-raid-disks 2
> nr-spare-disks 0
> chunk-size 4
> persistent-superblock 1
> device /dev/hdc5
> raid-disk 0
> device /dev/hda5
> raid-disk 1
>
> **********
А у меня в initrd "урезанный" raidtab, с описанием одного устройства (но
это неважно).
> Описание md1 - явная избыточность. Но при его удалении система
> переставала корректно загружаться: Корень цепляла, а всё то, что у
> меня на md1 (том lvm) - нет. Думаю, что что-то я не учёл...
Чтобы некорневые raid и сверху lvm грузились требуется правка rc.sysinit
Я писал об этом и жаль, что в дистрибутиве это не сделано (такая правка
ничего не ломает).
Следует поменять местами секции иницализации raid (она должна находится
до перемонтирования
корня в режим чтение-запись, где в оригинальном скрипте идет
иницализация lvm) и секцию lvm
(то есть переместить ее точно туда, где в оригинале секция raid - после
перемонтирования в чтение-запись).
И еще. Для полной корректности иницализацию lvm следует делать с vgscan,
у меня это так
# LVM Setting
VGCHANGE=/sbin/vgchange
if [ -x $VGCHANGE ]; then
if /sbin/vgscan &>/dev/null; then
action "Setting up LVM:" "$VGCHANGE" -a y
else
/sbin/rmmod lvm-mod
fi
fi
--
Best regards
Vladimir
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [Comm] root raid частное решение
2003-05-27 13:12 ` Владимир
@ 2003-05-28 7:58 ` Aleksey Avdeev
2003-05-28 15:43 ` [Comm] " Michael Shigorin
2003-05-29 7:33 ` [Comm] " Aleksey Avdeev
0 siblings, 2 replies; 5+ messages in thread
From: Aleksey Avdeev @ 2003-05-28 7:58 UTC (permalink / raw)
To: community
Владимир пишет:
> Aleksey Avdeev пишет:
>
>>
>> Поэкспериментировал с ядром 2.4.20-alt7-up. Листинг содержимого
>> initrd содержится в прилагаемом файле initrd.ls.gz.
>>
>> linuxrc:
>>
>> **********
>>
>> #!/bin/sh
>> /bin/insmod -f /lib/modules/2.4.20-alt7-up/kernel/drivers/md/raid1.o
>> /bin/insmod -f /lib/modules/2.4.20-alt7-up/kernel/fs/reiserfs/reiserfs.o
>> #/bin/mount -t proc /proc /proc
>> #/sbin/raidstart /dev/md0 /dev/md1
>> /sbin/raidstart --all
>>
>> ^^^ Строки эквивалентны. Я не знаю, какой вариант правильнее.
>>
>> #/bin/cat /proc/mdstat
>>
>> ^^^ Если используется - требуется подключить proc и добавить cat и
>> umount в bin (или реализовать их средствами BusyBox).
>>
>> #/bin/umount proc
>
>
>
>
> Я из initrd инициализирую только корневой raid, соответсвенно сторока
> имеет вид
> /sbin/raidstart /dev/md0
>
> Остальные инициализируются позднее.
Что, на мой взгляд, и правильно! :-) Но у меня не работает...
:-( Буду разбираться, в чём дело. (ИМХО: скорее всего я что-то не
учёл.)
>>
>> **********
>>
>> modules.conf:
>>
>> **********
>>
>> alias md-personality-3 raid1
>>
>> **********
>>
>> Если существует линк md-personality-3.o -> raid1.o, то modules.conf
>> не требуется.
>
>
>
>
> У меня ни линка, ни записи в modules.conf нет.
Тоже повод разбираться.
>>
>> raidtab:
>>
>> **********
>>
>> raiddev /dev/md0
>> raid-level 1
>> nr-raid-disks 2
>> nr-spare-disks 0
>> chunk-size 4
>> persistent-superblock 1
>> device /dev/hdc3
>> raid-disk 0
>> device /dev/hda3
>> raid-disk 1
>> raiddev /dev/md1
>> raid-level 1
>> nr-raid-disks 2
>> nr-spare-disks 0
>> chunk-size 4
>> persistent-superblock 1
>> device /dev/hdc5
>> raid-disk 0
>> device /dev/hda5
>> raid-disk 1
>>
>> **********
>
>
>
>
> А у меня в initrd "урезанный" raidtab, с описанием одного устройства (но
> это неважно).
>
>
>> Описание md1 - явная избыточность. Но при его удалении система
>> переставала корректно загружаться: Корень цепляла, а всё то, что у
>> меня на md1 (том lvm) - нет. Думаю, что что-то я не учёл...
>
>
>
>
> Чтобы некорневые raid и сверху lvm грузились требуется правка rc.sysinit
> Я писал об этом и жаль, что в дистрибутиве это не сделано (такая правка
> ничего не ломает).
> Следует поменять местами секции иницализации raid (она должна находится
> до перемонтирования
> корня в режим чтение-запись, где в оригинальном скрипте идет
> иницализация lvm) и секцию lvm
> (то есть переместить ее точно туда, где в оригинале секция raid - после
> перемонтирования в чтение-запись).
>
> И еще. Для полной корректности иницализацию lvm следует делать с vgscan,
> у меня это так
>
> # LVM Setting
> VGCHANGE=/sbin/vgchange
> if [ -x $VGCHANGE ]; then
> if /sbin/vgscan &>/dev/null; then
> action "Setting up LVM:" "$VGCHANGE" -a y
> else
> /sbin/rmmod lvm-mod
> fi
> fi
>
Если не ошибаюсь, то я пользуюсь Вашим rc.sysinit (если Вы его
выкладывали :-)). Спасибо! Правда, после обновлений его
приходится сливать с новыми стандартными. (Может и загрузка не
получалась, из-за ошибки при правке? Приду домой - проверю.)
Правда ИМХО, с vgscan возможно нужно быть осторожнее:
Автоматическая правка конфигурационных файлов скриптом при КАЖДОЙ
загрузке потенциально может стать источником проблем при
восстановлении системы. Но может я и ошибаюсь...
--
С уважением. Алексей.
^ permalink raw reply [flat|nested] 5+ messages in thread
* [Comm] Re: root raid частное решение
2003-05-28 7:58 ` Aleksey Avdeev
@ 2003-05-28 15:43 ` Michael Shigorin
2003-05-29 7:33 ` [Comm] " Aleksey Avdeev
1 sibling, 0 replies; 5+ messages in thread
From: Michael Shigorin @ 2003-05-28 15:43 UTC (permalink / raw)
To: community
On Wed, May 28, 2003 at 11:58:14AM +0400, Aleksey Avdeev wrote:
> >Я писал об этом и жаль, что в дистрибутиве это не сделано
> >(такая правка ничего не ломает).
> Если не ошибаюсь, то я пользуюсь Вашим rc.sysinit
http://altlinux.ru/mailman/listinfo/devel-kernel/, please!
--
---- WBR, Michael Shigorin <mike@altlinux.ru>
------ Linux.Kiev http://www.linux.kiev.ua/
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [Comm] root raid частное решение
2003-05-28 7:58 ` Aleksey Avdeev
2003-05-28 15:43 ` [Comm] " Michael Shigorin
@ 2003-05-29 7:33 ` Aleksey Avdeev
1 sibling, 0 replies; 5+ messages in thread
From: Aleksey Avdeev @ 2003-05-29 7:33 UTC (permalink / raw)
To: community; +Cc: Michael Shigorin, ldv
Aleksey Avdeev пишет:
> Владимир пишет:
>
>> Aleksey Avdeev пишет:
>>
>>>
>>> Поэкспериментировал с ядром 2.4.20-alt7-up. Листинг содержимого
>>> initrd содержится в прилагаемом файле initrd.ls.gz.
>>>
>>> linuxrc:
>>>
>>> **********
>>>
>>> #!/bin/sh
>>> /bin/insmod -f /lib/modules/2.4.20-alt7-up/kernel/drivers/md/raid1.o
>>> /bin/insmod -f /lib/modules/2.4.20-alt7-up/kernel/fs/reiserfs/reiserfs.o
>>> #/bin/mount -t proc /proc /proc
>>> #/sbin/raidstart /dev/md0 /dev/md1
>>> /sbin/raidstart --all
>>>
>>> ^^^ Строки эквивалентны. Я не знаю, какой вариант правильнее.
>>>
>>> #/bin/cat /proc/mdstat
>>>
>>> ^^^ Если используется - требуется подключить proc и добавить cat и
>>> umount в bin (или реализовать их средствами BusyBox).
>>>
>>> #/bin/umount proc
>>
>>
>>
>>
>>
>> Я из initrd инициализирую только корневой raid, соответсвенно сторока
>> имеет вид
>> /sbin/raidstart /dev/md0
>>
>> Остальные инициализируются позднее.
>
>
> Что, на мой взгляд, и правильно! :-) Но у меня не работает... :-( Буду
> разбираться, в чём дело. (ИМХО: скорее всего я что-то не учёл.)
>
>
>>>
>>> **********
>>>
>>> modules.conf:
>>>
>>> **********
>>>
>>> alias md-personality-3 raid1
>>>
>>> **********
>>>
>>> Если существует линк md-personality-3.o -> raid1.o, то modules.conf
>>> не требуется.
>>
>>
>>
>>
>>
>> У меня ни линка, ни записи в modules.conf нет.
>
>
> Тоже повод разбираться.
>
>>>
>>> raidtab:
>>>
>>> **********
>>>
>>> raiddev /dev/md0
>>> raid-level 1
>>> nr-raid-disks 2
>>> nr-spare-disks 0
>>> chunk-size 4
>>> persistent-superblock 1
>>> device /dev/hdc3
>>> raid-disk 0
>>> device /dev/hda3
>>> raid-disk 1
>>> raiddev /dev/md1
>>> raid-level 1
>>> nr-raid-disks 2
>>> nr-spare-disks 0
>>> chunk-size 4
>>> persistent-superblock 1
>>> device /dev/hdc5
>>> raid-disk 0
>>> device /dev/hda5
>>> raid-disk 1
>>>
>>> **********
>>
>>
>>
>>
>>
>> А у меня в initrd "урезанный" raidtab, с описанием одного устройства
>> (но это неважно).
>>
>>
>>> Описание md1 - явная избыточность. Но при его удалении система
>>> переставала корректно загружаться: Корень цепляла, а всё то, что у
>>> меня на md1 (том lvm) - нет. Думаю, что что-то я не учёл...
>>
>>
>> Чтобы некорневые raid и сверху lvm грузились требуется правка rc.sysinit
>> Я писал об этом и жаль, что в дистрибутиве это не сделано (такая
>> правка ничего не ломает).
Просмотрел я эту правку, оказывается... С ней - всё работает с
поднятием в initrd ТОЛЬКО md0. Правил initrd следующим образом:
1. cd dev; rm hd[ac]5 md1
2. в raidtab убил всё относящиеся к md1
3. в linuxrc строку "/sbin/raidstart --all" ОСТАВИЛ.
В таком виде всё работает.
>> Следует поменять местами секции иницализации raid (она должна
>> находится до перемонтирования
>> корня в режим чтение-запись, где в оригинальном скрипте идет
>> иницализация lvm) и секцию lvm
>> (то есть переместить ее точно туда, где в оригинале секция raid -
>> после перемонтирования в чтение-запись).
>>
>> И еще. Для полной корректности иницализацию lvm следует делать с
>> vgscan, у меня это так
>>
>> # LVM Setting
>> VGCHANGE=/sbin/vgchange
>> if [ -x $VGCHANGE ]; then
>> if /sbin/vgscan &>/dev/null; then
>> action "Setting up LVM:" "$VGCHANGE" -a y
>> else
>> /sbin/rmmod lvm-mod
>> fi
>> fi
>>
>
> Если не ошибаюсь, то я пользуюсь Вашим rc.sysinit (если Вы его
> выкладывали :-)). Спасибо! Правда, после обновлений его приходится
> сливать с новыми стандартными. (Может и загрузка не получалась, из-за
> ошибки при правке? Приду домой - проверю.)
>
> Правда ИМХО, с vgscan возможно нужно быть осторожнее: Автоматическая
> правка конфигурационных файлов скриптом при КАЖДОЙ загрузке потенциально
> может стать источником проблем при восстановлении системы. Но может я и
> ошибаюсь...
>
--
С уважением. Алексей.
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2003-05-29 7:33 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-05-27 11:54 [Comm] root raid частное решение Aleksey Avdeev
2003-05-27 13:12 ` Владимир
2003-05-28 7:58 ` Aleksey Avdeev
2003-05-28 15:43 ` [Comm] " Michael Shigorin
2003-05-29 7:33 ` [Comm] " Aleksey Avdeev
ALT Linux Community general discussions
This inbox may be cloned and mirrored by anyone:
git clone --mirror http://lore.altlinux.org/community/0 community/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 community community/ http://lore.altlinux.org/community \
mandrake-russian@linuxteam.iplabs.ru community@lists.altlinux.org community@lists.altlinux.ru community@lists.altlinux.com
public-inbox-index community
Example config snippet for mirrors.
Newsgroup available over NNTP:
nntp://lore.altlinux.org/org.altlinux.lists.community
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git