I have been lucky enough to do some work with Fusion IO cards in a blade server, soon to be followed by another set of tests on a full rack mounted server. I didn’t know exactly where model I was given, but powered my server down in eager anticipation of the events to come.
After the engineer plugged the card in, and powered the server up I logged in as root to find out what about the pre-christmas present. I knew it was a PCI card, so surely lspci would tell me more. Here’s the output:
lspci -vvvv 41:00.0 Mass storage controller: Fusion-io ioDimm3 (v1.2) (rev 01) Subsystem: Hewlett-Packard Company Unknown device 324d Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr+ Stepping- SERR- FastB2B- Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort-SERR-
So it’s indeed a FusionIO card (an ioDrive to be precise), and it’s plugged into a x4 slot, the mimimum required.
What to do next? Always good to read the docs. The fusionio.com website allows you to download documentation and drivers after a free registration. Luckily the website didn’t have kernel modules for Oracle Linux I’m using (RHEL 5 only), which gives me the opportunity to build the software from source. I don’t like surprises, therefore I created my ~/.rpmmacros with the following content:
[root@computer1 rpm]# cat ~/.rpmmacros %_topdir /home/martin/rpm %_tmppath /home/martin/rpm/tmp
This obviously requires the full tree underneath the topdir, namely
With these directories in place it’s as simple as running rpmbuild –rebuild iomemory-vsl-2.3.1.123-1.0.src.rpm as a non-root user (martin in my case) and wait for the RPMs to be created in the RPMs/x86-64 directory. Following the documentation again I installed the needed software:
[root@computer1 x86_64]# rpm -ihv iomemory-vsl-2.6.18-194.26.1.0.1.el5-2.3.1.123-1.0.x86_64.rpm Preparing... ########################################### [100%] 1:iomemory-vsl-2.6.18-194########################################### [100%] [root@computer1 fusionio]# rpm -Uvh lib*.rpm Preparing... ########################################### [100%] 1:libfio ########################################### [ 50%] 2:libfusionjni ########################################### [100%] [root@computer1 fusionio]# rpm -Uvh fio*.rpm Preparing... ########################################### [100%] 1:fio-common ########################################### [ 14%] 2:fio-util ########################################### [ 29%] 3:fio-remote-util ########################################### [ 43%] 4:fio-smis ########################################### [ 57%] 5:fio-snmp-agentx ########################################### [ 71%] 6:fio-snmp-mib ########################################### [ 86%] 7:fio-sysvinit ########################################### [100%] [root@computer1 fusionio]#
Note that you don’t actually need the fio-sysvinit package if your distribution is reasonably modern. UDEV will load any drivers automatically.
With that completed as well it’s time to load the kernel module and watch Linux do the rest. The fio-status tool queries the card’s helth:
[root@computer1 x86_64]# fio-status Found 1 ioDrive in this system Fusion-io driver version: 2.3.1 build 123 fct0 Attached as 'fioa' (block device) HP StorageWorks 320GB IO Accelerator, Product Number:AJ878A SN:07902 Alt PN:507152-001 PCI:41:00.0 Firmware v5.0.5, rev 43674 322.55 GBytes block device size, 396 GBytes physical device size Sufficient power available: Unknown Internal temperature: 40.4 degC, max 40.9 degC Media status: Healthy; Reserves: 100.00%, warn at 10.00%
That’s it! so simple-another blog post will detail how I ran a first orion benchmark on it and show some impressive numbers.
Recent comments
5 days 22 hours ago
1 week 15 hours ago
1 week 19 hours ago
1 week 21 hours ago
6 weeks 1 day ago
6 weeks 1 day ago
7 weeks 2 days ago
11 weeks 2 days ago
17 weeks 13 hours ago
19 weeks 5 days ago