一、 ISCSI概述 1.1、 介绍 本章主要介绍了基于IP SAN 的网络存储ISCSI ,iscsl技术以其低廉的构成和优秀的存储性能,博得了很多CIO和存储管理的喜爱,目前陆续进入企业应用领域,推动了企业的存储环境向集中式转变,虽然, 目前对于ISCSI因该在什么样的环境中使用还存在诸多争议,ISCSI的前途是光明的,在未来的存储世界中,将会占据重要位置。 1.2、 SCSI介绍 SCSI是小型计算机系统接口(Samll Computer System Inerface) 的简称,SCSI作用输入/输出接口,主要用于硬盘、光盘、磁带机、扫描仪、打印机等设备. 1.3、 FC介绍 FC是光纤通道(Fibre Channel)的简称,是一种适合于前兆数据传输的、成熟而安全的解决方案。与传统的SCSI技术相比,FC提供更高的数据传输速率,更远的传输距离,更多的设备连接支持、更稳定的性能,更简易的安装。 1.4、 DAS介绍 DAS是直接式存储(Direct-Attached Stroage)的简称,是指将通过scsi接口或者光纤通道直接连接到一台计算机上面,当服务器在地理上比较分散,很难通过远程进行互连时,DAS是比较好的解决方案。但是这种方式存储之能通过与连接的主机进行访问,不能实现数据与其它主机的共享。同时DAS会占用服务器的操作资源。如:CPU资源 I/O资源,数据量越大,占用的资源就越多。 1.5、 NAS介绍 网络接入存储 (Network-Attached Stroge)简称NAS,它通过网络交换机连接存储系统和服务器,建立专门用于数据存储的私有网络,用户通过TCP/IP协议访问数据,采用标准的文件协议如:NFS、HTTP、CIFS来实现基于文件级的数据共享,NAS存储是文件共享访问变得更加方便快捷,并且能很容易的增加存储容量,通过专业化与存储技术相结合,NAS为那些需要共享大量文件数据的企业提供一个高效的,高可靠、高性价比的决绝方案。但是NAS也有一定的局限性,它会受到网络带宽和网络拥堵的影响,在一定程序上限制了NAS的网络传输能力. 1.6、 SAN介绍 存储区域网络(Storage Area Network)简称SAN,它是通过光纤交换机,光纤路由器,光纤集线器等设备将磁盘阵列、磁带等存储设备与相关服务器连接起来的告诉专用子网。 SAN主要由3个部分组成: 连接设备(如、路由器、光纤交换机) 通信接口(如、SICI、FC) 通信协议(如、IP和SCSI) 这3个部分再加上存储设备和服务器构成了一个SAN系统。 1.7、 iSCSI概念 iscsi,即internet SCSI,是IETF制定的一项标准,用于将SCSI数据块映射为以太网数据包,它一种基于IP Storage的理论的新型存储技术,该技术将存储行业广泛应用SCSI接口技术与IP网络技术相结合,可以在IP网络上构建SAN,简单的说iscsi就是在IP网络上运行SCSI协议的一种网络存储技术, 二、 iSCSI工作原理 2.1、iSCSI的组成 一个简单的iSCSI系统大概是由以下部分组成: iSCSI Initiator 或者iSCSI HBA iSCSI Target 以太网交换机 一台或者多台服务器 2.2、iSCSI Initiator iSCSI Initiator是一个安装在计算上的软件或者硬件设备,它负责与iSCSI存储设备进行通信iSCSI 服务器与iSCSI存储设备之间的连接方式有两种: 第一种基于软件的方式:是iSCSI Initiator(免费), 在iSCSI服务器上安装Initiator 后,Initiator软件可以将以太网卡虚拟为iSCSI卡,进而接受报和发送iSCSI数据报文,从而实现主机和iSCSI存储设备之间的iSCSI协议和TCP/IP协议传输功能。 第二种方式: 是硬件iSCSI HBA(Host Bus Adapter) HBA硬件卡,即iSCSI Initiator硬件。这种方式需要先购买iSCSI HBA卡,然后将其安装在iSCSI服务器上,从而实现iSCSI服务器与交换机之间、iSCSI服务器与存储设备之间的高效数据传输. iSCSI适配卡大致分成两类,一为TOE HBA卡,一为iSCSI HBA卡,前者价格较便宜,后者效能极佳,但价格非常昂贵。代表性的厂商有Adaptec、Alacritech、Intel、LSI、Qlogic等,其中Intel专注于TOE HBA卡的开发 2.3、iSCSI Target iSCSI Target是一个可以用于存储数据的iSCSI磁盘阵列或者具有iSCSI功能的设备都可以被称为”iSCSI Target”,以为大多数操作系统都可以利用一些软件将系统转变为一个”iSCSI Target”。 利用iSCSI target软件,可以将服务器的存储空间分配给客户机使用,客户机可以像使用本地硬盘一样使用iSCSI磁盘,包括对其进行分区、格式化及读写等。而且每个客户端可以向iSCSI磁盘写数据,户不干扰,而且不会破坏存储到服务器中的数据。同时,iSCSI对可以通过配置文件对权限进行限制。非常的灵活。 我们知道,iSCSI使用了TCIP/IP协议进行通信的,因此,将iSCSI两端连接起来,仅仅需要一个以太网络就可以了,由此可知,iSCSI的存储性能和这个以太网有直接的关系,所以最好在iSCSI网络中使用千兆以太网交换机,劣质的网络设备会严重影响存储系统的性能,也就说,要为每个服务器配置高质量的千M以太网和千M交换机,并且提供两个链接,对于 ISCSI Target,应该为每个独立阵列中的两个独立端口配置一个设备交换机,最后将交换机连接起来,采用这种配置防止。其中一个交换机出现问题。另外一个任然可以保证数据的正常运行。 二、基于命令行的操作: Target 10.0.0.201操作: 对于每个Target来说,主机的ID是唯一, 存储设备的LUN ID 是由ISCSI target来分配的。 ISCSI驱动器为了scsi请求和回应提供了一个通过IP网络传输的驱动. # yum -y install scsi-target-utils # /etc/init.d/tgtd start # chkconfig tgtd on # chkconfig --list tgtd (1)模拟一个控制器 # tgtadm --lld iscsi --mode target --op new --targetname iqn.2014-07-03.com.sxkj.mydisk1 --tid 1 --lld:表示驱动或者接口类型 --mode:target目标 --op:new 新建 --targetname:表示创建targename名称.iqn.xxxxxxx.mydisk1 前和尾部固定,中间自由定义. --tid:标识号 #查看 # tgtadm --lld iscsi --mode target --op show (2)在模拟控制器关联一个设备 # tgtadm --lld iscsi --mode logicalunit --op new --tid 1 --lun 1 -b /dev/sdb --lld:表示驱动或者接口类型 --mode:target目标 --op:new 新建 --tid:标识号 --lun:lun标识号 -b:指定设备号 #查看 # tgtadm --lld iscsi --mode target --op show (3)基于IP的授权 # tgtadm --lld iscsi --mode target --op bind --tid 1 -I 10.0.0.0/16 取消授权 #tgtadm --lld iscsi --mode target --op unbind --tid 1 -I 10.0.0.0/16 删除一个逻辑卷 #tgtadm --lld iscsi --mode target --op delete --tid 1 --lun 1 删除一个target #tgtadm --lld iscsi --mode target --op delete --tid 1 Initiator 10.0.0.202操作: # iscsi-iname iqn.1994-05.com.redhat:d18ee3c506b # iscsi-iname -p iqn.2014-07-03.com.skkjgongda iqn.2014-07-03.com.skkjgongda:fb66a38ae152 # vim /etc/iscsi/initiatorname.iscsi InitiatorName=iqn.2014-07-03.com.skkjgongda:fb66a38ae152 给自己的客户端取个固定的名字。 发现服务端Target # iscsiadm -m discovery -t sendtargets -p 10.0.0.201 登录服务端: # iscsiadm -m node -T iqn.2014-07-03.com.sxkj.mydisk1 -p 10.0.0.201 -l # iscsiadm -m node -o delete -T iqn.2014-07-03.com.sxkj.mydisk1 -p 10.0.0.201 先退出登录。 # iscsiadm -m node -T iqn.2014-07-03.com.sxkj.mydisk1 -p 10.0.0.201 -U all 在删除一个发现: iscsiadm -m node -o delete -T iqn.2014-07-03.com.sxkj.mydisk1 -p 10.0.0.201 五、总结所有的步骤简单化精华 iscsi单机文件共享系统,也就说比如有服务端共享一个/sdb存储出来 每个客户端可以在/sdb里面使用一个分区. 比如客户端1可以使用fdisk /sdb 分一个/sdb1 比如客户端2可以使用fdisk /sdb 分一个/sdb2 比如客户端3可以使用fdisk /sdb 分一个/sdb3 如果客户端1和客户端2同时使用/sdb1就会出现内存奔溃的情况。这个一大BUG, 5.1、环境描述: 服务器端target 10.0.0.203 增加一块30G sisci硬盘 客户端:10.0.0.204 客户端:10.0.0.202 5.2、服务安装 (1)、安装服务 # yum -y install scsi-target-utils (2)、修改配置文件 #vim /etc/tgt/targets.conf <target iqn.2014-06-10.com.sxkj.mydisk1> backing-store /dev/sdb #如果多个存储设备。直接加多一个backing-store incominguser alvin alvin123 #基于用户认证 initiator-address 10.0.0.0/16 #基于IP授权访问 </target> (3)、重启服务 # /etc/init.d/tgtd restart (4)、查看是否成功 # tgtadm --lld iscsi --mode target --op show 5.3、客户端安装 (1)安装软件 # yum -y install iscsi-initiator-utils (2)修改Initiator唯一标识号 跟target一样也需要一个唯一标识号。可以使用-p来更改,然后编辑配置文件永久修改 # iscsi-iname # iscsi-iname -p iqn.2014-06.com.sxkjgongda # vim /etc/iscsi/initiatorname.iscsi InitiatorName=iqn.1994-05.com.redhat:1c39abfdfa0 #给自己的客户端Initiator起个名字 (3)、修改配置文件 # vim /etc/iscsi/iscsid.conf node.session.auth.authmethod = CHAP #开启chap认证 node.session.auth.username = Alvin #服务端target创建和绑定的用户 node.session.auth.password = alvin123 #服务端target创建的密码写进来 (4)、发现targe命令 # iscsiadm -m discovery -d 2 -t st -p 10.0.0.203 (5)、重启服务 # /etc/init.d/iscsi restart 是否可以看到共享磁盘? (6)、可以使用fdisl对共享磁盘进行分区。然后挂在到本地
转载于:https://blog.51cto.com/8448262/1434390