1:SAN的定义
SAN是storage area network(存储区域网络)的简写,早期的san采用的是光纤通道技术,后期当iscsi协议出现以后,为了区分两者,就划分了IP SAN和FC SAN。FC SAN由于其昂贵的价格让许多企业退避三舍,IP SAN作为一个很好的代替产品出现在了人们的视线中。现在大部分存储设备提供支持基于TOE技术的接口,可以在硬件基础上处理TCP/IP协议。这意味着ISCSI设备可以处理速度已接近GigE、约100MB/秒的数据传输速率来处理I/O进程,其速率可与FC SAN的相比
2:IP-SAN的操作概要
IP SAN的操作流程大体如下:
initiator作为服务器端去使用远程target上的一个lun(逻辑单元号),一个target即一个主机,一个主机上可以共享多个硬盘给initiator使用,我们把每一个硬盘叫做一个lun。为了使用iscsi协议,initiator上要封装scsi driven,iscsi driven和tcp/ip的报文通过网络发送给target上,target以此扯掉这些报文,发现对方发送的scsi协议,进而交给本地的硬盘驱动处理。所以target上不用必须装scsi的硬盘,像传统的sata盘都可以在这个架构中使用。从用户的角度来看,就像在使用本地的客户端一样,方便简单。
target --------------->Lun------------------------>Server
1:首先存储把Lun共享给server。
2:Server 去发现这个存储
3:登陆存储认证。
3:IP-SAN的配置过程
这里我们来完成一个IP SAN的实验:
192.168.1.121做我们的initator
192.168.1.122做我们的target。
硬盘:
Disk /dev/sda: 10.7 GB, 10737418240 bytes
255 heads, 63 sectors/track, 1305 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
Target 存储端
192.168.1.122的操作流程如下:
# yum install scsi-target-utils
# rpm -ql scsi-target-utils(可以查看一些包信息)
# service tgtd restart
# chkconfig tgtd on
# tgtadm --lld iscsi --mode target --op new --tid 1 --targetname iqn.2014-05.com.qiguo.node:target1
解释:--lld指定driven,--mode指定模式,--op指定模式操作,--tid指定target_id,--targetname指定target的名称,这里使用iqn的命名方式,这里就是新增了一个target,并且target_id为1,target的名称为iqn.2014-05.com.qiguo.node:target1
# tgtadm --lld iscsi --mode logicalunit --op new --tid 1 --lun 1 --backing-store /dev/sda
解释:这里就是在target_id为1的上面增加了一个lun,其值为1,后端的存储设备为/dev/sda。
# tgtadm --lld iscsi --mode target --op show
解释:可以查看当前的target信息和lun信息
# tgtadm --lld iscsi --mode target --op bind --tid 1 --initiator-address 192.168.1.121
解释:target_id为1的允许IP为192.168.1.121的这台主机访问
Server 端
192.168.1.121的操作流程如下:
# yum install iscsi-initiator-utils
# echo "InitiatorName=`iscsi-iname -p iqn.2013-05.com.qiguo.initiator1`" >/etc/iscsi/initiatorname.iscsi #生成initiator的名称
# iscsiadm -m discovery -t st -p 192.168.1.122:3260 #使用的时候会自动启动iscsid进程。意思为在192.168.1.122的3260端口以sendtargets的类型寻找iscsi target设备
显示内容如下:192.168.1.122:3260,1 iqn.2014-05.com.qiguo.node:target1
# iscsiadm -m node -d 2 -T iqn.2014-05.com.qiguo.node:target1 -p 192.168.1.122:3260 -l #-d显示debug的级别,-T指定远程主机的targetName,-l选择登陆到远程主机
# fdisk -l
如果看到两个新的硬盘,证明登陆成功,就可以对其进行分区了。