Red Hat EL (RHEL) 5.xとCentOS 5.xを使用したiSCSIのターゲットの作成を説明しています。
[詳細]
RHEL 5.xとCentOS 5.xには、iSCSI ターゲットとなるためのパッケージscsi-target-utilsが添付されています。このパッケージを利用してLinuxマシンをiSCSIのターゲットとして運用する方法を説明します。
- パッケージのインストール
- RHEL 5.x
Cluster Storageのパッケージグループに属していますので、次のようにパッケージのパスを指定してください。rpm -ivh マウントポイント/ClusterStorage/scsi-target-utils* - CentOS 5.x
rpm -ivh マウントポイント/CentOS/scsi-target-utils*
- RHEL 5.x
- ターゲットの作成
ターゲットの管理は、tgtadmというコマンドを使って行いますが、多くのオプションがあり初心者にはちょっと扱いづらいところがあります。
tgtadmを直接使わずに、簡単にセットアップするためにいくつかのコマンドが用意されています。ターゲットの追加は"tgt-setup-lun"、ターゲットの変更や状態の表示は"tgt-admin"で行うことが出来ます。
ただ、これらのコマンドでの実行だけでは、マシンの起動と同時にiSCSIのターゲットは動作しません。起動時に動作させるためには/etc/tgt/targets.confに、ターゲットの設定を記述し、サービスtgtdを自動起動するように設定します。
まず、/etc/tgt/targets.confの記述方法について説明します。- /etc/tgt/targets.confの書式
/etc/tgt/targets.confは、ターゲットごとに"<target ターゲット名>"と"</target>"の間に設定を記述します。- backing-store
iSCSIデバイスとなるディスク、もしくは、パーティション、ファイルを指定します。backing-storeを複数指定すると、イニシエータ(クライアント)からは複数のLUNとして表示されます。backing-store /dev/sdb1
backing-store /opt/disk.img - initiator-address
接続を許可するイニシエータのIPアドレスを記載します。複数のイニシエータに接続を許可する場合はinitiator-addressを列挙します。
逆にinitiator-addressが無い場合には、すべてのイニシエータからの接続を許可します。initiator-address 192.168.1.152
initiator-address 192.168.1.154 - incominguser
ターゲットへ接続するイニシエータ対して認証を要求するよう設定します。incominguser foo bar - outgoinguser
イニシエータの要求する認証に、ターゲットが返答するよう設定します。outgoinguser foo bar
<target qn.2001-04.com.jp-lin03-sdb:tgtd>
# List of files to export as LUNs
backing-store /dev/sdb1
backing-store /dev/sdb4
# Authentication :
# if no "incominguser" is specified, it is not used
#incominguser backup secretpass12
# Access control :
# defaults to ALL if no "initiator-address" is specified
initiator-address 192.168.1.152
initiator-address 192.168.1.154
</target>
<target qn.2001-04.com.jp-lin03-file:tgtd>
# List of files to export as LUNs
backing-store /opt/disk.img
# Authentication :
# if no "incominguser" is specified, it is not used
incominguser foo bar
# Access control :
# defaults to ALL if no "initiator-address" is specified
#initiator-address 192.168.1.151
</target>
上記の例では、"qn.2001-04.com.jp-lin03-sdb:tgtd"と"qn.2001-04.com.jp-lin03-file:tgtd"という2つのターゲットを定義しています。"qn.2001-04.com.jp-lin03-sdb:tgtd"は、"/dev/sdb1"と"/dev/sdb4"のそれぞれをLUNとして定義し、"192.168.1.152"と"192.168.1.154"からのアクセスを許可しています。次に、"qn.2001-04.com.jp-lin03-file:tgtd"は、"/opt/disk.img"というレギュラーファイルをLUNとして、すべてのイニシエーターからのアクセスを許可していますが接続に対してユーザ名"foo"、パスワード"bar"という認証を要求します。 - backing-store
- /etc/tgt/targets.confの書式
- サービスの自動起動の設定
[root@localhost]~# chkconfig tgtd on
- tgtdサービスの起動
[root@localhost]~# service tgtd start
- 動作確認
"tgt-admin -s"もしくは、"tgtadm --lld iscsi --mode target --op show"を使用して、動作確認を行います。
各ターゲットのLUN 0はSCSIのコントローラとなるので、ディスクが割り当てられるのは、LUN 1から見ていきます。
LUNについてのチェックは、指定した数のディスクが存在するか、"Backing store"に正しいデバイスが指定されているか、"Online"が"Yes"になっているかを見ます。他には" Account information"で指定したユーザが表示されているか、"ACL information"では指定したIPアドレスが表示されているかをチェックしてください。
[root@localhost ~]# tgt-admin -s
Target 1: qn.2001-04.com.jp-lin03-sdb:tgtd
System information:
Driver: iscsi
State: ready
I_T nexus information:
LUN information:
LUN: 0
Type: controller
SCSI ID: deadbeaf3:0
SCSI SN: beaf30
Size: 0 MB
Online: Yes
Removable media: No
Backing store: No backing store
LUN: 1
Type: disk
SCSI ID: deadbeaf3:1
SCSI SN: beaf31
Size: 30006 MB
Online: Yes
Removable media: No
Backing store: /dev/sdb1
LUN: 2
Type: disk
SCSI ID: deadbeaf3:2
SCSI SN: beaf32
Size: 26469 MB
Online: Yes
Removable media: No
Backing store: /dev/sdb4
Account information:
ACL information:
100.100.100.152
100.100.100.154
Target 2: qn.2001-04.com.jp-lin03-file:tgtd
System information:
Driver: iscsi
State: ready
I_T nexus information:
LUN information:
LUN: 0
Type: controller
SCSI ID: deadbeaf1:0
SCSI SN: beaf10
Size: 0 MB
Online: Yes
Removable media: No
Backing store: No backing store
LUN: 1
Type: disk
SCSI ID: deadbeaf1:1
SCSI SN: beaf11
Size: 41943 MB
Online: Yes
Removable media: No
Backing store: /opt/disk.img
Account information:
foo
ACL information:
ALL
以上で、iSCSIのターゲットの設定は終了です。
0 件のコメント:
コメントを投稿