iscsiinitiatortarget简要说明:
iSCSI(Internet SCSI)是2003年IETF(InternetEngineering Task Force,互联网工程任务组)制订的一项标准,这种指令集合可以实现在IP网络上运行SCSI协议,使其能够在诸如高速千兆以太网上进行路由选择。SCSI(Small Computer System Interface)是块数据传输协议,在存储行业广泛应用,是存储设备最基本的标准协议。iSCSI协议是一种利用IP网络来传输潜伏时间短的SCSI数据块的方法,iSCSI使用以太网协议传送SCSI命令、响应和数据。iSCSI可以用我们已经熟悉和每天都在使用的以太网来构建IP存储局域网。通过这种方法,iSCSI克服了直接连接存储的局限性,使我们可以跨不同服务器共享存储资源,并可以在不停机状态下扩充存储容量。
iSCSI的工作过程:当iSCSI主机应用程序发出数据读写请求后,操作系统会生成一个相应的SCSI命令,该SCSI命令在iSCSI Initiator层被封装成iSCSI消息包并通过TCP/IP传送到设备侧,设备侧的iSCSI Target层会解开iSCSI消息包,得到SCSI命令的内容,然后传送给SCSI设备执行;设备执行SCSI命令后的响应,在经过设备侧iSCSI Target层时被封装成iSCSI响应PDU,通过TCP/IP网络传送给主机的iSCSI Initiator层,iSCS Initiator会从iSCSI响应PDU里解析出SCSI响应并传送给操作系统,操作系统再响应给应用程序。要实现iSCSI读写,除了使用特定硬设备外,也可透过软件方式,将服务器仿真为iSCSI的发起端(Initiator)或目标端(target),利用既有的处理器与普通的以太网络卡资源实现iSCSI的连接。
一、在192.168.1.240上安装iscsitarget端:
[root@iscsi-storage ~]#yum install scsi-target-utils (注意:scsi前面没有字母i)
 [root@iscsi-storage ~]#yum install libibverbs-devel libibverbs librdmacm librdmacm-devel
如果没有安装以上软件,则/var/log/messages里将会有以下报错:
iscsi-storage tgtd: libibverbs.so: cannot open shared object file: No such file or
directory - iser transport not used
iscsi-storage tgtd:librdmacm.so: cannot open shared object file: No such file or directory - iser
transport not used
磁盘sda装着系统,磁盘sdb用来存储,对其进行分区。
[root@iscsi-storage ~]# fdisk /dev/sdb
本人分成/dev/sdb1 3G , /dev/sdb2 7G.

分区完成后不用格式化分区,执行命令partprobe让系统重新读取分区表,而不用重启系统。
[root@iscsi-storage ~]# partprobe
scsi-targe-utils装完后的服务名为tgtd,启动它,并设置为开机启动。
[root@iscsi-storage ~]# service tgtd start
Starting SCSI target daemon: Starting target framework daemon
[root@iscsi-storage ~]# chkconfig tgtd on
接下来建立target device. 在centos5中使用tgtadm指令来设置而不是4当中的 vi /etc/ietd.conf.
tgtadm命令的参数有点难记,但是scsi-target-utils套件中包含了利用tgtadm指令建立target device的步骤,我们可以参照文件来设置:/usr/share/doc/scsi-target-utils-0.0/README.iscsi
本人欲新增iqn名为iqn.2012-05.com.example:my_target的target device.
=====================================================================================
iqn (iSCSI Qualified Name)格式通常如下:

格式
意义
范例
yyyy-mm
年份-月份
2011-01
reversed domain name
把域名名称反过来写,通常把公司的域名反过来写
com.chinaitv
identifier
识别字,通常注明这个存储空间的用途
rhcs-storage

=====================================================================================
新增target device命令如下:
# tgtadm --lld iscsi --op new --mode target --tid 1 -T iqn.2012-05.com.example:my_target
执行后,利用如下命令来查看target device:
#tgtadm --lld iscsi --op show --mode target

将起初新建的分区加入target device。
# tgtadm --lld iscsi --op new --mode logicalunit --tid 1 --lun 1 -b /dev/sdb1
查看加入target device后的输出内容:
# tgtadm --lld iscsi --op show --mode target

