发布网友 发布时间:2022-04-29 08:29
共1个回答
热心网友 时间:2022-06-24 21:29
iSCSI(internetSCSI)技术由IBM公司研究开发,是一个供硬件设备使用的、可以在IP协议的上层运行的SCSI指令集,这种指令集合可以实现在IP网络上运行SCSI协议,使其能够在诸如高速千兆以太网上进行路由选择。iSCSI技术是一种新储存技术,该技术是将现有SCSI接口与以太网络(Ethernet)技术结合,使服务器可与使用IP网络的储存装置互相交换资料。iSCSI是一种基于TCP/IP的协议,用来建立和管理IP存储设备、主机和客户机等之间的相互连接,并创建存储区域网络(SAN)。SAN使得SCSI协议应用于高速数据传输网络成为可能,这种传输以数据块级别(block-level)在多个数据存储网络间进行。SCSI结构基于C/S模式,其通常应用环境是:设备互相靠近,并且这些设备由SCSI总线连接。iSCSI的主要功能是在TCP/IP网络上的主机系统(启动器initiator)和存储设备(目标器target)之间进行大量数据的封装和可靠传输过程。完整的iSCSI系统的拓扑结构如下:二、实验环境操作系统:CentOSrelease6.3(Final)iSCSITarget:192.168.1.21/scsi-target-utils-1.0.24-12.el6_5.i686iSCSIInitiator:192.168.1.22/iscsi-initiator-utils-6.2.0.873-10.el6.i686防火墙已关闭/iptables:Firewallisnotrunning.SELINUX=disabled三、准备工作iSCSI可分享的设备类型有很多,包括镜像文件(*.img)、分区(partition)、物理硬盘、raid设备、逻辑卷等,下面我们将准备其中的几种来测试,其他类型大家可以自行测试。3.1模拟镜像在iSCSITarget的/srv目录下创建一个200M大小的镜像文件。#mkdir/srv/iscsi#ddif=/dev/zeroof=/srv/iscsi/disk1.imgbs=1Mcount=200#ll-lh/srv/iscsi/disk1.img3.2建立分区创建一个500M大小的分区/dev/sdb1.#fdisk/dev/sdb3.3创建逻辑卷创建一个800M大小的LV.#pvcreate/dev/sdc#vgcreatevg0/dev/sdc#lvcreate-L800M-nlv1vg0四、配置iSCSITarget4.1安装tgtCentOS自带了scsi-target-utils软件,我们使用该软件进行target设置。#yum-yinstallscsi-target-utils4.2配置tgttgt的主配置文件为/etc/tgt/targets.conf,下面我们来设置改文件。在该文件最后新增以下设置:backing-store/srv/iscsi/disk1.imgbacking-store/dev/sdb1backing-store/dev/vg0/lv1backing-store/dev/sdd说明:iqn=iSCSIQualifiedNameiSCSItarget的名称规则如下:iqn.2014-07.dev.iscsi-target:iscsidiskiqn.年份-月份.域名反写.设备识别每个在同一个target上的backing-store称为逻辑单元号(LogicalUnitNumber,LUN),这个实验中有4个LUN。其他高级设置如initiator-address、incominguser,大家自行查资料。4.3启动iSCSItarget#/etc/init.d/tgtdstart#chkconfigtgtdon#netstat-tulnp|greptgt4.4查看iSCSItarget#tgt-admin–showLUN0是控制器,可以看到各个LUN的大小和磁盘路径。至此,iSCSITarget设定完毕。五、配置iSCSIInitiator5.1安装initiator#yum-yinstalliscsi-initiator-utils5.2设置开机启动#chkconfigiscsidon#chkconfigiscsion5.3配置文档initiator的配置文档位于/etc/iscsi/,该目录下有两个文件,initiatorname.iscsi和iscsid.conf,其中iscsid.conf是其配置文件,initiatorname.iscsi是标记了initiator的名称,它的默认名称是InitiatorName=iqn.1994-05.com.redhat:b45be5af6021,我们可以根据实际情况进行更改,比较好区分,这里我们修改为InitiatorName=iqn.2014-07.dev.iscsi-initiator:initiator。因为在target里面,我们并没有设置访问*,所以iscsid.conf文件并不需要修改。5.4侦测target如果我们事先不知道目标主机的target名称,我们就需要进行侦测,下面来讲解。#iscsiadm-mdiscovery-tsendtargets-p192.168.1.21说明:-mdiscovery //侦测target-tsendtargets //通过iscsi协议-pIP:port //指定target的IP和port,不写port的话,默认为32605.5查看nodesiscsiadm侦测到的结果会写入/var/lib/iscsi/nodes/中,因此只需启动/etc/init.d/iscsi就能够在下次开机时,自动连接到正确的target了。#ll-R/var/lib/iscsi/nodes/侦测信息都写入了/var/lib/iscsi/nodes/iqn.2014-07.dev.iscsi-target:iscsidisk/192.168.1.21,3260,1/default文件中了。5.6连接target查看目前系统上面所有的target#iscsiadm-mnode登录target#iscsiadm-mnode-Tiqn.2014-07.dev.iscsi-target:iscsidisk–login5.7查看磁盘情况#fdisk–l可以看到,initiator上面多了四块硬盘,大小和target上的LUN一致。这时你就可以像使用本地磁盘一样使用这些iSCSI设备了,下面我们来测试。5.8将/dev/sdb和/dev/sdc创建成LV挂载使用创建LV#pvcreate/dev/sdb/dev/sdc#vgcreateiscsi/dev/sdb/dev/sdc#lvcreate-L1G-niscsilviscsi格式化并挂载#mkfs.ext4/dev/iscsi/iscsilv#mkdir/mnt/iscsi#vi/etc/fstab创建测试文件挂载成功,创建测试文件成功。5.9重启测试测试成功。5.10查看target信息#tgt-admin–show可以看到,此时使用该target的initiator为iqn.2014-07.dev.iscsi-initiator:initiator,也就是我们上面更改的initiatorname,IP地址为192.168.1.22。至此,iSCSI置完毕。