保证元数据一致性的方法及装置制造方法及图纸

技术编号:18426083 阅读:35 留言:0更新日期:2018-07-12 01:56
本申请公开了一种数据重构方法及装置。所公开的数据重构方法包括:响应于第一存储单元发生故障,获取备用存储单元;获取构成第一存储单元所属的数据保护单元的其他存储单元的标识符,以及其他存储单元的序列号的最大值;获取第一存储单元在所述数据保护单元中的索引;向备用存储单元写入元数据。本申请中的数据重构方法应用于存储系统中。

Methods and devices to ensure metadata consistency

The application discloses a data reconstruction method and device. The disclosed method of data reconstruction includes: in response to the failure of the first storage unit, obtaining the standby storage unit, obtaining the identifier of the other storage units that constitute the data protection unit belonging to the first storage unit, and the maximum value of the serial number of the other storage units; obtaining the first storage unit in the data protection. The index in the cell; writes metadata to the standby storage unit. The data reconstruction method in this application is applied to the storage system.

【技术实现步骤摘要】
保证元数据一致性的方法及装置
本申请涉及存储
,尤其涉及数据重构方法及装置、数据保护单元的重组方法及装置。
技术介绍
在利用RAID(RedundantArraysofIndependentDisks,独立盘冗余阵列)技术的存储系统中,一个数据保护单元由多个存储单元组成,这些存储单元可以是物理盘,可以是物理盘中的一部分空间,也可以是其他的虚拟盘。需要将元数据信息保存在这些存储单元上,以便在系统重启后可以根据这些元数据信息把存储系统的数据保护单元重组起来。这些元数据信息记录了该数据保护单元的基本信息和组成该数据保护单元的存储单元信息。当有存储单元发生故障时,需要为数据保护单元选择一个或多个备用的存储单元,然后把数据重构到备用的存储单元中,最后更新元数据信息,以用备用存储单元替换故障存储单元。
技术实现思路
元数据信息需要保存在数据保护单元的多个存储单元上,这就会涉及到元数据一致性的问题。在现有技术中,数据重构完成后,把更新后的元数据写到数据保护单元的所有的存储单元中。如果在更新元数据的期间发生了异常,比如断电,掉盘等事件,采用这种方法就会导致数据保护单元无法重组。而且采用这种方法需要更新所有存储单元中的元数据区域,这会带来写放大的问题。本申请提出的方法,可以保证在出现异常时数据的一致性和正确性,同时还能避免更新元数据引起的写放大问题。根据本申请的第一方面,提供了根据本申请第一方面的第一数据重构方法,包括:响应于第一存储单元发生故障,获取备用存储单元;获取构成第一存储单元所属的数据保护单元的其他存储单元的标识符,以及其他存储单元的序列号的最大值;获取第一存储单元在所述数据保护单元中的索引;向备用存储单元写入元数据。根据本申请的第一方面的第一数据重构方法,提供了根据本申请第一方面的第二数据重构方法,其中,所述元数据包括所述其他存储单元的标识符,备用存储单元的标识符,大于所述最大值的序列号,以及第一存储单元在所述数据保护单元中的索引。根据本申请的第一方面的第二数据重构方法,提供了根据本申请第一方面的第三数据重构方法,其中,所述元数据还包含时间戳,时间戳记录元数据被更新的时间。根据本申请的第一方面的第三数据重构方法,提供了根据本申请第一方面的第四数据重构方法,还包括:获取向备用存储单元写入元数据时的系统时间,并将所述系统时间记录于时间戳中。根据本申请的第一方面的第一至第四数据重构方法之一,提供了根据本申请第一方面的第五数据重构方法,其中,响应于提供第一存储单元的固态存储设备或物理块出现故障,识别第一存储单元发生故障。根据本申请的第一方面的第一至第五数据重构方法之一,提供了根据本申请第一方面的第六数据重构方法,其中,所述元数据仅被写入所述备用存储单元,而不被写入所述其他存储单元。根据本申请的第一方面的第一至第六数据重构方法之一,提供了根据本申请第一方面的第七数据重构方法,还包括:从所述其他存储单元恢复第一存储单元的数据,并将恢复的数据写入所述备用存储单元。根据本申请第一方面的数据重构方法,元数据记录了所属数据保护单元的基本信息和组成该数据保护单元的存储单元信息,当第一存储单元发生故障时,为数据保护单元选择一个备用存储单元,然后把数据重构到备用存储单元中,最后更新元数据信息,以用备用存储单元替换第一存储单元。可见,不需要把更新后的元数据内容更新到第一存储单元所属的数据保护单元中的所有存储单元中,即使在更新元数据的期间发生了异常,比如说断电,掉盘等,采用这种方法也不会导致RAID无法重组。而且,采用这种方法不需要更新所有存储单元中的元数据区域,避免了写放大的问题,同时,可以保证在出现异常时数据的一致性和正确性。根据本申请的第二方面,提供了根据本申请第二方面的第一数据重构方法,包括:响应于同属于数据保护单元的第一存储单元与第二存储单元发生故障,获取第一备用存储单元与第二备用存储单元;获取构成所述数据保护单元的其他存储单元的标识符,以及其他存储单元的序列号的最大值;通过所述其他存储单元恢复所述第一存储单元与第二存储单元的数据;向第一备用存储单元与第二备用存储单元写入所恢复的数据与元数据。根据本申请的第二方面的第一数据重构方法,提供了根据本申请第二方面的第二数据重构方法,其中,向第一备用存储单元写入的元数据包括所述其他存储单元标识符,第一备用存储单元的标识符,大于所述最大值的第一序列号,以及第一存储单元在所述数据保护单元中的索引;以及其中,向第二备用存储单元写入的元数据包括所述其他存储单元标识符,第二备用存储单元的标识符,大于所述第一序列号的第二序列号,以及第二存储单元在所述数据保护单元中的索引。根据本申请第二方面的数据重构方法,元数据记录了所属数据保护单元的基本信息和组成该数据保护单元的存储单元信息,当多个存储单元当第一存储单元发生故障时,以第一存储单元和第二存储单元发生故障为例,为数据保护单元选择两个备用存储单元,然后把数据对应地重构到备用存储单元中,最后更新元数据信息,以用第一备用存储单元替换第一存储单元,第二备用存储单元替换第二存储单元。可见,不需要把更新后的元数据内容更新到数据保护单元中的所有存储单元中,即使在更新元数据的期间发生了异常,比如说断电,掉盘等,采用这种方法也不会导致RAID无法重组。而且,采用这种方法不需要更新所有存储单元中的元数据区域,避免了写放大的问题,同时,可以保证在出现异常时数据的一致性和正确性。根据本申请的第三方面,提供了根据本申请第三方面的第一数据保护单元的重组方法,所述数据保护单元包括多个存放有元数据的存储单元,所述方法包括:基于存储单元的元数据,获取属于第一数据保护单元的第一多个存储单元;选择第一多个存储单元的元数据中的序列号最大的第一存储单元,基于第一存储单元确定第一数据保护单元所使用的第二多个存储单元。根据本申请的第三方面的第一数据保护单元的重组方法,提供了根据本申请第三方面的第二数据保护单元的重组方法,若所述第二多个存储单元中的一个或多个存在故障,选择第一多个存储单元的元数据中的序列号次大的第二存储单元,基于第二存储单元确定第一数据保护单元所使用的第三多个存储单元。根据本申请的第三方面的第一数据保护单元的重组方法,提供了根据本申请第三方面的第三数据保护单元的重组方法,若第一多个存储单元中具有最大序列号的存储单元有多个,选择具有最大序列号的多个存储单元中,具有最新时间戳的存储单元作为所述第一存储单元。根据本申请的第三方面的第二数据保护单元的重组方法,提供了根据本申请第三方面的第四数据保护单元的重组方法,若第一多个存储单元中具有次大序列号的存储单元有多个,选择具有次大序列号的多个存储单元中,具有最新时间戳的存储单元作为所述第二存储单元。根据本申请的第三方面的第一至第四数据保护单元的重组方法之一,提供了根据本申请第三方面的第五数据保护单元的重组方法,响应于存储系统上电,而执行所述方法。根据本申请的第三方面的第一数据保护单元的重组方法,提供了根据本申请第三方面的第六数据保护单元的重组方法,其中,存储单元的元数据包含存储单元所属数据保护单元的所有存储单元的标识符。根据本申请的第三方面的第一数据保护单元的重组方法,提供了根据本申请第三方面的第七数据保护单元的重组方法,基于存本文档来自技高网...

