[Comm] root raid частное решение
Владимир
=?iso-8859-1?q?fmfm_=CE=C1_symmetron=2Emsk=2Eru?=
Вт Май 27 17:12:50 MSD 2003
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
Подробная информация о списке рассылки community