This article describes how to configure multipath boot from Storage Area Network (SAN) when upgrading or patching XenServer. The upgrade or patching of XenServer can leave the initial ram disk (initrd) without multipath support.
To configure multipath support, complete the following procedure:
Before the upgrade or update, ensure the host has the Root Disk Multipathing section visible on the General tab in XenCenter – This indicates that the host has been installed correctly.
For upgrading to a new version, console/vga access is necessary. Refer the section Boot From SAN Environments of Appendix B in CTX134586 - XenServer 6.1.0 Installation Guide.
At the welcome screen, press F2 and enter multipath on the prompt.
Ensure the /etc/multipath.conf file is configured properly for the storage subsystem to be used for the Root Disk Multipathing.
For a new kernel installation from a HotFix (HotFix 14 on XenServer 6.1.0), the HotFix installation generates a new initrd for the host that should include the proper multipath device specified as the root disk.
After the restart if it does not show Root Disk Multipathing, then restart from the previous kernel by running menu.c32 at the boot prompt of the XenServer host and select the option for the previous kernel.
After the restart, open console on the host server and create the proper script to recreate the initrd. Refer the following procedure. Rename the original initrd created during the HotFix installation and run the created script.
Restart the host from XenCenter. Root Disk Multipathing is active now.
To generate an initrd creation script and a new initrd, complete the following procedure:
Open the console with root access and run ls /boot/initrd*xen* to see the current initial ramdisk files on the XenServer.
Example: initrd-2.6.32.12-0.7.1.xs6.0.0.541.170669xen.img.
The script file also is visible for the original GA kernel. 6.0.0 .
Example: initrd-2.6.32.12-0.7.1.xs6.0.0.529.170661xen.img.cmd.
Generate the new script file to match the new kernel: cd /boot
cp initrd-2.6.32.12-0.7.1.xs6.0.0.529.170661xen.img.cmd initrd-2.6.32.12-0.7.1.xs6.0.0.541.170669xen.img.cmd
Note the two number changes that are necessary: 529 becomes 541 and 170661 becomes 170669 in the current example of XenServer 6.0.0 and HotFix 16.
Modify the contents of the script file so that it creates the correct initrd for the correct kernel:
sed -ibak -e 's/529/541/g' -ibak -e 's/170661/170669/g' <new script file name>
Then execute the script:
. ./<script file name>
Use ls -l to verify if the new initrd file exists. The existing symlinks for the xe default boot option automatically works as the new initrd replacing the original initrd.