Sergey Vlasov пишет: > On Tue, Oct 23, 2007 at 11:28:37PM +0400, Aleksey Avdeev wrote: >> Именно таким хаком (копированием в initrd mdassemble и системного >> /etc/mdadm.conf) я эту проблему и решил... Но ненравиться мне такое >> решение! :-( >> >> По ходу дела выползло (незнаю, на сколько с данным способом решения >> связанное): >> >> 1. Неполучилось смонтировать root по UUID -- параметр root=UUID=> скопированный из lilo.conf> оказался нерабочим: зажило только с >> root=/dev/md<нужный> > > Если это /dev/md0, вероятнее всего, это тот же race, для которого > сделан hackaround в текущей реализации: > > # /scripts/local-top runs before swsusp resume - start RAID in > # read-only mode to avoid messing up resume state. Actually the > # start_ro parameter sets the "read-auto" mode - arrays initially > # start read-only, but are switched to the normal read-write mode on > # the first write request, so there is no need to switch arrays to > # the read-write mode explicitly. > # > # "echo add > /sys/block/md0/uevent" after md_run is a workaround for > # an unavoidable race between md_run invoking RAID_AUTORUN ioctl on > # /dev/md0 and udevd probing the started md devices (one of which may > # be /dev/md0): probing fails if it starts when md_run still has > # /dev/md0 open. The extra uevent makes sure that /dev/md0 is probed > # properly, which is important when the root fs is specified by UUID. > cat >>"$MNTDIR"/scripts/local-top <<'EOF' > log_begin_msg "Starting up RAID devices" > modprobe -q md_mod > echo 1 > /sys/module/md_mod/parameters/start_ro > md_run `cat /proc/cmdline` > echo add > /sys/block/md0/uevent ||: > log_end_msg > EOF Нет, это /dev/md1... > > Т.е., после md_run (или mdassemble) нужно лишний раз дёрнуть > /sys/block/md0/uevent, чтобы для него прочитался uuid. Хотя, > возможно, для mdassemble этого будет мало. OK, проверю. -- С уважением. Алексей.