Fusion-IOの導入

余り無い機会だけれど
HP製ProLiant サーバーにIOアクセラレーターカードHP 365GBマルチレベルセルG2 PCIe ioDrive2所謂、Fusion-IOを入れてドライバーの導入を行ったのだが
本当にあまり無い機会なのでちょっとメモ

Install

取り敢えずdownload

HP PCIe IOアクセラレーターカード (ProLiant サーバー用)のドライバー、ソフトウェア、ファームウェアのページからダウンロードする
今回はCentOS6なのでCentOS 6を選びさくさくioSphere_3.7-CentOS-6.tarとVSL3.2.6_CentOS-6.zipをダウンロードする

VSL3.2.6がioMemory VSLドライバーってやつでドライバー本体
ioSphere_3.7は操作用ユーティリティ系だね

めんどくさいんでwgetで落とす

ユーティリティー

# wget http://ftp.hp.com/pub/softlib2/software1/pubsw-linux/p1837847305/v95408/ioSphere_3.7-CentOS-6.tar
--2014-06-13 19:30:24--  http://ftp.hp.com/pub/softlib2/software1/pubsw-linux/p1837847305/v95408/ioSphere_3.7-CentOS-6.tar
ftp.hp.com をDNSに問いあわせています... 15.192.45.139, 15.217.120.22
ftp.hp.com|15.192.45.139|:80 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 48373760 (46M) [application/x-tar]
`ioSphere_3.7-CentOS-6.tar' に保存中

100%[===========================================================================================================================================>] 48,373,760  1.95M/s 時間 47s     

2014-06-13 19:31:11 (998 KB/s) - `ioSphere_3.7-CentOS-6.tar' へ保存完了 [48373760/48373760]

ドライバーと

# wget http://ftp.hp.com/pub/softlib2/software1/pubsw-linux/p1837847305/v95408/VSL3.2.6_CentOS-6.zip
--2014-06-13 19:33:17--  http://ftp.hp.com/pub/softlib2/software1/pubsw-linux/p1837847305/v95408/VSL3.2.6_CentOS-6.zip
ftp.hp.com をDNSに問いあわせています... 15.216.110.139, 15.216.111.13
ftp.hp.com|15.216.110.139|:80 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 285524488 (272M) [application/zip]
`VSL3.2.6_CentOS-6.zip' に保存中

100%[===========================================================================================================================================>] 285,524,488  816K/s 時間 6m 9s   

2014-06-13 19:39:26 (756 KB/s) - `VSL3.2.6_CentOS-6.zip' へ保存完了 [285524488/285524488]

Driverのinstall

取り敢えず解凍

# unzip VSL3.2.6_CentOS-6.zip 
Archive:  VSL3.2.6_CentOS-6.zip
   creating: Documentation/
  inflating: Documentation/ioMemory_Hardware_Installation_Guide_for_ioMemory_VSL_3.2.6_2013-10-07.pdf  
  inflating: Documentation/ioMemory_VSL_3.2.6_Release_Notes_2013-10-23.pdf  
  inflating: Documentation/ioMemory_VSL_3.2.6_User_Guide_for_Linux_2013-10-07.pdf  
  inflating: Documentation/md5sums.md5  
   creating: Firmware
  inflating: Firmware/fio-firmware-ioaccelerator-3.2.6.20131003-1.noarch.rpm  
  inflating: Firmware/ioaccelerator_3.2.6-20131003.fff  
   creating: Software Binaries/
  inflating: Software Binaries/iomemory-vsl-2.6.32-279.el6.x86_64-3.2.6.1212-1.0.el6.x86_64.rpm  
  inflating: Software Binaries/iomemory-vsl-2.6.32-358.el6.x86_64-3.2.6.1212-1.0.el6.x86_64.rpm  
   creating: Software Source/
  inflating: Software Source/iomemory-vsl-3.2.6.1212-1.0.el6.src.rpm  
   creating: Utilities/
  inflating: Utilities/fio-common-3.2.6.1212-1.0.el6.x86_64.rpm  
  inflating: Utilities/fio-sysvinit-3.2.6.1212-1.0.el6.x86_64.rpm  
  inflating: Utilities/fio-util-3.2.6.1212-1.0.el6.x86_64.rpm  
  inflating: Utilities/libvsl-3.2.6.1212-1.0.el6.x86_64.rpm  

ここで迷わずrpmとか実行しないで下さい僕はやらかしたので書いておきます

fusion-ioはsouth bridgeのPCI-Busのline上に直接SSDを置いて高速にアクセスを行おうと言う野心的なdeviceです。
なのでOSのI/O系の拡張は必須になるためLinux上だとkernelに依存しています。

落ち着いて見てみるとSoftware Binaries/iomemory-vsl-2.6.32-279.el6.x86_64-3.2.6.1212-1.0.el6.x86_64.rpm2.6.32-279.el6.x86_64ってOSのKernel versionですね。
CentOS6用は予め、2.6.32-279.el6.x86_64と2.6.32-358.el6.x86_64に関しては用意してあるようですが当然、現在のkernelのversion確認しないと行けません。

よって、まずupdateです。僕はやらずに一度、かましてますw

# yum update 

で、実際は既にあるSoftware Binaries以下のドライバーとkernel versionは一致しません。
なので用があるのはSoftware Sourceの方です。
ここにdriverのsourceがあるのでこいつからrebuildします。

まずはbuildに必要な依存関係にあるものをinstall

# yum install kernel-devel kernel-headers rpm-build gcc rsyn

そしてbuildします
間違ってもrpmでsourceを展開して自分で/root/rpmbuild/BUILDの下からbuildとかしようとしないで下さい。
手間がかかるだけです。僕はやらかしましたが

# rpmbuild --rebuild iomemory-vsl-3.2.6.1212-1.0.el6.src.rpm
iomemory-vsl-3.2.6.1212-1.0.el6.src.rpm をインストール中です。
実行中(%prep): /bin/sh -e /var/tmp/rpm-tmp.bjKiHc
+ umask 022
+ cd /root/rpmbuild/BUILD
+ cd /root/rpmbuild/BUILD
+ rm -rf iomemory-vsl-3.2.6.1212
+ /usr/bin/gzip -dc /root/rpmbuild/SOURCES/iomemory-vsl-3.2.6.1212.tar.gz
+ /bin/tar -xf -
+ STATUS=0
+ '[' 0 -ne 0 ']'
+ cd iomemory-vsl-3.2.6.1212
+ /bin/chmod -Rf a+rX,u+w,g-w,o-w .
+ exit 0
実行中(%build): /bin/sh -e /var/tmp/rpm-tmp.gvrMpZ
+ umask 022
+ cd /root/rpmbuild/BUILD
+ cd iomemory-vsl-3.2.6.1212
+ rsync -rv root/usr/src/fio/iomemory-vsl/ driver_source/
sending incremental file list
created directory driver_source
./
Kbuild
Makefile
cdev.c
check_target_kernel.sh
driver_init.c
errno.c
iomemory-vsl.mod.c
        :
    中   略
        :
kfio/x86_64_cc47_libkfio.o_shipped
kfio/x86_64_cc48_libkfio.o_shipped

