CN113138722B - 用于分布式块存储系统的复制快照方法、系统和介质 - Google Patents
用于分布式块存储系统的复制快照方法、系统和介质 Download PDFInfo
- Publication number
- CN113138722B CN113138722B CN202110485739.6A CN202110485739A CN113138722B CN 113138722 B CN113138722 B CN 113138722B CN 202110485739 A CN202110485739 A CN 202110485739A CN 113138722 B CN113138722 B CN 113138722B
- Authority
- CN
- China
- Prior art keywords
- storage subsystem
- data
- management device
- response
- snapshot
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 230000010076 replication Effects 0.000 title claims abstract description 108
- 238000000034 method Methods 0.000 title claims abstract description 67
- 230000004044 response Effects 0.000 claims abstract description 86
- 230000000977 initiatory effect Effects 0.000 claims abstract description 11
- 239000003818 cinder Substances 0.000 claims description 41
- 230000003362 replicative effect Effects 0.000 claims description 18
- 238000012545 processing Methods 0.000 claims description 17
- 238000012795 verification Methods 0.000 claims description 11
- 238000013508 migration Methods 0.000 claims description 8
- 230000005012 migration Effects 0.000 claims description 8
- 230000008569 process Effects 0.000 abstract description 17
- 238000004590 computer program Methods 0.000 description 15
- 230000006870 function Effects 0.000 description 11
- 238000004891 communication Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 9
- 238000002955 isolation Methods 0.000 description 4
- 238000012423 maintenance Methods 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0607—Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/065—Replication mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开提供了一种分布式块存储系统以及用于该系统的复制数据快照的方法和介质,涉及云计算技术领域,尤其涉及大数据云计算领域。该系统包括:第一存储子系统;至少一个与第一存储子系统不同的第二存储子系统;以及中央管理装置;分布式块存储系统被配置为:响应于接收到位于第一存储子系统的用户对第二存储子系统的第一复制请求,由中央管理装置验证第一复制请求是否满足预设条件;响应于确定第一复制请求满足预设条件,由与第一存储子系统相关联的第一管理装置向第一存储子系统发送对应于第一复制请求的第二复制请求;以及响应于接收到第二复制请求,由第一存储子系统启动复制数据快照流程,以将第二存储子系统的数据快照复制到第一存储子系统。
Description
技术领域
本公开涉及云计算技术领域,尤其涉及大数据云计算领域,具体涉及一种用于分布式块存储系统的复制数据快照的方法、系统、计算机可读存储介质和计算机程序产品。
背景技术
云计算(cloud computing)指的是通过网络接入弹性可扩展的共享物理或虚拟资源池,资源可以包括服务器、操作系统、网络、软件、应用和存储设备等,并可以以按需、自服务的方式对资源进行部署和管理的技术体系。通过云计算技术,可以为人工智能、区块链等技术应用、模型训练提供高效强大的数据处理能力。
由于云计算的广泛应用,公有云厂商一般会在各个地域部署公有云服务。当用户在一个地域给分布式块存储系统做了快照之后,可能会有在另外一个地域使用这个快照的需求。
在此部分中描述的方法不一定是之前已经设想到或采用的方法。除非另有指明,否则不应假定此部分中描述的任何方法仅因其包括在此部分中就被认为是现有技术。类似地,除非另有指明,否则此部分中提及的问题不应认为在任何现有技术中已被公认。
发明内容
本公开提供了一种分布式块存储系统以及用于该分布式块存储系统的复制数据快照的方法、计算机可读存储介质和计算机程序产品。
根据本公开的一方面,提供了一种分布式块存储系统,包括:第一存储子系统;至少一个与所述第一存储子系统不同的第二存储子系统;以及中央管理装置;其中,所述分布式块存储系统被配置为执行以下操作:响应于接收到位于所述第一存储子系统的用户对所述第二存储子系统的第一复制请求,由所述中央管理装置验证所述第一复制请求是否满足预设条件;响应于确定所述第一复制请求满足所述预设条件,由与所述第一存储子系统相关联的第一管理装置向所述第一存储子系统发送对应于所述第一复制请求的第二复制请求;以及响应于接收到所述第二复制请求,由所述第一存储子系统启动复制数据快照流程,以将所述第二存储子系统的数据快照复制到所述第一存储子系统。
根据本公开的另一方面,提供了一种用于分布式块存储系统的复制数据快照的方法,所述分布式块存储系统至少包括第一存储子系统和与所述第一存储子系统不同的第二存储子系统,所述方法包括:响应于接收到位于所述第一存储子系统的用户对所述第二存储子系统的第一复制请求,由中央管理装置验证所述第一复制请求是否满足预设条件;以及响应于确定所述第一复制请求满足所述预设条件,由所述中央管理装置向与所述第一存储子系统相关联的第一管理装置发送第一通知,以使得所述第一管理装置响应于接收到所述第一通知向所述第一存储子系统发送对应于所述第一复制请求的第二复制请求。
根据本公开的另一方面,提供了一种用于分布式块存储系统的复制数据快照的方法,所述分布式块存储系统至少包括第一存储子系统和与所述第一存储子系统不同的第二存储子系统,所述方法包括:由所述第一存储子系统向中央管理装置发送位于所述第一存储子系统的用户对所述第二存储子系统的第一复制请求,以使得所述中央管理装置响应于验证所述第一复制请求满足预设条件向与所述第一存储子系统相关联的第一管理装置发送第一通知;以及响应于从所述第一管理装置接收到对应于所述第一复制请求的第二复制请求,由所述第一存储子系统启动复制数据快照流程,以将所述第二存储子系统的数据快照复制到所述第一存储子系统,其中,所述第二复制请求是所述第一管理装置响应于接收到所述第一通知向所述第一存储子系统发送的。
根据本公开的另一方面,提供了一种用于分布式块存储系统的中央管理装置,所述分布式块存储系统至少包括第一存储子系统和与所述第一存储子系统不同的第二存储子系统,所述中央管理装置包括:验证模块,用于响应于接收到位于所述第一存储子系统的用户对所述第二存储子系统的第一复制请求,验证所述第一复制请求是否满足预设条件;以及发送模块,用于响应于确定所述第一复制请求满足所述预设条件,向与所述第一存储子系统相关联的第一管理装置发送第一通知,以使得所述第一管理装置响应于接收到所述第一通知向所述第一存储子系统发送对应于所述第一复制请求的第二复制请求。
根据本公开的另一方面,提供了一种用于分布式块存储系统的第一存储子系统,所述分布式块存储系统至少还包括与所述第一存储子系统不同的第二存储子系统,所述第一存储子系统包括:发送模块,用于向中央管理装置发送位于所述第一存储子系统的用户对所述第二存储子系统的第一复制请求,以使得所述中央管理装置响应于验证所述第一复制请求满足预设条件向与所述第一存储子系统相关联的第一管理装置发送第一通知;以及启动模块,用于响应于从所述第一管理装置接收到对应于所述第一复制请求的第二复制请求,启动复制数据快照流程,以将所述第二存储子系统的数据快照复制到所述第一存储子系统,其中,所述第二复制请求是所述第一管理装置响应于接收到所述第一通知向所述第一存储子系统发送的。
根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使分布式块存储系统执行上述的复制数据快照的方法。
根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,其中,计算机程序在被分布式块存储系统的一个或多个处理器执行时实现上述的复制数据快照的方法。
根据本公开的一个或多个实施例,对于不同地域的复制数据快照的请求,可经由中心管理装置验证、处理,并由发出复制数据快照请求的地域(子系统)执行复制数据快照的流程,将所请求的数据快照复制到本地域。应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图示例性地示出了实施例并且构成说明书的一部分,与说明书的文字描述一起用于讲解实施例的示例性实施方式。所示出的实施例仅出于例示的目的,并不限制权利要求的范围。在所有附图中,相同的附图标记指代类似但不一定相同的要素。
图1示出了根据本公开的实施例的分布式块存储系统的结构框图;
图2示出了根据本公开示例性实施例的分布式块存储系统被配置执行的复制数据快照操作的流程图;
图3示出了根据本公开示例性实施例的复制数据快照流程的流程图;
图4示出了根据本公开示例性实施例的用于分布式块存储系统的复制数据快照方法的流程图;
图5示出了根据本公开示例性实施例的用于分布式块存储系统的复制数据快照方法的流程图;
图6示出了根据本公开的实施例的用于分布式块存储系统的中央管理装置的结构框图;
图7示出了根据本公开的实施例的用于分布式块存储系统的第一存储子系统的结构框图;
图8示出了能够用于实现本公开的实施例的示例性分布式块存储系统中的电子设备的结构框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
在本公开中,除非另有说明,否则使用术语“第一”、“第二”等来描述各种要素不意图限定这些要素的位置关系、时序关系或重要性关系,这种术语只是用于将一个元件与另一元件区分开。在一些示例中,第一要素和第二要素可以指向该要素的同一实例,而在某些情况下,基于上下文的描述,它们也可以指代不同实例。
在本公开中对各种所述示例的描述中所使用的术语只是为了描述特定示例的目的,而并非旨在进行限制。除非上下文另外明确地表明,如果不特意限定要素的数量,则该要素可以是一个也可以是多个。此外,本公开中所使用的术语“和/或”涵盖所列出的项目中的任何一个以及全部可能的组合方式。
相关技术中,用户跨地域复制数据快照的请求需先转发给与发出请求的地域相关联的目的Cinder模块,目的Cinder模块需要访问与快照所在地域相关联的源Cinder模块,以确认该请求是否符合一定的预设条件,例如所请求的快照是否属于该用户等,如果符合所述预设条件,目的Cinder会将该请求转发给发出请求的地域,进而发出请求的地域开始复制数据快照流程。上述过程中,Cinder模块如果发生重启,复制的任务会卡住,需要人工处理才能继续后续操作。此外,Cinder模块需要存储其他所有地域的相关配置信息,导致地域之间隔离性较差、运维成本大。
为解决上述问题中的一个或多个,本公开通过一个存储有不同地域配置信息的中央管理装置替代Cinder模块处理来自不同地域的复制快照的请求,因而Cinder模块无需存储其他所有地域的相关配置信息,增强了地域之间的隔离性、减少了运维成本。
以下将结合附图对本公开的分布式块存储系统以及用于该分布式块存储系统的复制数据快照方法进行进一步描述。
图1是示出根据本公开的实施例的分布式块存储系统的结构框图,如图1所示,所述分布式块存储系统100包括第一存储子系统101;至少一个与所述第一存储子系统不同的第二存储子系统102;中央管理装置103;以及与所述第一存储子系统101相关联的第一管理装置104;其中,所述分布式块存储系统100被配置为执行以下操作,如图2所示,S101、响应于接收到位于所述第一存储子系统的用户对所述第二存储子系统的第一复制请求,由所述中央管理装置验证所述第一复制请求是否满足预设条件;
S102、响应于确定所述第一复制请求满足所述预设条件,由与所述第一存储子系统相关联的第一管理装置向所述第一存储子系统发送对应于所述第一复制请求的第二复制请求;S103、响应于接收到所述第二复制请求,由所述第一存储子系统启动复制数据快照流程,以将所述第二存储子系统的数据快照复制到所述第一存储子系统。
通过设置了一个存储有不同地域配置信息的中央管理装置替代Cinder模块处理来自不同地域的复制数据快照的请求,Cinder模块无需存储其他所有区域的相关配置信息,从而增强了地域之间的隔离性、减少了运维成本。
根据一些实施例,所述第一存储子系统和所述第二存储子系统可以位于两个不同的地域,每一个子系统也分别是一个独立的分布式块存储系统,位于第一存储子系统的用户跨地域地发起对第二存储子系统快照的复制请求。
根据一些实施例,与所述第一存储子系统相关联的第一管理装置可以是第一存储子系统的Cinder模块,其中,Cinder模块为公有云系统中管理磁盘的模块。所述中央管理装置例如可以被配置为处理系统覆盖的所有地域的复制快照的请求,例如可以是全地域代理中心模块(CRS),也可以采用其他可执行相似功能的模块,例如配置有全部地域配置信息且具备高可用性的其他模块,在此不作限定。
根据一些实施例,所述中央管理装置存储有所述分布式块存储系统的包括所述第一存储子系统和所述第二存储子系统在内的所有存储子系统的用于所述验证的配置信息。示例性的,所述配置信息例如可以是各个子系统所具备的权限、各个子系统可访问子系统列表、各个子系统中快照的ID、所有者ID、可访问ID列表、快照的大小、快照中的元数据以及快照所对应的原数据等。可以理解的,所述配置信息的具体内容取决于该分布式块存储系统的应用场景,在此不作限定。
根据一些实施例,由中央管理装置验证所述第一复制请求是否满足预设条件可以包括基于所述配置信息确定所述第一复制请求对应的数据快照是否属于所述用户,例如,通过确定发起该请求的用户的ID与配置信息中该请求对应的数据快照的所有者ID相同,确定所述数据快照属于该用户。
根据另一些实施例,中央管理装置验证所述第一复制请求是否满足预设条件还可以是:响应于确定用户所请求的数据快照ID不存在于第二存储子系统的配置信息中,中央管理装置直接拒绝该用户的请求;在另一个示例中,响应于发起该请求的用户所在子系统(即第一存储子系统)不在所述配置信息中第二存储子系统的可访问子系统列表中,中央管理装置拒绝该请求。
根据以上两个实施例,本领域普通技术人员应当认识到,对预设条件的设定可以从安全性、隐私性、可用性、实用性等多方面考虑,可根据具体的应用场景来确定预设条件,在此不作限定。
根据一些实施例,分布式块存储系统被配置为执行的操作进一步包括:响应于确定所述第一复制请求满足所述预设条件,由所述中央管理装置向与所述第一存储子系统相关联的第一管理装置发送第一通知,所述第一管理装置响应于接收到所述第一通知在第一存储子系统中创建一条快照记录,状态为迁移中,并向所述第一存储子系统发送对应于所述第一复制请求的第二复制请求;查询与所述第一复制请求相对应的复制任务的状态。在一个示例中,响应于中央管理装置确定所述第一复制请求满足所述预设条件,目的Cinder模块在第一存储子系统中创建一条快照记录,状态为迁移中。
根据一些实施例,复制数据快照流程包括:将所述第二存储子系统中的所述数据快照的通用唯一识别码UUID文件复制到所述第一存储子系统并存储为具有预定文件名的第一文件,其中,所述第一文件包含临时的数据快照元信息;响应于在所述第一存储子系统中不存在同样具有所述预定文件名的第二文件,或者响应于所述第一存储子系统中已经存在也具有所述预定文件名的第二文件,并且所述第二文件与所述第一文件的散列函数值相同,从所述第一文件中解析得到所述数据快照的第一层级的一个或多个数据的相应的数据名;响应于在所述第一存储子系统中不存在所述第一层级的一个或多个数据的相应的数据名,将所述第一层级的一个或多个数据复制到所述第一存储子系统;分别对所述第一层级的一个或多个数据中的每一个数据进行解析,得到所述数据快照的第二层级的一个或多个数据的相应的数据名;响应于在所述第一存储子系统中不存在所述第二层级的一个或多个数据的相应的数据名,将所述第二层级的一个或多个数据复制到所述第一存储子系统;以及生成新的快照元信息并添加到所述第一存储子系统。
在一个实施例中,第二存储子系统中的所述数据快照的通用唯一识别码UUID文件可为src_snapshot_uuid文件,所述预定文件名可以为cds_tmp_snapshot_dst_snapshot_uuid。可以理解的,所述复制数据快照流程即为将第二存储子系统中的src_snapshot_uuid文件复制到第一存储子系统,并将其命名为cds_tmp_snapshot_dst_snapshot_uuid,其中,该文件中包含临时的数据快照元信息;所述第一层级可以为extent层级,所述第二层级可以为slice层级,其中,各层级间有如下关系:临时数据快照元信息中包含多个extent数据且所有的extent数据名可由该临时数据快照元信息解析得到;每个extent中包含多个slice数据且所有的slice数据名可由extent解析得到;依据这样的层级关系,将数据快照分步从第二存储子系统复制到第一存储子系统中,并在第一存储子系统中生成新的快照元信息;完成上述复制过程后,删除所述临时数据快照元信息。
图3示出了根据本公开示例性实施例的复制数据快照流程的流程图。如图3所示,所述复制数据快照流程可以包括:
S301:判断目的快照是否存在于第一存储子系统且具有唯一uuid;若是,返回复制成功,复制数据快照流程结束,否则,执行S302;
S302:将所述第二存储子系统中的所述数据快照的通用唯一识别码UUID文件复制到所述第一存储子系统并存储为具有预定文件名的第一文件;
S303:判断在所述第一存储子系统中是否存在也具有所述预定文件名的第二文件,若是则执行步骤S304,否则,执行S305;
S304:判断所述第二文件与所述第一文件的散列函数值是否相同,若是则执行步骤S305,否则,返回任务失败;
S305:从所述第一文件中解析得到所述数据快照的第一层级的一个或多个数据的相应的数据名;
S306:判断在所述第一存储子系统中是否存在所述第一层级的一个或多个数据的相应的数据名,若是则执行步骤S307,否则执行步骤S308;
S307:判断有着相同数据名的第一层级的一个或多个数据,是否有相同的散列函数值,若是则执行S309,否则返回任务失败;
S308:将所述第一层级的一个或多个数据复制到所述第一存储子系统;
S309:分别对所述第一层级的一个或多个数据中的每一个数据进行解析,得到所述数据快照的第二层级的一个或多个数据的相应的数据名;
S310:判断在所述第一存储子系统中不存在所述第二层级的一个或多个数据的相应的数据名,若是则执行步骤S311,否则执行步骤S312;
S311:判断有着相同数据名的第二层级的一个或多个数据,是否有相同的散列函数值,若是则执行S313,否则返回任务失败;
S312:将所述第二层级的一个或多个数据复制到所述第一存储子系统;
S313:生成新的快照元信息并添加到所述第一存储子系统,并删除所述第一文件。
根据一些实施例,响应于复制数据快照流程执行过程中任务失败,所述第一管理装置更新快照记录,将状态更新为错误。
根据一些实施例,响应于复制数据快照流程完成,所述第一管理装置更新快照记录,将状态更新为可用,整个复制任务完成。
根据一些实施例,所述分布式块存储系统被配置为执行的复制数据快照操作进一步包括:响应于在处理所述第一复制请求的过程中接收到至少一个位于第三存储子系统的用户对所述第二存储子系统的第三复制请求,由所述中央管理装置对每个复制请求对应的任务进行计数,其中,所述第三存储子系统与所述第一存储子系统和所述第二存储子系统不同;以及响应于基于计数确定所有任务被完成,由与所述第二存储子系统相关联的第二管理装置将所述数据快照的状态由迁移中更新为可用。换言之,可以有多个不同的存储子系统同时向同一个存储子系统发起复制数据快照的请求,所述中央管理装置在这一并发复制的过程中对每个复制请求对应的复制任务进行计数;与所述第二存储子系统相关联的第二管理装置可以是第二存储子系统的Cinder模块,即当所有发出复制请求的子系统都已将第二存储子系统的数据快照复制到各自子系统中时,第二存储子系统的Cinder模块将被复制的数据快照状态由迁移中更新为可用。
根据一些实施例,所述中央管理装置为三副本模块,其中,至少有两个副本中存储有最新的数据,因而当其中一个副本宕机时,不会影响到中央管理装置的对外服务,该分布式块存储系统仍能正常运行。例如,当Cinder模块因异常重启时,复制快照任务可断点续传,省去了人工处理的麻烦。
根据一些实施例,用中央管理装置取代Cinder模块来管理所有子系统的复制快照请求,只需在中央管理装置上存储所有子系统的配置信息,而不必在各个子系统的Cinder模块上存储其他子系统的配置信息,增强了子系统之间的隔离性、减少了运维成本;当Cinder等模块如bos、iam等发生异常重启之后,所述中央管理装置支持所述复制请求所对应的复制任务断点续传,这样减少了人工干预,并提高了效率。
根据本公开的另一方面,提供了一种用于分布式块存储系统的复制数据快照的方法,所述分布式块存储系统至少包括第一存储子系统和与所述第一存储子系统不同的第二存储子系统,如图4所示,所述方法包括:步骤S401、响应于接收到位于所述第一存储子系统的用户对所述第二存储子系统的第一复制请求,由中央管理装置验证所述第一复制请求是否满足预设条件;步骤S402、响应于确定所述第一复制请求满足所述预设条件,由所述中央管理装置向与所述第一存储子系统相关联的第一管理装置发送第一通知,以使得所述第一管理装置响应于接收到所述第一通知向所述第一存储子系统发送对应于所述第一复制请求的第二复制请求。
根据一些实施例,上述用于分布式块存储系统的复制数据快照的方法中的第一管理装置可以是第一存储子系统的Cinder模块,其中,Cinder模块为公有云系统中管理磁盘的模块。
根据一些实施例,中央管理装置存储有所述分布式块存储系统的包括所述第一存储子系统和所述第二存储子系统在内的所有存储子系统的用于所述验证的配置信息。示例性的,所述配置信息例如可以是各个子系统所具备的权限、各个子系统可访问子系统列表、各个子系统中快照的ID、所有者ID、可访问ID列表、快照的大小、快照中的元数据以及快照所对应的原数据等。可以理解的,所述配置信息的具体内容取决于该分布式块存储系统的应用场景,在此不作限定。
根据一些实施例,步骤S401中由中央管理装置验证所述第一复制请求是否满足预设条件可以包括基于所述配置信息确定所述第一复制请求对应的数据快照是否属于所述用户,例如,通过确定发起该请求的用户的ID与配置信息中该请求对应的数据快照的所有者ID相同,确定所述数据快照属于该用户。
根据另一些实施例,中央管理装置验证所述第一复制请求是否满足预设条件还可以是:响应于确定用户所请求的数据快照ID不存在于第二存储子系统的配置信息中,中央管理装置直接拒绝该用户的请求;在另一个示例中,响应于发起该请求的用户所在子系统(即第一存储子系统)不在所述配置信息中第二存储子系统的可访问子系统列表中,中央管理装置拒绝该请求。
根据一些实施例,所述方法进一步包括:响应于在处理所述第一复制请求的过程中接收到至少一个位于第三存储子系统的用户对所述第二存储子系统的第三复制请求,由所述中央管理装置对每个复制请求对应的任务进行计数,其中,所述第三存储子系统与所述第一存储子系统和所述第二存储子系统不同;以及响应于基于计数确定所有任务被完成,由与所述第二存储子系统相关联的第二管理装置将所述数据快照的状态由迁移中更新为可用。换言之,可以有多个不同的存储子系统同时向同一个存储子系统发起复制数据快照的请求,所述中央管理装置在这一并发复制的过程中对每个复制请求对应的复制任务进行计数;与所述第二存储子系统相关联的第二管理装置可以是第二存储子系统的Cinder模块,即当所有发出复制请求的子系统都已将第二存储子系统的数据快照复制到各自子系统中时,第二存储子系统的Cinder模块将被复制的数据快照状态由迁移中更新为可用。
根据一些实施例,所述方法中的中央管理装置为三副本模块,其中,至少有两个副本中存储有最新的数据,因而当其中一个副本宕机时,不会影响到中央管理装置的对外服务,该分布式块存储系统仍能正常运行。例如,当Cinder模块因异常重启时,复制快照任务可断点续传,省去了人工处理的麻烦。
根据本公开的另一方面,还提供了一种用于分布式块存储系统的复制数据快照的方法,所述分布式块存储系统至少包括第一存储子系统和与所述第一存储子系统不同的第二存储子系统,如图5所示,所述方法可以包括:步骤S501、由所述第一存储子系统向中央管理装置发送位于所述第一存储子系统的用户对所述第二存储子系统的第一复制请求,以使得所述中央管理装置响应于验证所述第一复制请求满足预设条件向与所述第一存储子系统相关联的第一管理装置发送第一通知;步骤S502、响应于从所述第一管理装置接收到对应于所述第一复制请求的第二复制请求,由所述第一存储子系统启动复制数据快照流程,以将所述第二存储子系统的数据快照复制到所述第一存储子系统,其中,所述第二复制请求是所述第一管理装置响应于接收到所述第一通知向所述第一存储子系统发送的。
根据一些实施例,中央管理装置确定所述第一复制请求满足所述预设条件后,向目的Cinder模块发送确认通知,目的Cinder模块响应于接收到该通知在第一存储子系统中创建一条快照记录,状态为迁移中,并向第一存储子系统发送第二复制请求,第一存储子系统响应于接收到该第二复制请求开启数据快照的复制流程。
根据一些实施例,上述方法中的第一管理装置可以是第一存储子系统的Cinder模块,其中,Cinder模块为公有云系统中管理磁盘的模块。
根据一些实施例,上述方法中的复制数据快照流程包括:将所述第二存储子系统中的所述数据快照的通用唯一识别码UUID文件复制到所述第一存储子系统并存储为具有预定文件名的第一文件,其中,所述第一文件包含临时的数据快照元信息;响应于在所述第一存储子系统中不存在同样具有所述预定文件名的第二文件,或者响应于所述第一存储子系统中已经存在也具有所述预定文件名的第二文件,并且所述第二文件与所述第一文件的散列函数值相同,从所述第一文件中解析得到所述数据快照的第一层级的一个或多个数据的相应的数据名;响应于在所述第一存储子系统中不存在所述第一层级的一个或多个数据的相应的数据名,将所述第一层级的一个或多个数据复制到所述第一存储子系统;分别对所述第一层级的一个或多个数据中的每一个数据进行解析,得到所述数据快照的第二层级的一个或多个数据的相应的数据名;响应于在所述第一存储子系统中不存在所述第二层级的一个或多个数据的相应的数据名,将所述第二层级的一个或多个数据复制到所述第一存储子系统;以及生成新的快照元信息并添加到所述第一存储子系统。
图6示出了根据本公开的实施例的用于分布式块存储系统的中央管理装置的结构框图;如图6所示,中央管理装置600可以包括:验证模块601;发送模块602;存储模块603。其中,验证模块601用于响应于接收到位于所述第一存储子系统的用户对所述第二存储子系统的第一复制请求,验证所述第一复制请求是否满足预设条件;发送模块602用于响应于确定所述第一复制请求满足所述预设条件,向与所述第一存储子系统相关联的第一管理装置发送第一通知,以使得所述第一管理装置响应于接收到所述第一通知向所述第一存储子系统发送对应于所述第一复制请求的第二复制请求。
根据一些实施例,上述第一管理装置可以是第一存储子系统的Cinder模块,其中,Cinder模块为公有云系统中管理磁盘的模块。
根据一些实施例,存储模块603用于存储所述分布式块存储系统中的包括所述第一存储子系统和所述第二存储子系统在内的所有存储子系统的用于所述验证的配置信息。示例性的,所述配置信息例如可以是各个子系统所具备的权限、各个子系统可访问子系统列表、各个子系统中快照的ID、所有者ID、可访问ID列表、快照的大小、快照中的元数据以及快照所对应的原数据等。可以理解的,所述配置信息的具体内容取决于该分布式块存储系统的应用场景,在此不作限定。
根据一些实施例,验证模块601验证所述第一复制请求是否满足预设条件可以包括基于所述配置信息确定所述第一复制请求对应的数据快照是否属于所述用户,例如,通过确定发起该请求的用户的ID与配置信息中该请求对应的数据快照的所有者ID相同,确定所述数据快照属于该用户。
根据另一些实施例,验证模块601验证所述第一复制请求是否满足预设条件还可以是:响应于确定用户所请求的数据快照ID不存在于第二存储子系统的配置信息中,中央管理装置直接拒绝该用户的请求;在另一个示例中,响应于发起该请求的用户所在子系统(即第一存储子系统)不在所述配置信息中第二存储子系统的可访问子系统列表中,中央管理装置拒绝该请求。
根据一些实施例,所述中央管理装置进一步包括:用于响应于在处理所述第一复制请求的过程中接收到至少一个位于第三存储子系统的用户对所述第二存储子系统的第三复制请求,对每个复制请求对应的任务进行计数的模块,其中,所述第三存储子系统与所述第一存储子系统和所述第二存储子系统不同;以及用于响应于基于所述计数确定所有任务被完成,向与所述第二存储子系统相关联的第二管理装置发送第二通知,以使得所述第二管理装置响应于接收到所述第二通知将所述数据快照的状态由迁移中更新为可用的模块。换言之,可以有多个不同的存储子系统同时向同一个存储子系统发起复制数据快照的请求,所述中央管理装置在这一并发复制的过程中对每个复制请求对应的复制任务进行计数;与所述第二存储子系统相关联的第二管理装置可以是第二存储子系统的Cinder模块,即当所有发出复制请求的子系统都已将第二存储子系统的数据快照复制到各自子系统中时,第二存储子系统的Cinder模块将被复制的数据快照状态由迁移中更新为可用。
根据一些实施例,所述中央管理装置为三副本模块,其中,至少有两个副本中存储有最新的数据,因而当其中一个副本宕机时,不会影响到中央管理装置的对外服务,该分布式块存储系统仍能正常运行。例如,当Cinder模块因异常重启时,复制快照任务可断点续传,省去了人工处理的麻烦。
图7示出了根据本公开的实施例的用于分布式块存储系统的第一存储子系统的结构框图;如图7所示,第一存储子系统700可以包括:发送模块701;启动模块702。其中,发送模块701用于向中央管理装置发送位于所述第一存储子系统的用户对所述第二存储子系统的第一复制请求,以使得所述中央管理装置响应于验证所述第一复制请求满足预设条件向与所述第一存储子系统相关联的第一管理装置发送第一通知;启动模块702,用于响应于从所述第一管理装置接收到对应于所述第一复制请求的第二复制请求,启动复制数据快照流程,以将所述第二存储子系统的数据快照复制到所述第一存储子系统,其中,所述第二复制请求是所述第一管理装置响应于接收到所述第一通知向所述第一存储子系统发送的。
根据一些实施例,第一管理装置可以是第一存储子系统的Cinder模块,其中,Cinder模块为公有云系统中管理磁盘的模块。
根据一些实施例,所述第一存储子系统700还包括:用于将所述第二存储子系统中的所述数据快照的通用唯一识别码UUID文件复制到所述第一存储子系统并存储为具有预定文件名的第一文件的模块,其中,所述第一文件包含临时的数据快照元信息;用于响应于在所述第一存储子系统中不存在同样具有所述预定文件名的第二文件,或者响应于所述第一存储子系统中已经存在同样具有所述预定文件名的第二文件,并且所述第二文件与所述第一文件的散列函数值相同,从所述第一文件中解析得到所述数据快照的第一层级的一个或多个数据的相应的数据名的模块;用于响应于在所述第一存储子系统中不存在所述第一层级的一个或多个数据的相应的数据名,将所述第一层级的一个或多个数据复制到所述第一存储子系统的模块;用于分别对所述第一层级的一个或多个数据中的每一个数据进行解析,得到所述数据快照的第二层级的一个或多个数据的相应的数据名的模块。
根据本公开的另一方面,还提供一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使分布式块存储系统执行上述的复制快照的方法。
根据本公开的另一方面,还提供一种计算机程序产品,包括计算机程序,其中,所述计算机程序在被分布式块存储系统的一个或多个处理器执行时实现上述的复制快照的方法。
参考图8,现将描述可以作为根据本公开的分布式块存储系统中的电子设备800的结构框图,其是可以应用于本公开的各方面的硬件设备(例如中央管理装置或Cinder模块)的示例。电子设备旨在表示各种形式的数字电子的计算机设备,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图8所示,设备800包括计算单元801,其可以根据存储在只读存储器(ROM)802中的计算机程序或者从存储单元808加载到随机访问存储器(RAM)803中的计算机程序,来执行各种适当的动作和处理。在RAM 803中,还可存储设备800操作所需的各种程序和数据。计算单元801、ROM 802以及RAM 803通过总线804彼此相连。输入/输出(I/O)接口805也连接至总线804。
设备800中的多个部件连接至I/O接口805,包括:输入单元806、输出单元807、存储单元808以及通信单元809。输入单元806可以是能向设备800输入信息的任何类型的设备,输入单元806可以接收输入的数字或字符信息,以及产生与电子设备的用户设置和/或功能控制有关的键信号输入,并且可以包括但不限于鼠标、键盘、触摸屏、轨迹板、轨迹球、操作杆、麦克风和/或遥控器。输出单元807可以是能呈现信息的任何类型的设备,并且可以包括但不限于显示器、扬声器、视频/音频输出终端、振动器和/或打印机。存储单元808可以包括但不限于磁盘、光盘。通信单元809允许设备800通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据,并且可以包括但不限于调制解调器、网卡、红外通信设备、无线通信收发机和/或芯片组,例如蓝牙TM设备、1302.11设备、WiFi设备、WiMax设备、蜂窝通信设备和/或类似物。
计算单元801可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元801的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元801执行上文所描述的各个方法和处理,例如用于分布式块存储系统的复制数据快照的方法。例如,在一些实施例中,用于分布式块存储系统的方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元808。在一些实施例中,计算机程序的部分或者全部可以经由ROM 802和/或通信单元809而被载入和/或安装到设备800上。当计算机程序加载到RAM 803并由计算单元801执行时,可以执行上文描述的图像拼接方法的一个或多个步骤。备选地,在其他实施例中,计算单元801可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行用于分布式块存储系统的复制数据快照的方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本公开中记载的各步骤可以并行地执行、也可以顺序地或以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
虽然已经参照附图描述了本公开的实施例或示例,但应理解,上述的方法、系统和设备仅仅是示例性的实施例或示例,本发明的范围并不由这些实施例或示例限制,而是仅由授权后的权利要求书及其等同范围来限定。实施例或示例中的各种要素可以被省略或者可由其等同要素替代。此外,可以通过不同于本公开中描述的次序来执行各步骤。进一步地,可以以各种方式组合实施例或示例中的各种要素。重要的是随着技术的演进,在此描述的很多要素可以由本公开之后出现的等同要素进行替换。
Claims (23)
1.一种分布式块存储系统,包括:
第一存储子系统;
至少一个与所述第一存储子系统不同的第二存储子系统;以及
中央管理装置;
其中,所述分布式块存储系统被配置为执行以下操作:
响应于接收到位于所述第一存储子系统的用户对所述第二存储子系统的第一复制请求,由所述中央管理装置验证所述第一复制请求是否满足预设条件,其中,所述由所述中央管理装置验证所述第一复制请求是否满足预设条件包括:由所述中央管理装置基于配置信息确定所述第一复制请求对应的数据快照是否属于所述用户;
响应于确定所述第一复制请求满足所述预设条件,由所述中央管理装置向与所述第一存储子系统相关联的第一管理装置发送第一通知,以使得所述第一管理装置响应于接收到所述第一通知向所述第一存储子系统发送对应于所述第一复制请求的第二复制请求;以及
响应于接收到所述第二复制请求,由所述第一存储子系统启动复制数据快照流程,以将所述第二存储子系统的数据快照复制到所述第一存储子系统。
2.根据权利要求1所述的分布式块存储系统,其中,所述第一管理装置是Cinder模块。
3.根据权利要求1或2所述的分布式块存储系统,其中,所述中央管理装置存储有所述分布式块存储系统中的包括所述第一存储子系统和所述第二存储子系统在内的所有存储子系统的用于所述验证的配置信息。
4.根据权利要求1所述的分布式块存储系统,其中,所述第一存储子系统被配置为执行下列操作以完成所述复制数据快照流程:
将所述第二存储子系统中的所述数据快照的通用唯一识别码UUID文件复制到所述第一存储子系统并存储为具有预定文件名的第一文件,其中,所述第一文件包含临时的数据快照元信息;
响应于在所述第一存储子系统中不存在同样具有所述预定文件名的第二文件,或者响应于所述第一存储子系统中已经存在同样具有所述预定文件名的第二文件,并且所述第二文件与所述第一文件的散列函数值相同,从所述第一文件中解析得到所述数据快照的第一层级的一个或多个数据的相应的数据名;
响应于在所述第一存储子系统中不存在所述第一层级的一个或多个数据的相应的数据名,将所述第一层级的一个或多个数据复制到所述第一存储子系统;
分别对所述第一层级的一个或多个数据中的每一个数据进行解析,得到所述数据快照的第二层级的一个或多个数据的相应的数据名;
响应于在所述第一存储子系统中不存在所述第二层级的一个或多个数据的相应的数据名,将所述第二层级的一个或多个数据复制到所述第一存储子系统;以及
生成新的快照元信息并添加到所述第一存储子系统。
5.根据权利要求1所述的分布式块存储系统,还包括与所述第一存储子系统和所述第二存储子系统不同的第三存储子系统,其中,所述分布式块存储系统还被配置为执行以下操作:
响应于在处理所述第一复制请求的过程中接收到至少一个位于所述第三存储子系统的用户对所述第二存储子系统的第三复制请求,由所述中央管理装置对每个复制请求对应的任务进行计数;以及
响应于确定所有任务被完成,由与所述第二存储子系统相关联的第二管理装置将所述数据快照的状态由迁移中更新为可用。
6.根据权利要求1所述的分布式块存储系统,其中,所述中央管理装置为三副本模块。
7.一种用于分布式块存储系统的复制数据快照的方法,所述分布式块存储系统至少包括第一存储子系统和与所述第一存储子系统不同的第二存储子系统,所述方法包括:
响应于接收到位于所述第一存储子系统的用户对所述第二存储子系统的第一复制请求,由中央管理装置验证所述第一复制请求是否满足预设条件,其中,所述由中央管理装置验证所述第一复制请求是否满足预设条件包括:由所述中央管理装置基于配置信息确定所述第一复制请求对应的数据快照是否属于所述用户;以及
响应于确定所述第一复制请求满足所述预设条件,由所述中央管理装置向与所述第一存储子系统相关联的第一管理装置发送第一通知,以使得所述第一管理装置响应于接收到所述第一通知向所述第一存储子系统发送对应于所述第一复制请求的第二复制请求;
响应于从所述第一管理装置接收到对应于所述第一复制请求的第二复制请求,由所述第一存储子系统启动复制数据快照流程,以将所述第二存储子系统的数据快照复制到所述第一存储子系统。
8.根据权利要求7所述的方法,其中,所述第一管理装置是Cinder模块。
9.根据权利要求7或8所述的方法,其中,所述中央管理装置存储有所述分布式块存储系统中的包括所述第一存储子系统和所述第二存储子系统在内的所有存储子系统的用于所述验证的配置信息。
10.根据权利要求7所述的方法,还包括:
响应于在处理所述第一复制请求的过程中接收到至少一个位于第三存储子系统的用户对所述第二存储子系统的第三复制请求,由所述中央管理装置对每个复制请求对应的任务进行计数,其中,所述第三存储子系统与所述第一存储子系统和所述第二存储子系统不同;以及
响应于基于所述计数确定所有任务被完成,由所述中央管理装置向与所述第二存储子系统相关联的第二管理装置发送第二通知,以使得所述第二管理装置响应于接收到所述第二通知将所述数据快照的状态由迁移中更新为可用。
11.根据权利要求7所述的方法,其中,所述中央管理装置为三副本模块。
12.一种用于分布式块存储系统的复制数据快照的方法,所述分布式块存储系统至少包括第一存储子系统和与所述第一存储子系统不同的第二存储子系统,所述方法包括:
由所述第一存储子系统向中央管理装置发送位于所述第一存储子系统的用户对所述第二存储子系统的第一复制请求,以使得所述中央管理装置响应于验证所述第一复制请求满足预设条件向与所述第一存储子系统相关联的第一管理装置发送第一通知,其中,所述中央管理装置响应于验证所述第一复制请求满足预设条件包括:所述中央管理装置基于配置信息确定所述第一复制请求对应的数据快照属于所述用户;以及
响应于从所述第一管理装置接收到对应于所述第一复制请求的第二复制请求,由所述第一存储子系统启动复制数据快照流程,以将所述第二存储子系统的数据快照复制到所述第一存储子系统,其中,所述第二复制请求是所述第一管理装置响应于接收到所述第一通知向所述第一存储子系统发送的。
13.根据权利要求12所述的方法,其中,所述第一管理装置是Cinder模块。
14.根据权利要求12或13所述的方法,其中,所述复制数据快照流程包括:
将所述第二存储子系统中的所述数据快照的通用唯一识别码UUID文件复制到所述第一存储子系统并存储为具有预定文件名的第一文件,其中,所述第一文件包含临时的数据快照元信息;
响应于在所述第一存储子系统中不存在同样具有所述预定文件名的第二文件,或者响应于所述第一存储子系统中已经存在同样具有所述预定文件名的第二文件,并且所述第二文件与所述第一文件的散列函数值相同,从所述第一文件中解析得到所述数据快照的第一层级的一个或多个数据的相应的数据名;
响应于在所述第一存储子系统中不存在所述第一层级的一个或多个数据的相应的数据名,将所述第一层级的一个或多个数据复制到所述第一存储子系统;
分别对所述第一层级的一个或多个数据中的每一个数据进行解析,得到所述数据快照的第二层级的一个或多个数据的相应的数据名;
响应于在所述第一存储子系统中不存在所述第二层级的一个或多个数据的相应的数据名,将所述第二层级的一个或多个数据复制到所述第一存储子系统;以及
生成新的快照元信息并添加到所述第一存储子系统。
15.一种用于分布式块存储系统的中央管理装置,所述分布式块存储系统至少包括第一存储子系统和与所述第一存储子系统不同的第二存储子系统,所述中央管理装置包括:
验证模块,用于响应于接收到位于所述第一存储子系统的用户对所述第二存储子系统的第一复制请求,验证所述第一复制请求是否满足预设条件,其中,验证所述第一复制请求是否满足预设条件包括:基于配置信息确定所述第一复制请求对应的数据快照是否属于所述用户;以及
发送模块,用于响应于确定所述第一复制请求满足所述预设条件,向与所述第一存储子系统相关联的第一管理装置发送第一通知,以使得所述第一管理装置响应于接收到所述第一通知向所述第一存储子系统发送对应于所述第一复制请求的第二复制请求。
16.根据权利要求15所述的中央管理装置,其中,所述第一管理装置是Cinder模块。
17.根据权利要求15或16所述的中央管理装置,其中,所述中央管理装置还包括存储模块,用于存储所述分布式块存储系统中的包括所述第一存储子系统和所述第二存储子系统在内的所有存储子系统的用于所述验证的配置信息。
18.根据权利要求15所述的中央管理装置,还包括:
用于响应于在处理所述第一复制请求的过程中接收到至少一个位于第三存储子系统的用户对所述第二存储子系统的第三复制请求,对每个复制请求对应的任务进行计数的模块,其中,所述第三存储子系统与所述第一存储子系统和所述第二存储子系统不同;以及
用于响应于基于所述计数确定所有任务被完成,向与所述第二存储子系统相关联的第二管理装置发送第二通知,以使得所述第二管理装置响应于接收到所述第二通知将所述数据快照的状态由迁移中更新为可用的模块。
19.根据权利要求15所述的中央管理装置,其中,所述中央管理装置为三副本模块。
20.一种用于分布式块存储系统的第一存储子系统,所述分布式块存储系统至少还包括与所述第一存储子系统不同的第二存储子系统,所述第一存储子系统包括:
发送模块,用于向中央管理装置发送位于所述第一存储子系统的用户对所述第二存储子系统的第一复制请求,以使得所述中央管理装置响应于验证所述第一复制请求满足预设条件向与所述第一存储子系统相关联的第一管理装置发送第一通知,其中,所述中央管理装置响应于验证所述第一复制请求满足预设条件包括:所述中央管理装置基于配置信息确定所述第一复制请求对应的数据快照属于所述用户;以及
启动模块,用于响应于从所述第一管理装置接收到对应于所述第一复制请求的第二复制请求,启动复制数据快照流程,以将所述第二存储子系统的数据快照复制到所述第一存储子系统,其中,所述第二复制请求是所述第一管理装置响应于接收到所述第一通知向所述第一存储子系统发送的。
21.根据权利要求20所述的第一存储子系统,其中,所述第一管理装置是Cinder模块。
22.根据权利要求20或21所述的第一存储子系统,其中,所述第一存储子系统还包括:
用于将所述第二存储子系统中的所述数据快照的通用唯一识别码UUID文件复制到所述第一存储子系统并存储为具有预定文件名的第一文件的模块,其中,所述第一文件包含临时的数据快照元信息;
用于响应于在所述第一存储子系统中不存在同样具有所述预定文件名的第二文件,或者响应于所述第一存储子系统中已经存在同样具有所述预定文件名的第二文件,并且所述第二文件与所述第一文件的散列函数值相同,从所述第一文件中解析得到所述数据快照的第一层级的一个或多个数据的相应的数据名的模块;
用于响应于在所述第一存储子系统中不存在所述第一层级的一个或多个数据的相应的数据名,将所述第一层级的一个或多个数据复制到所述第一存储子系统的模块;
用于分别对所述第一层级的一个或多个数据中的每一个数据进行解析,得到所述数据快照的第二层级的一个或多个数据的相应的数据名的模块;
用于响应于在所述第一存储子系统中不存在所述第二层级的一个或多个数据的相应的数据名,将所述第二层级的一个或多个数据复制到所述第一存储子系统的模块;以及
用于生成新的快照元信息并添加到所述第一存储子系统的模块。
23.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使包括第一存储子系统、至少一个与所述第一存储子系统不同的第二存储子系统和中央管理装置的分布式块存储系统执行根据权利要求7至14中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110485739.6A CN113138722B (zh) | 2021-04-30 | 2021-04-30 | 用于分布式块存储系统的复制快照方法、系统和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110485739.6A CN113138722B (zh) | 2021-04-30 | 2021-04-30 | 用于分布式块存储系统的复制快照方法、系统和介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113138722A CN113138722A (zh) | 2021-07-20 |
CN113138722B true CN113138722B (zh) | 2024-01-12 |
Family
ID=76816831
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110485739.6A Active CN113138722B (zh) | 2021-04-30 | 2021-04-30 | 用于分布式块存储系统的复制快照方法、系统和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113138722B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1659844A (zh) * | 2002-08-28 | 2005-08-24 | 松下电器产业株式会社 | 内容复制管理系统与网络化装置 |
CN104283938A (zh) * | 2013-07-08 | 2015-01-14 | 英特尔公司 | 用于在存储服务器之间复制数据的技术 |
CN106034160A (zh) * | 2015-03-19 | 2016-10-19 | 阿里巴巴集团控股有限公司 | 分布式计算系统和方法 |
CN106919347A (zh) * | 2017-02-28 | 2017-07-04 | 北京华云网际科技有限公司 | 分布式块存储系统的目录的创建方法和装置 |
CN107438092A (zh) * | 2016-03-10 | 2017-12-05 | 阿里巴巴集团控股有限公司 | 用于分布式场景中数据处理的方法和设备 |
CN107798130A (zh) * | 2017-11-17 | 2018-03-13 | 广西广播电视信息网络股份有限公司 | 一种分布式存储的快照方法 |
CN108460045A (zh) * | 2017-02-21 | 2018-08-28 | 中兴通讯股份有限公司 | 一种快照的处理方法及分布式块存储系统 |
CN112631520A (zh) * | 2020-12-25 | 2021-04-09 | 北京百度网讯科技有限公司 | 分布式块存储系统、方法、装置、设备和介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9910904B2 (en) * | 2011-08-30 | 2018-03-06 | International Business Machines Corporation | Replication of data objects from a source server to a target server |
-
2021
- 2021-04-30 CN CN202110485739.6A patent/CN113138722B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1659844A (zh) * | 2002-08-28 | 2005-08-24 | 松下电器产业株式会社 | 内容复制管理系统与网络化装置 |
CN104283938A (zh) * | 2013-07-08 | 2015-01-14 | 英特尔公司 | 用于在存储服务器之间复制数据的技术 |
CN106034160A (zh) * | 2015-03-19 | 2016-10-19 | 阿里巴巴集团控股有限公司 | 分布式计算系统和方法 |
CN107438092A (zh) * | 2016-03-10 | 2017-12-05 | 阿里巴巴集团控股有限公司 | 用于分布式场景中数据处理的方法和设备 |
CN108460045A (zh) * | 2017-02-21 | 2018-08-28 | 中兴通讯股份有限公司 | 一种快照的处理方法及分布式块存储系统 |
CN106919347A (zh) * | 2017-02-28 | 2017-07-04 | 北京华云网际科技有限公司 | 分布式块存储系统的目录的创建方法和装置 |
CN107798130A (zh) * | 2017-11-17 | 2018-03-13 | 广西广播电视信息网络股份有限公司 | 一种分布式存储的快照方法 |
CN112631520A (zh) * | 2020-12-25 | 2021-04-09 | 北京百度网讯科技有限公司 | 分布式块存储系统、方法、装置、设备和介质 |
Non-Patent Citations (1)
Title |
---|
分布式数据库的同步复制技术研究;韩义波;杨新锋;;科技信息(学术研究)(第29期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113138722A (zh) | 2021-07-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210004262A1 (en) | Managed orchestration of virtual machine instance migration | |
JP6602369B2 (ja) | 記憶不具合後の安全なデータアクセス | |
US9253265B2 (en) | Hot pluggable extensions for access management system | |
US11526342B2 (en) | Cancel and rollback update stack requests | |
US9600376B1 (en) | Backup and replication configuration using replication topology | |
WO2020063197A1 (zh) | 数据库切换方法、系统、电子设备和计算机可读介质 | |
US11995100B2 (en) | System and method for highly available database service | |
US11991094B2 (en) | Metadata driven static determination of controller availability | |
US11604705B2 (en) | System and method for cloning as SQL server AG databases in a hyperconverged system | |
US11442752B2 (en) | Central storage management interface supporting native user interface versions | |
US20230122861A1 (en) | Unified metadata search | |
US10503428B2 (en) | System and method for concurrent multipoint backup | |
CN110413369B (zh) | 用于虚拟化环境中的备份的系统和方法 | |
US10698719B2 (en) | System and method for virtual machine restoration | |
CN113138722B (zh) | 用于分布式块存储系统的复制快照方法、系统和介质 | |
US11336518B2 (en) | Staging configuration changes with deployment freeze options | |
CN111859410B (zh) | 用于限制恢复访问的系统和方法 | |
CN113868679B (zh) | 一种集群的加密方法及装置 | |
US10776036B2 (en) | System and method for efficient restore | |
JP6557197B2 (ja) | 分散dbシステム、db装置、および、サービス再開方法 | |
KR20230017329A (ko) | 동작 응답 방법, 동작 응답 장치, 전자장비, 저장 매체 및 컴퓨터 프로그램 | |
CN115203160A (zh) | 信息处理系统和方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |