* Re: [d-kernel] software raid root
@ 2003-07-09 17:57 ` Алексей Любимов
2003-07-10 13:48 ` Michael Shigorin
` (2 subsequent siblings)
3 siblings, 0 replies; 13+ messages in thread
From: Алексей Любимов @ 2003-07-09 17:57 UTC (permalink / raw)
To: ALT Linux kernel packages development
Здорово.
Загрузки на softwareraid лично мне очень не хватало, благо теперь
raid0/1/5 используются весьма часто.
Не пора ли переносить ядерный девелопмент в cvs или иное средство
коллективной версионной разработки?
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [d-kernel] software raid root
2003-07-09 17:57 ` [d-kernel] software raid root Алексей Любимов
@ 2003-07-10 13:48 ` Michael Shigorin
2003-07-11 15:50 ` [d-kernel] " Sergey Vlasov
2003-07-12 16:46 ` [d-kernel] " Michael Shigorin
3 siblings, 0 replies; 13+ messages in thread
From: Michael Shigorin @ 2003-07-10 13:48 UTC (permalink / raw)
To: ALT Developers List, devel-kernel
[-- Attachment #1: Type: text/plain, Size: 1695 bytes --]
On Wed, Jul 09, 2003 at 08:20:51PM +0400, Sergey Vlasov wrote:
> Я позанимался вопросом загрузки системы с корнем на software
> RAID (на простом md - без EVMS). Сейчас это у нас не работает -
> а зря.
Именно.
> Причина неработоспособности очевидна: автоопределение разделов
> с RAID происходит слишком рано - ещё до обработки initrd, когда
> никакие модули RAID ещё не загружены; в самом initrd тоже нет
> средств для запуска RAID.
Да. В RH -- есть.
> Возможны два подхода к решению этой проблемы:
> 1) Использование уже имеющихся средств автооопределения
> разделов RAID с соответствующими исправлениями, чтобы
> автозапуск RAID выполнялся из initrd после загрузки всех нужных
> модулей.
В шляпе так и лежит:
--- initrd#uzip:/linuxrc
#!/bin/nash
echo "Loading scsi_mod module"
insmod /lib/scsi_mod.o
echo "Loading sd_mod module"
insmod /lib/sd_mod.o
echo "Loading aic7xxx module"
insmod /lib/aic7xxx.o
echo "Loading raid1 module"
insmod /lib/raid1.o
echo "Loading jbd module"
insmod /lib/jbd.o
echo "Loading ext3 module"
insmod /lib/ext3.o
echo Mounting /proc filesystem
mount -t proc /proc /proc
echo Creating root device
mkrootdev /dev/root
raidautorun /dev/md0
echo 0x0100 > /proc/sys/kernel/real-root-dev
echo Mounting root filesystem
mount --ro -t ext3 /dev/root /sysroot
umount /proc
pivot_root /sysroot /sysroot/initrd
---
> 2) Запуск RAID с помощью raidstart из initrd.
Мне тоже не очень нравится. Если есть удобная вещь -- почему бы
ей и не пользоваться?
> Получился следующий набор патчей (два в mkinitrd и два в ядро):
О, а вот это я постараюсь проверить до конца недели.
--
---- WBR, Michael Shigorin <mike@altlinux.ru>
------ Linux.Kiev http://www.linux.kiev.ua/
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 13+ messages in thread
* [d-kernel] Re: software raid root
2003-07-09 17:57 ` [d-kernel] software raid root Алексей Любимов
2003-07-10 13:48 ` Michael Shigorin
@ 2003-07-11 15:50 ` Sergey Vlasov
2003-07-18 14:20 ` Sergey Vlasov
2003-07-12 16:46 ` [d-kernel] " Michael Shigorin
3 siblings, 1 reply; 13+ messages in thread
From: Sergey Vlasov @ 2003-07-11 15:50 UTC (permalink / raw)
To: ALT Linux kernel packages development
[-- Attachment #1.1: Type: text/plain, Size: 608 bytes --]
On Wed, 9 Jul 2003 20:20:51 +0400
Sergey Vlasov <vsu@altlinux.ru> wrote:
> Получился следующий набор патчей (два в mkinitrd и два в ядро):
Поправка. Обнаружен баг в обработке RAID_AUTORUN, приводящий к
искажению счётчика ссылок (mddev->active), в результате чего после
raidautorun /dev/md0 можно выполнить raidstop /dev/md0 при
смонтированной файловой системе на /dev/md0.
Патч 04_autorun-refcount.patch исправляет эту проблему. Видимо, он
должен пойти в kernel-fix-drivers-md - ed?
Патчи 05_md-delay-autostart-patch и 06_md-autodetect-module-patch
пересозданы с учётом предыдущего патча.
[-- Attachment #1.2: 04_autorun-refcount.patch --]
[-- Type: application/octet-stream, Size: 993 bytes --]
[-- Attachment #1.3: 05_md-delay-autostart.patch --]
[-- Type: application/octet-stream, Size: 616 bytes --]
[-- Attachment #1.4: 06_md-autodetect-module.patch --]
[-- Type: application/octet-stream, Size: 8063 bytes --]
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [d-kernel] software raid root
` (2 preceding siblings ...)
2003-07-11 15:50 ` [d-kernel] " Sergey Vlasov
@ 2003-07-12 16:46 ` Michael Shigorin
2003-07-12 17:21 ` Michael Shigorin
2003-07-14 12:00 ` [d-kernel] " Sergey Vlasov
3 siblings, 2 replies; 13+ messages in thread
From: Michael Shigorin @ 2003-07-12 16:46 UTC (permalink / raw)
To: ALT Developers List, devel-kernel, sisyphus
Cc: Anton Farygin, Stanislav Ievlev, Dmitry V. Levin
[-- Attachment #1: Type: text/plain, Size: 1624 bytes --]
On Wed, Jul 09, 2003 at 08:20:51PM +0400, Sergey Vlasov wrote:
> Я позанимался вопросом загрузки системы с корнем на software RAID
Спасибо!
> Сейчас собрал такую конструкцию (в том числе с md.o в модуле),
> попробовал на ядре на базе 2.4.21-std-up-alt1 (хотя по патчам
Вот как раз собираю -- все приноравливаюсь к новой схеме и
вспоминаю, как делать _нельзя_ :-)
> Ещё попробовал на старом ядре (под руку подвернулось не
> вытертое со времени установки 2.4.20-alt5-up) - с ним тоже
Да, с 2.4.20-alt7 взлетает чудесно, с halt именно та проблема,
которая описана дальше; пока надеюсь все равно съехать и на той
железке на сборном 2.4.21 с vsu md fixes, но по крайней мере
запасной вариант уже есть и работает достаточно малой кровью.
> Получился следующий набор патчей (два в mkinitrd и два в ядро):
> busybox-0.60.5-alt-raidautorun.patch - добавляет в busybox из пакета
> mkinitrd команду raidautorun, которая запускает автоопределение RAID.
> mkinitrd-2.8.7-alt-rootraid.patch - дополнение для mkinitrd; при
> обнаружении /dev/md* в fstab вставляет вызов raidautorun в создаваемый
> linuxrc.
2 ldv, inger, rider: это *must* have в ближайшем дистрибутиве.
Тогда у нас будет хоть с чего-то возможно встать на root software
raid1.
Естественно, саму процедуру тоже стоит лишний раз протестировать
-- если я правильно понял, для корня забивается /dev/md0 (сперва
было он у меня оказался на /dev/md1 => mismatch).
> 01_md-delay-autostart.patch
> 02_md-autodetect-module.patch
Тестирую (обновленные в свете RAID_AUTORUN).
--
---- WBR, Michael Shigorin <mike@altlinux.ru>
------ Linux.Kiev http://www.linux.kiev.ua/
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [d-kernel] software raid root
2003-07-12 16:46 ` [d-kernel] " Michael Shigorin
@ 2003-07-12 17:21 ` Michael Shigorin
2003-07-14 12:00 ` [d-kernel] " Sergey Vlasov
1 sibling, 0 replies; 13+ messages in thread
From: Michael Shigorin @ 2003-07-12 17:21 UTC (permalink / raw)
To: devel-kernel
[-- Attachment #1: Type: text/plain, Size: 1222 bytes --]
On Sat, Jul 12, 2003 at 07:46:07PM +0300, Michael Shigorin wrote:
> > попробовал на ядре на базе 2.4.21-std-up-alt1 (хотя по патчам
> Вот как раз собираю -- все приноравливаюсь к новой схеме и
> вспоминаю, как делать _нельзя_ :-)
(почему-то в упор отказывается взлетать с md.o можулем --
пришлось вогнать в ядро; при попытке insmod его в linuxrc
наблюдаем:
(здесь, кажется, был сам md.o?)
unresolved ... md_autodetected_devices_count
unresolved md_autodetect_dev
Using /lib/modules/2.4.21-gvy-smp-alt5.1/kernel/drivers/md/raid1.o
unresolved md_interrupt_thread
unresolved md_do_sync
unresolved md_partition_name
unresolved md_recover_arrays
unresolved md_sync_acct
unresolved md_wakeup_thread
unresolved md_unregister_thread
...
> Да, с 2.4.20-alt7 взлетает чудесно, с halt именно та проблема,
> которая описана дальше; пока надеюсь все равно съехать и на той
> железке на сборном 2.4.21 с vsu md fixes, но по крайней мере
> запасной вариант уже есть и работает достаточно малой кровью.
Съехал при CONFIG_BLK_DEV_MD=y с приложенными
04_autorun-refcount.patch
05_md-delay-autostart.patch
06_md-autodetect-module.patch
--
---- WBR, Michael Shigorin <mike@altlinux.ru>
------ Linux.Kiev http://www.linux.kiev.ua/
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 13+ messages in thread
* [d-kernel] Re: software raid root
2003-07-12 16:46 ` [d-kernel] " Michael Shigorin
2003-07-12 17:21 ` Michael Shigorin
@ 2003-07-14 12:00 ` Sergey Vlasov
2003-07-14 12:33 ` Michael Shigorin
1 sibling, 1 reply; 13+ messages in thread
From: Sergey Vlasov @ 2003-07-14 12:00 UTC (permalink / raw)
To: ALT Linux kernel packages development
On Sat, 12 Jul 2003 19:46:07 +0300
Michael Shigorin <mike@osdn.org.ua> wrote:
> > Получился следующий набор патчей (два в mkinitrd и два в ядро):
> > busybox-0.60.5-alt-raidautorun.patch - добавляет в busybox из пакета
> > mkinitrd команду raidautorun, которая запускает автоопределение RAID.
> > mkinitrd-2.8.7-alt-rootraid.patch - дополнение для mkinitrd; при
> > обнаружении /dev/md* в fstab вставляет вызов raidautorun в создаваемый
> > linuxrc.
>
> 2 ldv, inger, rider: это *must* have в ближайшем дистрибутиве.
>
> Тогда у нас будет хоть с чего-то возможно встать на root software
> raid1.
>
> Естественно, саму процедуру тоже стоит лишний раз протестировать
> -- если я правильно понял, для корня забивается /dev/md0 (сперва
> было он у меня оказался на /dev/md1 => mismatch).
Не забивается - в raidautorun /dev/md0 нужно просто указать
какой-нибудь /dev/md*, запускаются всё равно все, а монтирует ядро уже
само по параметру root=... Хотя я это не проверял.
Кстати, если поставить туда какой-нибудь /dev/md255, можно будет
обойти баг с raidstop - он проявляется только в том случае, если
запускается тот md, через который делается RAID_AUTORUN.
Ещё, видимо, будет перетащить этот /dev/md* в /safedev - пока что у
нас devfs нет, но когда-нибудь будет...
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [d-kernel] Re: software raid root
2003-07-14 12:00 ` [d-kernel] " Sergey Vlasov
@ 2003-07-14 12:33 ` Michael Shigorin
2003-07-14 13:08 ` Sergey Vlasov
0 siblings, 1 reply; 13+ messages in thread
From: Michael Shigorin @ 2003-07-14 12:33 UTC (permalink / raw)
To: ALT Linux kernel packages development
On Mon, Jul 14, 2003 at 04:00:26PM +0400, Sergey Vlasov wrote:
> > -- если я правильно понял, для корня забивается /dev/md0 (сперва
> Не забивается - в raidautorun /dev/md0 нужно просто указать
> какой-нибудь /dev/md*, запускаются всё равно все, а монтирует
> ядро уже само по параметру root=... Хотя я это не проверял.
А. :)
> Кстати, если поставить туда какой-нибудь /dev/md255, можно
> будет обойти баг с raidstop - он проявляется только в том
> случае, если запускается тот md, через который делается
> RAID_AUTORUN.
Кстати, размонтировать их почему-то пытаются в порядке
0 1 2 3 (у меня это / /usr /var /home) -- соответственно /dev/md0
при этом не размонтируется по-человечески. Не успел посмотреть,
кто виноват -- сейчас буду ковырять.
--
---- WBR, Michael Shigorin <mike@altlinux.ru>
------ Linux.Kiev http://www.linux.kiev.ua/
^ permalink raw reply [flat|nested] 13+ messages in thread
* [d-kernel] Re: software raid root
2003-07-14 12:33 ` Michael Shigorin
@ 2003-07-14 13:08 ` Sergey Vlasov
2003-07-14 13:44 ` Michael Shigorin
0 siblings, 1 reply; 13+ messages in thread
From: Sergey Vlasov @ 2003-07-14 13:08 UTC (permalink / raw)
To: ALT Linux kernel packages development
On Mon, 14 Jul 2003 15:33:34 +0300
Michael Shigorin <mike@osdn.org.ua> wrote:
> Кстати, размонтировать их почему-то пытаются в порядке
> 0 1 2 3 (у меня это / /usr /var /home) -- соответственно /dev/md0
> при этом не размонтируется по-человечески. Не успел посмотреть,
> кто виноват -- сейчас буду ковырять.
Так _размонтировать_ их должны раньше, а уже потом raidstop - понятно,
что для корня он не пройдёт. /etc/init.d/halt делает raidstop в
порядке перечисления в /proc/mdstat. Хотя это неправильно - ведь
/dev/md* могут быть многослойными (RAID10), тут порядок останова так
просто не определишь (при запуске через RAID_AUTORUN номера берутся из
суперблоков, так что порядок может быть любой).
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [d-kernel] Re: software raid root
2003-07-14 13:08 ` Sergey Vlasov
@ 2003-07-14 13:44 ` Michael Shigorin
2003-07-14 14:26 ` Sergey Vlasov
0 siblings, 1 reply; 13+ messages in thread
From: Michael Shigorin @ 2003-07-14 13:44 UTC (permalink / raw)
To: ALT Linux kernel packages development
[-- Attachment #1: Type: text/plain, Size: 1429 bytes --]
On Mon, Jul 14, 2003 at 05:08:22PM +0400, Sergey Vlasov wrote:
> > Кстати, размонтировать их почему-то пытаются в порядке
> > 0 1 2 3 (у меня это / /usr /var /home) -- соответственно /dev/md0
> > при этом не размонтируется по-человечески. Не успел посмотреть,
> > кто виноват -- сейчас буду ковырять.
> Так _размонтировать_ их должны раньше, а уже потом raidstop -
> понятно, что для корня он не пройдёт. /etc/init.d/halt делает
> raidstop в порядке перечисления в /proc/mdstat. Хотя это
> неправильно - ведь /dev/md* могут быть многослойными (RAID10),
> тут порядок останова так просто не определишь (при запуске
> через RAID_AUTORUN номера берутся из суперблоков, так что
> порядок может быть любой).
Т.е. что-то сделать получается или?
Специально halt'нул, срисовываю картинку:
Unmounting filesystem [/dev/pts]: [ OK ]
Unmounting filesystem [/var]: [ OK ]
Unmounting filesystem [/usr]: [ OK ]
Unmounting filesystem [/home]: [ OK ]
Turning off RAID for md0: /dev/md0: Device or resource busy
[FAILED]
Turning off RAID for md1: [ OK ]
Turning off RAID for md2: [ OK ]
Turning off RAID for md3: [ OK ]
...
System halted.
Kernel panic: Loop 1
(при этом scsi led включен постоянно)
--- /etc/fstab ---
/dev/md0 / xfs defaults 1 1
/dev/md1 /usr xfs defaults 1 1
/dev/md2 /var xfs defaults 1 1
/dev/md3 /home xfs defaults 1 1
--
---- WBR, Michael Shigorin <mike@altlinux.ru>
------ Linux.Kiev http://www.linux.kiev.ua/
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 13+ messages in thread
* [d-kernel] Re: software raid root
2003-07-14 13:44 ` Michael Shigorin
@ 2003-07-14 14:26 ` Sergey Vlasov
2003-07-14 14:57 ` Michael Shigorin
0 siblings, 1 reply; 13+ messages in thread
From: Sergey Vlasov @ 2003-07-14 14:26 UTC (permalink / raw)
To: ALT Linux kernel packages development
On Mon, 14 Jul 2003 16:44:52 +0300
Michael Shigorin <mike@osdn.org.ua> wrote:
> On Mon, Jul 14, 2003 at 05:08:22PM +0400, Sergey Vlasov wrote:
> > > Кстати, размонтировать их почему-то пытаются в порядке
> > > 0 1 2 3 (у меня это / /usr /var /home) -- соответственно /dev/md0
> > > при этом не размонтируется по-человечески. Не успел посмотреть,
> > > кто виноват -- сейчас буду ковырять.
> > Так _размонтировать_ их должны раньше, а уже потом raidstop -
> > понятно, что для корня он не пройдёт. /etc/init.d/halt делает
> > raidstop в порядке перечисления в /proc/mdstat. Хотя это
> > неправильно - ведь /dev/md* могут быть многослойными (RAID10),
> > тут порядок останова так просто не определишь (при запуске
> > через RAID_AUTORUN номера берутся из суперблоков, так что
> > порядок может быть любой).
>
> Т.е. что-то сделать получается или?
Для варианта с RAID10 - даже не знаю, там, вероятно, можно создать
конфигурацию, которая не будет корректно останавливаться даже ядром.
> Специально halt'нул, срисовываю картинку:
>
> Unmounting filesystem [/dev/pts]: [ OK ]
> Unmounting filesystem [/var]: [ OK ]
> Unmounting filesystem [/usr]: [ OK ]
> Unmounting filesystem [/home]: [ OK ]
> Turning off RAID for md0: /dev/md0: Device or resource busy
> [FAILED]
Ну и что с этим можно сделать?
> Turning off RAID for md1: [ OK ]
> Turning off RAID for md2: [ OK ]
> Turning off RAID for md3: [ OK ]
>
> ...
>
> System halted.
> Kernel panic: Loop 1
>
> (при этом scsi led включен постоянно)
А это aic7xxx_core.c (или aic79xx_core.c). Где-то баги...
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [d-kernel] Re: software raid root
2003-07-14 14:26 ` Sergey Vlasov
@ 2003-07-14 14:57 ` Michael Shigorin
0 siblings, 0 replies; 13+ messages in thread
From: Michael Shigorin @ 2003-07-14 14:57 UTC (permalink / raw)
To: ALT Linux kernel packages development
On Mon, Jul 14, 2003 at 06:26:26PM +0400, Sergey Vlasov wrote:
> > Т.е. что-то сделать получается или?
> Для варианта с RAID10 - даже не знаю, там, вероятно, можно
> создать конфигурацию, которая не будет корректно
> останавливаться даже ядром.
:(
С другой стороны, 10 пока "штатно не поддерживается" в любом
случае?
> > Специально halt'нул, срисовываю картинку:
> > Turning off RAID for md0: /dev/md0: Device or resource busy
> > [FAILED]
> Ну и что с этим можно сделать?
Н-да. Не стопать вообще? ;]
> > Turning off RAID for md1: [ OK ]
> > Remounting root partition read-only
<-
> > Kernel panic: Loop 1
> > (при этом scsi led включен постоянно)
> А это aic7xxx_core.c (или aic79xx_core.c). Где-то баги...
aic7xxx. Кстати, в -aw свежие гиббсы?
--
---- WBR, Michael Shigorin <mike@altlinux.ru>
------ Linux.Kiev http://www.linux.kiev.ua/
^ permalink raw reply [flat|nested] 13+ messages in thread