sent 14434636 bytes  received 2445 bytes  28874162.00 bytes/sec
total size is 14424948  speedup is 1.00
+ /usr/bin/make -C driver_source KERNELVER=2.6.32-431.17.1.el6.x86_64 FIO_DRIVER_NAME=iomemory-vsl modules
make: Entering directory `/root/rpmbuild/BUILD/iomemory-vsl-3.2.6.1212/driver_source'
./kfio_config.sh -a x86_64 -o include/fio/port/linux/kfio_config.h -k /lib/modules/2.6.32-431.17.1.el6.x86_64/build -p -d /root/rpmbuild/BUILD/iomemory-vsl-3.2.6.1212/ driver_source/kfio_config -l 0
Detecting Kernel Flags
Config dir         : /root/rpmbuild/BUILD/iomemory-vsl-3.2.6.1212/driver_source/kfio_config
Output file        : include/fio/port/linux/kfio_config.h
Kernel output dir  : /lib/modules/2.6.32-431.17.1.el6.x86_64/build
Kernel source dir  : 
Starting tests:
  1402657425.519  KFIOC_MISSING_WORK_FUNC_T...
  1402657425.523  KFIOC_WORKDATA_PASSED_IN_WORKSTRUCT...
  1402657425.527  KFIOC_HAS_PCI_ERROR_HANDLERS...
  1402657425.532  KFIOC_HAS_GLOBAL_REGS_POINTER...
        :
    中   略
        :
  1402657426.153  KFIOC_HAS_PROCFS_PDE_DATA...
  1402657426.160  KFIOC_HAS_PROC_CREATE_DATA...
Started tests, waiting for completions...
  1402657428.372  KFIOC_MISSING_WORK_FUNC_T=0
  1402657428.449  KFIOC_WORKDATA_PASSED_IN_WORKSTRUCT=1
        :
    中   略
        :
  1402657434.466  KFIOC_HAS_PROCFS_PDE_DATA=1
  1402657434.539  KFIOC_HAS_PROC_CREATE_DATA=1
Finished
1402657434.570  Exiting
Preserving configdir due to '-p' option: /root/rpmbuild/BUILD/iomemory-vsl-3.2.6.1212/driver_source/kfio_config
/usr/bin/make 
-j48 
-C /lib/modules/2.6.32-431.17.1.el6.x86_64/build 
FIO_DRIVER_NAME=iomemory-vsl 
FUSION_DRIVER_DIR=/root/rpmbuild/BUILD/iomemory-vsl-3.2.6.1212/driver_source 
SUBDIRS=/root/rpmbuild/BUILD/iomemory-vsl-3.2.6.1212/driver_source 
EXTRA_CFLAGS+="-I/root/rpmbuild/BUILD/iomemory-vsl-3.2.6.1212/driver_source/include -DBUILDING_MODULE -DLINUX_IO_SCHED" 
INSTALL_MOD_DIR=extra/fio 
INSTALL_MOD_PATH= 
KFIO_LIB=kfio/x86_64_cc44_libkfio.o_shipped 
modules
make[1]: Entering directory `/usr/src/kernels/2.6.32-431.17.1.el6.x86_64'
printf '#include "linux/module.h"nMODULE_LICENSE("Proprietary");n' >/root/rpmbuild/BUILD/iomemory-vsl-3.2.6.1212/driver_source/license.c
  CC [M]  /root/rpmbuild/BUILD/iomemory-vsl-3.2.6.1212/driver_source/main.o
  CC [M]  /root/rpmbuild/BUILD/iomemory-vsl-3.2.6.1212/driver_source/pci.o
        :
    中   略
        :
  CC [M]  /root/rpmbuild/BUILD/iomemory-vsl-3.2.6.1212/driver_source/license.o
  LD [M]  /root/rpmbuild/BUILD/iomemory-vsl-3.2.6.1212/driver_source/iomemory-vsl.o
  Building modules, stage 2.
  MODPOST 1 modules
  CC      /root/rpmbuild/BUILD/iomemory-vsl-3.2.6.1212/driver_source/iomemory-vsl.mod.o
  LD [M]  /root/rpmbuild/BUILD/iomemory-vsl-3.2.6.1212/driver_source/iomemory-vsl.ko.unsigned
  NO SIGN [M] /root/rpmbuild/BUILD/iomemory-vsl-3.2.6.1212/driver_source/iomemory-vsl.ko
