之前的那篇文章 侧重在应用上,在target的搭建上用到了openfiler系统,这篇文件介绍如何在RedHat5.5系统上创建target,并用CentOS和win来连接,侧重点是在shell环境下搭建iSCSI。
存储世界里,常用的名词有SCSI(Small Computer System Interface), FC(FIbre Channel ), DAS(Direct -Attached Storage), NAS(Network Attached Storage ), SAN(Storage Area Network ),iSCSI(internet SCSI),在iSCSI出现之前,构建SAN架构的存储唯一技术就是利用光纤通道,需要花费很大建设成本,一般中小企业无法承担。iSCSI技术解决了传输效率,兼容性,开放性,安全性等方面的诸多问题.
FC SAN 与 IP SAN比较,在传输方式上,FC SAN AND IP SAN 都采用协议方式来完成,这是他们的共同点;在传输速度上,FC SAN 2Gbit/s, iSCSI 1Gbit/s;传输距离上,FC理论上可以达到100公里,而事实上,传输超过50公里后,就会出现瓶颈,而iSCSI在理论上没有距离的限制;管理及维护成本上,假设FC SAN需要投入很多硬件成本,并且需要特定的工具软件进行管理,而iSCSI构建成本低,只要有网络就可以.
iSCSI的组成: iSCSI initiator或者iSCSI HBA; iSCSI Target;至少两台服务器;以太网交换机.本次实验是在vmware的虚拟机环境下完成的,initiator为centos6.0(192.168.39.133),target为rhel5.5(192.168.39.134),软件有
iscsi-initiator-utils-6.2.0.871-0.16.el5
iscsitarget-1.4.20.2.tar.gz
iSCSI target:就是储存设备端,存放磁盘或RAID的设备,目前也能够将Linux主机模拟成iSCSI target了! 目的在提供其他主机使用的『磁盘』;
iSCSI initiator:就是能够使用target的用户端,通常是服务器。 也就是说,想要连接到iSCSI target的服务器,也必须要安装iSCSI initiator的相关功能后才能够使用iSCSI target提供的磁盘。
实验第一步:在target上安装软件
解压软件包
# cd /usr/local/src/
# tar xzvf iscsitarget-1.4.20.2.tar.gz
编译安装iscsitarget
# cd iscsitarget-1.4.20.2
# make
# make install
加入系统服务
# chkconfig --add iscsi-target
l 配置iSCSI target
Vi /etc/iet/ietd.conf
Target iqn.1994-05.com.redhat:e44b66e1842Lun 1 Path=/dev/sdc,Type=blockio,ScsiId=sdc
iSCSI有一套自己分享target文件的定义,基本上,由iSCSI分享出来的target文件都是以iqn为开头,意思是:『iSCSI Qualified Name (iSCSI合格名称)』的意思。那么在iqn后面要接什么呢?通常是这样的:
iqn.yyyy-mm.<reversed domain name>:identifier
我做这个测试的时间是2012年4月份,然后我的的机器是shanker.com,反转网域写法为com.shanker, 然后,想要的iSCSI target 名称是xp_disk ,那么就可以这样写:
iqn.2012-04.com.shanker:xp_disk
这里的iqn只是一个识别代码,可以改成任意的,我后来测试过的。
Lun 1是指这个设备共享出去的Lun Id,同一个Target Lun Id不能重复。Type=blockio是指定使用blockio的方式,也可以使用fileio,如果使用了fileio,会使用操作系统的文件缓存,如果出现掉电,可能会丢数据。使用blockio则没有这个问题。
IscsiId是这个Lun的名字,随便起一个名字就可以了。
l 启动iSCSI target
配置好/etc/iet/ietd.conf文件后,就可以启动iscsi-target了:
# service iscsi-target start
l 查看iSCSI target 共享出的硬盘
# cat /proc/net/iet/volume
l 查看客户端登录到target的情况
# cat /proc/net/iet/session