一种存储数据的复制方法、设备及系统的制作方法
【专利摘要】本发明公开了一种存储数据的复制方法、设备及系统,属于数据存储领域。所述方法包括:在第一存储装置中创建第一存储装置的;在复制周期开始时,将所述主卷的数据复制到所述副本;将所述副本的数据发送到所述第二存储装置,以将所述副本的数据复制到所述第二存储装置的从卷。本发明通过在第一存储装置中创建主卷的副本,在每个复制周期开始时,将主卷的数据复制到副本上,然后再将副本的数据复制到第二存储装置中,不需在复制过程中对主卷生成快照,因此也无需对主卷收到的写IO数据进行COW或ROW的处理,避免了写IO数据的处理时延,提升了存储数据的复制系统的性能。
【专利说明】一种存储数据的复制方法、设备及系统
【技术领域】
[0001]本发明涉及数据存储领域,特别涉及一种存储数据的复制方法、设备及系统。
【背景技术】
[0002]全球性企业需要在发生自然或人为灾难、操作员出错或是技术和应用出现故障的情况下,保护数据并快速进行恢复,因此需要一种有效的存储数据的复制方法、设备及系统将数据发布到远程位置。如果没有有效的数据保护和发布策略,运作过程可能会被迫中断,导致大量的收入损失。容灾系统(即存储数据的复制系统)正是以上挑战的解决方案。
[0003]现有的容灾系统中一种典型的存储数据的复制方法请参阅图1,主机向第一存储装置(生产阵列)中的主卷写入数据后,该数据会被复制到第二存储装置(灾备阵列)中的从卷:每个复制周期开始时,第一存储装置会产生一个复制任务,该任务将前一个复制周期内写入主卷的数据复制到从卷。在复制的过程中需要分别对主卷及从卷生成快照,在复制完成后再将生成的快照删除。
[0004]在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
[0005]在每个复制周期,对主卷生成快照后,快照为了保持周期开始时主卷的数据状态,主卷收到的写IO (Input/Output,输入输出)数据,需要进行COW (Copy-On-Write,写前拷贝)或者ROW (Redirect-On-Write,写重定向)的处理。以COW为例,需要先将即将写入的地址的旧数据读出来,保存到新的存储空间,并记录索引关系以便快照能够查询到,然后将当前的写IO数据写入。这种处理严重增加了写IO数据的处理时延,影响存储数据的复制系统的性能。
【发明内容】
[0006]为了解决现有技术的问题,本发明实施例提供了一种存储数据的复制方法、设备及系统。所述技术方案如下:
[0007]第一方面,提供了一种存储数据的复制方法,所述方法包括:在第一存储装置中创建所述第一存储装置的主卷的副本,建立所述主卷到所述副本及所述副本到第二存储装置的从卷的复制关系;在复制周期开始时,将所述主卷的数据复制到所述副本;将所述副本的数据发送到所述第二存储装置,以将所述副本的数据复制到所述第二存储装置的从卷。
[0008]结合第一方面,在第一方面的第一种可能的实现方式中,所述将所述主卷的数据复制到所述副本,包括:将所述副本与所述从卷之间的状态设置为分裂,将所述主卷与所述副本之间的状态设置为复制;根据所述主卷的第一差异位图确定所述主卷的增量数据;根据所述主卷的增量数据更新所述副本中的数据,并根据所述更新对所述副本的第二差异位图进行标记。
[0009]结合第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述将所述主卷与所述副本之间的状态设置为复制之后,所述方法还包括:接收主机的写输入输出IO数据;将所述写IO数据写到所述主卷和所述副本,并根据所述写IO数据标记所述第一差异位图和第二差异位图。
[0010]结合第一方面的第一种或第二种可能的实现方式,在第一方面的第三种可能的实现方式中,所述将所述副本的数据发送到所述第二存储装置,包括:将所述主卷与所述副本之间的状态设置为分裂,将所述副本与所述从卷之间的状态设置为复制;根据所述第二差异位图确定所述副本的增量数据;将所述副本的增量数据发送给所述第二存储装置,以使所述第二存储装置根据所述增量数据更新所述从卷中的数据。
[0011]结合第一方面的第三种可能的实现方式,在第一方面的第四种可能的实现方式中,所述将所述主卷与所述副本之间的状态设置为分裂之后,所述方法还包括:接收所述主机的写IO数据;将所述写IO数据写到所述主卷中,并根据所述写IO数据对所述第一差异位图进行标记。
[0012]结合第一方面的第三种可能的实现方式,在第一方面的第五种可能的实现方式中,所述将所述副本的数据发送到所述第二存储装置之后,所述方法还包括:将所述副本与所述从卷之间的状态设置为分裂。
[0013]结合第一方面的第五种可能的实现方式,在第一方面的第六种可能的实现方式中,所述创建副本,包括:建立与所述主卷大小相同的数据卷,将所述数据卷设为所述主卷的副本。
[0014]第二方面,提供一种存储数据的复制的方法,所述方法包括接收第一存储装置发送的副本的数据,所述副本的数据为复制周期开始时所述第一存储装置复制的主卷的数据;根据所述数据更新从卷的数据;其中,所述主卷及所述副本设于所述第一存储装置中,所述从卷设于所述第二装置中。
[0015]结合第二方面,在第二方面的第一种可能的实现方式中,所述接收第一存储装置发送的副本的数据,包括:接收所述第一存储装置发送的所述副本的增量数据;所述根据所述数据更新所述从卷的数据,包括:根据所述增量数据更新所述从卷的数据。
[0016]结合第二方面或第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,在所述复制周期开始时,所述方法还包括:生成所述从卷的快照;所述根据所述数据更新从卷的数据之后,所述方法还包括:删除所述快照。
[0017]第三方面,提供了 一种存储数据的复制的第一存储装置,所述装置包括:副本创建单元,用于在第一存储装置中创建第一存储装置的主卷的副本;第一复制单元,用于在复制周期开始时,将所述主卷的数据复制到所述副本;发送单元,用于在所述第一复制单元将所述主卷的数据复制到所述副本后,将所述副本的数据发送到所述第二存储装置,以将所述副本的数据复制到所述第二存储单元的从卷。
[0018]结合第三方面,在第三方面的第一种可能的实现方式中,所述第一复制单元,包括:第一状态设置模块,用于将所述副本与所述从卷之间的状态设置为分裂,以及将所述主卷与所述副本之间的状态设置为复制;第一增量确定模块,用于在所述第一状态设置模块将所述副本与所述从卷之间的状态设置为分裂之后,根据所述主卷的第一差异位图确定所述主卷的增量数据;更新模块,用于在所述增量数据确定模块确定所述主卷的增量数据之后,根据所述主卷的增量数据更新所述副本中的数据,并根据所述更新对所述副本的第二差异位图进行标记。
[0019]结合第三方面的第一种可能实现的方式,在第三方面的第二种可能的实现方式中,所述装置还包括:接收单元,用于在所述第一状态设置模块将所述主卷与所述副本之间的状态设置为复制之后,接收主机的写输入输出IO数据;数据写入单元,用于将所述接收单元接收的写IO数据写到所述主卷和所述副本中,并根据所述写IO数据对所述第一差异位图和第二差异位图进行标记。
[0020]结合第三方面的第一种或第二种可能实现的方式,在第三方面的第三种可能的实现方式中,所述发送单元包括:第二状态设置模块,用于将所述主卷与所述副本之间的状态设置为分裂,以及将所述副本与所述从卷之间的状态设置为复制;第二增量确定模块,用于在所述第二状态设置模块将所述主卷与所述副本之间的状态设置为分裂之后,根据所述第二差异位图确定所述副本的增量数据;增量发送模块,用于在所述第二增量确定模块确定所述副本的增量数据之后,将所述副本的增量数据发送给所述第二存储装置,以使所述第二存储装置根据所述增量数据更新所述从卷中的数据。
[0021]结合第三方面的第三种可能实现的方式,在第三方面的第四种可能的实现方式中,所述接收单元,还用于在将所述第二状态设置模块将所述主卷与所述副本之间的状态设置为分裂之后,接收所述主机的写IO数据;所述数据写入单元,还用于将所述接收单元接收的写IO数据写到所述主卷,并根据所述写IO数据对所述第一差异位图进行标记。
[0022]结合第三方面的第三种可能实现的方式,在第三方面的第五种可能的实现方式中,所述第二状态设置模块,还用于在所述发送单元将所述副本的数据发送到所述第二存储装置中之后,将所述副本与所述从卷之间的状态设置为分裂。
[0023]结合第三方面的第五种可能实现的方式,在第三方面的第六种可能的实现方式中,所述副本创建单元,还用于创建与所述主卷大小相同的数据卷,将所述数据卷设为所述主卷的副本。
[0024]第四方面,提供一种存储数据的复制的第二存储装置,所述装置包括:接收单元,用于接收第一存储装置发送的副本的数据,所述副本的数据为复制周期开始时所述第一存储装置复制的主卷的数据;更新单元,用于根据所述接收单元接收的数据更新所述从卷的数据;其中,所述主卷及所述副本设于所述第一存储装置中,所述从卷设于所述第二装置中。
[0025]结合第四方面,在第四方面的第一种可能的实现方式中,所述接收单元,还用于接收所述第一存储装置发送的所述副本的增量数据;所述更新单元,还用于根据所述接收单元接收的增量数据更新所述从卷的数据。
[0026]结合第四方面或第四方面的第一种可能实现的方式,在第四方面的第二种可能的实现方式中,所述装置还包括:快照单元,用于在所述复制周期开始时,生成从卷的快照;删除单元,用于在所述更新单元更新所述从卷的数据之后,删除所述快照单元生成的快照。
[0027]第五方面,提供一种存储数据的复制的第一存储装置,所述装置包括:处理器,在第一存储装置中创建所述第一存储装置的主卷的副本;以及用于在复制周期开始时,将所述主卷的数据复制到所述副本中;发送机,用于在所述处理器将所述主卷的数据复制到所述副本之后,将所述副本的数据发送给第二存储装置,以将所述副本的数据复制到所述第二存储装置的从卷。
[0028]结合第五方面,在第五方面的第一种可能的实现方式中,所述处理器,还用于将所述副本与所述从卷之间的状态设置为分裂将所述副本与所述从卷之间的状态设置为分裂,以及将所述主卷与所述副本之间的状态设置为复制,然后根据所述主卷的第一差异位图确定所述主卷的增量数据;以及用于根据所述主卷的增量数据更新所述副本中的数据,并根据所述更新对所述副本的第二差异位图进行标记。
[0029]结合第五方面的第一种可能的实现方式,在第五方面的第二种可能的实现方式中,所述装置还包括:接收机,用于在所述处理器将所述主卷与所述副本之间的状态设置为复制之后,接收主机的写输入输出IO数据;所述处理器,还用于将所述接收单元接收的写IO数据写到所述主卷和所述副本中,并根据所述写IO数据对所述第一差异位图和第二差异位图进行标记。
[0030]结合第五方面的第一种或第二种可能的实现方式,在第五方面的第三种可能的实现方式中,所述处理器,还用于将所述主卷与所述副本之间的状态设置为分裂,以及将所述副本与所述从卷之间的状态设置为复制,然后根据所述第二差异位图确定所述副本的增量数据;所述发送机,还用于在所述处理器确定所述副本的增量数据之后,将所述副本的增量数据发送给所述第二存储装置,以使所述第二存储装置根据所述增量数据更新所述从卷中的数据。
[0031]结合第五方面的第三种可能的实现方式,在第五方面的第四种可能的实现方式中,所述接收机,还用于在所述处理器将所述主卷与所述副本的状态设置为分裂后,接收所述主机的写IO数据;所述处理器,还用于将所述接收机接收的写IO数据写入到所述主卷中,并根据所述写IO数据对所述第一差异位图进行标记。
[0032]结合第五方面的第三种可能的实现方式,在第五方面的第五种可能的实现方式中,所述处理器,还用于在所述发送机将所述副本的数据发送到所述第二存储装置之后,将所述副本与所述从卷之间的状态设置为分裂。
[0033]结合第五方面的第五种可能的实现方式,在第五方面的第六种可能的实现方式中,所述处理器,还用于创建与所述主卷大小相同的数据卷,将所述与所述数据卷设为所述主卷的副本。
[0034]第六方面,提供一种存储数据的复制的第二存储装置,所述装置包括:接收机,用于接收第一存储装置发送的副本的数据,所述副本的数据为复制周期开始时所述第一存储装置复制的主卷的数据;处理机,用于根据所述接收机接收的数据更新所述从卷的数据;其中,所述主卷及所述副本设于所述第一存储装置中,所述从卷设于第二装置中。
[0035]结合第六方面,在第六方面的第七种可能的实现方式中,所述接收机,还用于接收所述第一存储装置发送的所述副本的增量数据;所述处理器,还用于根据所述接收机接收的增量数据更新所述从卷的数据。
[0036]结合第六方面或第六方面的第一种可能实现的方式,在第六方面的第二种可能的实现方式中,所述处理器,还用于在所述复制周期开始时,生成所述从卷的快照;以及用于在所述根据所述数据更新从卷的数据之后,删除所述快照。
[0037]第七方面,提供一种存储数据的复制系统,所述系统包括:第三方面或第五方面任一项所述的第一存储装置,所述第一存储装置用于接收主机发送的写IO数据,以及用于将主卷的数据复制到副本,并将副本的数据发送到第二存储装置;第四方面或第六方面任一项所述的第二存储装置,用于接收所述第一存储装置发送的所述副本的数据,根据所述数据更新从卷的数据;所述主机,用于将写IO数据发到所述第一存储装置。[0038]本发明实施例提供的技术方案带来的有益效果是:
[0039]通过在第一存储装置中创建一个副本,在每个复制周期开始时,将主卷的数据复制到所述副本上,然后再将所述副本的数据复制到第二存储装置的从卷中,不需在复制过程中对所述主卷生成快照,因此也无需对所述主卷收到的写IO数据进行COW或ROW的处理,避免了写IO数据的处理时延,增强了存储数据的复制系统的性能。
【专利附图】
【附图说明】
[0040]为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0041]图1是现有技术的存储数据的复制系统实现存储数据的复制的示意图;
[0042]图2是本发明实施例一提供的存储数据的复制方法的流程图;
[0043]图3是本发明实施例一的方法中第一存储装置与第二存储装置的复制关系示意图;
[0044]图4是本发明实施例一的方法中主卷数据复制到副本的示意图;
[0045]图5是本发明实施例一的方法中副本数据复制到从卷的示意图;
[0046]图6是本发明实施例二提供的存储数据的复制方法的流程图;
[0047]图7是本发明实施例三提供的存储数据的复制方法的流程图;
[0048]图8是本发明实施例四提供的第一存储装置的结构示意图;
[0049]图9是本发明实施例五提供的第二存储装置的结构示意图;
[0050]图10是本发明实施例六提供的存储数据的复制系统的结构示意图;
[0051]图11是本发明实施例七提供的第一存储装置的结构示意图;
[0052]图12是本发明实施例八提供的第二存储装置的结构示意图。
【具体实施方式】
[0053]为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
[0054]实施例一
[0055]本实施例提供一种存储数据的复制方法,在本地和异地分别部署第一存储装置和第二存储装置,将第一存储装置中主卷的数据异步复制到第二存储装置的从卷。请参阅图2,该方法流程包括:
[0056]201、在第一存储装置中创建所述第一存储装置的主卷的副本。
[0057]具体的,请参阅图3。其中,第一差异位图用于标记当第一存储装置收到主机的写IO数据并将其存储到主卷时,主卷上数据的更新情况;第二差异位图用于标记当第一存储装置收到主机的写IO数据并将其存储到副本时,或者将主卷的数据复制到副本时,副本上数据的更新情况。
[0058]202、在复制周期开始时,将所述主卷的数据复制到所述副本。
[0059]203、将所述副本的数据发送到所述第二存储装置,以将所述副本的数据复制到所述第二存储装置的从卷。
[0060]进一步的,将所述主卷的数据复制到所述副本,包括:
[0061]将所述副本与所述从卷之间的状态设置为分裂,将所述主卷与所述副本之间的状态设置为复制;
[0062]根据所述主卷的第一差异位图确定所述主卷的增量数据;
[0063]根据所述主卷的增量数据更新所述副本的数据,并根据所述更新对所述副本的第二差异位图进行标记。
[0064]请参阅图4,主卷与副本及副本与从卷之间的状态包括复制与分裂。具体的,复制是指,此时主卷与副本或副本与从卷之间进行数据的复制;分裂是指,此时主卷与副本或副本与从卷之间停止数据的复制。
[0065]具体的,将所述主卷的数据复制到所述副本,可以采用增量复制的方法,增量复制是指先将某个数据卷的所有业务数据拷贝至另一个数据卷上;然后,仅将该数据卷上发生更新的数据拷贝到另一个数据卷上,本说明书中将所述数据卷上发生更新的数据称为增量数据。所述主卷的第一差异位图标记了上一复制周期中,主卷上的数据更新情况,因此根据第一差异位图,能够确定主卷的增量数据。
[0066]具体的,根据所述更新标记所述副本的第二差异位图之后,第二差异位图标记的是本次需要从副本复制到从卷的副本的增量数据。
[0067]具体的,将主卷的数据复制到副本可以使用后台拷贝。
[0068]在本实施例中的第一种场景中,当将所述主卷与所述副本之间的状态设置为复制之后,所述方法还包括:
[0069]接收主机的写输入输出IO数据;
[0070]将所述写IO数据写到所述主卷和所述副本,并根据所述写IO数据对所述第一差异位图和第二差异位图进行标记。
[0071]具体的,将主机的写IO数据同时写到主卷和副本,进行并行处理,对主机写IO的性能影响很小,而且能够保证复制过程中副本的数据与主卷数据的一致性。
[0072]进一步的,所述将所述副本的数据发送到所述第二存储装置,包括:
[0073]将所述主卷与所述副本之间的状态设置为分裂,将所述副本与所述从卷之间的状态设置为复制;
[0074]根据所述第二差异位图确定所述副本的增量数据;
[0075]将所述副本的增量数据发送给所述第二存储装置,以使所述第二存储装置根据所述增量数据更新所述从卷中的数据。
[0076]请参阅图5,将主卷到副本的状态设置为分裂,假设分裂时刻为m时,则副本的数据状态成为分裂时刻m时主卷的数据状态,副本与主卷具备数据一致性。
[0077]在本实施例的第二种场景中,当将所述主卷与所述副本之间的状态设置为分裂之后,所述方法还包括:
[0078]接收所述主机的写IO数据;
[0079]将所述写IO数据写到所述主卷中,并根据所述写IO数据对所述第一差异位图进行标记。
[0080]具体的,当所述主卷与所述副本之间的状态设置为分裂之后,主机的写IO数据只写入主卷,并标记第一差异位图。
[0081]进一步的,将所述副本的数据发送到所述第二存储装置之后,所述方法还包括:
[0082]将所述副本与所述从卷之间的状态设置为分裂。
[0083]具体的,假设将所述副本与所述从卷之间的状态设置为分裂的时刻为n时,从卷的数据状态成为分裂时刻n时副本的数据状态,从卷与副本具备数据一致性,由于副本与主卷具备数据一致性,因此从卷与主卷也具备数据一致性。
[0084]进一步的,所述创建副本,包括:
[0085]建立与所述主卷大小相同的数据卷,将所述数据卷设为所述主卷的副本。
[0086]本实施例提供的存储数据的复制方法,在第一存储装置中创建一个副本,在每个复制周期开始时,将主卷的数据复制到副本上,然后再将副本的数据复制到第二存储装置中,因此不需在复制过程中对主卷生成快照,也无需对主卷收到的写IO数据进行COW或ROW的处理,避免了写IO数据的处理时延,提升了存储数据的复制系统的性能。
[0087]实施例二
[0088]本实施例提供一种存储数据的复制的方法,在本地和异地分别部署第一存储装置和第二存储装置,将第一存储装置中主卷的数据异步复制到第二存储装置的从卷。请参阅图6,该方法流程包括:
[0089]601、接收第一存储装置发送的副本的数据,所述副本的数据为复制周期开始时所述第一存储装置复制的主卷的数据。
[0090]602、根据所述数据更新从卷的数据。
[0091]具体的,所述主卷及所述副本设于所述第一存储装置中,所述从卷设于所述第二装置中。
[0092]请继续参阅图5,当主卷到副本的状态设置为分裂,副本到从卷的状态设置为复制时,接收第一存储装置发送的副本的数据。
[0093]进一步的,接收第一存储装置发送的副本的数据,包括:接收所述第一存储装置发送的所述副本的增量数据;
[0094]所述根据所述数据更新所述从卷的数据,包括:根据所述增量数据更新所述从卷的数据。
[0095]进一步的,在所述复制周期开始时,所述方法还包括:生成所述从卷的快照;所述根据所述数据更新从卷的数据之后,所述方法还包括:删除所述快照。
[0096]具体的,该快照是复制周期开始时从卷的数据状态,此后对从卷的数据进行更新,不会导致快照变化。
[0097]本实施例提供的存储数据的复制方法,直接接收第一存储装置发送的副本的数据,而不是从主卷的快照获取主卷的数据,因此第一存储装置不需在复制过程中对主卷生成快照,因此也无需对主卷收到的写IO数据进行COW或ROW的处理,避免了写IO数据的处理时延,增强了存储数据的复制系统的性能。
[0098]实施例三
[0099]本实施例提供一种存储数据的复制的方法,在本地和异地分别部署第一存储装置和第二存储装置,将第一存储装置中主卷的数据异步复制到第二存储装置的从卷。请一同参阅图3、图4、图5及图7,方法流程包括:[0100]701、在第一存储装置创建一个与主卷大小相同的数据卷作为主卷的副本,建立主卷到副本、副本到从卷的复制关系。
[0101]702、复制周期开始时,第一存储装置设置副本到从卷的状态为分裂,主卷到副本的状态为复制。
[0102]703、第一存储装置根据第一差异位图把数据从主卷增量复制到副本,并对第二差异位图进行标记。
[0103]具体的,根据第一差异位图把数据从主卷增量复制到副本的方法与前述实施例相同,此处不再赘述。
[0104]具 体的,主卷到副本的增量复制,使用后台拷贝。增量复制过程中,如果第一存储装置收到主机的写IO数据,将把收到的写IO数据同时写到主卷和副本,进行并行处理,不仅对主机写IO的性能影响较小,也保证了副本与主卷的数据一致性。
[0105]704、第一存储装置在完成主卷到副本的增量复制后,把主卷到副本的状态设置为分裂,副本到从卷的状态设置为复制。
[0106]705、第二存储装置对从卷生成快照。
[0107]具体的该快照是复制周期开始时从卷的数据状态,此后从卷的数据更新,不会导致快照变化。
[0108]706、第一存储装置根据第二差异位图把副本的增量数据发送给第二存储装置。
[0109]具体的实现本步骤的方法与前述实施例相同,此处不再赘述。
[0110]707、第二存储装置根据所述增量数据更新从卷的数据。
[0111]708、第一存储装置在副本到从卷的复制完成后,把副本到从卷的状态重新置为分
m
^lPC O
[0112]709、第二存储装置删除从卷的快照。
[0113]本实施例提供的存储数据的复制的方法,在第一存储装置中创建一个副本,在每个复制周期开始时,将主卷的数据增量复制到副本上,然后在将副本的数据增量复制到第二存储装置中,不需在复制过程中对主卷生成快照,因此也无需对主卷收到的写IO数据进行COW或ROW的处理,避免了写IO数据的处理时延,提升了存储数据的复制系统的性能。另外,也解决了现有技术中主卷收到写IO数据时,有时需要进行COW或者ROW的处理,有时不需要进行,导致写IO数据的处理时延不同,存在明显的性能波动的问题,提升了用户的使用体验。并且,如果第一存储系统的主卷故障,还可以将业务切换到副本,保证业务的连续。
[0114]实施例四
[0115]参见图8,本发明实施例提供了一种存储数据的复制的第一存储装置装置,该装置包括:
[0116]副本创建单元801,用于在第一存储装置中创建所述第一存储装置的主卷的副本;
[0117]第一复制单元802,用于在复制周期开始时,将所述主卷的数据复制到所述副本;
[0118]发送单元803,用于在所述第一复制单元81将所述主卷的数据复制到所述副本后,将所述副本的数据发送到所述第二存储装置,以将所述副本的数据复制到所述第二存储单元的从卷。
[0119]具体的,所述第一复制单元802,包括:[0120]第一状态设置模块,用于将所述副本与所述从卷之间的状态设置为分裂,以及将所述主卷与所述副本之间的状态设置为复制;
[0121]第一增量确定模块,用于在所述第一状态设置模块将所述副本与所述从卷之间的状态设置为分裂之后,根据所述主卷的第一差异位图确定所述主卷的增量数据;
[0122]更新模块,用于在所述增量数据确定模块确定所述主卷的增量数据之后,根据所述主卷的增量数据更新所述副本中的数据,并根据所述更新对所述副本的第二差异位图进行标记。
[0123]在本实施例的第一种场景中,该第一存储装置还包括:
[0124]接收单元,用于在第一状态设置模块将所述主卷与所述副本之间的状态设置为复制之后,接收主机的写输入输出IO数据;
[0125]数据写入单元,用于将所述接收单元接收的写IO数据写到所述主卷和所述副本中,并根据所述写IO数据对所述第一差异位图和第二差异位图进行标记。
[0126]进一步的,所述发送单元803包括:
[0127]第二状态设置模块,用于将所述主卷与所述副本之间的状态设置为分裂,以及将所述副本与所述从卷之间的状态设置为复制;
[0128]第二增量确定模块,用于在所述第二状态设置模块将所述主卷与所述副本之间的状态设置为分裂之后,根据所述第二差异位图确定所述副本的增量数据;
[0129]增量发送模块,用于在所述第二增量确定模块确定所述副本的增量数据之后,将所述副本的增量数据发送给所述第二存储装置,以使所述第二存储装置根据所述增量数据更新所述从卷中的数据。
[0130]在本实施例的第二种场景中,所述接收单元,还用于在将所述主卷与所述副本之间的状态设置为分裂之后,接收所述主机的写IO数据;
[0131]所述数据写入单元,还用于将所述接收单元接收的写IO数据写入到所述主卷中,并根据所述写IO数据对所述第一差异位图进行标记。
[0132]进一步的,所述第二状态设置模块,还用于在所述发送单元将所述副本的数据发送到所述第二存储装置之后,将所述副本与所述从卷之间的状态设置为分裂。
[0133]进一步的,所述副本创建单元,还用于创建与所述主卷大小相同的数据卷,将所述数据卷设为所述主卷的副本。
[0134]本实施例提供的第一存储装置,在第一存储装置中创建一个副本,在每个复制周期开始时,将主卷的数据复制到副本上,然后再将副本的数据复制到第二存储装置中,不需在复制过程中对主卷生成快照,因此也无需对主卷收到的写IO数据进行COW或ROW的处理,避免了写IO数据的处理时延,增强了存储数据的复制系统的性能。
[0135]实施例五
[0136]本实施例提供了一种存储数据的复制的第二存储装置,请参阅图9,所述第二存储装置包括:
[0137]接收单元901,用于接收第一存储装置发送的副本的数据,所述副本的数据为复制周期开始时所述第一存储装置复制的主卷的数据;
[0138]更新单元902,用于根据所述接收单元901接收的数据更新所述从卷的数据;
[0139]具体的,所述主卷及所述副本设于所述第一存储装置中,所述从卷设于所述第二装置中。
[0140]进一步的,所述接收单元901,还用于接收所述第一存储装置发送的所述副本的增
量数据;
[0141]所述更新单元902,还用于根据所述接收单元901接收的增量数据更新所述从卷的数据。
[0142]进一步的,所述装置还包括:
[0143]快照单元,用于在所述复制周期开始时,生成从卷的快照;
[0144]删除单元,用于在所述更新单元更新所述从卷的数据之后,删除所述快照单元生成的快照。
[0145]本实施例提供的第二存储装置,直接接收第一存储装置发送的副本的数据,而不是从主卷的快照获取主卷的数据,因此第一存储装置不需在复制过程中对主卷生成快照,因此也无需对主卷收到的写IO数据进行COW或ROW的处理,避免了写IO数据的处理时延,增强了存储数据的复制系统的性能。
[0146]实施例六
[0147]本实施例提供了一种存储数据的复制系统,请参阅图10,所述存储数据的复制系统包括:
[0148]第一存储装置101,用于接收主机103的写IO数据,以及用于将主卷的数据复制到副本,然后将副本的数据发送到第二存储装置102,以实现副本的数据到第二存储装置的从卷的复制。第一存储装置101的结构与前述实施例相同,此处不再赘述。
[0149]第二存储装置102,用于接收第一存储装置101发送的副本的数据,根据所述数据更新从卷的数据。第二存储装置102的结构与前述实施例相同,此处不再赘述。
[0150]主机103,用于将所述写IO数据发到第一存储装置101。
[0151]本实施例提供的存储数据的复制系统,在第一存储装置中创建一个副本,在每个复制周期中,将主卷的数据复制到副本上,然后再将副本的数据复制到第二存储装置中,不需在复制过程中对主卷生成快照,因此也无需对主卷收到的写IO数据进行COW或ROW的处理,避免了写IO数据的处理时延,提升了存储数据的复制系统的性能。另外,也解决了现有技术中主卷收到写IO数据时,有时需要进行COW或者ROW的处理,有时不需要进行,导致写IO数据的处理时延不同,存在明显的性能波动的问题,提升了用户的使用体验。并且,如果第一存储系统的主卷故障,还可以将业务切换到副本,保证业务的连续。
[0152]实施例七
[0153]本实施例提供一种存储数据的复制的第一存储装置,请参阅11,所述第一存储装置包括:
[0154]处理器111,用于在第一存储装置中创建所述第一存储装置的主卷的副本;以及用于在复制周期开始时,将所述主卷的数据复制到所述副本中;
[0155]发送机112,用于在所述处理器111将所述主卷的数据复制到所述副本之后,将所述副本的数据发送给第二存储装置,以将所述副本的数据复制到所述第二存储装置的从卷。
[0156]进一步的,所述处理器,还用于将所述副本与所述从卷之间的状态设置为分裂将所述副本与所述从卷之间的状态设置为分裂,以及将所述主卷与所述副本之间的状态设置为复制,然后根据所述主卷的第一差异位图确定所述主卷的增量数据;以及用于根据所述主卷的增量数据更新所述副本中的数据,并根据所述更新对所述副本的第二差异位图进行标记。
[0157]在本实施例中的第一种场景中,所述第一存储装置还包括:
[0158]接收机,用于在所述处理器将所述主卷与所述副本之间的状态设置为复制之后,接收主机的写输入输出IO数据;
[0159]所述处理器111,还用于将所述接收单元接收的写IO数据写到所述主卷和所述副本中,并根据所述写IO数据对所述第一差异位图和第二差异位图进行标记。
[0160]进一步的,所述处理器111,还用于将所述主卷与所述副本之间的状态设置为分裂,以及将所述副本与所述从卷之间的状态设置为复制,然后根据所述第二差异位图确定所述副本的增量数据;
[0161]所述发送机112,还用于在所述处理器111确定所述副本的增量数据之后,将所述副本的增量数据发送给所述第二存储装置,以使所述第二存储装置根据所述增量数据更新所述从卷中的数据。
[0162]在本实施例的第二种可能的场景中,所述接收机,还用于在所述处理器111将所述主卷与所述副本的状态设置为分裂之后,接收所述主机的写IO数据;
[0163]所述处理器111,还用于将所述接收机接收的写IO数据写到所述主卷,并根据所述写IO数据对所述第一差异位图进行标记。
[0164]进一步的,所述处理器111,还用于在所述发送机112将所述副本的数据发送到所述第二存储装置之后,将所述副本与所述从卷之间的状态设置为分裂。
[0165]进一步的,所述处理器111,还用于创建与所述主卷大小相同的数据卷,将所述与所述数据卷设为所述主卷的副本。
[0166]本实施例的第一存储装置,在第一存储装置中创建一个副本,在每个复制周期开始时,将主卷的数据复制到副本上,然后再将副本的数据复制到第二存储装置中,不需在复制过程中对主卷生成快照,因此也无需对主卷收到的写IO数据进行COW或ROW的处理,避免了写IO数据的处理时延,提升了存储数据的复制系统的性能。
[0167]实施例八
[0168]本实施例提供一种存储数据的复制的第二存储装置,请参阅图12,所述第二存储装置包括:
[0169]接收机121,用于接收第一存储装置发送的副本的数据,所述副本的数据为复制周期开始时所述第一存储装置复制的主卷的数据;
[0170]处理机122,用于根据所述接收机121接收的数据更新所述从卷的数据;
[0171]其中,所述主卷及所述副本设于所述第一存储装置中,所述从卷设于第二装置中。
[0172]进一步的,所述接收机121,还用于接收所述第一存储装置发送的所述副本的增量数据;
[0173]所述处理器122,还用于根据所述接收机121接收的增量数据更新所述从卷的数据。
[0174]进一步的,所述处理器122,还用于在所述复制周期开始时,生成所述从卷的快照;以及用于在所述根据所述数据更新从卷的数据之后,删除所述快照。[0175]本实施例提供的第二存储装置,直接接收第一存储装置发送的副本的数据,而不是从主卷的快照获取主卷的数据,因此第一存储装置不需在复制过程中对主卷生成快照,因此也无需对主卷收到的写IO数据进行COW或ROW的处理,避免了写IO数据的处理时延,提升了存储数据的复制系统的性能。
[0176]实施例九
[0177]本实施例提供了一种存储数据的复制系统,所述存储数据的复制系统包括:
[0178]第一存储装置,用于接收主机的写IO数据,以及用于将主卷的数据复制到副本,然后将副本的数据发送到第二存储装置,以实现副本的数据到第二存储装置的从卷的复制。第一存储装置的结构与前述实施例八相同,此处不再赘述。
[0179]第二存储装置,用于接收第一存储装置发送的副本的数据,根据所述数据更新从卷的数据。第二存储装置的结构与前述实施例七相同,此处不再赘述。
[0180]主机,用于将所述写IO数据发到第一存储装置。
[0181]本实施例提供的存储数据的复制系统,在第一存储装置中创建一个副本,在每个复制周期中,将主卷的数据复制到副本上,然后再将副本的数据复制到第二存储装置中,不需在复制过程中对主卷生成快照,因此也无需对主卷收到的写IO数据进行COW或ROW的处理,避免了写IO数据的处理时延,提升了存储数据的复制系统的性能。另外,也解决了现有技术中主卷收到写IO数据时,有时需要进行COW或者ROW的处理,有时不需要进行,导致写IO数据的处理时延不同,存在明显的性能波动的问题,提升了用户的使用体验。并且,如果第一存储系统的主卷故障,还可以将业务切换到副本,保证业务的连续。
[0182]具体的,在实际应用中,第一存储装置及第二存储装置,可以设置在同一地点,t匕如将第一存储装置及第二存储装置设置在同一个城市;也可以设置在不同的地点:比如将第一存储装置及第二存储装置分别设置在两个不同的城市。
[0183]综上所述,本发明的存储数据的复制方法、装置及系统,在第一存储装置中创建一个副本,在每个复制周期开始时,将主卷的数据复制到副本上,然后再将副本的数据复制到第二存储装置中,不需在复制过程中对主卷生成快照,因此也无需对主卷收到的写IO数据进行COW或ROW的处理,避免了写IO数据的处理时延,增强了存储数据的复制系统的性能。另外,也解决了现有技术中主卷收到写IO数据时,有时需要进行COW或者ROW的处理,有时不需要进行,导致写IO数据的处理时延不同,存在明显的性能波动的问题,提升了用户的使用体验。并且,如果第一存储系统的主卷故障,还可以将业务切换到副本,保证业务的连续
[0184]需要说明的是:上述实施例提供的存储数据的复制的装置在实现存储数据的复制时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的存储数据复制的方法实施属于同一构思,其具体实现过程详见方法实施例,这里不在赘述。
[0185]上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
[0186]本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。[0187]以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何更新、等同替换、改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种存储数据的复制方法,其特征在于,所述方法包括: 在第一存储装置中创建所述第一存储装置的主卷的副本; 在复制周期开始时,将所述主卷的数据复制到所述副本; 将所述副本的数据发送到第二存储装置,以将所述副本的数据复制到所述第二存储装置的从卷。
2.根据权利要求1所述的方法,其特征在于,所述将所述主卷的数据复制到所述副本,包括: 将所述副本与所述从卷之间的状态设置为分裂,将所述主卷与所述副本之间的状态设置为复制; 根据所述主卷的第一差异位图确定所述主卷的增量数据; 根据所述主卷的增量数据更新所述副本的数据,并根据所述更新对所述副本的第二差异位图进行标记。
3.根据权利要求2所述的方法,其特征在于,所述将所述主卷与所述副本之间的状态设置为复制之后,所述方法还包括: 接收主机的写输入输出IO数据; 将所述写IO数据写到所述主卷和所述副本,并根据所述写IO数据对所述第一差异位图和第二差异位图进行标记。
4.根据权利要求2或3所述的方法,其特征在于,所述将所述副本的数据发送到所述第二存储装置,包括: 将所述主卷与所述副本之间的状态设置为分裂,将所述副本与所述从卷之间的状态设置为复制; 根据所述第二差异位图确定所述副本的增量数据; 将所述副本的增量数据发送给所述第二存储装置,以使所述第二存储装置根据所述增量数据更新所述从卷中的数据。
5.根据权利要求4所述的方法,其特征在于,所述将所述主卷与所述副本之间的状态设置为分裂之后,所述方法还包括: 接收所述主机的写IO数据; 将所述写IO数据写到所述主卷中,并根据所述写IO数据对所述第一差异位图进行标记。
6.根据权利要求4所述的方法,其特征在于,所述将所述副本的数据发送到所述第二存储装置之后,所述方法还包括: 将所述副本与所述从卷之间的状态设置为分裂。
7.根据权利要求6所述的方法,其特征在于,所述创建副本,包括: 建立与所述主卷大小相同的数据卷,将所述数据卷设为所述主卷的副本。
8.一种存储数据的复制的方法,其特征在于,所述方法包括: 接收第一存储装置发送的副本的数据,所述副本的数据为复制周期开始时所述第一存储装置复制的主卷的数据; 根据所述数据更新从卷的数据; 其中,所述主卷及所述副本设于所述第一存储装置中,所述从卷设于所述第二装置中。
9.根据权利要求8所述的方法,其特征在于, 所述接收第一存储装置发送的副本的数据,包括:接收所述第一存储装置发送的所述副本的增量数据; 所述根据所述数据更新所述从卷的数据,包括:根据所述增量数据更新所述从卷的数据。
10.根据权利要求8或9所述的方法,其特征在于, 在所述复制周期开始时,所述方法还包括:生成所述从卷的快照; 所述根据所述数据更新从卷的数据之后,所述方法还包括:删除所述快照。
11.一种存储数据的复制的第一存储装置,其特征在于,所述装置包括: 副本创建单元,用于在第一存储装置中创建所述第一存储装置的主卷的副本; 第一复制单元,用于在复制周期开始时,将所述主卷的数据复制到所述副本; 发送单元,用于在所述第一复制单元将所述主卷的数据复制到所述副本后,将所述副本的数据发送到所述第二存储装置,以将所述副本的数据复制到所述第二存储单元的从卷。
12.根据权利要求11所述的装置,其特征在于,所述第一复制单元,包括: 第一状态设置模块,用于将所述副本与所述从卷之间的状态设置为分裂,以及将所述主卷与所述副本之间的状态设置为复制; 第一增量确定模块,用于在所述第一状态设置模块将所述副本与所述从卷之间的状态设置为分裂之后,根据所述主卷的第一差异位图确定所述主卷的增量数据; 更新模块,用于在所述增量数据确定模块确定所述主卷的增量数据之后,根据所述增量数据更新所述副本中的数据,并根据所述更新对所述副本的第二差异位图进行标记。
13.根据权利要求12所述的装置,其特征在于,所述装置还包括: 接收单元,用于在所述第一状态设置模块将所述主卷与所述副本之间的状态设置为复制之后,接收主机的写输入输出IO数据; 数据写入单元,用于将所述接收单元接收的写IO数据写到所述主卷和所述副本,并根据所述写IO数据对所述第一差异位图和第二差异位图进行标记。
14.根据权利要求12或13所述的装置,其特征在于,所述发送单元包括: 第二状态设置模块,用于将所述主卷与所述副本之间的状态设置为分裂,以及将所述副本与所述从卷之间的状态设置为复制; 第二增量确定模块,用于在所述第二状态设置模块将所述主卷与所述副本之间的状态设置为分裂之后,根据所述第二差异位图确定所述副本的增量数据; 增量发送模块,用于在所述第二增量确定模块确定所述副本的增量数据之后,将所述副本的增量数据发送给所述第二存储装置,以使所述第二存储装置根据所述增量数据更新所述从卷中的数据。
15.根据权利要求14所述的装置,其特征在于, 所述接收单元,还用于在所述第二状态设置模块将所述主卷与所述副本之间的状态设置为分裂之后,接收所述主机的写IO数据; 所述数据写入单元,还用于将所述接收单元接收的写IO数据写到所述主卷,并根据所述写IO数据对所述第一差异位图进行标记。
16.根据权利要求14所述的装置,其特征在于, 所述第二状态设置模块,还用于在所述发送单元将所述副本的数据发送到所述第二存储装置之后,将所述副本与所述从卷之间的状态设置为分裂。
17.根据权利要求16所述的装置,其特征在于, 所述副本创建单元,还用于创建与所述主卷大小相同的数据卷,将所述数据卷设为所述主卷的副本。
18.一种存储数据的复制的第二存储装置,其特征在于,所述装置包括: 接收单元,用于接收第一存储装置发送的副本的数据,所述副本的数据为复制周期开始时所述第一存储装置复制的主卷的数据; 更新单元,用于根据所述接收单元接收的数据更新所述从卷的数据; 其中,所述主卷及所述副本设于所述第一存储装置中,所述从卷设于所述第二装置中。
19.根据权利要求18所述的装置,其特征在于, 所述接收单元,还用于接收所述第一存储装置发送的所述副本的增量数据; 所述更新单元,还用于根据所述接收单元接收的增量数据更新所述从卷的数据。
20.根据权利要求18或19所述的装置,其特征在于,所述装置还包括: 快照单元,用于在所述复制周期开始时,生成从卷的快照; 删除单元,用于在所述更新单元更新所述从卷的数据之后,删除所述快照单元生成的快照。`
21.一种存储数据的复制的第一存储装置,其特征在于,所述装置包括: 处理器,用于在第一存储装置中创建所述第一存储装置的主卷的副本;以及用于在复制周期开始时,将所述主卷的数据复制到所述副本中; 发送机,用于在所述处理器将所述主卷的数据复制到所述副本之后,将所述副本的数据发送给第二存储装置,以将所述副本的数据复制到所述第二存储装置的从卷。
22.根据权利要求21所述的装置,其特征在于, 所述处理器,还用于将所述副本与所述从卷之间的状态设置为分裂,以及将所述主卷与所述副本之间的状态设置为复制,然后根据所述主卷的第一差异位图确定所述主卷的增量数据;以及用于根据所述主卷的增量数据更新所述副本中的数据,并根据所述更新对所述副本的第二差异位图进行标记。
23.根据权利要求22所述的装置,其特征在于,所述装置还包括: 接收机,用于在所述处理器将所述主卷与所述副本之间的状态设置为复制之后,接收主机的写输入输出IO数据; 所述处理器,还用于将所述接收单元接收的写IO数据写到所述主卷和所述副本中,并根据所述写IO数据对所述第一差异位图和第二差异位图进行标记。
24.根据权利要求22或23所述的装置,其特征在于, 所述处理器,还用于将所述主卷与所述副本之间的状态设置为分裂,以及将所述副本与所述从卷之间的状态设置为复制,然后根据所述第二差异位图确定所述副本的增量数据; 所述发送机,还用于在所述处理器确定所述副本的增量数据之后,将所述副本的增量数据发送给所述第二存储装置,以使所述第二存储装置根据所述增量数据更新所述从卷中的数据。
25.根据权利要求24所述的装置,其特征在于, 所述接收机,还用于在所述处理器将所述主卷与所述副本的状态设置为分裂之后,接收所述主机的写IO数据; 所述处理器,还用于将所述接收机接收的写IO数据写到所述主卷,并根据所述写IO数据对所述第一差异位图进行标记。
26.根据权利要求24所述的装置,其特征在于, 所述处理器,还用于在所述发送机将所述副本的数据发送到所述第二存储装置之后,将所述副本与所述从卷之间的状态设置为分裂。
27.根据权利要求26所述的装置,其特征在于, 所述处理器,还用于创建与所述主卷大小相同的数据卷,将所述与所述数据卷设为所述主卷的副本。
28.一种存储数据的复制的第二存储装置,其特征在于,所述装置包括: 接收机,用于接收第一存储装置发送的副本的数据,所述副本的数据为复制周期开始时所述第一存储装置复制的主卷的数据; 处理机,用于根据所述接收机接收的数据更新所述从卷的数据; 其中,所述主卷及所述副本设于所述第一存储装置中,所述从卷设于第二装置中。
29.根据权利要求28所述的装置,其特征在于, 所述接收机,还用于接收所述第一存储装置发送的所述副本的增量数据; 所述处理器,还用于根据所述接收机接收的增量数据更新所述从卷的数据。
30.根据权利要求28或29所述的方法,其特征在于, 所述处理器,还用于在所述复制周期开始时,生成所述从卷的快照;以及用于在所述根据所述数据更新从卷的数据之后,删除所述快照。
31.一种存储数据的复制系统,其特征在于,所述系统包括: 如权利要求11至17或21至27任一项所述的第一存储装置,所述第一存储装置用于接收主机发送的写IO数据,以及用于将主卷的数据复制到副本,并将副本的数据发送到第二存储装置; 如权利要求18至20或28至30任一项所述的第二存储装置,用于接收所述第一存储装置发送的副本的数据,根据所述数据更新从卷的数据; 所述主机,用于将所述写IO数据发到所述第一存储装置。
【文档编号】G06F11/14GK103617096SQ201310537889
【公开日】2014年3月5日 申请日期:2013年11月4日 优先权日:2013年11月4日
【发明者】王林, 欧阳戟, 李泽宇 申请人:华为技术有限公司