I've install a CentOS Stream 9 system from a kickstart file that
specified (among other things) several logical volumes:
logvol / --fstype="ext4" --size=10240 --name=lv_root --vgname=VolGroup
logvol /var --fstype="ext4" --size=4096 --name=lv_var --vgname=VolGroup
logvol swap --fstype="swap" --size=2048 --name=lv_swap --vgname=VolGroup
When that system rebooted, the kernel args did specify
"rd.lvm.lv=VolGroup/lv_root rd.lvm.lv=VolGroup/lv_swap", but did not
specify "rd.lvm.lv=VolGroup/lv_var", so boot failed because the
filesystem required for /var couldn't be found.
The dracut.cmdline documentation does record that it will only activate
the LVs given as "rd.lvm.lv", but I'm confused about several things.
1: The system also includes a volume group named "BackupGroup" and that
group activates on boot (post-dracut). Why are those LVs activated when
rd.lvm.lv is specified?
2: Why didn't Anaconda add the "var" LV to the kernel arguments?
3: This seems like a change from earlier releases, but I can't find any
documentation to that effect. Under CentOS 7, after dracut had
finished, the remaining logical volumes in that group would be
activated. Because they aren't, currently, libvirtd cannot start any of
its guests until I manually activate the group. How can I restore the
old behavior of activating all of the LVs on boot?