基于iSCSI协议的分布式块存储数据访问方法及系统技术方案

技术编号:14760010 阅读:140 留言:0更新日期:2017-03-03 09:40
本发明专利技术提供一种基于iSCSI协议的分布式块存储数据访问方法及系统,包括构建基于虚拟IP机制的多资源管理系统,所述多资源管理系统包括主机层、iSCSI协议层和存储层;基于动态反馈将虚拟IP资源分配到集群各节点,使得集群各节点均衡负载。本发明专利技术的基于iSCSI协议的分布式块存储数据访问方法及系统,能够满足分布式集群块存储iSCSI多路径访问,提供高可用与高并发的访问网关,并减少分布式块存储并发访问的权限冲突,避免资源均衡的性能瓶颈,为数据访问的安全性、可靠性提供保障。

【技术实现步骤摘要】

本专利技术涉及云存储的
,特别是涉及一种基于iSCSI协议的分布式块存储数据访问方法及系统
技术介绍
传统的网络存储系统采用集中的存储服务器存放所有数据。存储服务器成为系统性能的瓶颈,也是可靠性和安全性的焦点,不能满足大规模存储应用的需要。分布式存储是将数据分散存储在多台独立的设备上,其采用可扩展的系统结构,利用多台存储服务器分担存储负荷,利用位置服务器定位存储信息,不但提高了系统的可靠性、可用性和存取效率,还易于扩展。现有技术中,对分布式块存储采用的是内核态的LIO访问方法。但是该访问方法的二次开发难度大,且用户的可选择性不强。Internet小型计算机系统接口协议(InternetSmallComputerSystemInterface,iSCSI)是2003年IETF(InternetEngineeringTaskForce,互联网工程任务组)制订的一项标准,用于将小型计算机系统接口(SmallComputerSystemInterface,SCSI)数据块映射成以太网数据包。从根本上说,iSCSI协议是一种利用IP网络来传输潜伏时间短的SCSI数据块的方法,iSCSI使用以太网协议传送SCSI命令、响应和数据。iSCSI克服了直接连接存储的局限性,能够跨不同服务器共享存储资源,并可以在不停机状态下扩充存储容量,实现远程存储管理。iSCSI协议的工作过程:当iSCSI主机应用程序发出数据读写请求后,操作系统会生成一个相应的SCSI命令,该SCSI命令在iSCSI主机(initiator)层被封装成ISCSI消息包并通过TCP/IP传送到设备侧,设备侧的iSCSI目标(target)层会解开iSCSI消息包,得到SCSI命令的内容,然后传送给SCSI设备执行;设备执行SCSI命令后的响应,在经过设备侧iSCSItarget层时被封装成ISCSI响应PDU,通过TCP/IP网络传送给主机的ISCSIinitiator层,iSCSIinitiator会从ISCSI响应PDU里解析出SCSI响应并传送给操作系统,操作系统再响应给应用程序。对于规模不大的iSCSItarget采用用户态的iSCSI协议访问虽然更为便捷,但也存在以下问题:(1)无法满足Active/passive多路径环境和集群多节点访问存储需求;(2)多节点通过iSCSI协议访问时,访问冲突导致对同一逻辑单元号(LogicalUnitNumber,LUN)的操作异常;(3)在分布式访问存储中,均衡器成为资源均衡的瓶颈。
技术实现思路
鉴于以上所述现有技术的缺点,本专利技术的目的在于提供一种基于iSCSI协议的分布式块存储数据访问方法及系统,能够满足分布式集群块存储iSCSI多路径访问,提供高可用与高并发的访问网关,并减少分布式块存储并发访问的权限冲突,避免资源均衡的性能瓶颈,为数据访问的安全性、可靠性提供保障。为实现上述目的及其他相关目的,本专利技术提供一种基于iSCSI协议的分布式块存储数据访问方法,包括构建基于虚拟IP机制的多资源管理系统,所述多资源管理系统包括主机层、iSCSI协议层和存储层;所述主机层用于提供访问分布式块存储的访问路径列表;所述iSCSI协议层用于提供主机层访问分布式块存储的路径;所述存储层用于基于Ceph分布式文件系统,对存储驱动层通过块存储接口RBD提供块访问;在该多资源管理系统中,集群中所有节点的同一分布式块存储的LUN信息完全一致;所有主机的访问路径列表完全一致;每个分布式块存储都与唯一的虚拟IP一一对应;基于动态反馈将虚拟IP资源分配到集群各节点,使得集群各节点均衡负载;其中分配虚拟IP资源时循环执行以下操作:设置可分配最低虚拟IP资源容余Mmin;计算集群各节点的虚拟IP资源容余;选取集群中的满足条件Mi>Mmin的所有节点,Mi为集群中节点的虚拟IP资源容余;若集群中不存在满足该条件的节点,则重新设置可分配最低虚拟IP资源容余,直至选取到满足该条件的节点;将选取的节点加入到备选节点集合;计算备选节点集合中各节点的权值;选取备选节点集合中权值最大的节点;计算备选节点集合中权值最大的节点的负载变化值;根据备选节点集合中权值最大的节点的负载变化值,修改备选节点集合中权值最大的节点的虚拟IP资源容余。于本专利技术一实施例中,所述虚拟IP机制通过分布式集群组件管理系统来实现;所述分布式集群组件管理系统包括集群资源管理器、本地资源管理器和消息及成员管理模块;所述集群资源管理器用于对集群和资源的各种事件做出反应和决策;资源事件包括虚拟IP的创建、删除、链路异常;所述本地资源管理器用于提供虚拟IP资源及块存储操作的bash脚本;所述消息及成员管理模块用于集群资源管理器和本地资源管理器之间的消息传递以及分布式集群中成员关系管理。于本专利技术一实施例中,所述基于虚拟IP机制的多资源管理系统采用以下方式管理虚拟IP资源:创建虚拟IP-分布式块存储-LUN资源组;设置虚拟IP-分布式块存储-LUN资源组属性;若属性设置失败,则删除虚拟IP-分布式块存储-LUN资源组;若属性设置成功,则将虚拟IP-分布式块存储-LUN资源组映射至主机层;若虚拟IP-分布式块存储-LUN资源组映射至主机层失败,则删除虚拟IP-分布式块存储-LUN映射和虚拟IP-分布式块存储-LUN资源组;若虚拟IP-分布式块存储-LUN资源组映射至主机层成功,则更新虚拟IP-分布式块存储-LUN数据库信息。于本专利技术一实施例中,根据公式Mi=Mn+k1*Δt*C/L-k2*Rn/C计算集群各节点的虚拟IP资源容余;其中Mn为上次时间片到达时由集群的仲裁节点传入节点的负载容余,k1*Δt*C/L为时间段Δt内节点完成的负载,k2*Rn/C为时间段Δt内为集群的仲裁节点添加新请求而增加的负载;k1、k2为自定义系数;Rn为Δt时间段内增加的请求个数;C为节点的性能;L为节点的当前负载;Δt为当前时间与上次时间片到达时的时间差。于本专利技术一实施例中,备选集合中权值最大的节点的虚拟IP资源容余修改为备选集合中权值最大的节点的原虚拟IP资源容余与Δt时间内该节点的负载变化值之差,Δt为当前时间与上次时间片到达时的时间差。同时,本专利技术还提供一种基于iSCSI协议的分布式块存储数据访问系统,包括构建模块和均衡模块;所述构建模块用于构建基于虚拟IP机制的多资源管理系统,所述多资源管理系统包括主机层、iSCSI协议层和存储层;所述主机层用于提供访问分布式块存储的访问路径列表;所述iSCSI协议层用于提供主机层访问分布式块存储的路径;所述存储层用于基于Ceph分布式文件系统,对存储驱动层通过块存储接口RBD提供块访问;在该多资源管理系统中,集群中所有节点的同一分布式块存储的LUN信息完全一致;所有主机的访问路径列表完全一致;每个分布式块存储都与唯一的虚拟IP一一对应;所述均衡模块用于基于动态反馈将虚拟IP资源分配到集群各节点,使得集群各节点均衡负载;其中分配虚拟IP资源时循环执行以下操作:设置可分配最低虚拟IP资源容余Mmin;计算集群各节点的虚拟IP资源容余;选取集群中的满足条件Mi>Mmin的所有节点,Mi为集群中节点的虚拟IP资源容余;若集群中不存在满本文档来自技高网
...
基于iSCSI协议的分布式块存储数据访问方法及系统

