一种分布式存储系统中块存储数据的访问方法及系统的制作方法

文档序号:10534418阅读:1017来源:国知局
一种分布式存储系统中块存储数据的访问方法及系统的制作方法
【专利摘要】本发明提供一种分布式存储系统中块存储数据的访问方法及系统,包括构建分布式STGT多资源管理系统和分布式块存储系统;在所述分布式STGT多资源管理系统和分布式块存储系统中,采用分布式PR机制,实现Active/Active多路径环境和集群多节点访问块存储;采用分布式watcher机制,定时监控分布式存储系统中块存储的可访问性;采用分布式PR机制和watcher机制,解耦分布式集群节点中多服务进程启动。本发明的分布式存储系统中块存储数据的访问方法及系统减少了分布式块存储并发访问的权限冲突,强化并行访问的权限控制,提高数据并发访问的安全性和可靠性,块存储预警的准确度和及时性,和分布式存储系统及块存储数据访问的稳定性。
【专利说明】
一种分布式存储系统中块存储数据的访问方法及系统
技术领域
[0001]本发明涉及云存储及计算机信息存储的技术领域,特别是涉及一种分布式存储系统中块存储数据的访问方法及系统。
【背景技术】
[0002]在云计算的基础设施即服务(Infrastructure as a Service,IaaS)中,云运营商提供托管的物理机、虚拟机及其他设施,供不同的用户根据自己的实际需求进行租赁使用。虚拟机服务是IaaS的核心,IaaS云运营商几乎都提供虚拟机服务。这里的虚拟机指的是狭义的系统虚拟机,常见的虚拟机有Hyper-V、KVM、VMwar e等。
[0003]传统的虚拟机存储服务可分为三大类:开放系统的直连式存储(Direct-AttachedStorage ,DAS)、网络附属存储(Network-Attached Storage,NAS)和存储区域网络(StorageArea-Network,SAN)。然而,传统的DAS、NAS和SAN存储难以满足IaaS场景下的虚拟机存储对容量、性能可用性的综合需求。基于SAN的分布式块存储系统更适合虚拟机存储服务的应用。
[0004]目前,主流开源分布式块存储包括ceph与sheepdog。
[0005]ceph是加州大学Santa Cruz分校的Sage Weil(DreamHost的联合创始人)专为博士论文设计的新一代自由软件分布式文件系统,其可轻松扩展到数PB容量,支持多种工作负载的高性能,具有高可靠性、可扩展性、伸缩性。ceph能够提供对象、块和文件这三种形式的存储服务。Ceph将数据视为存储池中的对象,通过CRUSH算法将对象均匀分布到集群之中,并提供动态扩展、平衡和恢复。在对象的基础上,ceph通过rbd-ko等模块基于可靠、自治、分布式对象存储(Reliable,Autonomic Distributed Object Store,RAD0S)协议提供了一层块设备的抽象,支持对Internet小型计算机系统接口协议(Internet Smal IComputer System Interface,iSCSI)的支持。
[000?] Sheepdog是一个分布式对象存储系统,并在此基础上提供高可用的块级存储卷,提供对iSCSI协议的支持。
[0007]大多数SAN使用iSCSI协议在服务器和存储设备之间进行传输和沟通,通过在小型计算机系统接口(Small Computer System Interface,SCSI)之上建立不同镜像层,来实现存储网络的连接。常见的通信协议有iSCS1、光纤通道协议(Fibre Channel Protocol,FCP)、以太网光纤通道(Fibre Channel over Ethernet)等。传统SAN块存储的SCSI目标(Target)访问方式主要有:STGT、SCST和L1。其中,SCST和L1处于内核态,支持文件系统访问和抢占式SCS1-3预留锁(Persistent Reservat1n,PR)、ALUA,提供更细粒度控制策略和Qos保证体制,但结构复杂、二次开发成本较高,且一旦出现问题,整个存储系统瘫痪。STGT默认为用户态方式,专注于i SCS1、维护方便,但支持的SCSI协议简单,不支持集群PR ο PR是指在访问逻辑单元号(Logical Unit Number,LUN)之前,主机首先向LUN注册一个留约密钥,注册成功后主机可以尝试进行永久预留,永久预留成功后就可以获得LUN的操作权限。
[0008]总体来说,构建规模不大的iSCSITarget,STGT是一个不错的选择,但STGT不支持PR,无法满足Acti ve/Active多路径环境和集群多节点访问存储的需求。多节点经过iSCSI多路径对同一 LUN块存储资源分配时,因为访问冲突会引起虚拟化文件的损坏,无法保障分布式存储系统中块存储数据访问的安全性。即使LUN块存储资源出现异常,多主机无法感知,持续对LUN读写数据,引起虚拟桌面基础架构(Virtual Desktop Infrastructure,VDI)异常,带来不可预知的后果。

