preload
Nov 03

I upgraded XenServer 5.5.0 with latest upgrade from Citrix and rebooted the host server. This lead to infinite boot loop and i rebooted the server without quiet and splash options to discover that the server did not see the H200 raid card anymore and could not mount the root filesystem.

Citrix has fix for this issue to mpt2sas driver at: http://support.citrix.com/article/CTX130763

I installed the fix only to see that it did not help at all.

I did fallback to previous kernel from grub menu ( type menu.c32 to grub prompt ) and looked the Citrix provided rpm package:


# rpm -qpl /mnt/tmp/mpt2sas-modules-xen-2.6.18-128.1.6.el5.xs5.5.0.513.1041-02.00.00.00-1.i386.rpm
/lib/modules/2.6.18-128.1.6.el5.xs5.5.0.513.1041xen/extra/mpt2sas.ko

It seems that the rpm includes pre builded module, but XenServer is basically RHEL based linux distribution so i assumed that the original fix which upgraded the servers kernel also made the ramdisk with wrong version of the module. Querying the rpm confirmed my assumption:


# rpm -qp --scripts /mnt/tmp/mpt2sas-modules-xen-2.6.18-128.1.6.el5.xs5.5.0.513.1041-02.00.00.00-1.i386.rpm
postinstall scriptlet (using /bin/sh):
depmod 2.6.18-128.1.6.el5.xs5.5.0.513.1041xen

Indeed there is not script for creation for ramdisk. So I made it manually:


# mkinitrd -v -f --with=mpt2sas /boot/initrd-2.6.18-128.1.6.el5.xs5.5.0.513.1041xen.img 2.6.18-128.1.6.el5.xs5.5.0.513.1041xen

And the server booted normally up.