Bug#1064009: initramfs-tools-core: initrd fails to boot stating root fs is missing with LVM RAID1 in degraded mode
Package: initramfs-tools-core
Version: 0.142
Severity: normal
Dear Maintainer,
* What led up to the situation?
Consider having VM with two ~21.5GB disks and doing fresh installation
Debian installer partitioner setup
1) Created partitions as follows
/dev/vda1 500MB EFI
/dev/vda2 21GB LVM
/dev/vdb1 500MB EFI
/dev/vdb2 21GB LVM
2) Setup LVM as follows
vg_main as VG consists of /dev/vda2 & /dev/vdb2 PVs (~ 2*20GB)
lv_root ext4 10GB LV in vg_main
lv_swap swap 1GB LV in vg_main
Both LVs are created as linear by the installer
3) Finish Debian installation & reboot
4) Boot new system and convert lv_root linear LV to RAID 1
lvconvert --type raid1 vg_main/lv_root -m 1
5) Reboot the machine to ensure it boots and check lvs status
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
lv_root vg_main rwi-aor--- 9.31g 100.00
[lv_root_rimage_0] vg_main iwi-aor--- 9.31g
[lv_root_rimage_1] vg_main iwi-aor--- 9.31g
[lv_root_rmeta_0] vg_main ewi-aor--- 4.00m
[lv_root_rmeta_1] vg_main ewi-aor--- 4.00m
lv_swap vg_main -wi-ao---- 952.00m
6) shutdown the machine, disconnect vdb disk and start it again
7) initrd drops to initramfs shell stating it's unable to find root file system
* What exactly did you do (or not do) that was effective (or
ineffective)?
Created a script /etc/initramfs-tools/scripts/local-top/startlvm with the following content
#!/bin/sh
PREREQ=""
prereqs()
{
echo "$PREREQ"
}
case $1 in
prereqs)
prereqs
exit 0
;;
esac
. /scripts/functions
# Begin real processing below this line
lvm vgchange -ay --activationmode degraded --sysinit
* What was the outcome of this action?
LVM was able to start root LV even if one PV was missing.
* What outcome did you expect instead?
I would expect this to be handled without a need for a custom script.
-- System Information:
Debian Release: 12.5
APT prefers stable-updates
APT policy: (500, 'stable-updates'), (500, 'stable-security'), (500, 'stable')
Architecture: amd64 (x86_64)
Kernel: Linux 6.1.0-18-amd64 (SMP w/2 CPU threads; PREEMPT)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
Versions of packages initramfs-tools-core depends on:
ii coreutils 9.1-1
ii cpio 2.13+dfsg-7.1
ii e2fsprogs 1.47.0-2
ii klibc-utils 2.0.12-1
ii kmod 30+20221128-1
ii logsave 1.47.0-2
ii udev 252.22-1~deb12u1
Versions of packages initramfs-tools-core recommends:
ii busybox 1:1.35.0-4+b3
ii zstd 1.5.4+dfsg2-5
Versions of packages initramfs-tools-core suggests:
ii bash-completion 1:2.11-6
-- no debconf information
Reply to: