iSCSI主要是透过TCP/IP的技术,将储存设备端透过iSCSI target (iSCSI目标端)功能,做成可以提供磁盘的服务器端,再透过iSCSI initiator (iSCSI初始化用户)功能,

做成能够挂载使用iSCSI target的用户端,如此便能透过iSCSI设置来进行磁盘的应用了。也就是说,iSCSI 这个架构主要将储存装置与使用的主机分为两个部分,分别是: 

iSCSI target:就是储存设备端,存放磁盘或RAID的设备,目前也能够将Linux主机模拟成iSCSI target了! 目的在提供其他主机使用的『磁盘』;

iSCSI initiator:就是能够使用target的用户端,通常是服务器。 也就是说,想要连接到iSCSI target的服务器,也必须要安装iSCSI initiator的相关功能后才能够使用iSCSI target提供的磁盘。

系统环境:Rhel6.5x86_64

ISCSI Target:

1、安装iscsi-target

rpm -ivh librdmacm-1.0.17-1.el6.x86_64.rpm scsi-target-utils-1.0.24-10.el6.x86_64.rpm \
libibverbs-1.1.7-1.el6.x86_64.rpm  perl-Config-General-2.52-1.el6.noarch.rpm sg3_utils-1.28-5.el6.x86_64.rpm

2、配置并启动iscsi

#修改配置,设置target资源

vim /etc/tgt/targets.conf 追加(共享sdb、sdc)

#iqn格式为:iqn.时间.域名反写:target主机标识

 
backing-store /dev/sdb
backing-store /dev/sdc

#启动服务并查看端口

/etc/init.d/tgtd restart
chkconfig tgtd on
netstat -tulnp|grep tgt

#查看target配置

tgt-admin --show

ISCSI Initiator:

1、安装并启动iscsi-initiator

rpm -ivh iscsi-initiator-utils-6.2.0.873-10.el6.x86_64.rpm

2、设置开机启动

chkconfig iscsid on
chkconfig iscsi on

3、修改initiator名称

#initiator的配置文档位于/etc/iscsi/,iscsid.conf 是其配置文件,initiatorname.iscsi 是标记了initiator的名称

cat /etc/iscsi/initiatorname.iscsi 
InitiatorName=iqn.2016-07.com.plcloud:initator-node2

4、侦测target

iscsiadm -m discovery -t sendtargets -p 10.0.1.1
-m discovery    //侦测target
-t sendtargets  //通过iscsi协议
-p IP:port      //指定target的IP和port,不写port的话,默认为3260

5、连接target

#iscsiadm 侦测到的结果会写入/var/lib/iscsi/nodes/ 中,因此只需启动/etc/init.d/iscsi 就能够在下次开机时,自动连接到正确的target了。

#查看目前系统上面所有的target,并连接

iscsiadm -m node
iscsiadm -m node -T iqn.2016-07.com.plcloud:node1-10.0.1.1 --login