ISCSI安装配置<漆虱忧甘/p>
ISCSI简介
ISCSI技术是由IBM公司研究开发供硬件设备使用的SCSI指令集,这种指令集合可以实现在IP网络上运行SCSI协议。iSCS朐袁噙岿I是基于TCP/IP协议,用来建立和管理IP存储设备、主机和客户机等之间的相互连接,并创建存储区域网络(SAN)。SAN使得SCSI协议应用于高速数据传输网络成为可能,这种传输以数据块级别(block-level)在多个数据存储网络间进行。
ISCSI分为服务端和客户端,服务端需要安装scsitarget用来共享存储设备,客户端需要安装iscsiinitiator用来连接target端,将target端共享的设备挂载到本地,可以对其进行分区,格式化等操作。
ISCSI协议工作原理
ISCSI协议的工作过程:当iSCSI主机发起数据读写操作后,操作系统会生成一个SCSI指令集,然后该SCSI指令集在iSCSIinitiator端被封装成iSCSI消息包,并通过TCP/IP网络传输到存储区域,当存储区域的iSCSItarget收到iSCSI消息包时会将其解开,读取其中的SCSI指令,然后再将其SCSI指令传送给SCSI设备执行其指令。当SCSI指令被执行后,返回的数据经过SCSI设备传送给iSCSItarget时被封装为iSCSI的响应PDU,然后再通过TCP/IP网络传输给iSCSIinitiator端,iSCSIinitiator解开其iSCSIPDU包,读取其中的SCSI响应内容,并将其提交给操作系统进行处理,然后操作系统在将其处理后的内容返回给应用程序。
ISCSI优势
1.ISCSI内置了多路径能力,可提供更多的高级负载均衡算法,在多条服务器和阵列端存储路径上智能化地平衡存储流量。
2.从网络安全的角度看,iSCSI也有一定优势,除了支持的源IP安全限制以外,iSCSI还内置了对双向挑战握手认证协议(CHAP)的支持,该协议可防止未经认证的服务器连接存储资源,允许服务器去验证他们准备连接的存储阵列是否经过了认证。
3.构建ISCSI存储网络,除了存储设备外,交换机、线缆、接口卡都是标准的以太网配件,价格相对来说比较低廉。同时,ISCSI还可以在现有的网络上直接安装,并不需要更改企业的网络体系,这样可以最大程度地节约投入。
4.扩充性强:对于已经构建的ISCSI存储网络来说,增加ISCSI存储设备和服务器都将变得简单且无需改变网络的体系结构。
ISCSI劣势
1.TCP/IP协议非常复杂并且占用CPU资源过多。使用iSCSI,大部分数据处理(TCP和iSCSI)都在软件中执行,这比完全在硬件中处理的光纤通道慢得多。将每个SCSI命令映射到等价iSCSI事务所带来的开销过大。
2.存储阵列一般不会去管它存储的内容是什么,它只知道分配块集合给需要访问的客户,内容可视性差。
3.用块存储协议的系统无法实现同步复制,地理分布不同的存储系统中存储层不具备将每个虚拟机视作单独存储资源的能力,不可以单独对其进行删除和故障处理。
环境准备
存储服务端和客户端保持在同一网段并能相互ping通,安装时保持外网通畅。
资料参考:http://blog.csdn.net/celeste7777/article/details/48783385
禁用防火墙设置
查看状态:#systemctlstatusfirewalld或者firewall-cmd--state
停止:#systemctldisablefirewalld
禁用:#systemctlstopfirewalld
存储服务器端安装配置
步骤一:安装target
#yum-yinstalltargetcli
步骤二:启动target服务
#systemctlstarttarget
步骤三:设置开机启动服务
#systemctlenabletarget
步骤四:如防火墙未关闭则设置防火墙运行3206端口,关闭则不用执行此步骤
#firewall-cmd--permanent--add-port=3260/tcp
#firewall-cmd-reload
步骤五:新建分区
注意:(/dev/sdb1)第二块硬盘(可自定义任何磁盘),fdisk-l查看磁盘信息,分区大小可自定义如在Last扇区后输入【+7G】表示该分区分配大小为7G,注意不要格式化分区。
#fdisk/dev/sdb
步骤六:运行targetcli进入交互模式
#targetcli
步骤七:建立一个块存储
注意:server1.disk(名称server1可自定义),/dev/sdb1为上面新建的分区名称。
/>/backstores/blockcreateserver1.disk/dev/sdb1
步骤八:配置ISCSITarget命名
注意:命名在同一子网内确保是唯一的,命名格式为:iqn.yyyy-mm.<主机名反写>:自定义名称(自定义名称内不能有下划线)
/>/iscsicreateiqn.2017-03.com.example:disk1
步骤九:创建ACL允许ISCSI客户机连接
注意:iqn.2017-03.com.example:client1为客户机ISCSI名称。
/>/iscsi/iqn.2017-03.com.example:disk1/tpg1/aclscreateiqn.2017-03.com.example:client1
步骤十:创建lun(target块设备的逻辑单元)
/>/iscsi/iqn.2017-03.com.example:disk1/tpg1/lunscreate/backstores/block/server1.disk
步骤十一:配置验证用户名和密码
/>cd/iscsi/iqn.2017-03.com.example:disk1/tpg1/acls/iqn.2017-03.com.example:client1
/>setauthuserid=username
/>setauthpassword=password
步骤十二:配置完成后查看配置信息,并退出。
/>cd/
/>ls
/>exit
步骤十三:查看target监听端口3260
#ps-ef|grep3260
ISCSIInitiator安装配置
步骤一:安装ISCSIInitiator
#yum-yinstalliscsi-initiator-utils
步骤二:配置ISCSIInitiator名称
注意:此处InitiatorName必须与服务端配置的ACL允许ISCSI客户机连接的名称一致。
#vi/etc/iscsi/initiatorname.iscsi
步骤三:修改ISCSIInitiator配置文件
注意:node.session.auth.username为存储服务端setauthuserid=username配置的username,node.session.auth.password=password为存储服务器端setauthpassword=password配置的password。
#vi/etc/iscsi/iscsid.conf
步骤四:查找ISCSI设备
注意:192.168.**.**为存储服务端的IP地址
#iscsiadm-mdiscovery-tsendtargets-p192.168.**.**
步骤五:连接ISCSI设备
#iscsiadm-mnode--login
步骤六:查看系统磁盘信息
下图标记处为ISCSI挂载的网络磁盘,大小7G。
#fdisk-l
步骤七:把磁盘挂载到指定目录
将sdb1分区挂载到/mnt/iscsi目录,使用df-hT命令可查看到/dev/sdb1已经挂载上并显示其容量信息。
#mount/dev/sdb1/mnt/iscsi
步骤八:设置开机自动连接ISCSI设备
注意:iqn.2017-03.com.example:disk1为存储服务端ISCSI名称,192.168.**.**:3260为存储服务端IP及端口号。
#iscsiadm-mnode-Tiqn.2017-03.com.example:disk1-p192.168.**.**:3260-oupdate-nnode.startup-vautomatic
步骤九:设置开机挂载网络磁盘
开机挂载:采用写入fstab方式开启启动挂载磁盘
获取磁盘UUID:#blkid/dev/sdb1
编辑fstab:#vi/etc/fstab
添加配置:UUID=9f122014-071a-4416-b40f-ece882285b2b/mnt/iscsiext4defaults,_netdev00
说明:
UUID=ba7925cc-9bfb-4238-984d-999e18d592e8:磁盘UUID,代表磁盘。
/mnt/iscs:代表挂载路径,根据实际灵活变动。
ext4:代表文件系统,根据实际灵活变动。
_netdev:代表该挂载的磁盘分区为网络磁盘分区。