【发明内容】

[0009]鉴于以上所述现有技术的缺点,本发明的目的在于提供一种分布式存储系统中块存储数据的访问方法及系统,采用分布式PR机制,减少了分布式块存储并发访问的权限冲突,强化了并行访问的权限控制;采用分布式watcher机制,提高了块存储预警的准确度和及时性。
[0010]为实现上述目的及其他相关目的,本发明提供一种分布式存储系统中块存储数据的访问方法,包括:I)构建分布式STGT多资源管理系统和分布式块存储系统;所述分布式STGT多资源管理系统包括存储层、存储驱动层、主机层和管理集群层;所述存储层用于基于分布式文件系统,对所述存储驱动层提供块访问;所述存储驱动层用于基于STGT块存储访问协议和分布式开源组件管理分布式块存储的数据访问;所述主机层用于基于分布式SAN的iSCSI协议对分布式STGT多资源管理系统的目标块存储的数据进行访问;所述管理集群层用于管理分布式存储系统中的节点及控制iSCSI数据的访问业务;所述分布式块存储系统中,采用分布式PR中的节点目录模型模拟访问块存储的iSCSI主机,所述节点目录用于记录块存储及iSCSI主机信息,采用watcher功能提供iSCSI存储中块存储状态及与块存储相关的服务的监控;2)在所述分布式STGT多资源管理系统和分布式块存储系统中,采用分布式PR机制,实现Ac t i ve/Ac t i ve多路径环境和集群多节点访问块存储;3)在所述分布式STGT多资源管理系统和分布式块存储系统中,采用分布式watcher机制,定时监控分布式存储系统中块存储的可访问性;4)在所述分布式STGT多资源管理系统和分布式块存储系统中,采用分布式PR机制和watcher机制,解親分布式集群节点中多服务进程启动。
[0011]根据上述的分布式存储系统中块存储数据的访问方法,其中:所述存储层基于RADOS协议提供一层块设备的抽象,支持对iSCSI的支持。
[0012]根据上述的分布式存储系统中块存储数据的访问方法,其中:所述分布式PR机制的处理流程包括以下步骤:
[0013]I)启动STGT服务进程;
[0014]2)查询分布式节点目录的根目录,判断目录/PR是否存在,若否,转入3),若是,转入4);
[0015]3)创建临时目录/PR;
[0016]4)执行STGT循环事件,以周期性地响应iSCSI主机层请求。
[0017]进一步地,根据上述的分布式存储系统中块存储数据的访问方法,其中:所述STGT循环事件包括以下步骤:
[0018]a)接收并解析iSCSI指令;
[0019]b)判断解析后的iSCSI指令是否是PR指令;若是,转入c);否则,转入g);
[0020]c)查询分布式节点目录的目录/PR,并判断操作的块存储的LUN_ID是否已置/PR;若是,转入d);若否,转入g);
[0021]d)判断PR指令是加锁还是释放锁,若为加锁,转入e);若否,转入f);
[0022]e)创建临时目录/PR/LUN_ID,转入g);
[0023]f)删除临时目录/PR/LUN_ID,转入g);
[0024]g)读写块设备的数据。
[0025]根据上述的分布式存储系统中块存储数据的访问方法,其中:所述watcher机制的处理流程包括以下步骤:
[0026I I)连接iSCSI目标端,确保访问逻辑单元号能够正常挂载;
[0027]2)查看已挂载的以磁盘方式呈现的块设备,过滤出特定的磁盘;
[0028]3)读取特定的磁盘;
[0029]4)判断磁盘是否含有1错误;若是,转入5);若否,转入3);
[0030]5)删除磁盘对应的块存储的访问逻辑单元号。
[0031]同时,本发明还提供一种分布式存储系统中块存储数据的访问系统,包括构建模块、PR处理模块、watcher处理模块和解耦模块;
[0032]所述构建模块用于构建分布式STGT多资源管理系统和分布式块存储系统。
[0033]所述分布式STGT多资源管理系统包括存储层、存储驱动层、主机层和管理集群层;
[0034]所述存储层用于基于分布式文件系统,对所述存储驱动层提供块访问;
[0035]所述存储驱动层用于基于STGT块存储访问协议和分布式开源组件管理分布式块存储的数据访问;
[0036]所述主机层用于基于分布式SAN的iSCSI协议对分布式STGT多资源管理系统的目标块存储的数据进行访问;
[0037]所述管理集群层用于管理分布式存储系统中的节点及控制iSCSI数据的访问业务;
[0038]所述分布式块存储系统中,采用分布式PR中的节点目录模型模拟访问块存储的iSCSI主机,所述节点目录用于记录块存储及iSCSI主机信息,采用watcher功能提供iSCSI存储中块存储状态及与块存储相关的服务的监控;
[0039]所述PR处理模块用于采用分布式PR机制,实现Active/Active多路径环境和集群多节点访问块存储;
[°04°] 所述watcher处理模块用于采用分布式watcher机制,定时监控分布式存储系统中块存储的可访问性;
[°041 ]所述解親模块用于采用分布式PR机制和watcher机制,解親分布式集群节点中多服务进程启动。
[0042]根据上述的分布式存储系统中块存储数据的访问系统,其中:所述存储层基于RADOS协议提供一层块设备的抽象,支持对iSCSI的支持。
[0043]根据上述的分布式存储系统中块存储数据的访问系统,其中:所述分布式PR机制的处理流程包括以下步骤:
[0044]I)启动STGT服务进程;
[0045]2)查询分布式节点目录的根目录,判断目录/PR是否存在,若否,转入3),若是,转入4);
[0046]3)创建临时目录/PR;
[0047]4)执行STGT循环事件,以周期性地响应iSCSI主机层请求。
[0048]进一步地,根据上述的分布式存储系统中块存储数据的访问系统,其中:所述STGT循环事件包括以下步骤:
[0049]a)接收并解析iSCSI指令;
[0050]b)判断解析后的i SCSI指令是否是PR指令;若是,转入c);否则,转入g);
[0051 ] c)查询分布式节点目录的目录/PR,并判断操作的块存储的LUN_ID是否已置/PR;若是,转入d);若否,转入g);
[0052]d)判断PR指令是加锁还是释放锁,若为加锁,转入e);若否,转入f);
[0053]e)创建临时目录/PR/LUN_ID,转入g);
[0054]f)删除临时目录/PR/LUN_ID,转入g);
[0055]g)读写块设备的数据。
[0056]根据上述的分布式存储系统中块存储数据的访问系统,其中:所述watcher机制的处理流程包括以下步骤:
[0057]I)连接iSCSI目标端,确保访问逻辑单元号能够正常挂载;
[0058]2)查看已挂载的以磁盘方式呈现的块设备,过滤出特定的磁盘;
[0059]3)读取特定的磁盘;
[0060]4)判断磁盘是否含有1错误;若是,转入5);若否,转入3);
[0061]5)删除磁盘对应的块存储的访问逻辑单元号。
[0062]如上所述,本发明的分布式存储系统中块存储数据的访问方法及系统,具有以下有益效果:
[0063](I)采用分布式PR机制,减少分布式块存储并发访问的权限冲突,强化并行访问的权限控制,提高数据并发访问的安全性和可靠性;
[0064](2)采用分布式w a t c h e r机制,定时监控分布式存储系统中块存储的可访问性,提高块存储预警的准确度和及时性;
[0065](3)采用分布式PR机制和watcher机制,解耦分布式集群节点中多服务进程启动,提高分布式存储系统及块存储数据访问的稳定性。
【附图说明】
[0066]图1显示为本发明的分布式存储系统中块存储数据的访问方法的流程图;
[0067]图2显示为本发明的分布式STGT多资源管理系统的结构示意图;
[0068]图3显示为本发明的分布式块存储系统的总体框架示意图;
[0069]图4显示为本发明的分布式PR机制的处理流程图;
[°07°]图5显示为本发明的分布式watcher机制的处理流程图;
[0071 ]图6显示为本发明的分布式解耦服务启动的示意图;
[0072]图7显示为本发明的分布式存储系统中块存储数据的访问系统的结构示意图。
[0073]元件标号说明
[0074]I构建模块
[0075]2 PR处理模块
[0076]3 watcher 处理模块
[0077]4解耦模块
【具体实施方式】
[0078]以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的【具体实施方式】加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。
[0079]需要说明的是,本实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
[0080]需要说明的是,下文主要以ceph为例来阐述本发明的分布式存储系统中块存储数据的访问方法及系统。需要说明的是,其他分布式块存储依然适用于本发明的分布式存储系统中块存储数据的访问方法及系统,属于本发明的保护范围之内。
[0081]本发明的分布式存储系统中块存储数据的访问方法及系统采用分布式PR机制和分布式watcher机制来满足Acti ve/Active多路径环境和集群多节点访问块存储,减少了分布式块存储并发访问的权限冲突,强化了并行访问的权限控制,提高了块存储数据读写的安全性和可靠性,以及块存储预警的准确度和及时性。
[0082]参照图1,本发明的分布式存储系统中块存储数据的访问方法包括:
[0083]I)构建分布式STGT多资源管理系统(以下简称CTGT)和分布式块存储系统。
[0084]如图2所示,分布式STGT多资源管理系统自下到上依次包括存储层、存储驱动层、主机层(Initiator层)和管理集群层。
[0085]存储层用于基于ceph分布式文件系统,对存储驱动层通过块存储接口RBD提供块访问。
[0086]具体地,存储层基于RADOS协议提供一层块设备的抽象,支持对iSCSI的支持。
[0087]存储驱动层用于基于STGT块存储访问协议和分布式开源组件管理分布式块存储的数据访问。
[0088]Initiator层用于基于分布式SAN的iSCSI协议对分布式CTGT Target块存储的数据进行访问。
[0089]管理集群层用于管理分布式存储系统中的节点及控制iSCSI数据的访问业务。
[0090]如图3所示,分布式块存储系统中,SAN主机采用iSCSI协议访问CTGT提供的块存储,块存储用于部署虚拟化桌面(VDI ),i SCSI协议对VDI的稳定性起到稳定作用。CTGT采用分布式PR中的节点目录(Znode)模型,模拟访问块存储的i SCSI主机,Znode记录块存储及iSCSI主机信息。例如:iSCIS主机I对块存储I (存储节点I)的访问,Znode可设置为“/PR/LUNl/iniriatorl” watcher功能提供iSCSI存储中块存储状态及与块存储相关的服务的监控,如:STGT状态等。
[0091]2)采用分布式PR机制,实现Active/Active多路径环境和集群多节点访问块存储。
[0092]集群多节点访问块存储时,分布式PR锁保障PR在集群中的消息可复制,较少分布式块存储并发访问的权限冲突。
[0093]如图4所示,分布式PR机制的处理流程包括以下步骤:
[0094]I)启动STGT服务进程。
[0095]2)查询分布式Znode根目录/,判断目录/PR是否存在,若否,转入3),若是,转入4)。
[0096]3)创建临时目录/PR。
[0097]其中,PR指令包括加锁(re serve)和释放锁(re I ease) ,reserve用来创建临时目录/PR/LUN_ID,release用来删除临时目录/PR/LUNJDJPR为常规性Znode,即使节点丢失,/PR仍存在;/LUN_ID为临时性Znode,/PR/LUN_ID随节点/LUN_ID的丢失而丢失。
[0098]4)执行STGT循环(STGT event_loop)事件,以周期性地响应iSCSI主机层请求。
[0099]具体地,STGT event_loop事件包括以下步骤:
[0100]a)接收并解析iSCSI指令。
[0101]b)判断解析后的iSCSI指令是否是PR指令;若是,转入c);否则,转入g)。
[0102]c)查询分布式Znode的目录/PR,并判断操作的块存储的LUN_ID是否已置/PR;若是,转入d);若否,转入g)。
[0103]d)判断PR是reserve还是re lease,若为reserve,转入e);若否,转入f)。
[0104]e)创建临时目录/PR/LUN_ID,转入g)。
[0105]f)删除临时目录/PR/LUN_ID,转入g)。
[0106]g)读写块设备的数据。
[0107]3)采用分布式watcher机制,定时监控分布式存储系统中块存储的可访问性。
[0108]若集群某节点访问块存储iSCSI指令超时,该节点的STGT产生abort终止命令、重置LUN、上报集群,从而达到预警效果。
[0109]如图5所示,wit cher机制的处理流程包括以下步骤:
[0110]l)iscsiadm命令连接iSCSI target端,确保LUN能够正常挂载。
[0111]2) Isscsi查看已挂载的以磁盘方式呈现的块设备,过滤出特定厂商的磁盘。
[0112]3)采用sg_inq读取特定厂商的磁盘。
[0113]4)判断磁盘是否含有1错误;若是,转入5);若否,转入3)。
[0114]5)删除磁盘对应的块存储的LUN。
[0115]4)采用分布式PR机制和watcher机制,解親分布式集群节点中多服务进程启动。
[0?16]采用PR机制的Znode模拟多服务进程,采用watcher机制监控Znode属性,从而达到解耦服务进程启动的效果。
[0117]如图6所示,在一个优选实施例中,解耦分布式集群节点中多服务进程启动时,采用分布式PR的Znode模型,服务进程SER1、SER2、SER3分别对应Znode临时目录/SEQ/SER1、/SEQ/SER2、/SEQ/SER3,启动先后顺序为SERl、SER2、SER3,witcher机制监控Znode属性时,包括以下步骤:
[0118]I)监控SERl进程及其状态,若SERl及其状态正常,创建临时目录/SEQ/SER1;若异常,删除/SEQ/SER1。
[0119]2)监控SER2进程与临时目录/SEQ/SER1;若临时目录/SEQ/SER1存在,转入3),否则执行转入6)。
[0120]3)启动SER2进程,并创建临时目录/SEQ/SER2。
[0121]4)监控SER3进程与临时目录/SEQ/SER1和/SEQ/SER2,若临时目录/SEQ/SER1和/SEQ/SER2均存在,且SER3进程未启动,转入5);否则转入6)。
[0122]5)启动SER3进程,并创建临时目录/SEQ/SER3。
[0123]6)不处理。
[0124]参照图7,本发明的分布式存储系统中块存储数据的访问系统包括构建模块1、PR处理模块2 watcher处理模块3和解耦模块4。其中,PR处理模块2 watcher处理模块3和解耦模块4均与构建模块I相连。
[0125]构建模块I用于构建分布式STGT多资源管理系统(以下简称CTGT)和分布式块存储系统。
[0126]其中,分布式STGT多资源管理系统自下到上依次包括存储层、存储驱动层、主机层(Initiator层)和管理集群层。
[0127]存储层用于基于ceph分布式文件系统,对存储驱动层通过块存储接口RBD提供块访问。
[0128]具体地,存储层基于RADOS协议提供一层块设备的抽象,支持对iSCSI的支持。
[0129]存储驱动层用于基于STGT块存储访问协议和分布式开源组件管理分布式块存储的数据访问。
[0130]Initiator层用于基于分布式SAN的iSCSI协议对分布式CTGT Target块存储的数据进行访问。
[0131]管理集群层用于管理分布式存储系统中的节点及控制iSCSI数据的访问业务。
[0132]分布式块存储系统中,SAN主机采用iSCSI协议访问CTGT提供的块存储,块存储用于部署虚拟化桌面(VDI),iSCSI协议对VDI的稳定性起到稳定作用。CTGT采用分布式PR中的节点目录(Znode)模型,模拟访问块存储的iSCSI主机,Znode记录块存储及iSCSI主机信息。例如:iSCIS主机I对块存储1(存储节点I)的访问,Znode可设置为“/PR/LUNl/iniriatorl”;witcher功能提供iSCSI存储中块存储状态及与块存储相关的服务的监控,如:STGT状态等。
[0133]PR处理模块2用于采用分布式PR机制,实现Active/Active多路径环境和集群多节点访问块存储。
[0134]集群多节点访问块存储时,分布式PR锁保障PR在集群中的消息可复制,较少分布式块存储并发访问的权限冲突。
[0135]分布式PR机制的处理流程包括以下步骤:
[0136]I)启动STGT服务进程。
[0137]2)查询分布式Znode根目录/,判断目录/PR是否存在,若否,转入3),若是,转入4)。
[0138]3)创建临时目录/PR。
[0139]其中,PR指令包括加锁(re serve)和释放锁(re I ease) ,reserve用来创建临时目录/PR/LUN_ID,release用来删除临时目录/PR/LUNJDJPR为常规性Znode,即使节点丢失,/PR仍存在;/LUN_ID为临时性Znode,/PR/LUN_ID随节点/LUN_ID的丢失而丢失。
[0140]4)执行STGT循环(STGT event_loop)事件,以周期性地响应iSCSI主机层请求。
[0141 ] 具体地,STGT event_loop事件包括以下步骤:
[0142]a)接收并解析iSCSI指令。
[0143]b)判断解析后的iSCSI指令是否是PR指令;若是,转入c);否则,转入g)。
[0144]c)查询分布式Znode的目录/PR,并判断操作的块存储的LUN_ID是否已置/PR;若是,转入d);若否,转入g)。
[0145]d)判断PR是reserve还是re lease,若为reserve,转入e);若否,转入f)。
[0146]e)创建临时目录/PR/LUN_ID,转入g)。
[0147]f)删除临时目录/PR/LUN_ID,转入g)。
[0148]g)读写块设备的数据。
[OH9] watcher处理模块3用于采用分布式watcher机制,定时监控分布式存储系统中块存储的可访问性。
[0150]若集群某节点访问块存储i SCSI指令超时,该节点的STGT产生abort终止命令、重置LUN、上报集群,从而达到预警效果。
[0151 ] watcher机制的处理流程包括以下步骤:
[0152]l)iscsiadm命令连接iSCSI target端,确保LUN能够正常挂载。
[0153]2) Isscsi查看已挂载的以磁盘方式呈现的块设备,过滤出特定厂商的磁盘。
[0154]3)采用sg_inq读取特定厂商的磁盘。
[0155]4)判断磁盘是否含有1错误;若是,转入5);若否,转入3)。
[0156]5)删除磁盘对应的块存储的LUN。
[0157]解耦模块4用于采用分布式PR机制和watcher机制,解耦分布式集群节点中多服务进程启动。
[ΟΙ58]采用PR机制的Znode模拟多服务进程,采用watcher机制监控Znode属性,从而达到解耦服务进程启动的效果。
[0159]在一个优选实施例中,解耦分布式集群节点中多服务进程启动时,采用分布式PR的Znode模型,服务进程SERl、SER2、SER3分别对应Znode临时目录/SEQ/SER1、/SEQ/SER2、/SEQ/SER3,启动先后顺序为SERl、SER2、SER3,watcher机制监控Znode属性时,包括以下步骤:
[0160]I)监控SERl进程及其状态,若SERl及其状态正常,创建临时目录/SEQ/SER1;若异常,删除/SEQ/SER1。
[0161]2)监控SER2进程与临时目录/SEQ/SER1;若临时目录/SEQ/SER1存在,转入3),否则执行转入6)。
[0162]3)启动SER2进程,并创建临时目录/SEQ/SER2。
[0163]4)监控SER3进程与临时目录/SEQ/SER1和/SEQ/SER2,若临时目录/SEQ/SER1和/SEQ/SER2均存在,且SER3进程未启动,转入5);否则转入6)。
[0164]5)启动SER3进程,并创建临时目录/SEQ/SER3。
[0165]6)不处理。
[0166]综上所述,本发明的分布式存储系统中块存储数据的访问方法及系统采用分布式PR机制,减少分布式块存储并发访问的权限冲突,强化并行访问的权限控制,提高数据并发访问的安全性和可靠性;采用分布式watcher机制,定时监控分布式存储系统中块存储的可访问性,提高块存储预警的准确度和及时性;采用分布式PR机制和watcher机制,解親分布式集群节点中多服务进程启动,提高分布式存储系统及块存储数据访问的稳定性。所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。
[0167]上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。
【主权项】
1.一种分布式存储系统中块存储数据的访问方法,其特征在于:包括: 1)构建分布式STGT多资源管理系统和分布式块存储系统; 所述分布式STGT多资源管理系统包括存储层、存储驱动层、主机层和管理集群层; 所述存储层用于基于分布式文件系统,对所述存储驱动层提供块访问; 所述存储驱动层用于基于STGT块存储访问协议和分布式开源组件管理分布式块存储的数据访问; 所述主机层用于基于分布式SAN的iSCSI协议对分布式STGT多资源管理系统的目标块存储的数据进行访问; 所述管理集群层用于管理分布式存储系统中的节点及控制iSCSI数据的访问业务; 所述分布式块存储系统中,采用分布式PR中的节点目录模型模拟访问块存储的iSCSI主机,所述节点目录用于记录块存储及iSCSI主机信息,采用watcher功能提供iSCSI存储中块存储状态及与块存储相关的服务的监控; 2)在所述分布式STGT多资源管理系统和分布式块存储系统中,采用分布式PR机制,实现Active/Active多路径环境和集群多节点访问块存储; 3)在所述分布式STGT多资源管理系统和分布式块存储系统中,采用分布式watcher机制,定时监控分布式存储系统中块存储的可访问性; 4)在所述分布式STGT多资源管理系统和分布式块存储系统中,采用分布式PR机制和watcher机制,解親分布式集群节点中多服务进程启动。2.根据权利要求1所述的分布式存储系统中块存储数据的访问方法,其特征在于:所述存储层基于RADOS协议提供一层块设备的抽象,支持对iSCSI的支持。3.根据权利要求1所述的分布式存储系统中块存储数据的访问方法,其特征在于:所述分布式PR机制的处理流程包括以下步骤: 1)启动STGT服务进程; 2)查询分布式节点目录的根目录,判断目录/PR是否存在,若否,转入3),若是,转入4); 3)创建临时目录/PR; 4)执行STGT循环事件,以周期性地响应iSCSI主机层请求。4.根据权利要求3所述的分布式存储系统中块存储数据的访问方法,其特征在于:所述STGT循环事件包括以下步骤: a)接收并解析iSCSI指令; b)判断解析后的iSCSI指令是否是PR指令;若是,转入c);否则,转入g); c)查询分布式节点目录的目录/PR,并判断操作的块存储的LUN_ID是否已置/PR;若是,转入d);若否,转入g); d)判断PR指令是加锁还是释放锁,若为加锁,转入e);若否,转入f); e)创建临时目录/PR/LUN_ID,转入g); f)删除临时目录/PR/LUN_ID,转入g); g)读写块设备的数据。5.根据权利要求1所述的分布式存储系统中块存储数据的访问方法,其特征在于:所述watcher机制的处理流程包括以下步骤: I)连接iSCSI目标端,确保访问逻辑单元号能够正常挂载; 2)查看已挂载的以磁盘方式呈现的块设备,过滤出特定的磁盘; 3)读取特定的磁盘; 4)判断磁盘是否含有1错误;若是,转入5);若否,转入3); 5)删除磁盘对应的块存储的访问逻辑单元号。6.一种分布式存储系统中块存储数据的访问系统,其特征在于:包括构建模块、PR处理模块、watcher处理模块和解親模块; 所述构建模块用于构建分布式STGT多资源管理系统和分布式块存储系统。 所述分布式STGT多资源管理系统包括存储层、存储驱动层、主机层和管理集群层; 所述存储层用于基于分布式文件系统,对所述存储驱动层提供块访问; 所述存储驱动层用于基于STGT块存储访问协议和分布式开源组件管理分布式块存储的数据访问; 所述主机层用于基于分布式SAN的iSCSI协议对分布式STGT多资源管理系统的目标块存储的数据进行访问; 所述管理集群层用于管理分布式存储系统中的节点及控制iSCSI数据的访问业务; 所述分布式块存储系统中,采用分布式PR中的节点目录模型模拟访问块存储的iSCSI主机,所述节点目录用于记录块存储及iSCSI主机信息,采用watcher功能提供iSCSI存储中块存储状态及与块存储相关的服务的监控; 所述PR处理模块用于采用分布式PR机制,实现Active/Active多路径环境和集群多节点访问块存储; 所述watcher处理模块用于采用分布式watcher机制,定时监控分布式存储系统中块存储的可访问性; 所述解耦模块用于采用分布式PR机制和watcher机制,解耦分布式集群节点中多服务进程启动。7.根据权利要求6所述的分布式存储系统中块存储数据的访问系统,其特征在于:所述存储层基于RADOS协议提供一层块设备的抽象,支持对iSCSI的支持。8.根据权利要求6所述的分布式存储系统中块存储数据的访问系统,其特征在于:所述分布式PR机制的处理流程包括以下步骤: 1)启动STGT服务进程; 2)查询分布式节点目录的根目录,判断目录/PR是否存在,若否,转入3),若是,转入4); 3)创建临时目录/PR; 4)执行STGT循环事件,以周期性地响应iSCSI主机层请求。9.根据权利要求8所述的分布式存储系统中块存储数据的访问系统,其特征在于:所述STGT循环事件包括以下步骤: a)接收并解析iSCSI指令; b)判断解析后的iSCSI指令是否是PR指令;若是,转入c);否则,转入g); c)查询分布式节点目录的目录/PR,并判断操作的块存储的LUN_ID是否已置/PR;若是,转入d);若否,转入g); d)判断PR指令是加锁还是释放锁,若为加锁,转入e);若否,转入f); e)创建临时目录/PR/LUN_ID,转入g); f)删除临时目录/PR/LUN_ID,转入g); g)读写块设备的数据。10.根据权利要求6所述的分布式存储系统中块存储数据的访问系统,其特征在于:所述watcher机制的处理流程包括以下步骤: 1)连接iSCSI目标端,确保访问逻辑单元号能够正常挂载; 2)查看已挂载的以磁盘方式呈现的块设备,过滤出含特定的磁盘; 3)读取特定的磁盘; 4)判断磁盘是否含有1错误;若是,转入5);若否,转入3); 5)删除磁盘对应的块存储的访问逻辑单元号。
【文档编号】G06F3/06GK105892943SQ201610192083
【公开日】2016年8月24日
【申请日】2016年3月30日
【发明人】何云
【申请人】上海爱数信息技术股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1