[sisyphus] Boot from Soft-RAID

Sergei Dolmatov =?iso-8859-1?q?sergei_=CE=C1_dolmatov=2Edsb=2Eru?=
Ср Фев 19 13:21:14 MSK 2003


On Wed, Feb 19, 2003 at 11:43:57AM +0300, Владимир wrote:
> Sergei Dolmatov пишет:
> 
> >On Wed, Feb 19, 2003 at 10:26:25AM +0300, Владимир wrote:
> > 
> >
> >>Привет всем.
> >>
> >>Sergei Dolmatov пишет:
> >>
> >>   
> >>
> >>>Добрый день!
> >>>
> >>>Озаботился загрузкой с software-RAID. Создал initrd с --with=ext2
> >>>--with=raid1. 
> >>>
> >>>     
> >>>
> >>Хотелось бы просто увидеть вывод mkinitrd, запущенного с вашими ключами и
> >>дополнительным ключиком "-v ". Намного информативней, чем словесное
> >>описание как что делалось (--with=raid1 - для чего?). Я давно взял за 
> >>правило,
> >>без "-v" initrd не создавать, теряется контроль над процессом.
> >>   
> >>
> >
> >Вот, примерно:
> >
> ># mkinitrd -f -vvv --with=ext2 --with=raid1 raid-2.4.19-alt0.8-up.img
> ># `uname -r`
> >Copying directory tree from /lib/modules/2.4.19-alt0.8-up: done.
> >Generating module dependencies in /root/tmp/initrd.batPG28543/fakemod: 
> >done.
> >Using modules:  kernel/fs/ext2/ext2.o kernel/drivers/md/raid1.o
> >Contents of linuxrc:
> >#!/bin/sh
> >/bin/insmod -f /lib/modules/2.4.19-alt0.8-up/kernel/fs/ext2/ext2.o 
> >/bin/insmod -f /lib/modules/2.4.19-alt0.8-up/kernel/drivers/md/raid1.o 
> >Inode count: 47
> >Image size: 224K
> >Created image from tree: /root/tmp/initrd.batPG28543/tree --> 
> >/root/tmp/initrd.batPG28543/img
> >Created romfs image file
> >Installed ramdisk into raid-2.4.19-alt0.8-up.img
> >Ramdisk size: 76K
> >
> >--with=raid1 - для загрузки raid1.o, на RAID-1 находится / (c /boot). Если
> >есть способ подмонтировать корневой раздел без загрузки этого модуля в
> >initrd (и без пересобирания ядра с встроенной поддержкой raid1) - буду
> >только рад услышать.
> > 
> >
> 
> Теперь надеюсь и вам все ясно? Только с модулями и без инициализации 
> raid не работает.
> Попробуйте последовательность:
> man raidstart, прочтите boot-raid howto, воспользовавшись ключиком 
> -pause реализуйте
> полученные знания.

Если я не ошибаюсь, запуск raid возможен без прямого запуска raidstart
при применении autodetection, что и было однажды проделано уже. Правда, на
ядре 2.2.19, из Spring. Надеюсь, что в этом плане в 2.4 ничего сильно не
изменилось - если я не прав, поправьте меня.

Разделы, на которых располагается md1 (/) - имеют fstype 0xfd (linux raid
auto), что и определяется ядром, и оно даже пытается запустить этот
массив.

Или я, все-таки, зря надеюсь на autodetection и должен использовать
raidstart/raidstop?

Насколько я понимаю механизм autodetection применительно к raid1 - ядро
при определении дисков и разделов видит 0xfd, понимает, что это raid (как
он понимает ext2 и прочие), после чего неведомыми мне путями пытается
запустить этот raid.

> На счет --with=raid1. Попробуйте без него и посмотрите, что нибудь 
> изменится?
> Подгрузка модуля происходит из за наличия записи в файле /etc/fstab, но 
> не из за
> ключика.
> 
> Теперь то, что вы будете рады услышать.
> Есть более простой вариант и я когда то о нем писал. Можно подправить файл
> /etc/rc.d/rc.sysinit и грузится на soft-raid1 (и только raid1) в 
> деградированном
> режиме на модульное ядро и без поддержки raid в initrd "Деградированный"
> смущать не должно - процесс идет даже более "кошарно".

"Деградированный" - это при использовании 'failed-disk'?

Попробую уточнить ситуацию, вдруг не совсем ясно выразился.

md1 я сделал, корневой раздел на него перенес. Запускается и работает этот
массив вполне нормально (если не делать его корневым :). То есть - есть
корень, скажем, /dev/hda3, с которого создавалось содержимое md1, и
который сейчас используется как корневой.

В /proc/mdstat видно, что md1 поднят и работает в нормальном режиме.

Теперь, если меня действительно правильно поняли, я совсем перестал
соображать - при чем тут degrated mode при загрузке с raid1? Насколько я
знаю, это применяют при создании массива, который будет являться корневым
(ну и при замене отказавшего диска, конечно).

> 
> >>>Ядра, на которых это испытывалось: 2.4.19-alt0.8-up, 2.4.20-alt0.8-up.
> >>>mkinitrd-2.8.6-alt1
> >>>
> >>>
> >>>     
> >>>
> >>mkinitrd-2.8.6-alt2 содержит дополнительный ключик "--pause" 
> >>Предназначен, в частности, для "ручной доработки" initrd под загрузку на 
> >>raid. Но, это из разряда вещей, которые нужно осваивать самому. 
> >>   

--
Regards,
Sergei Dolmatov.
---
Ignorance is bliss.
		-- Thomas Gray

Fortune updates the great quotes, #42:
	BLISS is ignorance.



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