It sounds like when mkinitrd was run to generate the initrd for your new kernel, it built a kernel without the required device mapper module (dm_mod
). First of all, can you still boot the system using your old kernel? If so, do that, then try building a new initrd along these lines:
mv /boot/initrd-$(uname -r).img /boot/initrd-$(uname -r).img.bak
mkinitrd -v /boot/initrd-$(uname -r).img $(uname -r)
pay attention to the messages and see if lvm support is being included.
After your initrd is built, you can always mount it manually and inspect it. The script inside the initrd is pretty simple and you should be able to quickly tell if you are loading the correct modules.
Another thing to verify is that you are loading the linux software raid modules (if you are running lvm on top of software raid). If those aren't loaded in your initrd, the kernel will also fail to find the lvm volume to boot from.
Here's some instructions I wrote up about raid and lvm that might be generally useful.