make[1]: Leaving directory `/usr/src/kernels/2.6.32-431.17.1.el6.x86_64'
make: Leaving directory `/root/rpmbuild/BUILD/iomemory-vsl-3.2.6.1212/driver_source'
+ exit 0
実行中(%install): /bin/sh -e /var/tmp/rpm-tmp.WBG6vh
+ umask 022
+ cd /root/rpmbuild/BUILD
+ cd iomemory-vsl-3.2.6.1212
++ cd /root/rpmbuild/BUILDROOT/iomemory-vsl-3.2.6.1212-1.0.el6.x86_64
/var/tmp/rpm-tmp.WBG6vh: line 28: cd: /root/rpmbuild/BUILDROOT/iomemory-vsl-3.2.6.1212-1.0.el6.x86_64: No such file or directory
+ '[' '' '!=' / ']'
+ rm -rf /root/rpmbuild/BUILDROOT/iomemory-vsl-3.2.6.1212-1.0.el6.x86_64
+ rsync -a root/ /root/rpmbuild/BUILDROOT/iomemory-vsl-3.2.6.1212-1.0.el6.x86_64/
+ mkdir -p /root/rpmbuild/BUILDROOT/iomemory-vsl-3.2.6.1212-1.0.el6.x86_64/lib/modules/2.6.32-431.17.1.el6.x86_64/extra/fio
+ cp driver_source/iomemory-vsl.ko /root/rpmbuild/BUILDROOT/iomemory-vsl-3.2.6.1212-1.0.el6.x86_64/lib/modules/2.6.32-431.17.1.el6.x86_64/extra/fio
+ mv /root/rpmbuild/BUILDROOT/iomemory-vsl-3.2.6.1212-1.0.el6.x86_64/usr/share/doc/iomemory-vsl /root/rpmbuild/BUILDROOT/iomemory-vsl-3.2.6.1212-1.0.el6.x86_64/usr/share/doc/iomemory-vsl-2.6.32-431.17.1.el6.x86_64
+ mkdir -p /root/rpmbuild/BUILDROOT/iomemory-vsl-3.2.6.1212-1.0.el6.x86_64/usr/src/fio/iomemory-vsl/include/fio/port/linux
+ touch -a driver_source/Module.symvers
+ cp driver_source/Module.symvers /root/rpmbuild/BUILDROOT/iomemory-vsl-3.2.6.1212-1.0.el6.x86_64/usr/src/fio/iomemory-vsl/
+ cp driver_source/include/fio/port/linux/kfio_config.h /root/rpmbuild/BUILDROOT/iomemory-vsl-3.2.6.1212-1.0.el6.x86_64/usr/src/fio/iomemory-vsl/include/fio/port/linux/
+ /usr/lib/rpm/brp-compress
+ /usr/lib/rpm/brp-strip
+ /usr/lib/rpm/brp-strip-static-archive
+ /usr/lib/rpm/brp-strip-comment-note
Processing files: iomemory-vsl-2.6.32-431.17.1.el6.x86_64-3.2.6.1212-1.0.el6.x86_64
Provides: iomemory-vsl iomemory-vsl-3.2.6.1212
Requires(interp): /bin/sh /bin/sh
Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1
Requires(post): /bin/sh
Requires(postun): /bin/sh
Obsoletes: iodrive-driver fio-driver
Processing files: iomemory-vsl-config-2.6.32-431.17.1.el6.x86_64-3.2.6.1212-1.0.el6.x86_64
Provides: iomemory-vsl-config iomemory-vsl-config-3.2.6.1212
Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1
Processing files: iomemory-vsl-source-3.2.6.1212-1.0.el6.x86_64
Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1
Requires: /bin/sh
Obsoletes: iodrive-driver-source fio-driver-source
伸張ファイルの検査中: /usr/lib/rpm/check-files /root/rpmbuild/BUILDROOT/iomemory-vsl-3.2.6.1212-1.0.el6.x86_64
書き込み完了: /root/rpmbuild/RPMS/x86_64/iomemory-vsl-2.6.32-431.17.1.el6.x86_64-3.2.6.1212-1.0.el6.x86_64.rpm
書き込み完了: /root/rpmbuild/RPMS/x86_64/iomemory-vsl-config-2.6.32-431.17.1.el6.x86_64-3.2.6.1212-1.0.el6.x86_64.rpm
書き込み完了: /root/rpmbuild/RPMS/x86_64/iomemory-vsl-source-3.2.6.1212-1.0.el6.x86_64.rpm
実行中(%clean): /bin/sh -e /var/tmp/rpm-tmp.niB8s4
+ umask 022
+ cd /root/rpmbuild/BUILD
+ cd iomemory-vsl-3.2.6.1212
+ /bin/rm -rf /root/rpmbuild/BUILDROOT/iomemory-vsl-3.2.6.1212-1.0.el6.x86_64
+ exit 0
実行中(--clean): /bin/sh -e /var/tmp/rpm-tmp.pMwvvF
+ umask 022
+ cd /root/rpmbuild/BUILD
+ rm -rf iomemory-vsl-3.2.6.1212
+ exit 0

