1. 首先确定内核版本

tgtd需要iscsi_tcp模块,查看当前内核是否编译了该模块:
#cat /boot/config.uname -r | grep CONFIG_ISCSI_TCP
CONFIG_ISCSI_TCP is not set //表示没有支持

2. 安装必须的支持软件

#yum install perl-Config-General
#yum install iscsi-initiator-utils

3. 下载tgtd

yum install scsi-target-utils
service tgtd start
chkconfig tgtd on

4. 驱动依赖

[root@st]# lsmod | grep iscsi
iscsi_tcp 20480 0
libiscsi_tcp 24576 1 iscsi_tcp
libiscsi 57344 2 iscsi_tcp,libiscsi_tcp
scsi_transport_iscsi 106496 2 iscsi_tcp,libiscsi

5. 用法示例

基于raid 创建target

tgt executor mdadm --create /dev/md0 --level=0 --raid-devices=4 /dev/nvme3n1 /dev/nvme4n1 /dev/nvme5n1 /dev/nvme7n1 tgtadm --lld iscsi --op new --mode target --tid 2 -T iqn.2016-09.com.sborst:storage.md0 tgtadm --lld iscsi --op new --mode logicalunit --tid 2 --lun 1 -b /dev/md0 tgtadm --lld iscsi --op show --mode target tgtadm --lld iscsi --op new --mode portal --param portal=110.22.37.17:3260 tgtadm --lld iscsi --op bind --mode target --tid 2 -I ALL
iscsiadm --mode discoverydb --type sendtargets --portal 110.22.37.17 --discover 
iscsiadm --mode node --targetname iqn.2016-09.com.sborst:storage.md0 --portal 10.22.37.17:3260 --login 670 iscsiadm --mode node --targetname iqn.2016-09.com.sborst:storage.md0 --portal 110.22.37.17:3260 --logout

基于定制化的后端创建target

  创建 target:
 tgtadm --lld iscsi --op new --mode target --tid 1 -T bbs.46:xks_user:spdk4_volume.1
 创建卷:
tgtadm --lld iscsi --op new --mode logicalunit --tid 1 --lun 1 --bstype bbs --backing-store bbs.46:xks_user:spdk4_volume.1

绑定:
  tgtadm --lld iscsi --op bind --mode target --tid ${tid} -I ALL 

发现target:

iscsiadm --mode discoverydb --type sendtargets --portal $targetIP --discover

iscsi login:

iscsiadm --mode node --targetname ${targetName} --portal ${targetIP}:3260 --login 2

 检查所有的session:
 iscsiadm -m session -P 3

如果上面都成功,用lsscsi -g 应该能看到设备,通过 -b / -e 对设备符进行检查,OK后即可使用。