LinuxでiSCSIイニシエータを設定

WindowsもしくはLinuxで作成したiSCSIターゲットをLinuxサーバにマウントする方法です。

1.サーバにイニシエータパッケージをインストールする
yumコマンドでサクッとインストール出来ます。

# yum install iscsi-initiator-utils

===============================================================================
Package Arch Version Repository Size
===============================================================================
Installing:
iscsi-initiator-utils x86_64 6.2.0.871-0.20.el5_5 updates 814 k

Transaction Summary
===============================================================================

2.iSCSIサービスを起動する

# /etc/rc.d/init.d/iscsi start

3.iSCSIターゲットサーバを指定して、iSCSIターゲットノードを探します
見つけるiSCSIターゲットノードは、iSCSIターゲットサーバで設定している全てのターゲットノードが表示されますので
中には、利用できないものもあります。

iscsiadm -m discovery -t sendtargets -p 192.168.1.1
192.168.1.1:3260,1 iqn.2011-01.info.ys-network.iscsi:iscsi01
192.168.128.1:3260,1 iqn.2011-01.info.ys-network.iscsi:iscsi01

以降は、見つけたターゲットノードは以下コマンドで表示できます。

# iscsiadm -m node
192.168.1.1:3260,1 iqn.2011-01.info.ys-network.iscsi:iscsi01
192.168.128.1:3260,1 iqn.2011-01.info.ys-network.iscsi:iscsi01

ターゲットノードが見つからなかった場合

# iscsiadm -m node
iscsiadm: no records found!

なお、iSCSIサービスを起動してないと、以下のようなエラーが出ます。

# iscsiadm -m discovery -t sendtargets -p 192.168.1.1
iscsiadm: Cannot perform discovery. Initiatorname required.
iscsiadm: Discovery process to 192.168.1.1:3260 failed to create a discovery session.
iscsiadm: Could not perform SendTargets discovery.

4.見つけたiSCSIターゲットノードにログイン(イニシエータサーバにiSCSIターゲットノードを追加ディスクとして認識)

# iscsiadm -m node -T iqn.2011-01.info.ys-network.iscsi:iscsi01 -p 192.168.1.1 –login
Logging in to [iface: default, target: iqn.2011-01.info.ys-network.iscsi:iscsi01, portal: 192.168.1.1,3260]
Login to [iface: default, target: iqn.2011-01.info.ys-network.iscsi:iscsi01, portal: 192.168.1.1,3260]: successful

以降は、以下コマンドでログインに成功したターゲットノードを確認できます

# iscsiadm -m session
tcp: [1] 192.168.1.1:3260,1 iqn.2011-01.info.ys-network.iscsi:iscsi01

5.追加ディスクとして認識されたデバイス場所を確認

# dmesg
scsi1 : iSCSI Initiator over TCP/IP
Vendor: IET Model: VIRTUAL-DISK Rev: 0
Type: Direct-Access ANSI SCSI revision: 04
SCSI device sdb: 250915771 512-byte hdwr sectors (128469 MB)
sdb: Write Protect is off
sdb: Mode Sense: 77 00 00 08
SCSI device sdb: drive cache: write through
SCSI device sdb: 250915771 512-byte hdwr sectors (128469 MB)
sdb: Write Protect is off
sdb: Mode Sense: 77 00 00 08
SCSI device sdb: drive cache: write through
sdb: sdb1
sd 1:0:0:1: Attached scsi disk sdb
sd 1:0:0:1: Attached scsi generic sg1 type 0

SCSI番号は上記”iscsiadm -m session”コマンドで表示された番号と連動してます。
今回の場合、「tcp: [1]」「SCSI1」となります。

6.フォーマット、マウントする
まんまです。partedコマンドやfdiskコマンドでフォーマット、マウントします。

============================================================
今回の設定では不要ですが、必要になるだろうコマンドを殴り書きしときます。

■ターゲットノードをログアウト

# iscsiadm -m node -T iqn.2011-01.info.ys-network.iscsi:iscsi01 -p 192.168.128.1 –logout
Logging out of session [sid: 2, target: iqn.2011-01.info.ys-network.iscsi:iscsi01, portal: 192.168.128.1,3260]
Logout of [sid: 2, target: iqn.2011-01.info.ys-network.iscsi:iscsi01, portal: 192.168.128.1,3260]: successful


■不要のターゲットノードを削除

# iscsiadm -m node
192.168.1.1:3260,1 iqn.2011-01.info.ys-network.iscsi:iscsi01
192.168.128.1:3260,1 iqn.2011-01.info.ys-network.iscsi:iscsi01

# iscsiadm -m node -o delete iqn.2011-01.info.ys-network.iscsi:iscsi01 -p 192.168.128.1
# iscsiadm -m node
192.168.1.1:3260,1 iqn.2011-01.info.ys-network.iscsi:iscsi01

ターゲットノードをログインしたままターゲットノードを削除しようとすると、以下のようなエラーが出る

# iscsiadm -m node -o delete iqn.2011-01.info.ys-network.iscsi:iscsi01 -p 192.168.128.1
iscsiadm: This command will remove the record [iface: default, target: iqn.2011-01.info.ys-network.iscsi:iscsi01, portal: 192.168.128.1,3260], but a session is using it. Logout session then rerun command to remove record.
iscsiadm: Could not execute operation on all records. Err 22.

■/etc/iscsi/initiatorname.iscsi
iSCSIターゲットサーバからiSCSIイニシエータサーバを識別させる為のものなので、適当で良いかと。

検証環境
■イニシエータ側
OS:CentOS 5.5
パッケージ:iscsi-initiator-utils-6.2.0.871-0.20.el5_5
■ターゲット側1(192.168.1.1)
OS:CentOS 5.5
パッケージ:iscsitarget-1.4.20.2
■ターゲット側2(同様に検証)
OS:Windows Storage Server 2008
パッケージ:OS標準