【技术保护点】
一种基于iSCSI协议的分布式块存储数据访问方法,其特征在于:包括构建基于虚拟IP机制的多资源管理系统,所述多资源管理系统包括主机层、iSCSI协议层和存储层;所述主机层用于提供访问分布式块存储的访问路径列表;所述iSCSI协议层用于提供主机层访问分布式块存储的路径;所述存储层用于基于Ceph分布式文件系统,对存储驱动层通过块存储RBD接口提供块访问;在该多资源管理系统中,集群中所有节点的同一分布式块存储的LUN信息完全一致;所有主机的访问路径列表完全一致;每个分布式块存储都与唯一的虚拟IP一一对应;基于动态反馈将虚拟IP资源分配到集群各节点,使得集群各节点均衡负载;其中分配虚拟IP资源时循环执行以下操作:设置可分配最低虚拟IP资源容余Mmin;计算集群各节点的虚拟IP资源容余;选取集群中的满足条件Mi>Mmin的所有节点,Mi为集群中节点的虚拟IP资源容余;若集群中不存在满足该条件的节点,则重新设置可分配最低虚拟IP资源容余,直至选取到满足该条件的节点;将选取的节点加入到备选节点集合;计算备选节点集合中各节点的权值;选取备选节点集合中权值最大的节点;计算备选节点集合中权值最大的节点的负载变化值;根据备选节点集合中权值最大的节点的负载变化值,修改备选节点集合中权值最大的节点的虚拟IP资源容余。...

