金曜日, 5月 18, 2012

iscsiイニシエーターの構築方法




iscsiイニシエーターに、MultiPathで接続してみましょう。

・iscsiイニシエーターとは
iscsiとは、玄箱などのNASに似て、リモートからアクセス可能なファイルサーバーの一種で、iscsiイニシエーターは、アクセスするクライアントPC側の設定となります。


・大変参考になるリンク
DELL Red Hat Linux v5.x Software iSCSI Initiator Configuration, MPIO and tuning Guide


・検証環境
RHEL 5.3~5.6(たぶん5.7や5.8も同じ) 64bit

・インストール
iscsiイニシエーターをyumでインストールします。
yum install iscsi-initiator-utils.x86_64

・iscsiターゲットに接続するインターフェイスの作成
iscsiサーバーと接続するインターフェイスを明示的にします。
インターネット回線とiscsiのセグメントが分かれるような場合は、必須作業です。作成する/var/lib/iscsi/ifaces/にインターフェイスのファイルが作成されます(DELLのツールhit-kitを入れると、6つほど作成されます)。

eth0とeth1を設定する場合
iscsiadm -m iface -I iface0 -o new
iscsiadm -m iface -I iface0 --op=update -n iface.net_ifacename -v eth0
iscsiadm -m iface -I iface1 -o new
iscsiadm -m iface -I iface1 --op=update -n iface.net_ifacename -v eth1
more /var/lib/iscsi/ifaces/iface0
more /var/lib/iscsi/ifaces/iface1
ログ
[root@SV1 network-scripts]# more /var/lib/iscsi/ifaces/iface0
# BEGIN RECORD 2.0-872
iface.iscsi_ifacename = iface0
iface.net_ifacename = eth0
iface.transport_name = tcp
# END RECORD
[root@SV1 network-scripts]#

・ディスカバリー
iscsiターゲットを見つけ、記録します。
※xxxのところはサーバーのIPを指定してください。
/sbin/iscsiadm -m discovery -t st -p 192.168.xxx.xxx:3260

参考:ディスカバリー実行例
[root@SV1 ~]# /sbin/iscsiadm -m discovery -t st -p 192.168.xxx.xxx:3260
192.168.xxx.xxx:3260,1 iqn.2012-05.dq1.local:ifst01-vol01-10M
192.168.xxx.xxx:3260,1 iqn.2012-05.dq1.local:ifst01-vol02-20M
192.168.xxx.xxx:3260,1 iqn.2012-05.dq1.local:ifst01-vol03-30M
192.168.xxx.xxx:3260,1 iqn.2012-05.dq1.local:ifst01-vol04-40M
192.168.xxx.xxx:3260,1 iqn.2012-05.dq1.local:ifst01-vol05-50M
[root@SV1 ~]#
参考:別のサーバーからも実施してみる。IQNは同じ。
[root@SV2 ~]# /sbin/iscsiadm -m discovery -t st -p 192.168.xxx.xxx:3260
192.168.xxx.xxx:3260,1 iqn.2012-05.dq1.local:ifst01-vol01-10M
192.168.xxx.xxx:3260,1 iqn.2012-05.dq1.local:ifst01-vol02-20M
192.168.xxx.xxx:3260,1 iqn.2012-05.dq1.local:ifst01-vol03-30M
192.168.xxx.xxx:3260,1 iqn.2012-05.dq1.local:ifst01-vol04-40M
192.168.xxx.xxx:3260,1 iqn.2012-05.dq1.local:ifst01-vol05-50M
[root@SV2 ~]#

・ディスカバリー 確認
これでターゲットのレコードが確認できます。
/sbin/iscsiadm -m node
[root@SV1 ~]# /sbin/iscsiadm -m node
192.168.xxx.xxx:3260,1 iqn.2012-05.dq1.local:ifst01-vol05-50M
192.168.xxx.xxx:3260,1 iqn.2012-05.dq1.local:ifst01-vol04-40M
192.168.xxx.xxx:3260,1 iqn.2012-05.dq1.local:ifst01-vol01-10M
192.168.xxx.xxx:3260,1 iqn.2012-05.dq1.local:ifst01-vol02-20M
192.168.xxx.xxx:3260,1 iqn.2012-05.dq1.local:ifst01-vol03-30M
[root@SV1 ~]#
[root@SV2 ~]# /sbin/iscsiadm -m node
192.168.xxx.xxx:3260,1 iqn.2012-05.dq1.local:ifst01-vol02-20M
192.168.xxx.xxx:3260,1 iqn.2012-05.dq1.local:ifst01-vol01-10M
192.168.xxx.xxx:3260,1 iqn.2012-05.dq1.local:ifst01-vol03-30M
192.168.xxx.xxx:3260,1 iqn.2012-05.dq1.local:ifst01-vol05-50M
192.168.xxx.xxx:3260,1 iqn.2012-05.dq1.local:ifst01-vol04-40M
[root@SV2 ~]#


