After upgrading the kernel package, my Centos 7 server didn't boot.
Here is a small summary: old kernel = kernel-3.10.0-123.4.4.el7.x86_64 (everything just fine) new kernel = kernel-3.10.0-123.6.3.el7.x86_64 root partition is on a primary partition, NOT on a LVM volume /var partition is on a LVM volume new kernel's boot problem = systemd cannot mount /var partition saying requirements failed or something like that
I have find out that the new kernel's initramfs image does not contain the lvm module while the old kernel's initramfs did.
I have created a new initramfs with lvm using dracut and could boot the server successfully. However I do not consider this as a fix, and don't know how to find the primary cause of the problem. I need some help finding out who's to blame:
Is the lvm module really missing? AFAIK the initramfs exists for one purpose only and that is to mount the root partition. All kernel modules are on this partition and once it is mounted, the kernel can access all hardware it supports - LVM included, of course. The fact is the root partition WAS mounted successfully before the boot process failed and the lvm module is NOT needed for this task. Initramfs did its job fine, didn't it?
If that's true and the lvm module is NOT missing in the initramfs, is the boot problem systemd related? Has it failed to activate the LVM? Why?
Any help would be appreciated.