【技术保护点】
1.一种数据重构方法,其特征在于,包括:响应于第一存储单元发生故障,获取备用存储单元;获取构成第一存储单元所属的数据保护单元的其他存储单元的标识符,以及其他存储单元的序列号的最大值;获取第一存储单元在所述数据保护单元中的索引;向备用存储单元写入元数据。

【技术特征摘要】
1.一种数据重构方法,其特征在于,包括:响应于第一存储单元发生故障,获取备用存储单元;获取构成第一存储单元所属的数据保护单元的其他存储单元的标识符,以及其他存储单元的序列号的最大值;获取第一存储单元在所述数据保护单元中的索引;向备用存储单元写入元数据。2.根据权利要求1所述的数据重构方法,其特征在于,其中,所述元数据仅被写入所述备用存储单元,而不被写入所述其他存储单元。3.一种数据重构方法,包括:响应于同属于数据保护单元的第一存储单元与第二存储单元发生故障,获取第一备用存储单元与第二备用存储单元;获取构成所述数据保护单元的其他存储单元的标识符,以及其他存储单元的序列号的最大值;通过所述其他存储单元恢复所述第一存储单元与第二存储单元的数据;向第一备用存储单元与第二备用存储单元写入所恢复的数据与元数据。4.根据权利要求3所述的数据重构方法,其特征在于,其中,向第一备用存储单元写入的元数据包括所述其他存储单元标识符,第一备用存储单元的标识符,大于所述最大值的第一序列号,以及第一存储单元在所述数据保护单元中的索引;以及其中,向第二备用存储单元写入的元数据包括所述其他存储单元标识符,第二备用存储单元的标识符,大于所述第一序列号的第二序列号,以及第二存储单元在所述数据保护单元中的索引。5.一种数据保护单元的重组方法,所述数据保护单元包括多个存放有元数据的存储单元,其特征在于,所述方法包括:基于存储单元的元数据,获取属于第一数据保护单元的第一多个存储单元;选择第一多个存储单元的元数据中的序列号最大的第一存储单元,基于第一存储单元确定第一数据保护单元所使用的第二多个存储单元。6.根据权利要求5所述的数据保护单元的重组方法,其特征在于,若所述第二多个存...

【专利技术属性】
技术研发人员:吴忠杰郭峰
申请(专利权)人:北京忆恒创源科技有限公司
类型:发明
国别省市:北京,11

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

1