CN109710464B - 一种一致性组分离方法及装置 - Google Patents
一种一致性组分离方法及装置 Download PDFInfo
- Publication number
- CN109710464B CN109710464B CN201811611349.3A CN201811611349A CN109710464B CN 109710464 B CN109710464 B CN 109710464B CN 201811611349 A CN201811611349 A CN 201811611349A CN 109710464 B CN109710464 B CN 109710464B
- Authority
- CN
- China
- Prior art keywords
- group
- copy
- data
- source resource
- lun
- 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
Images
Landscapes
- Hardware Redundancy (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供一种一致性组分离方法及装置,源资源组在执行一致性分离操作时,不需要挂起前端写IO请求,而是将前端IO写请求同步给副本组,以使副本组不将该写IO请求写入本地而是将该IO请求写入IO日志卷。在执行一致性组分离结束后,将分离时刻发送给副本组,以使副本组从该IO日志卷中找到写入时刻在该分离时刻前的数据,并将数据恢复到副本组中的各个LUN上,使得副本组中的数据与源资源组中在分离时刻的数据一致。由于源资源组中在执行一致性组分离操作时,无需挂起前端IO流量,所以不会产生前端业务时延,满足时延敏感性业务的需求。
Description
技术领域
本申请涉及存储领域,尤其涉及一种一致性组分离方法及装置。
背景技术
一致性组是指存在关联的一组LUN(Logical Unit Number,逻辑单元号)的集合,一致性组中的LUN可以分布在一台存储设备上,也可以分布在多台存储设备上。
基于一致性组的克隆技术又被称为组克隆技术。在组克隆技术中,包括源资源组和副本组。源资源组是一致性组,副本组是该源资源组副本。源资源组中各LUN与副本组中的各副本LUN一一对应。
在组克隆技术中,当源资源组接收到写IO(Input Output,输入输出)请求后,将该写IO请求携带的数据写入至本地,同时将该写IO请求同步给副本组,以使副本组将该写IO请求携带的数据写入至本地,以此来保证源资源组和副本组的数据写入顺序一致。
一致性组分离是指源资源组切断与副本组的数据同步,使得副本组中包含的数据与源资源在在分离时刻所包含的数据一致。
然而,源资源组执行一致性分离操作时,需要逐个切断源资源组每一个LUN与副本组中的每一个副本LUN的数据同步。在切断过程中,已切断数据同步的LUN不将写IO请求同步给副本LUN,未切断数据同步的LUN仍将写IO请求同步给副本LUN,致使在一致性组分离操作结束后,副本组中的数据与源资源组在分离时刻的数据不一致,副本组中数据不可用。
为了解决该问题,现有技术方法是,在源资源组在执行一致性组分离操作时,将该源资源组中的所有LUN的前端IO流量挂起,在一致性组分离操作结束后,再恢复源资源组中的所有LUN的前端IO流量。但是,挂起前端IO流量会导致业务中断时间增加。
发明内容
有鉴于此,本申请提供一种一致性组分离方法及装置。
具体地,本申请是通过如下技术方案实现的:
根据本申请的第一方面,提供一种一致性组分离方法,所述方法应用于源资源组,所述源资源组对应有副本组,所述源资源组中的各LUN与所述副本组中的各副本LUN一一对应,所述副本组被配置了IO日志卷,所述方法包括:
响应于用户发起的一致性组分离操作,向副本组发送用于启用IO日志卷的启用通知,以使所述副本组启用所述IO日志卷,并将启用该IO日志卷后的接收到的来自于源资源组的写IO请求携带数据写入该IO日志卷;
接收所述副本组返回的针对所述启用通知的成功响应消息,并将接收到该成功响应消息的时刻作为分离时刻;
依次切断所述源资源组的各LUN与该LUN对应的副本LUN之间的数据同步;
在切断所述源资源组中所有LUN的数据同步后,向所述副本组发送恢复通知,以使该副本组基于该恢复通知中携带的分离时刻、所述IO日志卷,将所述副本组中的数据恢复成源资源组在分离时刻所包含的数据。
可选的,所述源资源组中各LUN所在的存储设备、以及所述副本组中各LUN所在的存储设备预进行了时钟同步处理。
根据本申请的第二方面,提供一种一致性组分离方法,所述方法应用于副本组,所述副本组对应有源资源组,所述源资源组中的各LUN与所述副本组中的各副本LUN一一对应,所述副本组被配置了IO日志卷,所述方法包括:
在接收到源资源组发送的用于启用IO日志卷的启用通知后,启用IO日志卷,并在启用IO日志卷后,将源资源组同步的写IO请求携带的数据写入至所述IO日志卷、以及向源资源组返回针对该启用通知的成功响应消息;
在接收到源资源组发送的恢复通知后,依据所述恢复通知中携带的分离时刻以及所述IO日志卷,将所述副本组中的数据恢复成源资源组在分离时刻时的数据。
可选的,所述IO日志卷包括:数据、数据所属LUN的LUN标识、数据写入IO日志卷的写入时刻;
所述依据所述恢复通知中携带的分离时刻以及所述IO日志卷,将所述副本组中的数据恢复成源资源组在分离时刻时的数据,包括:
在所述IO日志卷中,查找写入时刻在该分离时刻之前的数据,并将该数据下发给该数据所属的LUN。
可选的,在接收到源资源组发送的恢复通知后,所述方法还包括:
将写入时刻在该分离时刻之后的数据从所述IO日志卷删除,并禁用所述IO日志卷。
根据本申请的第三方面,提供一种一致性组分离装置,所述装置应用于源资源组,所述源资源组对应有副本组,所述源资源组中的各LUN与所述副本组中的各副本LUN一一对应,所述副本组被配置了IO日志卷,所述装置包括:
发送单元,用于响应于用户发起的一致性组分离操作,向副本组发送用于启用IO日志卷的启用通知,以使所述副本组启用所述IO日志卷,并将启用该IO日志卷后的接收到的来自于源资源组的写IO请求携带数据写入该IO日志卷;
接收单元,用于接收所述副本组返回的针对所述启用通知的成功响应消息,并将接收到该成功响应消息的时刻作为分离时刻;
分离单元,用于依次切断所述源资源组的各LUN与该LUN对应的副本LUN之间的数据同步;
恢复单元,用于在切断所述源资源组中所有LUN的数据同步后,向所述副本组发送恢复通知,以使该副本组基于该恢复通知中携带的分离时刻、所述IO日志卷,将所述副本组中的数据恢复成源资源组在分离时刻所包含的数据。
可选的,所述源资源组中各LUN所在的存储设备、以及所述副本组中各LUN所在的存储设备预进行了时钟同步处理。
根据本申请的第四方面,提供一种一致性组分离装置,所述装置应用于副本组,所述副本组对应有源资源组,所述源资源组中的各LUN与所述副本组中的各副本LUN一一对应,所述副本组被配置了IO日志卷,所述装置包括:
启用单元,用于在接收到源资源组发送的用于启用IO日志卷的启用通知后,启用IO日志卷,并在启用IO日志卷后,将源资源组同步的写IO请求携带的数据写入至所述IO日志卷、以及向源资源组返回针对该启用通知的成功响应消息;
恢复单元,用于在接收到源资源组发送的恢复通知后,依据所述恢复通知中携带的分离时刻以及所述IO日志卷,将所述副本组中的数据恢复成源资源组在分离时刻时的数据。
可选的,所述IO日志卷包括:数据、数据所属LUN的LUN标识、数据写入IO日志卷的写入时刻;
所述恢复单元,在依据所述恢复通知中携带的分离时刻以及所述IO日志卷,将所述副本组中的数据恢复成源资源组在分离时刻时的数据时,具体用于在所述IO日志卷中,查找写入时刻在该分离时刻之前的数据,并将该数据下发给该数据所属的LUN。
可选的,所述装置还包括:
删除单元,用于将写入时刻在该分离时刻之后的数据从所述IO日志卷删除;
禁用单元,用于禁用所述IO日志卷。
由上述描述可知,一方面,源资源组在执行一致性分离操作时,不需要挂起前端写IO请求,而是将前端IO写请求同步给副本组,以使副本组不将该写IO请求写入本地而是将该IO请求写入IO日志卷。在执行一致性组分离结束后,将分离时刻发送给副本组,以使副本组从该IO日志卷中找到写入时刻在该分离时刻前的数据,并将数据恢复到副本组中的各个LUN上,使得副本组中的数据与源资源组中在分离时刻的数据一致。
另一方面,由于源资源组中在执行一致性组分离操作时,无需挂起前端IO流量,所以不会产生前端业务时延,满足时延敏感性业务的需求。
附图说明
图1是本申请一示例性实施例示出的一种组克隆技术的组网架构图;
图2是本申请一示例性实施例示出的一种IO日志卷的示意图;
图3是本申请一示例性实施例示出的一种一致性组分离方法的流程图;
图4是本申请一示例性实施例示出的另一种IO日志卷的示意图;
图5是本申请一示例性实施例示出的一种一致性组分离装置的框图;
图6是本申请一示例性实施例示出的另一种一致性组分离装置的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
在现有技术中,在源资源组在执行一致性组分离操作时,将该源资源组中的所有LUN的前端IO流量挂起,在一致性组分离操作结束后,再恢复源资源组中的所有LUN的前端IO流量。
现有技术的不好之处在于:
一方面,挂起前端IO流量会导致业务中断时间增加,并且随着源资源组中的LUN个数的增加而增加,对于部分时延敏感型的业务会造成较大的影响;
另一方面,对于多控设备或多节点设备,当源资源组中的LUN和副本组中的LUN布在多个控制器上时,由于各控制器之间的交互存在一定的时延,导致需要额外的技术保证各个LUN处于统一数据平面,在增加管理的复杂度的同时,也进一步增加挂前端IO操作所导致的业务中断时间。
有鉴于此,本申请提出一种一致性组分离方法,本申请为副本组配置了IO日志卷。当源资源组接收到用户发起的一致性组分离操作时,可向副本组发送用于启用IO日志卷的启用通知。副本组可在接收到该启用通知后,将源资源组同步的写IO请求携带的数据写入至该IO日志卷,并向源资源组返回该启用通知的成功响应消息。
源资源组将接收到该成功响应消息的时刻确定为分离时刻,并切断源资源组中各LUN与其对应的副本LUN之间的数据同步。在完成切断源资源组中所有LUN的数据同步后。源资源组可向副本组发送恢复通知,该恢复通知里包括分离时刻。副本组可将IO日志卷中写入时刻在该分离时刻的各LUN中的数据回到各LUN中。
一方面,源资源组在执行一致性分离操作时,不需要挂起前端写IO请求,而是将前端IO写请求同步给副本组,以使副本组不将该写IO请求写入本地而是将该IO请求写入IO日志卷。在执行一致性组分离结束后,将分离时刻发送给副本组,以使副本组从该IO日志卷中找到写入时刻在该分离时刻前的数据,并将数据恢复到副本组中的各个LUN上,使得副本组中的数据与源资源组中在分离时刻的数据一致。
另一方面,由于源资源组中在执行一致性组分离操作时,无需挂起前端IO流量,所以不会产生前端业务时延,满足时延敏感性业务的需求。
参见图1,图1是本申请一示例性实施例示出的一种组克隆技术的组网架构图。
组克隆技术的组网中包括:服务器、多控系统。
服务器:也被称为多控系统的前端,用于向多控系统中各节点上的LUN发送读IO请求、写IO请求,以从多控系统中的LUN上读取数据,或向多控系统的LUN中写入数据。
多控系统包括:至少一个节点(也被称为存储设备)以及后端数据网络。多控系统中的每个节点均与后端数据网络相连。
多控系统中的每一个节点包括至少一个LUN,多控系统中部分LUN按照其关联性(比如业务关联性等)被划分为多个一致性组,作为源资源组,另外一部分LUN被划分为与各源资源组对应的副本组(也被称为克隆副本组)。源资源组中的LUN与副本组中的副本LUN一一对应。
例如,如图1所示,节点A上包括:LUN-A1、LUN-A2和LUN-A3。节点B上包括:LUN-B1、LUN-B2。节点C上包括:LUN-C1、LUN-C2。节点D上包括:LUN-D1、LUN-D2和LUN-D3。
LUN-A1、LUN-A2和LUN-A3被划分为源资源组1;LUN-B2和LUN-C2被划分为源资源组2;LUN-B1、LUN-C1和LUN-D1被划分为副本组1;LUN-D2和LUN-D3被划分为副本组2。
副本组1是源资源组1的副本,副本组2是源资源组2的副本。
副本组1中的LUN-B1是LUN-A1的副本(换句话说,LUN-B1与LUN-A1对应),LUN-C1是LUN-A2的副本,LUN-D1是LUN-A3的副本。
副本组2中的LUN-D2是LUN-B2的副本,LUN-D3是LUNC2的副本。
由图1可以看出,源资源组中的各LUN可以部署在同一节点上,也可以部署在不同的节点上。副本组中的各LUN可以部署在同一节点上,也可以部署在不同的节点上。
在组克隆技术中,当源资源组中的LUN接收到服务器发送的写IO请求后,可在本地写入该写IO请求携带的数据,并将该写IO请求同步至副本组中与该LUN对应的副本LUN,以由该副本LUN将该写IO请求携带的数据写入至该副本LUN中,从而保证源资源组中的LUN与副本组中的LUN的数据一致。
本申请为副本组配置了IO日志卷,下面先对IO日志卷进行介绍。
本申请可以为副本组中的每一个副本LUN配置一个IO日志卷,也可以为副本组中的多个副本LUN配置一个IO日志卷,这里不对副本LUN与IO日志卷的对应关系进行具体地限定。
参见图2,图2是本申请一示例性实施例示出的一种IO日志卷的示意图。
IO日志卷包括:IO管理区和IO数据区。
1)IO管理区
IO管理区里记录了:写IO请求对应的写IO管理表项(如图2中的写IO管理表项A、写IO管理表项B)。该写IO管理表项记录了:写IO请求的相关信息、以及写IO请求携带数据的写入时刻。
其中,写IO请求的相关信息可包括:该写IO请求针对的LUN的LUN标识、写IO请求类型、写IO请求携带的数据在IO数据区的位置、写IO请求携带的数据大小等信息。
2)IO数据区
IO数据区里记录了:写IO请求携带的数据(如图2中的数据A、数据B)。
参见图3,图3是本申请一示例性实施例示出的一种一致性组分离方法的流程图,该方法可包括如下所示步骤。
需要说明的是,在本申请中源资源组在接收到用户发起的一致性组分离操作时,并不将该源资源组中各LUN的前端IO流量挂起。源资源组中各LUN仍接收前端IO流量,并将前端IO流量同步给副本组中的副本LUN。所以除了源资源中的LUN与其副本LUN之间的数据同步切断外,只要源资源组中的LUN接收到前端IO流量(比如写IO等)时,均将该前端IO流量同步给副本LUN。
此外,为了保证源资源组与副本组的时钟同步,本申请中的源资源组中各LUN所在的存储设备、以及所述副本组中各LUN所在的存储设备预进行了时钟同步处理,比如进行了NTP(Network Time Protocol,网络时间协议)处理,使得各个LUN的时钟一致,有助于副本组精确产生与源资源组在分离时刻所包含数据一致的数据。
步骤301:源资源组响应于用户发起的一致性组分离操作,向副本组发送用于启用IO日志卷的启用通知。
步骤302:副本组在接收到该启用通知后,启用IO日志卷,并将在启用IO日志卷后接收到的来自于源资源组的写IO请求携带的数据写入至该IO日志卷、以及在启用IO日志卷后向源资源返回针对该启用通知的成功响应消息。
副本组在接收到该启用通知后,可启用IO日志卷,并向源资源组返回针对该启用通知的成功响应消息。
副本组在启用该IO日志卷后,可将在启用该IO日志卷后接收到的来自于源资源组中的写IO请求写入至该IO日志卷,而不再写入至副本组的副本LUN中。
具体地,在启用该IO日志卷后,若副本组接收到写IO请求,则不将该写IO请求写入至该写IO请求对应的副本LUN中,而是副本组将写IO请求携带的数据写入至IO日志卷的IO数据区,并在该IO日志卷的IO管理区生成该写IO请求的写IO管理表项。该生成的写IO管理表项记录了写IO请求携带数据的写入时刻、写入数据在IO数据区的位置、写IO请求的大小、写IO请求针对的LUN等信息。
还需要说明的是,副本组在启用该IO日志卷后接收到的写IO请求可以是源资源组在该副本组启用该IO日志卷后至接收到副本组返回的成功响应消息这段时间内同步给副本组的写IO请求,也可以是源资源组在依次切断源资源组中各LUN的数据同步时,源资源组中还未被切断数据同步的LUN发送的写IO请求。
这里只是对在启用该IO日志卷后接收到的写IO请求进行示例性地说明,不进行具体地限定。
步骤303:源资源组在接收到该成功响应消息后,可将接收到该成功响应消息的时刻作为分离时刻。
步骤304:源资源组一次切断源资源组的各LUN与该LUN对应的副本LUN之间的数据同步。
步骤305:在切断所述源资源组中所有LUN的数据同步后,向所述副本组发送恢复通知。该恢复通知中携带有分离时刻。
步骤306:副本组在接收到源资源组发送的恢复通知后,依据所述恢复通知中携带的分离时刻以及所述IO日志卷,将本副本组中的数据恢复成源资源组在分离时刻时的数据。
在实现时,副本组在接收到源资源组发送的恢复通知后,可获取该恢复通知中携带的分离时刻。
副本组可在所述IO日志卷中,查找写入时刻在该分离时刻之前的数据,并将该数据下发至于该数据所属的LUN中。
具体地,副本组可在IO日志卷的IO管理区,查找写入时刻在该分离时刻前的写IO管理表项。
针对每一个查找到的写IO管理表项,副本组可依据该写IO管理表项记载的位置,在IO日志卷的IO数据区读取该写IO管理表项对应的数据,并将数据写入按照写入时间顺序依次下发给该写IO管理表项记录LUN中。
副本组可将IO日志卷中写入时刻在该分离时刻之后的IO管理表项和该IO管理表项对应的数据删除。
此外,副本可在接收到该恢复通知后,禁用IO日志卷。在该禁用IO日志卷后,若副本组接收到来自于源资源组的写IO请求,则将写IO请求携带的数据写入至副本组中,而不写入该IO日志卷。
例如,假设源资源组中包括两个LUN,分别为LUN11和LUN12。
副本组中包括两个LUN,分别为LUN21和LUN22。
LUN21是LUN11的副本,LUN22是LUN12的副本。
LUN21和LUN22共用一个IO日志卷。假设分离时刻为8:00:00
假设从启用IO日志卷到副本组接收到恢复通知时IO日志卷入图4所示。
如图4所示,IO日志卷的管理区包括3个写IO管理表项,分别为写IO管理表项1、写IO管理表项2和写IO管理表项3。
写IO管理表项1中记录了:写IO请求1对应的LUN标识(即LUN1),写IO请求1中携带的数据1的写入时刻(即7:59:58)、数据1在数据区的存储位置(即位置1),以及其他相关信息,这里不具体限定。
写IO管理表项2中记录了:写IO请求2对应的LUN标识(即LUN2),写IO请求2中携带的数据2的写入时刻(即7:59:59)、数据2在数据区的存储位置(即位置2),以及其他相关信息,这里不具体限定。
写IO管理表项3中记录了:写IO请求3对应的LUN标识(即LUN2),写IO请求3中携带的数据3的写入时刻(即8:00:01)、数据3在数据区的存储位置(即位置3),以及其他相关信息,这里不具体限定。
当副本组接收到源资源组发送的恢复通知后,获取该恢复通知中携带的分离时刻(即8:00:00)。
然后,副本组可在IO日志卷的管理区中查找写入时刻在该分离时刻之前的写IO管理表项(即写IO管理表项1和写IO管理表项2)
针对写IO管理表项1,副本组可基于该写IO管理表项1记载的位置1,在数据区中找到数据1,然后将数据1下发给该写IO管理表项1记载的LUN1中。
同理,副本组可将数据2下发给LUN2。
副本组可将写入时刻在该分离时刻之后的写IO管理表项(即写IO管理表项3)以及数据3从该IO日志卷中删除。
此外,副本组在接收到恢复通知后,还可禁用IO日志卷。
由上述描述可知,一方面,源资源组在执行一致性分离操作时,不需要挂起前端写IO请求,而是将前端写IO请求同步给副本组,以使副本组不将该写IO请求写入本地而是将该写IO请求写入IO日志卷。在执行一致性组分离结束后,将分离时刻发送给副本组,以使副本组从该IO日志卷中找到写入时刻在该分离时刻前的数据,并将数据恢复到副本组中的各个LUN上,使得副本组中的数据与源资源组中在分离时刻的数据一致。
另一方面,由于源资源组中在执行一致性组分离操作时,无需挂起前端IO流量,所以不会产生前端业务时延,满足时延敏感性业务的需求。
参见图5,图5是本申请一示例性实施例示出的一种一致性组分离装置的框图。所述装置应用于源资源组,所述源资源组对应有副本组,所述源资源组中的各LUN与所述副本组中的各副本LUN一一对应,所述副本组被配置了IO日志卷,所述装置包括:
发送单元501,用于响应于用户发起的一致性组分离操作,向副本组发送用于启用IO日志卷的启用通知,以使所述副本组启用所述IO日志卷,并将启用该IO日志卷后的接收到的来自于源资源组的写IO请求携带数据写入该IO日志卷;
接收单元502,用于接收所述副本组返回的针对所述启用通知的成功响应消息,并将接收到该成功响应消息的时刻作为分离时刻;
分离单元503,用于依次切断所述源资源组的各LUN与该LUN对应的副本LUN之间的数据同步;
恢复单元504,用于在切断所述源资源组中所有LUN的数据同步后,向所述副本组发送恢复通知,以使该副本组基于该恢复通知中携带的分离时刻、所述IO日志卷,将所述副本组中的数据恢复成源资源组在分离时刻所包含的数据。
可选的,所述源资源组中各LUN所在的存储设备、以及所述副本组中各LUN所在的存储设备预进行了时钟同步处理。
参见图6,图6是本申请一示例性实施例示出的另一种一致性组分离装置的框图。
所述装置应用于副本组,所述副本组对应有源资源组,所述源资源组中的各LUN与所述副本组中的各副本LUN一一对应,所述副本组被配置了IO日志卷,所述装置包括:
启用单元601,用于在接收到源资源组发送的用于启用IO日志卷的启用通知后,启用IO日志卷,并在启用IO日志卷后,将源资源组同步的写IO请求携带的数据写入至所述IO日志卷、以及向源资源组返回针对该启用通知的成功响应消息;
恢复单元602,用于在接收到源资源组发送的恢复通知后,依据所述恢复通知中携带的分离时刻以及所述IO日志卷,将所述副本组中的数据恢复成源资源组在分离时刻时的数据。
可选的,所述IO日志卷包括:数据、数据所属LUN的LUN标识、数据写入IO日志卷的写入时刻;
所述恢复单元602,在依据所述恢复通知中携带的分离时刻以及所述IO日志卷,将所述副本组中的数据恢复成源资源组在分离时刻时的数据时,具体用于在所述IO日志卷中,查找写入时刻在该分离时刻之前的数据,并将该数据下发给该数据所属的LUN。
可选的,所述装置还包括:
删除单元603,用于将写入时刻在该分离时刻之后的数据从所述IO日志卷删除;
禁用单元604,用于禁用所述IO日志卷。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (10)
1.一种一致性组分离方法,其特征在于,所述方法应用于源资源组,所述源资源组对应有副本组,所述源资源组中的各LUN与所述副本组中的各副本LUN一一对应,所述副本组被配置了IO日志卷,所述方法包括:
响应于用户发起的一致性组分离操作,向副本组发送用于启用IO日志卷的启用通知,以使所述副本组启用所述IO日志卷,并将启用该IO日志卷后的接收到的来自于源资源组的写IO请求携带数据写入该IO日志卷;
接收所述副本组返回的针对所述启用通知的成功响应消息,并将接收到该成功响应消息的时刻作为分离时刻;
依次切断所述源资源组的各LUN与该LUN对应的副本LUN之间的数据同步;
在切断所述源资源组中所有LUN的数据同步后,向所述副本组发送恢复通知,以使该副本组基于该恢复通知中携带的分离时刻和所述副本组上配置的所述IO日志卷,将所述副本组中的数据恢复成源资源组在分离时刻所包含的数据。
2.根据权利要求1所述的方法,其特征在于,所述源资源组中各LUN所在的存储设备、以及所述副本组中各LUN所在的存储设备预进行了时钟同步处理。
3.一种一致性组分离方法,其特征在于,所述方法应用于副本组,所述副本组对应有源资源组,所述源资源组中的各LUN与所述副本组中的各副本LUN一一对应,所述副本组被配置了IO日志卷,所述方法包括:
在接收到源资源组发送的用于启用IO日志卷的启用通知后,启用IO日志卷,并在启用IO日志卷后,将源资源组同步的写IO请求携带的数据写入至所述IO日志卷、以及向源资源组返回针对该启用通知的成功响应消息;所述启用通知是所述源资源组响应于用户发起的一致性组分离操作发送的;
在接收到源资源组发送的恢复通知后,依据所述恢复通知中携带的分离时刻以及所述副本组上配置的所述IO日志卷,将所述副本组中的数据恢复成源资源组在分离时刻时的数据;
所述分离时刻为所述源资源组接收到所述成功响应消息的时刻;
所述恢复通知是所述源资源组在切断所述源资源组中所有LUN与其对应的副本LUN之间的数据同步后发送的。
4.根据权利要求3所述的方法,其特征在于,所述IO日志卷包括:数据、数据所属LUN的LUN标识、数据写入IO日志卷的写入时刻;
所述依据所述恢复通知中携带的分离时刻以及所述副本组上配置的所述IO日志卷,将所述副本组中的数据恢复成源资源组在分离时刻时的数据,包括:
在所述IO日志卷中,查找写入时刻在该分离时刻之前的数据,并将该数据下发给该数据所属的LUN。
5.根据权利要求4所述的方法,其特征在于,在接收到源资源组发送的恢复通知后,所述方法还包括:
将写入时刻在该分离时刻之后的数据从所述IO日志卷删除,并禁用所述IO日志卷。
6.一种一致性组分离装置,其特征在于,所述装置应用于源资源组,所述源资源组对应有副本组,所述源资源组中的各LUN与所述副本组中的各副本LUN一一对应,所述副本组被配置了IO日志卷,所述装置包括:
发送单元,用于响应于用户发起的一致性组分离操作,向副本组发送用于启用IO日志卷的启用通知,以使所述副本组启用所述IO日志卷,并将启用该IO日志卷后的接收到的来自于源资源组的写IO请求携带数据写入该IO日志卷;
接收单元,用于接收所述副本组返回的针对所述启用通知的成功响应消息,并将接收到该成功响应消息的时刻作为分离时刻;
分离单元,用于依次切断所述源资源组的各LUN与该LUN对应的副本LUN之间的数据同步;
恢复单元,用于在切断所述源资源组中所有LUN的数据同步后,向所述副本组发送恢复通知,以使该副本组基于该恢复通知中携带的分离时刻和所述副本组上配置的所述IO日志卷,将所述副本组中的数据恢复成源资源组在分离时刻所包含的数据。
7.根据权利要求6所述的装置,其特征在于,所述源资源组中各LUN所在的存储设备、以及所述副本组中各LUN所在的存储设备预进行了时钟同步处理。
8.一种一致性组分离装置,其特征在于,所述装置应用于副本组,所述副本组对应有源资源组,所述源资源组中的各LUN与所述副本组中的各副本LUN一一对应,所述副本组被配置了IO日志卷,所述装置包括:
启用单元,用于在接收到源资源组发送的用于启用IO日志卷的启用通知后,启用IO日志卷,并在启用IO日志卷后,将源资源组同步的写IO请求携带的数据写入至所述IO日志卷、以及向源资源组返回针对该启用通知的成功响应消息;所述启用通知是所述源资源组响应于用户发起的一致性组分离操作发送的;
恢复单元,用于在接收到源资源组发送的恢复通知后,依据所述恢复通知中携带的分离时刻以及所述副本组上配置的所述IO日志卷,将所述副本组中的数据恢复成源资源组在分离时刻时的数据;
所述分离时刻为所述源资源组接收到所述成功响应消息的时刻;
所述恢复通知是所述源资源组在切断所述源资源组中所有LUN与其对应的副本LUN之间的数据同步后发送的。
9.根据权利要求8所述的装置,其特征在于,所述IO日志卷包括:数据、数据所属LUN的LUN标识、数据写入IO日志卷的写入时刻;
所述恢复单元,在依据所述恢复通知中携带的分离时刻以及所述副本组上配置的所述IO日志卷,将所述副本组中的数据恢复成源资源组在分离时刻时的数据时,具体用于在所述IO日志卷中,查找写入时刻在该分离时刻之前的数据,并将该数据下发给该数据所属的LUN。
10.根据权利要求9所述的装置,其特征在于,所述装置还包括:
删除单元,用于将写入时刻在该分离时刻之后的数据从所述IO日志卷删除;
禁用单元,用于禁用所述IO日志卷。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811611349.3A CN109710464B (zh) | 2018-12-27 | 2018-12-27 | 一种一致性组分离方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811611349.3A CN109710464B (zh) | 2018-12-27 | 2018-12-27 | 一种一致性组分离方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109710464A CN109710464A (zh) | 2019-05-03 |
CN109710464B true CN109710464B (zh) | 2021-02-09 |
Family
ID=66257776
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811611349.3A Active CN109710464B (zh) | 2018-12-27 | 2018-12-27 | 一种一致性组分离方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109710464B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1925672A (zh) * | 2005-08-30 | 2007-03-07 | 华为技术有限公司 | 服务通用分组无线业务支持节点池内转移用户终端的方法 |
CN104461776A (zh) * | 2014-11-26 | 2015-03-25 | 上海爱数软件有限公司 | 基于CDP和iSCSI虚拟磁盘技术的应用容灾方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11151164B2 (en) * | 2013-03-13 | 2021-10-19 | International Business Machines Corporation | Replication group partitioning |
US9858305B2 (en) * | 2014-03-06 | 2018-01-02 | International Business Machines Corporation | Restoring database consistency integrity |
US10235196B1 (en) * | 2015-12-28 | 2019-03-19 | EMC IP Holding Company LLC | Virtual machine joining or separating |
CN106502823A (zh) * | 2016-09-29 | 2017-03-15 | 北京许继电气有限公司 | 数据云备份方法和系统 |
CN108762984B (zh) * | 2018-05-23 | 2021-05-25 | 杭州宏杉科技股份有限公司 | 一种连续性数据备份的方法及装置 |
-
2018
- 2018-12-27 CN CN201811611349.3A patent/CN109710464B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1925672A (zh) * | 2005-08-30 | 2007-03-07 | 华为技术有限公司 | 服务通用分组无线业务支持节点池内转移用户终端的方法 |
CN104461776A (zh) * | 2014-11-26 | 2015-03-25 | 上海爱数软件有限公司 | 基于CDP和iSCSI虚拟磁盘技术的应用容灾方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109710464A (zh) | 2019-05-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3754514B1 (en) | Distributed database cluster system, data synchronization method and storage medium | |
US10565071B2 (en) | Smart data replication recoverer | |
KR101662212B1 (ko) | 부분동기화 지원 데이터베이스 관리 시스템 및 데이터베이스 관리 시스템에서 부분동기화 방법 | |
US5577222A (en) | System for asynchronously duplexing remote data by sending DASD data grouped as a unit periodically established by checkpoint based upon the latest time value | |
CN103473277B (zh) | 文件系统的快照方法和装置 | |
JP4668763B2 (ja) | ストレージ装置のリストア方法及びストレージ装置 | |
CN101808127B (zh) | 数据备份方法、系统和服务器 | |
CN101808137B (zh) | 数据传输方法、装置和系统 | |
WO2014101409A1 (zh) | 一种数据备份方法及相关设备、系统 | |
WO2020063600A1 (zh) | 数据容灾方法与站点 | |
CN105677673B (zh) | 业务处理方法、装置及系统 | |
CN108762984B (zh) | 一种连续性数据备份的方法及装置 | |
CN105574109A (zh) | 一种数据库同步方法、同步设备及系统 | |
CN104346373A (zh) | 分区日志队列同步管理方法及设备 | |
CN103530362A (zh) | 一种用于多副本分布式系统的计算机数据读写方法 | |
CN106709066B (zh) | 数据同步方法及装置 | |
CN106817387A (zh) | 一种数据同步方法、装置和系统 | |
EP1131756B1 (en) | Protocol for synchronizing parallel processors in a mobile communications system | |
CN104281631A (zh) | 分布式数据库系统及其数据同步方法和节点 | |
CN106855869B (zh) | 一种实现数据库高可用的方法、装置和系统 | |
EP4300314A2 (en) | Data backup method, apparatus and system | |
CN114051036A (zh) | 轨道交通信号系统数据同步方法、装置、设备及存储介质 | |
CN109710464B (zh) | 一种一致性组分离方法及装置 | |
CN109960602A (zh) | 信息管理方法、装置、设备及介质 | |
CN107888430B (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 |