Citrix XenServer 6.0.2 Multipath Setup on Intel Modular Multi-Flex Server

1. Prerequisites

First of all, create at least one Storage Repository (SR) and one Virtual Disk (VD) in the Intel Management Module GUI where you will install the Citrix Xenserver Dom0 host. The VD needs to be more than 16Gb in size. Whether you install the host on sas or ssd makes no difference in performance for the guests. I installed my hosts to sas and saved valuable ssd space for guests. Assign your VD to the server you will install Xen to. Set affinity to SCM1 for all VD-s you create. Open the KVM session for the appropriate Compute Module and attach Xenserver installation iso. Power on the Compute Module.

 

2. Install Citrix Xenserver 6.0.2

Type ‘multipath’ on initial install prompt to begin installation with multipath support.

Choose the VD you just assigned to the Compute Module as installation target.

After installation is complete, you may see disk access errors during bootup, this is normal.

 

3. Install patched driver and change multipath.conf file

Original driver included with XenServer 6.0.2 is unstable wth multipathing.

I compiled a stable driver rpm with Citrix XenServer Driver Development Kit (DDK) from RedHat driver available on Intel site.

Note that this has been compiled against 6.0.2 and you may need to recompile if you use a more recent XenServer version.

Download the driver and multipath.conf file: scsi_dh_alua_intelmodular_cbvtrak.i386.tar.gz

Unpack the file:

tar -zxvf scsi_dh_alua_intelmodular_cbvtrak.i386.tar.gz

Install scsi_dh_alua driver rpm patched for Intel Modular Server.

The driver already exists so we have to force in order to replace it.

rpm -ivh --force scsi_dh_alua_intelmodular_cbvtrak.i386.rpm

Backup your current /etc/multipath.conf to /etc/multipath.conf.originalxs602:

cp /etc/multipath.conf /etc/multipath.conf.originalxs602

Move the multipath.conf file from the unpacked tar to the /etc folder:

mv multipath.conf /etc/multipath.conf

Warning: do not copy and paste the file contents as it can make the config file corrupt and thus failing server multipath setup.

Reboot

You may still see disk access errors during bootup, this is normal.

At this point you should already see both paths active, see my sample:

multipath -ll

Response:

2223700015563b1df dm-0 Intel,Multi-Flex
[size=16G][features=1 queue_if_no_path][hwhandler=0][rw]
\_ round-robin 0 [prio=50][active]
 \_ 0:0:0:0 sda 8:0   [active][ready]
\_ round-robin 0 [prio=1][enabled]
 \_ 0:0:1:0 sdb 8:16  [active][ready]

 

4. Make a new initial ramdisk

Backup your current initrd.img and initrd.kdump

mv initrd-$(uname -r).img initrd-$(uname -r).img.old
mv initrd-2.6.32.12-0.7.1.xs6.0.2.542.170665kdump.img initrd-2.6.32.12-0.7.1.xs6.0.2.542.170665kdump.img.old

Make new initial ramdisk by running both mkinitrd commands found in

cat initrd-$(uname -r).img.cmd
cat initrd-2.6.32.12-0.7.1.xs6.0.2.542.170665kdump.img.cmd

Reboot

You should see no more errors during bootup

Check your paths

multipath -ll

With one VD attached you shold see something like this:

22202000155fdb615 dm-0 Intel,Multi-Flex
[size=100G][features=1 queue_if_no_path][hwhandler=1 alua][rw]
\_ round-robin 0 [prio=50][active]
\_ 0:0:0:0 sda 8:0 [active][ready]
\_ round-robin 0 [prio=1][enabled]
\_ 0:0:1:0 sdb 8:16 [active][ready]

As you can see, sda is in use (active) and sdb is on standby (enabled).

 

4. Create and link other VD-s to the Compute Module

From Intel Intel GUI link VD-s to Compute Module.

In XenCenter right click on Pool – New SR – Hardware HBA.

Check your paths:

multipath -ll

Here is a sample response from my setup:

22202000155fdb615 dm-0 Intel,Multi-Flex
[size=100G][features=1 queue_if_no_path][hwhandler=1 alua][rw]
\_ round-robin 0 [prio=50][active]
\_ 0:0:2:0 sda 8:0 [active][ready]
\_ round-robin 0 [prio=1][enabled]
\_ 0:0:1:0 sdc 8:32 [active][ready]
222ac00015543fe63 dm-5 Intel,Multi-Flex
[size=420G][features=1 queue_if_no_path][hwhandler=1 alua][rw]
\_ round-robin 0 [prio=50][enabled]
\_ 0:0:2:10 sde 8:64 [active][ready]
\_ round-robin 0 [prio=1][enabled]
\_ 0:0:1:10 sdd 8:48 [active][ready]

 

5.  Modify your lvm.conf to filter out /dev/sd* when running commands: pvs, vgs, lvs

Find the line starting with ‘filter’ in /etc/lvm/lvm.conf

Edit it as follows:

filter = [ "r|/dev/sd.*|", "r|/dev/xvd.|", "r|/dev/VG_Xen.*/*|"]

 

6. Updating, patching, hotfixes

Running hotfix XS602E004 is safe (kernel is not updated).

Running hotfix XS602E005 is safe as update process will rebuild your initrd as well.

 

7. Failover testing on Intel Modular Server with multipathing

See my other post with successful filover tests with this configuration

5 thoughts on “Citrix XenServer 6.0.2 Multipath Setup on Intel Modular Multi-Flex Server

  1. Igor Passchier says:

    Yes! Thanks a lot, works great. I could not upgrade to XS6 due to this multipathing issue, so problem solved.

Leave a Reply to Martin Berard Cancel reply

Your email address will not be published. Required fields are marked *

You must enable javascript to see captcha here!