[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