本文共 5364 字,大约阅读时间需要 17 分钟。
一、 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-inameiqn.1994-05.com.redhat:d18ee3c506b # iscsi-iname -p iqn.2014-07-03.com.skkjgongdaiqn.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.2025.2、服务安装(1)、安装服务# yum -y install scsi-target-utils(2)、修改配置文件#vim /etc/tgt/targets.conf backing-store /dev/sdb #如果多个存储设备。直接加多一个backing-store incominguser alvin alvin123 #基于用户认证 initiator-address 10.0.0.0/16 #基于IP授权访问(3)、重启服务# /etc/init.d/tgtd restart(4)、查看是否成功# tgtadm --lld iscsi --mode target --op show5.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.iscsiInitiatorName=iqn.1994-05.com.redhat:1c39abfdfa0 #给自己的客户端Initiator起个名字(3)、修改配置文件# vim /etc/iscsi/iscsid.confnode.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