LinuxでFusion-io ioDrive2の基本セットアップ

久しぶりに触ったのと、人と共有するためにメモっておく。
尚、OSはCentOS 6.4 (x86_64)、ioDrive2はDELL OEMなカードを使ったのと、ファイルシステムはXFSにした。
ちなみに、このメモを書いたのは4月なんだけど、なぜか7ヶ月も寝かせてしまっていた。

ドライバとかユーティリティ、ファームウェアをダウンロード

今回、DELLさんのOEMを使ったので、以下のサイトからダウンロード。


今回、使ったバージョンは"3.2.6-DELL"
ちなみに上記サイトからドキュメントもダウンロードできる。

ファームウェアのアップデート

今回、手元のioDrive2が最新のファームウェアがあたっていたので、割愛。
尚、アップデートしたい場合は、ファームウェアのファイル(.fff)を手元に準備して、fio-update-iodriveコマンドを使う。

ドライバのインストール

# yum install -y kernel-headers-`uname -r` kernel-devel-`uname -r` gcc rsync rpm-build make

必要なものをインストールして、、、

# rpmbuild --rebuild iomemory-vsl-3.2.6.1212-1.0.el6.src.rpm

src.rpmをビルドするだけ。

Checking for unpackaged file(s): /usr/lib/rpm/check-files /root/rpmbuild/BUILDROOT/iomemory-vsl-3.2.6.1212-1.0.el6.x86_64
Wrote: /root/rpmbuild/RPMS/x86_64/iomemory-vsl-2.6.32-358.23.2.el6.x86_64-3.2.6.1212-1.0.el6.x86_64.rpm
Wrote: /root/rpmbuild/RPMS/x86_64/iomemory-vsl-config-2.6.32-358.23.2.el6.x86_64-3.2.6.1212-1.0.el6.x86_64.rpm
Wrote: /root/rpmbuild/RPMS/x86_64/iomemory-vsl-source-3.2.6.1212-1.0.el6.x86_64.rpm

最後にこんな感じで出力されて、rpmファイルができているはず。

# rpm -Uvh /root/rpmbuild/RPMS/x86_64/iomemory-vsl-2.6.32-358.23.2.el6.x86_64-3.2.6.1212-1.0.el6.x86_64.rpm
# rpm -Uvh libvsl-3.2.6.1212-1.0.el6.x86_64.rpm
# rpm -Uvh fio*.rpm

あとは、こんな感じで、必要なものをインストールしておく。
(↑で fio* って書いた部分は、 "fio-common"、"fio-sysvinit"、"fio-util" あたり。)

# modprobe iomemory-vsl

さて、モジュールをロードすると、ここで認識できるようになる。

# fio-status

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

Adapter: Single Controller Adapter
        Fusion-io ioDrive2 1205GB MLC, Product Number:DG1MH, SN:xxxxxxxxxx
        External Power: NOT connected
        PCIe Power limit threshold: 24.75W
        Connected ioMemory modules:
          fct0: Product Number:DG1MH, SN:xxxxxxxx

fct0    Attached
        ioDrive2 Adapter Controller, Product Number:DG1MH, SN:xxxxxxxx
        Located in slot 0 Center of ioDrive2 Adapter Controller SN:xxxxxxxx
        PCI:04:00.0, Slot Number:2
        Firmware v7.1.15, rev 110356 Public
        1205.00 GBytes device size
        Internal temperature: 35.44 degC, max 35.93 degC
        Reserve space status: Healthy; Reserves: 100.00%, warn at 10.00%
        Contained VSUs:
          fioa: ID:0, UUID:f769eccb-2943-4abf-b643-3e11f67ed03b

fioa    State: Online, Type: block device
        ID:0, UUID:f769eccb-2943-4abf-b643-3e11f67ed03b
        1205.00 GBytes device size

fio-status コマンドを実行すると、デバイスが認識できて、ステータスがチェックできます。

フォーマット/パーティション/ファイルシステム作成

# fio-detach /dev/fct0
# fio-format /dev/fct0
# fio-attach /dev/fct0

こんな感じで、デバイスをデタッチ・フォーマット・アタッチの流れで。

# fdisk /dev/fioa

いい感じでパーティションを切ろう!(めんどくさくなってきたw)

# yum install -y xfsprogs xfsprogs-devel xfsdump
# mkfs.xfs -f -l lazy-count=1 -b size=4096 -i size=512 /dev/fioa1

パーティション切ったら、ファイルシステムを作成する。今回は xfs なので、いい感じのパラメータで。

# mkdir /data

適当にディレクトリ作って、、、

/dev/fioa1              /data                   xfs     noatime,logbufs=8,allocsize=512m,noauto  0 0

/etc/fstab ファイルを編集して、上記のような感じで、適当にいい感じのオプションを付けておく。
その後は適宜、"mount -a"とかでマウントさせましょう。

設定

"/etc/modprobe.d/iomemory-vsl.conf" を以下のように編集します。

# To keep ioDrive from auto loading at boot when using udev, uncomment below
blacklist iomemory-vsl

udevによる自動読み込みを無効にするべく、上記の blacklist の前についているコメントアウトを外します。


次、 "/etc/sysconfig/iomemory-vsl" に以下の設定を入れます。

ENABLED=1
MOUNTS="/data"

"ENABLED" は init スクリプト (/etc/init.d/iomemory-vsl) を使用するための設定。"MOUNTS" にはマウントポイントを記載します。

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

最後に、iomemory-vsl の自動起動が有効になっているのを確認できたら、基本的な設定については、ここまでで完了です。
これ以降の細かい話は、また別途。

それでは! =͟͟͞͞(๑•̀=͟͟͞͞(๑•̀д•́=͟͟͞͞(๑•̀д•́๑)=͟͟͞͞(๑•̀д•́


すべてわかるストレージ大全 (日経BPムック)

すべてわかるストレージ大全 (日経BPムック)

IT技術者なら知っておきたい ストレージの原則と技術

IT技術者なら知っておきたい ストレージの原則と技術