[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: