Citrix, XenServer

FusionIO and XenServer

Getting FusionIO cards and XenServer to work seem to be a bit tougher than I thought but it’s possible. I have a few cards, some old servers and a XenServer 6.5 ISO.  I was hoping to use 6.6 but there isn’t a DDK up for that yet.

Install DDK 6.5
Increase the memory (I used 4GB) or you’ll run into errors on the RPM rebuild with out of memory

on XenServer 6.5

install lsof
yum install –enablerepo=base lsof

you’ll want to use the DDK to develop an RPM as specified here – https://www.linkedin.com/pulse/xenserver-unsupported-fusion-io-storage-devices-kyrian-arensman
Now you can download the HP stuff here – http://h20564.www2.hpe.com/hpsc/swd/public/detail?swItemId=MTX_54c57e1ffcaa42b19df32454ad#tab3But I wouldn’t I’d use the sources from FusionIO directly.  Download the Centos5 sources and all the Utilities from here – https://link-app.sandisk.com/Home/SoftwareDownload

Use WinSCP to upload the files to your DDK server
You should upload the Sources directory

run rpm –rebuild iomemory-vsl-*.src.rpm

Copy the rpm in the /usr/src/redhat/RPMS/x86_64 directory on the DDK to the XenServer
Also copy the utilities directory from the downloaded ZIP to the XenServer

Install
rpm -Uvh iomemory-vsl-*.rpm (you may need to do this in order)

You can ignore the dracut error (search for it in the pdf here)

Click to access iomemory-vsl-relnotes-en.pdf

cd to Utilities – run the following (check the order I may be wrong here but it’ll tell you)
rpm -Uvh fio-common*.rpm
rpm -Uvh fio-preinstall*.rpm
rpm -Uvh fio-util*.rpm
rpm -Uvh fio-sysvinit*.rpm

now run
fio-status

fio-status

Note the driver version is empty? – now we are in sync with Kyrian’s blog post.
REBOOT

Run fio-status again – I had to upgrade the firmware on mine meaning I had to copy the firmware file *.fff to the XenServer and run
fio-update-iodrive

firmware

Then reboot and fio-status again. Now I have to wait for some low-level format but that’s ok…

fio-status2

I and listed what I had for /dev/fct* and performed the following command
fio-format /dev/fct0
fio-format /dev/fct1

Then attached them
fio-attach /dev/fct0
fio-attach /dev/fct1

After that fio-status looks good and we mount
xe sr-create name-label=”ioDrive00″ physical-size=320Gb type=lvm device-config:device=/dev/fioa
xe sr-create name-label=”ioDrive01″ physical-size=320Gb type=lvm device-config:device=/dev/fiob

And we are done!

ioDriveXS

3 thoughts on “FusionIO and XenServer

  1. Hi Magicalyak, first I would like to thank you for the good and detailed manual for configuring a FusionIO card on XenServer. We have successfully installed the card in XenServer 7.0 based on the latest SanDisk CentOS 7 drivers, compiled with the 7.0 DDK. When we upgrade to XenServer 7.1 the FusionIO card gets a broken status. Also with a clean install of XenServer 7.1 compiling the latest SanDisk ioDrive2 drivers in the 7.1 DDK we get some errors. I was wondering if you have successfully compiled and installed a FusionIO card for XenServer 7.1?

    Hope to hear from you, thanks in advance.

    1. I wish I did but I haven’t used XenServer that much since I’ve started working at Red Hat. It is going to depend entirely on the kernel version. Does installing 7.0 and upgrading work?

  2. No, when we install 7.0 we can compile the drivers and get a working FusionIO card. Fio-status returns driver version: 3.2.14 build 1675. After upgrading to XenServer 7.1 the fio-status returns: driver not loaded.

Leave a comment