设置可以访问存取此target device的initiator节点。本机允许gfs1 gfs2 gfs3存取,设置如下:
#tgtadm --lld iscsi --op bind --mode target --tid 1 -I 192.168.1.231
#tgtadm --lld iscsi --op bind --mode target --tid 1 -I 192.168.1.232
#tgtadm --lld iscsi --op bind --mode target --tid 1 -I 192.168.1.233 (I为大写的i)

(如果允许所有的initiators存取的话,可以将ip换成ALL,如下:
#tgtadm --lld iscsi --op bind --mode target --tid 1 -I ALL
如果需要移除则需将bind换成unbind即可,例如
#tgtadm --lld iscsi --op unbind --mode target --tid 1 -I 192.168.1.233)
本次操作只使用sdb1来试验存储,因此只加入sdb1,如果需将多个分区用来存储的话可以如下操作:
tgtadm --lld iscsi --op new --mode target --tid 1 -T iqn.2012-05.com.example:my_target
tgtadm --lld iscsi --op new --mode target --tid 2 -T iqn.2012-05.com.example:my_target2
tgtadm --lld iscsi --op new --mode logicalunit --tid 1 --lun 1 -b /dev/sdb1
tgtadm --lld iscsi --op new --mode logicalunit --tid 2 --lun 1 -b /dev/sdb2
tgtadm --lld iscsi --op bind --mode target --tid 1 -I ip
tgtadm --lld iscsi --op bind --mode target --tid 2 -I ip
注意:如果重启tgtd服务的话,上面配置全部将会消失,因此不要随便重启,否则需要重新按上面步骤配置,为了在下一次开机自动运行,可以把上面的命令添加到/etc/rc.local文件里面。
客户机连接iscsi服务器。
#yum install iscsi-initiator-utils
注:
(1)、命令方式建立iscsi服务器,
命令创建一个iscsi设备
# tgtadm --lld iscsi --op new --mode target –T <iqn> --tid 1
将磁盘分区加入到iscsi设备中
#tgtadm --lld iscsi --op new --mode logicalunit --tid 1 --lun 1 -b /dev/sdb1
查看建立的iscsi服务器
#tgtadm --lld iscsi –op show –mode target
加入允许访问的客户端ip
#tgtadm --lld iscsi --op bind --mode target --tid 1 -I 192.168.1.231
#tgtadm --lld iscsi --op bind --mode target --tid 1 -I ALL (允许所有人访问。)
删除以前加速器允许访问的客户端ip地址
#tgtadm --lld iscsi --op unbind --mode target --tid 1 -I 192.168.1.231
以上命令重启服务或者重启系统的时候就会失效,如果用命令配置,记得加入到/etc/rc.d/rc.local文件中,开机自己运行。
(2)、修改配置文件方式
#vim /etc/tgt/targets.conf
表示允许这两个ip地址访问
186行表示IQN号,可以随便写,但是要遵守iqn.<date_code>.<reversed_domain>:<string>
例如:iqn.2012-05.com.example:my_target
187行表示提供iscsi服务的硬盘分区。
 
2、客户机连接iscsi服务器
安装需要的软件包
[root@gfs1 ~]# yum install -y cman gfs-utils kmod-gfs kmod-dlm cluster-snmp lvm2-cluster rgmanager
启动iscsi daemon
#service iscsi start
#chkconfig iscsi on
利用iscsiadm命令探测iscsi device:
# iscsiadm -m discovery -t sendtargets -p 192.168.1.240:3260
192.168.1.240:3260,1 iqn.2012-05.com.example:my_target
登入iscsi target
#iscsiadm -m node -T iqn.2012-05.com.example:my_target -p 192.168.1.240:3260 --login
Logging in to [iface: default, target: iqn.2012-05.com.example:my_target, portal: 192.168.1.240,3260]
Login to [iface: default, target: iqn.2012-05.com.example:my_target, portal: 192.168.1.240,3260]: successful
登入成功后,利用fdisk -l可以发现多处两个硬盘分区。


 
注销:
Iscsiadm –m node –T iqn.2012-05.com.example:my_target -p 192.168.1.240:3260 --logout
删除iscsi连接(需要先注销)
Iscsiadm –m node –o delete –T iqn.2012-05.com.example:my_target -p 192.168.1.240:3260

以上文档是通过查看其他前辈的文档并根据自己所查所写,前辈原文出处

http://blog.csdn.net/liuyifeng_510/article/details/7027215