make-initrd 2.16.0. Баг похож на bug 29831. На той же системе, про которую там шла речь в комментарии 24, отпал один hdd. При перезагрузке в /proc/mdstat получилась такая картинка: Personalities : [raid10] md0 : inactive sda1[1](S) sdd1[3](S) sdc1[2](S) 589632 blocks md1 : active raid10 sda3[0] sdc3[2] sdd3[3] 972282880 blocks 512K chunks 2 near-copies [4/3] [U_UU] md0: /dev/sd[abcd]1 raid1 (Version: 0.90.00) /boot md1: /dev/sd[abcd]3 raid10/LVM всё остальное /boot сейчас с nofail в fstab, так что система зарузилась. При этом воспроизвести сходу не вышло; после "mdadm /dev/md0 -f /dev/sdb1" md0 получается активен после перезагрузки. Удалять ещё и sdb3 дополнительно пока не пробовал.
Если /boot нет в mountpoints, то этот массив должен полностью игнорироваться. Какие udev-правила сгенерировались для initrd ?
Предыдущий вопрос не актуален. Я кажется знаю, что произошло. В фиче mdadm есть скрипт, который позволяет загрузиться с деградированного массива [1]. Мы исправили udev-правила и "лишние" raid-массивы игнорируются, но когда случается таймаут, то скрипт движется по всем массивам. Нужно научить этот скрипт на какие рейды смотреть. Нужно сгенерировать не только правила, но и список для того скрипта. Тогда он тоже будет пропускать "лишние" рейды. [1] features/mdadm/data/lib/uevent/handlers/md-raid-member/100-timeout
Created attachment 9330 [details] rules.d/* из initrd (In reply to Alexey Gladkov from comment #1) > Если /boot нет в mountpoints, Есть в fstab, только с nofail: UUID=a9e4f81c-de96-45df-bbdc-1de2e459d8ea /boot ext4 nofail,nodev,nosuid,noexec,relatime 1 2 > Какие udev-правила сгенерировались для initrd ? в rules.d.tgz
(In reply to Alexey Gladkov from comment #2) > но когда случается таймаут Да, на умершем hdd система долго висела до продолжения загрузки, а сейчас быстро проскакивает. Вдимо из-за этого воспризвести не получается.
Нужно сделать что-то такое: http://git.altlinux.org/people/legion/packages/make-initrd.git?p=make-initrd.git;a=commitdiff;h=18ad907e224e9d34fa8f3aa946e8cf073414c61f Вопрос в том, стоит ли генерировать отдельный конфиг для mdadm -IRs. Это не сложно сделать.
(In reply to Alexey Gladkov from comment #5) > Нужно сделать что-то такое: Надо найти время стенд собрать и попробовать воспроизвести. Но боюсь срок обещать.
(Ответ для Sergey Y. Afonin на комментарий #6) > Надо найти время стенд собрать и попробовать воспроизвести. Но боюсь срок > обещать. Если что, то берите master. Этот коммит оказался плохим и я его переделал на uuid'ы.
make-initrd-2.17.0-alt1 -> sisyphus: Tue May 18 2021 Alexey Gladkov <legion@altlinux.ru> 2.17.0-alt1 - Switch from upstream git tree to release tarballs. - Runtime: + Import halt/reboot/poweroff from sysvinit. + ueventd: Added the ability to stop processing events in the queue. + The stop_daemon should not show stopped pids. + Open rdshell by Alt-Uparrow hotkey. - New feature: + kickstart: New feature for automated execution of actions. - Feature mdadm: + Examine only arrays where mountpoints are located (ALT#40005). - Feature luks: + Remove only one new line in plain text key mode. - Feature lkrg: + Add nolkrg and noearlylkrg cmdline options (thx Vladimir D. Seleznev). - Feature plymouth: + Improve portability. + Run plymouth helpers only if feature is enabled. - Utilities: + depinfo: Check compression suffixes when looking for firmware (ALT#40006). + depinfo: Explore versioned subdirectories in the firmware search. - Misc: + Rewrite tests.