1 tgt程序架构
tgt是用户态实现的iscsi target,而iet(iscsi enterprise target)是在内核态实现的target,tgt相比于iet来说,因为其用户态实现,方便调试,新加入一些功能等,不过性能相比iet来说要稍差一点。
1)安装tgt
CentOS 自带了scsi-target-utils 软件,我们使用该软件进行target设置。
# yum -y install scsi-target-utils
2 )规划共享的iscsi target文件名
通常的命令格式是:
Iqn.yyyy-mm.<reversed domain name>:identifier
例如:
Iqn.2014-10.dev.iscsi-target:disk
3 )设置tgt的配置文件/etc/tgt/targets.conf
Vim /etc/tgt/targets.conf
<target iqn.2014-12.dev.iscsi-target:iscsidisk>
backing-store /dev/sdd
…
</target>
4 )启动iscsi target以及查看相关端口与磁盘信息
再来则是启动、开机启动,以及查看iscsi target所启动的端口:
/etc/init.d/tgtd start
Chkconfig tgtd on
Netstat -tlunp | grep tgt
查看我们的target的相关信息,以及提供的LUN数据内容:
Tgt-admin --show
Target 1: iqn.2014-10.dev.iscsi-target:disk 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 Prevent removal: No Readonly: No Backing store type: null Backing store path: None Backing store flags: LUN: 1 Type: disk SCSI ID: IET 00010001 SCSI SN: beaf11 Size: 214627 MB, Block size: 512 Online: Yes Removable media: No Prevent removal: No Readonly: No Backing store type: rdwr Backing store path: /dev/mapper/dm-3 Backing store flags: Account information: ACL information: ALL
5 )设置防火墙
不论在targets.conf配置文件中你有没有使用initiator-address,iscsi target就是使用TCP/IP传输数据的,所以你还是需要在防火墙内设置可以连接的客户端才行。也可以将防火墙关闭。
2 IET架构
2)安装
tar -zxvf iscsitarget-1.4.20.2.tar.gz
make
make install
3)配置
Iscsitarget安装完毕后,会创建/etc/iet/目录,此目录下有Iscsitarget的相关配置文件
[root@localhost iscsitarget-1.4.20.2]# cd /etc/iet/
[root@localhost iet]# vi ietd.conf
打开ietd.conf文件,首先找到类似如下行:
#Target iqn.2001-04.com.example:storage.disk2.sys1.xyz
此选项表示该iSCSI Target的命名,先将前面的“#”号去掉, Target的命名在同一子网内应该是唯一的,标准命名方式为:
iqn.yyyy-mm.[:identifier]
其中:
iqn:表示“iSCSI Qualified Name”,简称iqn。
yyyy-mm:表示年份-月份。这里是2001-04。
reversed domain name:表示倒过来的域名,这里是com.example。
identifier:表示识别代码,这里是storage.disk2.sys1.xyz。
接下来,就是要设定 LUN(Logical Unit Number),找到类似如下行:
#Lun 0 Path=/dev/sdb,Type=fileio,ScsiId=xyz,ScsiSN=xyz
将前面的“#”号去掉,“Lun 0 Path=/dev/sdb”表示块设备号为0,映射的磁盘为/dev/sdb,
“Type”值fileio是默认的,表示设置设备IO传输类型,有fileio、blockio、nullio。逻辑卷推荐用fileio,分区推荐用blockio。
主要用来对一个磁盘进行存储共享。读者可以根据自己情况将Path改为需要共享的存储分区的设备标识。
这里我们新建一个分区来作为iscsitarget存储的分区
4)启动
接下来就可以启动服务了
[root@localhost ~]# /etc/init.d/iscsi-target start