Utilitiesのinstall

解凍したUtilitiesディレクトリ以下にrpmが入ってるのでインストールしましょう

# rpm -Uvh lib*.rpm
# rpm -Uvh fio*.rpm

普通にこれで良いです。

HP ioSphere_3.7 のinstall

HPの方で用意したツール類だと思われます。
先にiomemory VSL入れて置かないと依存があるので入りません。
取り敢えず展開

# tar xvf ioSphere_3.7-CentOS-6.tar 
fusionio-files-52fcf8e724264/
fusionio-files-52fcf8e724264/ioSphere/
fusionio-files-52fcf8e724264/ioSphere/Linux_centos-6/
fusionio-files-52fcf8e724264/ioSphere/Linux_centos-6/3.7.0-iosphere-HP/
fusionio-files-52fcf8e724264/ioSphere/Linux_centos-6/3.7.0-iosphere-HP/ioSphere/
fusionio-files-52fcf8e724264/ioSphere/Linux_centos-6/3.7.0-iosphere-HP/ioSphere/fio-agent-3.7.0.181-1.0.x86_64.rpm
fusionio-files-52fcf8e724264/ioSphere/Linux_centos-6/3.7.0-iosphere-HP/ioSphere/hp-io-accel-msrv-3.7.0.181-1.0.x86_64.rpm
fusionio-files-52fcf8e724264/ioSphere/Linux_centos-6/3.7.0-iosphere-HP/SDK/
fusionio-files-52fcf8e724264/ioSphere/Linux_centos-6/3.7.0-iosphere-HP/SDK/libvsl-dev-3.7.0.181-1.0.x86_64.rpm
fusionio-files-52fcf8e724264/ioSphere/Linux_centos-6/3.7.0-iosphere-HP/SDK/libvsl-doc-3.7.0.181-1.0.noarch.rpm
fusionio-files-52fcf8e724264/ioSphere/Linux_centos-6/3.7.0-iosphere-HP/SDK/libfio-dev-3.7.0.181-1.0.x86_64.rpm
fusionio-files-52fcf8e724264/ioSphere/Linux_centos-6/3.7.0-iosphere-HP/SDK/libfio-doc-3.7.0.181-1.0.noarch.rpm
fusionio-files-52fcf8e724264/ioSphere/Linux_centos-6/3.7.0-iosphere-HP/Documentation/
fusionio-files-52fcf8e724264/ioSphere/Linux_centos-6/3.7.0-iosphere-HP/Documentation/Fusion-io_ioSphere_3.7.0_Tools_Guide_2014-01-29.pdf
fusionio-files-52fcf8e724264/ioSphere/Linux_centos-6/3.7.0-iosphere-HP/Documentation/Fusion-io_ioSphere_Software_Development_Kit_2014-01-29.pdf
fusionio-files-52fcf8e724264/ioSphere/Linux_centos-6/3.7.0-iosphere-HP/Documentation/Fusion-io_ioSphere_3.7.0_Release_Notes_2014.01.29.pdf
fusionio-files-52fcf8e724264/ioSphere/Linux_centos-6/3.7.0-iosphere-HP/Documentation/Fusion-io_ioSphere_3.7.0_Installation_Guide_2014-02-11.pdf
fusionio-files-52fcf8e724264/ioSphere/Linux_centos-6/3.7.0-iosphere-HP/Documentation/md5sums.md5
fusionio-files-52fcf8e724264/ioSphere/Linux_centos-6/3.7.0-iosphere-HP/Documentation/Fusion-io_ioSphere_3.7.0_User_Guide_2014-01-29.pdf
fusionio-files-52fcf8e724264/ioSphere/Linux_centos-6/3.7.0-iosphere-HP/Utilities/
fusionio-files-52fcf8e724264/ioSphere/Linux_centos-6/3.7.0-iosphere-HP/Utilities/fio-snmp-mib-3.7.0.181-1.0.noarch.rpm
fusionio-files-52fcf8e724264/ioSphere/Linux_centos-6/3.7.0-iosphere-HP/Utilities/fio-smis-3.7.0.181-1.0.x86_64.rpm
fusionio-files-52fcf8e724264/ioSphere/Linux_centos-6/3.7.0-iosphere-HP/Utilities/fio-remote-util-3.7.0.181-1.0.noarch.rpm
fusionio-files-52fcf8e724264/ioSphere/Linux_centos-6/3.7.0-iosphere-HP/Utilities/fio-snmp-mib-hp-3.7.0.181-1.0.noarch.rpm
fusionio-files-52fcf8e724264/ioSphere/Linux_centos-6/3.7.0-iosphere-HP/Utilities/fio-common-mgmt-3.7.0.181-1.0.x86_64.rpm
fusionio-files-52fcf8e724264/ioSphere/Linux_centos-6/3.7.0-iosphere-HP/Utilities/fio-snmp-agentx-3.7.0.181-1.0.x86_64.rpm


