THE RESOLUTION OF THIS PROBLEM IN THIS POST IS DIRECTLY RELATED TO SYSTEMS RUNNING ARECA RAID CONTROLLERS BUT MAY APPLY TO OTHER SYSTEMS REQUIRING DISK RELATED DRIVERS.
Upon booting a server after a CentOS kernel upgrade it was no longer able to boot. The update was specifically from kernel 3.10.0-123.el7.x86_64 to 3.10.0-229.11.1.el7.x86_64 but these details have nothing to do with the problem as it’s not a kernel bug.
Here’s the error:
dracut-initqueue[314]: Warning: /dev/centos/swap does not exist
dracut-initqueue[314]: Warning: /dev/disk/by-uuid/UUID_WAS_HERE does not exist
Starting Dracut Emergency Shell…
Warning: /dev/centos/swap does not exist
Warning: /dev/disk/by-uuid/UUID_WAS_HERE does not exist
The server was still able to boot into the older kernel without issue. Upon checking the post install scripts for the RPM package it was clear that the driver for the Areca RAID controller wasn’t installed for this kernel:
[root@server src]# rpm -q –scripts kmod-arcmsr-1.30.0X.19_rhel7-1.x86_64
postinstall scriptlet (using /bin/sh):
if [ -e “/boot/System.map-3.10.0-123.el7.x86_64” ]; then
/usr/sbin/depmod -aeF “/boot/System.map-3.10.0-123.el7.x86_64” “3.10.0-123.el7.x86_64” > /dev/null || :
fi
So at this point it’s just as easy as upgrading the rpm:
yum install kmod-arcmsr-1.30.0X.20_rhel7.1-1.x86_64.rpm
Checking out the post install scripts for the new rpm show that it has installed the driver for the new kernel:
[root@server src]# rpm -q –scripts kmod-arcmsr-1.30.0X.20_rhel7.1-1.x86_64
postinstall scriptlet (using /bin/sh):
if [ -e “/boot/System.map-3.10.0-229.el7.x86_64” ]; then
/usr/sbin/depmod -aeF “/boot/System.map-3.10.0-229.el7.x86_64” “3.10.0-229.el7.x86_64” > /dev/null || :
fi
Resolution: Upgrade the Areca RAID controller driver.
Note: I would imagine that the post install scripts in the rpm are not specific to any specific kernel so upgrading the driver is likely not necessary as a reinstall of the existing module would likely accomplish the same thing.