Bug 1219462

Summary: Unable to boot when lvm raidintegrity is enabled
Product: [openSUSE] openSUSE Tumbleweed Reporter: William Brown <william.brown>
Component: BootloaderAssignee: Bootloader Maintainers <bootloader-maintainers>
Status: NEW --- QA Contact: E-mail List <qa-bugs>
Severity: Normal    
Priority: P5 - None CC: felix.niederwanger
Version: Current   
Target Milestone: ---   
Hardware: Other   
OS: Other   
Whiteboard:
Found By: --- Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---
Attachments: screenshot of grub errors

Description William Brown 2024-02-02 04:58:49 UTC
Created attachment 872386 [details]
screenshot of grub errors

If a raid 1 lvm volume is configure with raidintegrity enable, grub is unable to boot with the error: "unknown node 'root_rimage_0'"

Reproducer:

Install tumbleweed in a VM with LVM for root + swap.

Resize the VM disk to allow space for the integrity image.

Add another virtual disk of the same size.

copy the partition table from vda to vdb
# sgdisk -R /dev/vdb /dev/vda

reset vdb's GUID
# sgdisk -G /dev/vdb

Create a PV on vdb2
# pvcreate /dev/vdb2

Add vdb2 to the vg
#vgextend system /dev/vdb2

Convert the root lv to raid 1
# lvconvert --type raid1 system/root

wait for the sync to complete
# lvs -a -o +devices
  LV              VG     Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert Devices
  root            system rwi-aor--- 18.62g                                    100.00           root_rimage_0(0),root_rimage_1(0)
  [root_rimage_0] system iwi-aor--- 18.62g                                                     /dev/vda2(351)
  [root_rimage_1] system iwi-aor--- 18.62g                                                     /dev/vdb2(1)
  [root_rmeta_0]  system ewi-aor---  4.00m                                                     /dev/vda2(5117)
  [root_rmeta_1]  system ewi-aor---  4.00m                                                     /dev/vdb2(0)
  swap            system -wi-ao----  1.37g                                                     /dev/vda2(0)

Reboot to demonstrate that raid1 is bootable.
# reboot

Add raidintegrity
# lvconvert --raidintegrity y system/root

Wait for the sync to complete
# lvs -a -o +devices
  LV                    VG     Attr       LSize   Pool Origin                Data%  Meta%  Move Log Cpy%Sync Convert Devices
  root                  system rwi-aor---  18.62g                                                   100.00           root_rimage_0(0),root_rimage_1(0)
  [root_rimage_0]       system gwi-aor---  18.62g      [root_rimage_0_iorig]                        100.00           root_rimage_0_iorig(0)
  [root_rimage_0_imeta] system ewi-ao---- 220.00m                                                                    /dev/vda2(5118)
  [root_rimage_0_iorig] system -wi-ao----  18.62g                                                                    /dev/vda2(351)
  [root_rimage_1]       system gwi-aor---  18.62g      [root_rimage_1_iorig]                        100.00           root_rimage_1_iorig(0)
  [root_rimage_1_imeta] system ewi-ao---- 220.00m                                                                    /dev/vdb2(4767)
  [root_rimage_1_iorig] system -wi-ao----  18.62g                                                                    /dev/vdb2(1)
  [root_rmeta_0]        system ewi-aor---   4.00m                                                                    /dev/vda2(5117)
  [root_rmeta_1]        system ewi-aor---   4.00m                                                                    /dev/vdb2(0)
  swap                  system -wi-ao----   1.37g                                                                    /dev/vda2(0)


Reboot

-- Expected Behaviour

System boots normally.

-- Actual Behaviour

Grub errors and the system is unbootable.
Comment 1 William Brown 2024-02-02 05:02:36 UTC
Affects SLE/Leap 15.5 as well.