# cd fusionio-files-52fcf8e724264/ioSphere/Linux_centos-6/3.7.0-iosphere-HP/ioSphere
# rpm -Uvh *.rpm
# cd fusionio-files-52fcf8e724264/ioSphere/Linux_centos-6/3.7.0-iosphere-HP/Utirities
# rpm -Uvh *.rpm

Utirities以下にあるfio-snmp*はnet-snmpに依存しているので使用する場合は先にnet-snmpが必須です。

動作と確認

driverのload

# modprobe iomemory-vsl

これだけでOKです

確認

# fio-status 

Found 1 ioMemory device in this system
Driver version: 3.2.6 build 1212

Adapter: Single Controller Adapter
    HP 365GB MLC PCIe ioDrive2 for ProLiant Servers, Product Number:xxxxxx-xxx, SN:xxxxxxxx
    External Power: NOT connected
    PCIe Power limit threshold: 24.75W
    Connected ioMemory modules:
      fct0: Product Number:xxxxxx-xxx, SN:xxxxxxxx

    fct0    Attached
        ioDrive2 Adapter Controller, Product Number:xxxxxx-xxx, SN:xxxxxxxx
    Located in slot 0 Center of ioDrive2 Adapter Controller SN:xxxxxxxxx
    PCI:07:00.0, Slot Number:2
    Firmware v7.1.15, rev 110356 Public
    365.00 GBytes device size
    Internal temperature: 40.85 degC, max 42.82 degC
    Reserve space status: Healthy; Reserves: 100.00%, warn at 10.00%
    Contained VSUs:
      fioa: ID:0, UUID:00000000-0000-0000-0000-000000000000

fioa    State: Online, Type: block device
    ID:0, UUID:00000000-0000-0000-0000-000000000000
    365.00 GBytes device size

はい、動いていますね
fioaがAttachedになってます
ついでにちゃんと起動時に読み込むかだけ見ておくと
動いていますね。

# chkconfig |grep iomemory
iomemory-vsl    0:off   1:on    2:on    3:on    4:on    5:on    6:off

physical format

まずはdeviceをdetach