【技术特征摘要】
1.一种基于iSCSI协议的分布式块存储数据访问方法,其特征在于:包括构建基于虚拟IP机制的多资源管理系统,所述多资源管理系统包括主机层、iSCSI协议层和存储层;所述主机层用于提供访问分布式块存储的访问路径列表;所述iSCSI协议层用于提供主机层访问分布式块存储的路径;所述存储层用于基于Ceph分布式文件系统,对存储驱动层通过块存储RBD接口提供块访问;在该多资源管理系统中,集群中所有节点的同一分布式块存储的LUN信息完全一致;所有主机的访问路径列表完全一致;每个分布式块存储都与唯一的虚拟IP一一对应;基于动态反馈将虚拟IP资源分配到集群各节点,使得集群各节点均衡负载;其中分配虚拟IP资源时循环执行以下操作:设置可分配最低虚拟IP资源容余Mmin;计算集群各节点的虚拟IP资源容余;选取集群中的满足条件Mi>Mmin的所有节点,Mi为集群中节点的虚拟IP资源容余;若集群中不存在满足该条件的节点,则重新设置可分配最低虚拟IP资源容余,直至选取到满足该条件的节点;将选取的节点加入到备选节点集合;计算备选节点集合中各节点的权值;选取备选节点集合中权值最大的节点;计算备选节点集合中权值最大的节点的负载变化值;根据备选节点集合中权值最大的节点的负载变化值,修改备选节点集合中权值最大的节点的虚拟IP资源容余。2.根据权利要求1所述的基于iSCSI协议的分布式块存储数据访问方法,其特征在于:所述虚拟IP机制通过分布式集群组件管理系统来实现;所述分布式集群组件管理系统包括集群资源管理器、本地资源管理器和消息及成员管理模块;所述集群资源管理器用于对集群和资源的各种事件做出反应和决策;资源事件包括虚拟IP的创建、删除、链路异常;所述本地资源管理器用于提供虚拟IP资源及块存储操作的bash脚本;所述消息及成员管理模块用于集群资源管理器和本地资源管理器之间的消息传递以及分布式集群中成员关系管理。3.根据权利要求1所述的基于iSCSI协议的分布式块存储数据访问方法,其特征在于:所述基于虚拟IP机制的多资源管理系统采用以下方式管理虚拟IP资源:创建虚拟IP-分布式块存储-LUN资源组;设置虚拟IP-分布式块存储-LUN资源组属性;若属性设置失败,则删除虚拟IP-分布式块存储-LUN资源组;若属性设置成功,则将虚拟IP-分布式块存储-LUN资源组映射至主机层;若虚拟IP-分布式块存储-LUN资源组映射至主机层失败,则删除虚拟IP-分布式块存储-LUN映射和虚拟IP-分布式块存储-LUN资源组;若虚拟IP-分布式块存储-LUN资源组映射至主机层成功,则更新虚拟IP-分布式块存储-LUN数据库信息。4.根据权利要求1所述的基于iSCSI协议的分布式块存储数据访问方法,其特征在于:根据公式Mi=Mn+k1*Δt*C/L-k2*Rn/C计算集群各节点的虚拟IP资源容余;其中Mn为上次时间片到达时由集群的仲裁节点传入节点的负载容余,k1*Δt*C/L为时间段Δt内节点完成的负载,k2*Rn/C为时间段Δt内为集群的仲裁节点添加新请求而增加的负载;k1、k2为自定义系数;Rn为Δt时间段内增加的请求个数;C为节点的性能;L为节点的当前负载;Δt为当前时间与上次时间片到达时的时间差。5.根据权利要求1所述的基于iSCSI协议的分布式块存储数据访问方法,其特征在于:备选集合中权值最大的节点的虚拟IP资源容余修改为备选集合中权值最大的节点的原虚拟IP资源容余与Δt时间内该节点的负载变化值之差,Δt为当前时间与上次时间片到达时的时间差。6.一种基于iSCSI协议的分布式块存储数据访问系...

【专利技术属性】
技术研发人员:何云
申请(专利权)人:上海爱数信息技术股份有限公司
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1