一个比较经典的iSCSI系统拓扑结构如下图所示:
环境:
Initiator | centos6.4 | 192.168.8.2 | iscsi-initiator-utils |
Target | centos6.4 | 192.168.8.3 | iscsi enterprise target |
1、安装并配置iSCSI Target
Target软件:iscsitarget-1.4.20.2
安装步骤:
# cd iscsitarget-1.4.20.2
# make && make install
# ls /etc/iet
ietd.conf initiators.allow targets.allow
# service iscsi-target
用法:/etc/init.d/iscsi-target {start|stop|restart|condrestart|status}
vim /etc/iet/ietd.conf
Target iqn.2001-04.com.example:storage.disk2.sys1.xyz #iSCSI Target名称
Lun 0 Path=/dev/sdc,Type=fileio,ScsiId=xyz,ScsiSN=xyz #Logical Unit Number 逻辑单元号,type=fileio,支持逻辑卷、文件、磁盘
2、安装并配置iSCSI Initiator(主流Linux基本自带iSCSI Initiator,即Open-iSCSI,如果没有则手动安装)
rpm包:iscsi-initiator-utils或者yum -y install iscsi*
安装步骤
# yum -y install iscsi
# iscsiadm -m discovery -t sendtarget -p 192.168.8.3:3260 搜索iscsi共享
192.168.8.3:3260,1 iqn.2002-04.com.example:storage.disk2.sys1.xyz
# iscsiadm -m node -T iqn.2002-04.com.example:storage.disk2.sys1.xyz -p 192.168.8.3:3260 -l(login) 与iscsi target建立联系
Logging in to [iface: default, target: iqn.2002-04.com.example:storage.disk2.sys1.xyz, portal: 192.168.8.3,3260] (multiple)
Login to [iface: default, target: iqn.2002-04.com.example:storage.disk2.sys1.xyz, portal: 192.168.8.3,3260] successful.
一个非常简单的基于IP SUN的iSCSI存储系统已经配置结束。
3、总结一下iSCSI的工作原理
iSCSI自上而下分为三层,分别是SCSI、iSCSI、TCP/IP,我们上面的配置其实都是针对iSCSI层的,SCSI层根据客户端发出的请求建立SCSI CDB并交给iSCSI层,iSCSI层将CDB封装到TCP/IP包中,在IP网络传送,当另外一端的iSCSI层接受到该包的时候会逆向执行上述过程,并将解封装后得到的SCSI命令交给SCSI层处理。