# fio-detach /dev/fct0 
Detaching: [====================] (100%) -
 fioa - detached.

次にformat

# fio-format /dev/fct0

/dev/fct0: Creating block device.
  Block device of size 365.00GBytes (339.93GiBytes).
  Using default block (sector) size of 512 bytes.

WARNING: Formatting will destroy any existing data on the device!
Do you wish to continue [y/n]? y

WARNING: Do not interrupt the formatting! If interrupted, the fio-sure-erase utility may help recover from format errors. Please see documentation or contact support.

Formatting: [====================] (100%) /
 /dev/fct0 - format successful.

再度、attach

# fio-attach /dev/fct0
Attaching: [====================] (100%) /

fdisk

サクッとfdiskかけます

# fdisk /dev/fioa 
デバイスは正常な DOS 領域テーブルも、Sun, SGI や OSF ディスクラベルも
含んでいません
新たに DOS ディスクラベルをディスク識別子 0x094ce5f4 で作成します。
あなたが書き込みを決定するまで、変更はメモリ内だけに残します。
その後はもちろん以前の内容は修復不可能になります。
警告: 領域テーブル 4 の不正なフラグ 0x0000 は w(書き込み)によって
正常になります

警告: DOS互換モードは廃止予定です。このモード (コマンド 'c') を止めることを
  強く推奨します。 and change display units to
     sectors (command 'u').

コマンド (m でヘルプ): n
コマンドアクション
   e   拡張
   p   基本パーティション (1-4)
p
パーティション番号 (1-4): 1
最初 シリンダ (1-44375, 初期値 1): 
初期値 1 を使います
Last シリンダ, +シリンダ数 or +size{K,M,G} (1-44375, 初期値 44375): 
初期値 44375 を使います

コマンド (m でヘルプ): p

ディスク /dev/fioa: 365.0 GB, 365000000000 バイト
ヘッド 255, セクタ 63, シリンダ 44375
Units = シリンダ数 of 16065 * 512 = 8225280 バイト
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O size (minimum/optimal): 512 bytes / 32768 bytes
ディスク識別子: 0x094ce5f4

デバイス ブート      始点        終点     ブロック   Id  システム
/dev/fioa1               1       44375   356442156   83  Linux

コマンド (m でヘルプ): w
パーティションテーブルは変更されました!

ioctl() を呼び出してパーティションテーブルを再読込みします。
ディスクを同期しています。

はい、fioa1が出来ました

# cat /proc/partitions
major minor  #blocks  name

   8        0  143338560 sda
   8        1     512000 sda1
   8        2  142825472 sda2
   8       16  143338560 sdb
   8       17  143337472 sdb1
 253        0   52428800 dm-0
 253        1   16490496 dm-1
 253        2  217239552 dm-2
 252        0  356445312 fioa
 252        1  356442156 fioa1

logical format

ext4でformatをかけます
サクッと行きましょう

 # /sbin/mkfs.ext4 /dev/fioa1
mke2fs 1.41.12 (17-May-2010)
Discarding device blocks: done                            
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=8 blocks
22282240 inodes, 89110539 blocks
4455526 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=4294967296
2720 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks: 
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968

Writing inode tables: done                            
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 25 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.

mount

mountしてみます

# mkdir /mnt/fusion-io
# mount /dev/fioa1 /mnt/fusion-io/

確認してみましょ

# df /mnt/fusion-io -aTh
Filesystem     Type  Size  Used Avail Use% Mounted on
/dev/fioa1     ext4  335G  195M  318G   1% /mnt/fusion-io

IO Acceleratorのドライバーは、initrdおよびビルドされているカーネルではロードされないため、ファイルシステムをマウントするための標準的な方法(/etc/fstab)を使用しても動作しません。

とdocumentに書いてますのでfstabを編集します
noautoオプション付きでマウントポイントを指定しておきます

# vi /etc/fstab
/dev/fioa1 /mnt/fusion-io ext4   defaults,noauto 0 0

元記事は、こちら