組網環境
+----------+---------------+---------------+
| hostname | ip address | iscsi role |
+----------+---------------+---------------+
| cvm | 192.168.7.8 | target |
| client01 | 192.168.7.10 | initiator |
| client02 | 192.168.7.11 | initiator |
+----------+---------------+---------------+
機器cvm將本機上的/dev/sda8磁盤通過iscsi共享出去,機器client01和client02連接到共享的磁盤。
iSCSI target側
修改tgt配置文件/etc/tgt/target.conf,將/dev/sda8共享出去。注意,target名稱個格式為iqn.yyyy-mm.
root@cvm:~# cat /etc/tgt/targets.conf
<target iqn.2014-09.com.h3c.cvm:test-tgt>
backing-store /dev/sda8
</target>
配置文件修改完成后,重啟tgt服務。tgtd默認監聽3260端口。
root@cvm:~# service tgt restart <== 重啟target服務
root@cvm:~# netstat -npl | egrep 3260
tcp 0 0 0.0.0.0:3260 0.0.0.0:* LISTEN 686/tgtd
tcp6 0 0 :::3260 :::* LISTEN 686/tgtd
查看配置文件共享出去的Lun的信息。注意,共享出去的分區/dev/sda8不能被使用,否則看不到相應的LUN。
root@cvm:~# tgt-admin -s
Target 1: iqn.2014-09.com.h3c.cvm:test-tgt
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, Block size: 1
Online: Yes
Removable media: No
Readonly: No
Backing store type: null
Backing store path: None
Backing store flags:
LUN: 1 <== 如果/dev/sda8被使用,那么這里不會顯示LUN:1
Type: disk
SCSI ID: IET 00010001
SCSI SN: beaf11
Size: 280690 MB, Block size: 512
Online: Yes
Removable media: No
Readonly: No
Backing store type: rdwr
Backing store path: /dev/sda8
Backing store flags:
Account information:
ACL information:
ALL
root@cvm:~#
查詢連接到target端的initiator節點,使用tgtadm --lld iscsi --op show --mode target命令。
iSCSI initiator側
發現iscsi target
root@client01:~# iscsiadm -m discovery -t st -p 192.168.7.8
192.168.7.8:3260,1 iqn.2014-09.com.h3c.cvm:test-tgt
連接設備
root@client01:~# iscsiadm -m node iqn.2014-09.com.h3c.cvm:test-tgt -p 192.168.7.8 -l
Logging in to [iface: default, target: iqn.2014-09.com.h3c.cvm:test-tgt, portal: 192.168.7.8,3260] (multiple)
Login to [iface: default, target: iqn.2014-09.com.h3c.cvm:test-tgt, portal: 192.168.7.8,3260] successful.
查詢掛接到本地的iscsi磁盤,因為本地已經有一塊iscsi磁盤sda了,所以新的磁盤名字為sdb。
root@client01:~# ls -l /dev/disk/by-path/
lrwxrwxrwx 1 root root 9 Sep 18 04:15 ip-192.168.7.8:3260-iscsi-iqn.2014-09.com.h3c.cvm:test-tgt-lun-1 -> ../../sdb
查看iscsi連接狀態
root@client01:~# iscsiadm -m node -S
192.168.7.8:3260,1 iqn.2014-09.com.h3c.cvm:test-tgt
卸載設備
root@client01:~# iscsiadm -m node -T iqn.2014-09.com.h3c.cvm:test-tgt -u
Logging out of session [sid: 3, target: iqn.2014-09.com.h3c.cvm:test-tgt, portal: 192.168.7.8,3260]
Logout of [sid: 3, target: iqn.2014-09.com.h3c.cvm:test-tgt, portal: 192.168.7.8,3260] successful.
initiator 權限
修改tgt的配置文件,可以指定能夠連接到target的initiator。如下,只允許192.168.7.11的initiator節點連接到target。
root@cvm:~# cat /etc/tgt/targets.conf
<target iqn.2014-09.com.h3c.cvm:test-tgt>
backing-store /dev/sda8
initiator-address 192.168.7.11 <== 只准許7.11的節點連接到target
</target>
分別在client01和client02上連接target,只有client02可以連接到target。
root@client01:~# iscsiadm -m discovery -t st -p 192.168.7.8
iscsiadm: No portals found
root@client02:~# iscsiadm -m discovery -t st -p 192.168.7.8
192.168.7.8:3260,1 iqn.2014-09.com.h3c.cvm:test-tgt
如果要使client01和client02都可以連接到target,那么只需要修改配置文件的initiator-address為192.168.0.0/16即可。
其它
1、tgt的日志信息位於/var/log/syslog文件
2、查看initiator的名字。名字記錄在/etc/iscsi/initiatorname.iscsi文件中
參考資料