Fedora11でdevice mapper multipathを使ってみた (1)

確実に外部ストレージへの接続を行うため、外部ストレージを利用する際には複数のHBAにより、multipathを使いたいのだが、CentOSFedoraにもクライアント側のmultipathの機能がある。 既にopenfiler を使って、iSCSI target が使えるようになっているので、Fedora11 からmultipathを使ってみた。

大まかな使い方はこちらと同様になる。
http://www.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/5/html/DM_Multipath/index.html

まず、iSCSIのストレージに複数のHBAがある状態にするため、openfilerにログインし、

# ifconfig eth0:1 xx.xx.xx.xx

などにより、二つ目のIPを付与する。実際には1つのNICしかないため、冗長化にはならないが、操作は同様となる。

この状態で、Fedora側から、

# iscsiadm -m discovery -t st -p xx.xx.xx.xx  (2つ目のIP)

とすると、1つ目のIPと同じディスクが異なる名前で /proc/partitions に表示される。この状態でlvdisplay などを実施すると、 "duplicate ID"などのメッセージが表示され、片方のディスクだけが使われるようになる。

パスごとの冗長化を図るため、multipath の設定を行うのだが、事前に /etc/multipath.conf の中から、

blacklist {
        devnode "*"
}

の3行をコメントアウトする必要がある。(全てのデバイスをmultipathの対象からはずす設定であるため)

この状態で、

# service multipathd start
# multipath -v2

を実施することで、multipathが作成される。

multipath の状態を見るには、

# multipath -l

を実施する。実行結果は次のようになった。

# multipath -l
mpathb (14f504e46494c450078316a7057632d4b6371622d7a4a6c46) dm-2 OPNFILER,VIRTUAL-DISK
[size=1.8G][features=0][hwhandler=0][rw]
\_ round-robin 0 [prio=-1][active]
 \_ 2:0:0:0 sdb 8:16  [active][undef]
\_ round-robin 0 [prio=-1][enabled]
 \_ 3:0:0:0 sdc 8:32  [active][undef]

この状態で、 /dev/mapper/mpathb が出来ている。(このファイルは /dev/dm-2 と同じデバイスファイルとなっている。)