1、2015.09简介服务器存储,既是把服务器硬件资源,通过软件、技术为网络中其它设备提供存储服务;考虑到客户网络环境与业务情况,本次我们为用户提供了服务器+Iscsi技术,通过IP-SAN给业务系统提供可靠、稳定、低成高,高利用率的存储解决方案;iSCSI(internet SCSI)技术由IBM公司研究开发,是一个供硬件设备使用的、可以在IP协议的上层运行的SCSI指令集,这种指令集合可以实现在IP网络上运行SCSI协议,使其能够在诸如高速千兆以太网上进行路由选择。iSCSI技术是一种新储存技术,该技术是将现有SCSI接口与以太网络(Ethernet)技术结合,使服务器可与使用IP网络的储存装
2、置互相交换资料。iSCSI是一种基于TCP/IP 的协议,用来建立和管理IP存储设备、主机和客户机等之间的相互连接,并创建存储区域网络(SAN)。SAN 使得SCSI 协议应用于高速数据传输网络成为可能,这种传输以数据块级别(block-level)在多个数据存储网络间进行。SCSI 结构基于C/S模式,其通常应用环境是:设备互相靠近,并且这些设备由SCSI 总线连接。iSCSI 的主要功能是在TCP/IP 网络上的主机系统(启动器 initiator)和存储设备(目标器 target)之间进行大量数据的封装和可靠传输过程。本次系统的拓扑结构如下:方案介绍工作过程:当iSCSI主机应用程序发出
3、数据读写请求后,操作系统会生成一个相应的SCSI命令,该SCSI命令在iSCSI initiator层被封装成ISCSI消息包并通过TCP/IP传送到设备侧,设备侧的iSCSI target层会解开iSCSI消息包,得到SCSI命令的内容,然后传送给SCSI设备执行;设备执行SCSI命令后的响应,在经过设备侧iSCSI target层时被封装成ISCSI响应PDU,通过TCP/IP网络传送给主机的ISCSI initiator层,iSCSI initiator会从ISCSI响应PDU里解析出SCSI响应并传送给操作系统,操作系统再响应给应用程序。主要优势:这几年来,iSCSI存储技术得到了快速
4、发展。iSCSI的最大好处是能提供快速的网络环境,虽然其性能和带宽跟光纤网络还有一些差距,但能节省企业约30-40%的成本。iSCSI技术优点和成本优势的主要体现包括以下几个方面:硬件成本低:构建iSCSI存储网络,除了存储设备外,交换机、线缆、接口卡都是标准的以太网配件,价格相对来说比较低廉。同时,iSCSI还可以在现有的网络上直接安装,并不需要更改企业的网络体系,这样可以最大程度地节约投入。操作简单,维护方便:对iSCSI存储网络的管理,实际上就是对以太网设备的管理,只需花费少量的资金去培训iSCSI存储网络管理员。当iSCSI存储网络出现故障时,问题定位及解决也会因为以太网的普及而变得容
5、易。扩充性强:对于已经构建的iSCSI存储网络来说,增加iSCSI存储设备和服务器都将变得简单且无需改变网络的体系结构。带宽和性能:iSCSI存储网络的访问带宽依赖以太网带宽。随着千兆以太网的普及和万兆以太网的应用,iSCSI存储网络会达到甚至超过FC(FiberChannel,光纤通道)存储网络的带宽和性能。突破距离限制:iSCSI存储网络使用的是以太网,因而在服务器和存储设备的空间布局上的限制就会少了很多,甚至可以跨越地区和国家。安全性:iSCSI和FC采用不同的方法保证存储访问的安全,这可能是多协议存储架构师必须解决的最大问题。FC利用FC交换机实行分区,通过全局名称排列LUN编号和主机
6、标识,而iSCSI采用上述隔离iSCSI的物理和虚拟方法,通过IP地址、主机系统和存储设备的名称、内部/外部CHAP身份验证等方式限制访问,从而保证存储安全。建设过程1 准备工作iSCSI可分享的设备类型有很多,包括镜像文件(*.img)、分区(partition)、物理硬盘、raid设备、逻辑卷等,下面我们将准备其中的几种来测试,其他类型大家可以自行测试。1.1 模拟镜像在iSCSI Target的/srv目录下创建一个200M大小的镜像文件。# mkdir /srv/iscsi# dd if=/dev/zero of=/srv/iscsi/disk1.img bs=1M count=200
7、# ll -lh /srv/iscsi1.2 建立分区创建一个500M大小的分区/dev/sdb1.# fdisk /dev/sdb1.3 创建逻辑卷创建一个800M大小的LV.# pvcreate /dev/sdc# vgcreate vg0 /dev/sdc# lvcreate -L 800M -n lv1 vg02配置iSCSI Target2.1 安装tgtCentOS自带了scsi-target-utils软件,我们使用该软件进行target设置。# yum -y install scsi-target-utils2.2 配置tgttgt的主配置文件为/etc/tgt/,下面我们来设
8、置改文件。在该文件最后新增以下设置: backing-store /srv/iscsi/disk1.img backing-store /dev/sdb1 backing-store /dev/vg0/lv1 backing-store /dev/sdd说明:iqn = iSCSI Qualified NameiSCSI target的名称规则如下:iqn.2014-07.dev.iscsi-target:iscsidiskiqn.年份-月份.域名反写.设备识别每个在同一个target上的backing-store 称为逻辑单元号(Logical Unit Number,LUN);2.3 启动
9、iSCSI target# /etc/tgtd start# chkconfigtgtd on# netstat -tulnp|greptgt2.4 查看iSCSI target# tgt-admin showLUN0 是控制器,可以看到各个LUN的大小和磁盘路径。至此,iSCSI Target 设定完毕。3、配置iSCSI Initiator3.1 安装initiator# yum -y install iscsi-initiator-utils3.2 设置开机启动# chkconfigiscsid on# chkconfigiscsi on3.3 配置文档initiator的配置文档位于/
10、etc/iscsi/,该目录下有两个文件,和,其中是其配置文件,是标记了initiator的名称,它的默认名称是InitiatorName=iqn.1994-.redhat:b45be5af6021,我们可以根据实际情况进行更改,比较好区分,这里我们修改为InitiatorName=iqn.2014-07.dev.iscsi-initiator:initiator。因为在target里面,我们并没有设置访问限制,所以文件并不需要修改。3.4 侦测target如果我们事先不知道目标主机的target名称,我们就需要进行侦测,下面来讲解。# iscsiadm -m discovery -t sen
11、dtargets说明:-m discovery/侦测target-t sendtargets/通过iscsi协议-p IP:port/指定target的IP和port,不写port的话,默认为32603.5 查看nodesiscsiadm侦测到的结果会写入/var/lib/iscsi/nodes/ 中,因此只需启动/etc/iscsi就能够在下次开机时,自动连接到正确的target了。# ll -R /var/lib/iscsi/nodes/侦测信息都写入了/var/lib/iscsi/nodes/iqn.2014-07.dev.iscsi-target:iscsidisk/192.168.1
12、.21,3260,1/default 文件中了。3.6 连接target查看目前系统上面所有的target# iscsiadm -m node登录target# iscsiadm -m node -T iqn.2014-07.dev.iscsi-target:iscsidisk login3.7 查看磁盘情况# fdisk l可以看到,initiator 上面多了四块硬盘,大小和target上的LUN一致。这时你就可以像使用本地磁盘一样使用这些iSCSI设备了,下面我们来测试。3.8 将/dev/sdb和/dev/sdc创建成LV挂载使用创建LV# pvcreate /dev/sdb /dev
13、/sdc# vgcreateiscsi /dev/sdb /dev/sdc# lvcreate -L 1G -n iscsilviscsi格式化并挂载# mkfs.ext4 /dev/iscsi/iscsilv# mkdir /mnt/iscsi# vi /etc/fstab创建测试文件挂载成功,创建测试文件成功。3.9 重启测试测试成功。3.10 查看target信息# tgt-admin show可以看到,此时使用该target的initiator 为iqn.2014-07.dev.iscsi-initiator:initiator,也就是我们上面更改的initiatorname,IP地址为。至此,iSCSI 置完毕