[Comm] root raid частное решение

Aleksey Avdeev =?iso-8859-1?q?solo=5Foboroten_=CE=C1_mail333=2Ecom?=
Ср Май 28 11:58:14 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
> 

   Если не ошибаюсь, то я пользуюсь Вашим rc.sysinit (если Вы его 
выкладывали :-)). Спасибо! Правда, после обновлений его 
приходится сливать с новыми стандартными. (Может и загрузка не 
получалась, из-за ошибки при правке? Приду домой - проверю.)

   Правда ИМХО, с vgscan возможно нужно быть осторожнее: 
Автоматическая правка конфигурационных файлов скриптом при КАЖДОЙ 
загрузке потенциально может стать источником проблем при 
восстановлении системы. Но может я и ошибаюсь...

-- 

С уважением. Алексей.





Подробная информация о списке рассылки community