・ログイン
iscsiターゲットにログインしてみます。
ログインすると、WWID(iqnは長すぎて扱いずらいので短いエイリアス名)などもわかります。

/sbin/iscsiadm -m node --login

[root@SV1 ~]# /sbin/iscsiadm -m node --login
Logging in to [iface: default, target: iqn.2012-05.dq1.local:ifst01-vol05-50M, portal: 192.168.xxx.xxx,3260]
Logging in to [iface: default, target: iqn.2012-05.dq1.local:ifst01-vol04-40M, portal: 192.168.xxx.xxx,3260]
Logging in to [iface: default, target: iqn.2012-05.dq1.local:ifst01-vol01-10M, portal: 192.168.xxx.xxx,3260]
Logging in to [iface: default, target: iqn.2012-05.dq1.local:ifst01-vol02-20M, portal: 192.168.xxx.xxx,3260]
Logging in to [iface: default, target: iqn.2012-05.dq1.local:ifst01-vol03-30M, portal: 192.168.xxx.xxx,3260]
Login to [iface: default, target: iqn.2012-05.dq1.local:ifst01-vol05-50M, portal: 192.168.xxx.xxx,3260] successful.
Login to [iface: default, target: iqn.2012-05.dq1.local:ifst01-vol04-40M, portal: 192.168.xxx.xxx,3260] successful.
Login to [iface: default, target: iqn.2012-05.dq1.local:ifst01-vol01-10M, portal: 192.168.xxx.xxx,3260] successful.
Login to [iface: default, target: iqn.2012-05.dq1.local:ifst01-vol02-20M, portal: 192.168.xxx.xxx,3260] successful.
Login to [iface: default, target: iqn.2012-05.dq1.local:ifst01-vol03-30M, portal: 192.168.xxx.xxx,3260] successful.
[root@SV1 ~]#

※セッションの確認
[root@SV1 init.d]# iscsiadm -m session
tcp: [11] 192.168.xxx.xxx:3260,1 iqn.2012-05.dq1.local:ifst01-vol05-50M
tcp: [12] 192.168.xxx.xxx:3260,1 iqn.2012-05.dq1.local:ifst01-vol04-40M
tcp: [13] 192.168.xxx.xxx:3260,1 iqn.2012-05.dq1.local:ifst01-vol01-10M
tcp: [14] 192.168.xxx.xxx:3260,1 iqn.2012-05.dq1.local:ifst01-vol02-20M
tcp: [15] 192.168.xxx.xxx:3260,1 iqn.2012-05.dq1.local:ifst01-vol03-30M
[root@SV1 init.d]#

[root@SV2 ifaces]# /sbin/iscsiadm -m node --login
Logging in to [iface: iface0, target: iqn.2012-05.dq1.local:ifst01-vol02-20M, portal: 192.168.xxx.xxx,3260]
Logging in to [iface: iface0, target: iqn.2012-05.dq1.local:ifst01-vol01-10M, portal: 192.168.xxx.xxx,3260]
Logging in to [iface: iface0, target: iqn.2012-05.dq1.local:ifst01-vol03-30M, portal: 192.168.xxx.xxx,3260]
Logging in to [iface: iface0, target: iqn.2012-05.dq1.local:ifst01-vol05-50M, portal: 192.168.xxx.xxx,3260]
Logging in to [iface: iface0, target: iqn.2012-05.dq1.local:ifst01-vol04-40M, portal: 192.168.xxx.xxx,3260]
Login to [iface: iface0, target: iqn.2012-05.dq1.local:ifst01-vol02-20M, portal: 192.168.xxx.xxx,3260] successful.
Login to [iface: iface0, target: iqn.2012-05.dq1.local:ifst01-vol01-10M, portal: 192.168.xxx.xxx,3260] successful.
Login to [iface: iface0, target: iqn.2012-05.dq1.local:ifst01-vol03-30M, portal: 192.168.xxx.xxx,3260] successful.
Login to [iface: iface0, target: iqn.2012-05.dq1.local:ifst01-vol05-50M, portal: 192.168.xxx.xxx,3260] successful.
Login to [iface: iface0, target: iqn.2012-05.dq1.local:ifst01-vol04-40M, portal: 192.168.xxx.xxx,3260] successful.
[root@SV2 ifaces]#


・参考 ディスカバリー 全レコード削除
ディスカバリーしなおしたいときなどは一度削除します。
/sbin/iscsiadm -m node -o delete


・注意!設定はまだ終わっていません!
これで、iscsiイニシエーターの準備はだいたいできましたが、クライアントを再起動すると、デバイス名がずれることがあります(再起動前はsdaだったのが、sdbになったりsdkになったり)。
そのまま使うと、再起動のたびに手動で設定変更が必要です。
面倒なので、MultiPath設定後にもう少しiscsiの設定を加え、再起動してもずれないよう固定しましょう。