RHEL6サーバ1台でiSCSI+device-mapper-multipath構築
- 必要なものが揃ってるか確認
# rpm -qa | grep scsi iscsi-initiator-utils-6.2.0.872-10.el6.i686 scsi-target-utils-1.0.4-3.el6.i686 # rpm -qa | grep device-mapper device-mapper-libs-1.02.53-8.el6.i686 device-mapper-multipath-0.4.9-31.el6.i686 device-mapper-1.02.53-8.el6.i686 device-mapper-event-1.02.53-8.el6.i686 device-mapper-multipath-libs-0.4.9-31.el6.i686 device-mapper-event-libs-1.02.53-8.el6.i686
- iSCSIターゲット作成
LU用のディスクイメージ作成
# dd if=/dev/zero of=/iscsi/lun1 bs=200k count=1000
tgtd起動
# /etc/init.d/tgtd start
ターゲット作成
# tgtadm --lld iscsi --op new --mode target --tid 1 --targetname iqn.2011-02.iscsi.test.com:lun1
LU追加
# tgtadm --lld iscsi --op new --mode logicalunit --tid 1 --lun 1 --backing-store /iscsi/lun1
(物理デバイスを使う場合はこんな感じで)
# tgtadm --lld iscsi --op new --mode logicalunit --tid 1 --lun 1 --backing-store /dev/sdb1
127.0.0.1と127.0.0.2にアクセス許可を設定*1
# tgtadm --lld iscsi --op bind --mode target --tid 1 --initiator-address 127.0.0.1 # tgtadm --lld iscsi --op bind --mode target --tid 1 --initiator-address 127.0.0.2
(全部許可する場合はこんな感じ)
# tgtadm --lld iscsi --op bind --mode target --tid 1 --initiator-address ALL
できたか確認
# tgtadm --lld iscsi --op show --mode target Target 1: iqn.2011-02.iscsi.test.com:lun1 System information: Driver: iscsi State: ready I_T nexus information: LUN information: LUN: 0 Type: controller SCSI ID: IET 00010000 SCSI SN: beaf10 Size: 0 MB Online: Yes Removable media: No Backing store type: rdwr Backing store path: None LUN: 1 Type: disk SCSI ID: IET 00010001 SCSI SN: beaf11 Size: 205 MB Online: Yes Removable media: No Backing store type: rdwr Backing store path: /iscsi/lun1 Account information: ACL information: 127.0.0.1 127.0.0.2
- イニシエーター作成
iscsi起動
# /etc/init.d/iscsi start
127.0.0.1をターゲットにdiscovery
# iscsiadm -m discovery -t sendtargets -p 127.0.0.1 127.0.0.1:3260,1 iqn.2011-02.iscsi.test.com:lun1
127.0.0.2をターゲットにdiscovery
# iscsiadm -m discovery -t sendtargets -p 127.0.0.2 127.0.0.2:3260,1 iqn.2011-02.iscsi.test.com:lun1
ログイン
# iscsiadm -m node -l Logging in to [iface: default, target: iqn.2011-02.iscsi.test.com:lun1, portal: 127.0.0.2,3260] Logging in to [iface: default, target: iqn.2011-02.iscsi.test.com:lun1, portal: 127.0.0.1,3260] Login to [iface: default, target: iqn.2011-02.iscsi.test.com:lun1, portal: 127.0.0.2,3260] successful. Login to [iface: default, target: iqn.2011-02.iscsi.test.com:lun1, portal: 127.0.0.1,3260] successful.
確認
# iscsiadm -m node --show 127.0.0.2:3260,1 iqn.2011-02.iscsi.test.com:lun1 127.0.0.1:3260,1 iqn.2011-02.iscsi.test.com:lun1 # iscsiadm -m session --show tcp: [5] 127.0.0.2:3260,1 iqn.2011-02.iscsi.test.com:lun1 tcp: [6] 127.0.0.1:3260,1 iqn.2011-02.iscsi.test.com:lun1 # iscsiadm -m discovery --show 127.0.0.2:3260 via sendtargets 127.0.0.1:3260 via sendtargets
- ターゲット側で接続状態を確認
# tgtadm --lld iscsi --mode target --op show Target 1: iqn.2011-02.iscsi.test.com:lun1 System information: Driver: iscsi State: ready I_T nexus information: I_T nexus: 1 Initiator: iqn.1994-05.com.redhat:965af1a26ae Connection: 0 IP Address: 127.0.0.2 I_T nexus: 2 Initiator: iqn.1994-05.com.redhat:965af1a26ae Connection: 0 IP Address: 127.0.0.1 LUN information: LUN: 0 Type: controller SCSI ID: IET 00010000 SCSI SN: beaf10 Size: 0 MB Online: Yes Removable media: No Backing store type: rdwr Backing store path: None LUN: 1 Type: disk SCSI ID: IET 00010001 SCSI SN: beaf11 Size: 205 MB Online: Yes Removable media: No Backing store type: rdwr Backing store path: /iscsi/lun1 Account information: ACL information: 127.0.0.1 127.0.0.2
- device-mapper-multipathの設定
LU見えてるか確認
# cat /proc/scsi/scsi Attached devices: : Host: scsi6 Channel: 00 Id: 00 Lun: 00 Vendor: IET Model: Controller Rev: 0001 Type: RAID ANSI SCSI revision: 05 Host: scsi6 Channel: 00 Id: 00 Lun: 01 Vendor: IET Model: VIRTUAL-DISK Rev: 0001 Type: Direct-Access ANSI SCSI revision: 05 Host: scsi7 Channel: 00 Id: 00 Lun: 00 Vendor: IET Model: Controller Rev: 0001 Type: RAID ANSI SCSI revision: 05 Host: scsi7 Channel: 00 Id: 00 Lun: 01 Vendor: IET Model: VIRTUAL-DISK Rev: 0001 Type: Direct-Access ANSI SCSI revision: 05
WWID確認
# scsi_id --whitelisted --device=/dev/sdc 1IET 00010001 # scsi_id --whitelisted --device=/dev/sdd 1IET 00010001
設定ファイルの編集(ドキュメントから雛型を取ってくる)
# cp /usr/share/doc/device-mapper-multipath-0.4.9/multipath.conf /etc/multipath.conf
編集結果
# diff -su /usr/share/doc/device-mapper-multipath-0.4.9/multipath.conf /etc/multipath.conf --- /usr/share/doc/device-mapper-multipath-0.4.9/multipath.conf 2010-09-07 23:21:37.000000000 +0900 +++ /etc/multipath.conf 2011-02-04 14:14:44.902995293 +0900 @@ -8,12 +8,13 @@ ## By default, devices with vendor = "IBM" and product = "S/390.*" are ## blacklisted. To enable mulitpathing on these devies, uncomment the ## following lines. -#blacklist_exceptions { +blacklist_exceptions { # device { # vendor "IBM" # product "S/390.*" # } -#} + wwid 00010001 +} ## Use user friendly names, instead of using WWIDs as names. defaults {
モジュールロード
# modprobe dm_multipath
マルチパスオン
# multipath -v2 :
できたか確認
# multipath -ll mpathc (1IET 00010001) dm-3 IET,VIRTUAL-DISK size=195M features='0' hwhandler='0' wp=rw
-+- policy='round-robin 0' prio=1 status=active |
`- 6:0:0:1 sdc 8:32 active ready running |
- iSCSI終了
ログアウト
# iscsiadm -m node -u Logging out of session [sid: 1, target: iqn.2011-02.iscsi.test.com:sdb1, portal: 127.0.0.1,3260] Logging out of session [sid: 2, target: iqn.2011-02.iscsi.test.com:sdb1, portal: 127.0.0.2,3260] Logout of [sid: 1, target: iqn.2011-02.iscsi.test.com:sdb1, portal: 127.0.0.1,3260] successful. Logout of [sid: 2, target: iqn.2011-02.iscsi.test.com:sdb1, portal: 127.0.0.2,3260] successful.
削除
# iscsiadm -m node -o delete -p 127.0.0.1 # iscsiadm -m node -o delete -p 127.0.0.2
iscsi停止
# /etc/init.d/iscsi stop
tgtd停止
# /etc/init.d/tgtd stop SCSI target daemon を停止中: [ OK ]
*1:ループバックは/8なので.1でも.2でも接続できる