一种数据重建方法及装置的制造方法

文档序号:9708008阅读:431来源:国知局
一种数据重建方法及装置的制造方法
【技术领域】
[0001 ]本发明涉及数据处理技术领域,尤其涉及一种数据重建方法及装置。
【背景技术】
[0002] 随着计算机技术的不断发展,单磁盘容量越来越大,同一个磁盘物理资源可以分 别属于多个上层RAID(Redundant Arrays of Independent Disks,独立磁盘冗余阵列)里 的块虚拟化技术越发成熟,这种设计是用多块物理磁盘(Physical Disk,简称Η))构建一个 大存储池,每个划分成多个虚拟磁盘(Virtual Disk,VD),由多个VD按照相应的RAID策略 (N+M)组建VDG(Virtual Disk Group,虚拟磁盘组),向上层提供逻辑资源分配给客户端进 行读写。
[0003] 在存储池块虚拟化结构下,若某个PD(假设为PD1)发生故障,如磁盘离线超时,存 储池需要踢掉这个离线的roi,并对roi影响的vdg进行重建,其重建实现原理为:生成roi对 应的重建表项,该重建表项中包括roi影响的所有VDG,当进行重建时,按照重建表项中从前 往后的顺序依次重建各VDG。
[0004] 若roi影响的VDG的重建过程中,存储池中又产生无效ro(假设为TO2),例如磁盘诊 断检测故障或磁盘上错误VD数达到阈值,那么存储池需要将PD2置为无效ro,此时,PD2影响 的VDG也需要重建,其重建实现原理与roi影响的VDG重建原理相类似。
[0005] 然而实践发现,在现有数据重建方案中,针对上述数据重建场景,通常采用先上报 先处理原则,即先重建完roi影响的VDG后,再重建TO2影响的VDG,这种处理方式可能会导致 部分VDG无法重建而失效。

【发明内容】

[0006] 本发明提供一种数据重建方法及装置,以解决现有数据重建方案中存在两个物理 磁盘故障时VDG重建成功较低的问题。
[0007] 根据本发明实施例的第一方面,提供一种数据重建方法,包括:
[0008] 当第一物理磁盘故障时,生成所述第一物理磁盘对应的重建表项;其中,所述重建 表项包括受所述第一物理磁盘影响的需要重建的虚拟磁盘组VDG;
[0009] 判断是否存在发生故障的第二物理磁盘;
[0010] 若存在,则生成所述第二物理磁盘对应的预警表项;所述预警表项包括所述受第 二物理磁盘影响的需要重建的VDG;
[0011]比较所述重建表项和所述预警表项,将所述预警表项中存在的重复的需要重建的 VDG保留在所述预警表项中,并将所述预警表项中存在的未重复的需要重建的VDG转移到所 述重建表项;
[0012]对更新后的预警表项中的需要重建的VDG进行重建,并当所述更新后的预警表项 中所有需要重建的VDG均重建完成后,对所述更新后的重建表项中需要重建的VDG进行重 建。
[0013] 根据本发明实施例的第二方面,提供一种数据重建装置,包括:
[0014] 生成单元,用于当第一物理磁盘故障时,生成所述第一物理磁盘对应的重建表项; 其中,所述重建表项包括受所述第一物理磁盘影响的需要重建的虚拟磁盘组VDG;
[0015] 判断单元,用于判断是否存在发生故障的第二物理磁盘;
[0016] 所述生成单元,还用于若所述判断单元判断为存在,则判断是否存在发生故障的 第二物理磁盘;
[0017] 更新单元,用于比较所述重建表项和所述预警表项,将所述预警表项中存在的重 复的需要重建的VDG保留在所述预警表项中,并将所述预警表项中存在的未重复的需要重 建的VDG转移到所述重建表项;
[0018] 重建单元,用于对更新后的预警表项中的需要重建的VDG进行重建,并当所述更新 后的预警表项中所有需要重建的VDG均重建完成后,对所述更新后的重建表项中需要重建 的VDG进行重建。
[0019] 应用本发明实施例,当第一物理磁盘故障时,生成第一物理磁盘对应的重建表项, 并判断是否存在发生故障的第二物理磁盘,若存在,则生成第二物理磁盘对应的预警表项, 并比较该重建表项和预警表项,将该预警表项中存在的重复的需要重建的VDG保留在预警 表项中,将预警表项中存在的未重复的需要重建的VDG转移到重建表项中,进而对更新后的 预警表项中需要重建的VDG进行重建,并当更新后的预警表项中所有需要重建的VDG均重建 完成后,对更新后的重建表项中需要重建的VDG进行重建,通过在存在两个物理磁盘故障 时,优先对同时受两个物理磁盘影响的需要重建的VDG进行重建,提高了 VDG重建的成功率, 进而提高了数据的可靠性。
【附图说明】
[0020] 图1是本发明实施例提供的一种数据重建方法的流程示意图;
[0021] 图2是本发明实施例提供的另一种一种数据重建方法的流程示意图;
[0022] 图3是本发明实施例提供的一种数据重建装置的结构示意图。
【具体实施方式】
[0023] 为了使本技术领域的人员更好地理解本发明实施例中的技术方案,并使本发明实 施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明实施例中技术方 案作进一步详细的说明。
[0024] 请参见图1,为本发明实施例提供的一种数据重建方法,如图1所示,该方法可以包 括以下步骤:
[0025]步骤101、当第一物理磁盘故障时,生成第一物理磁盘对应的重建表项;其中,该重 建表项包括受第一物理磁盘影响的需要重建的VDG。
[0026]本发明实施例中,上述方法的执行主体可以为存储服务器或存储服务器中的处理 单元,如CPU(Center Process Unit,中央处理器),为便于描述,以下该方法的执行主体为 存储服务器为例进行说明。
[0027]本发明实施例中,当存储池中第一物理磁盘故障(如离线超时)时,存储服务器可 以根据查询系统内存在的VDG,将包括位于第一物理磁盘中的VD的VDG确定为受第一物理磁 盘影响的需要重建的VDG,进而生成该第一物理磁盘对应的重建表项,其中,该重建表项包 括受第一物理磁盘影响的需要重建的VDG。
[0028] 值得说明的是,在本发明实施例中,第一物理磁盘并不特指某一固定的磁盘,而是 可以指代存储池中任一物理磁盘,本发明实施例后续不再复述。
[0029] 作为一种可选的实施方式,在本发明实施例中,重建表项可以为仅包括需要重建 的VDG的标识(ID)的表项,例如,其格式可以如表1所示:
[0030] 表 1
[0031]
[0032] 其中,根据该重建表项可知,VDG3、VDG4."VDGn由于受到第一物理磁盘故障的影响 需要重建。
[0033]作为另一种可选的实施方式,在本发明实施例中,重建表项可以为系统内所有VDG 对应的bitmap(位图)表项,其格式及具体实现将在下文中详细描述。
[0034]步骤102、判断是否存在发生故障的第二物理磁盘。若是,转至步骤103;否则,结束 当前流程。
[0035]本发明实施例中,存储服务器生成第一物理磁盘对应的重建表项后,一方面可以 根据该重建表项对需要重建的VDG进行重建,另一方面,存储服务器可以进一步检测存储池 中是否存在其它物理磁盘(第二物理磁盘)发生故障。
[0036]值得说明的是,在本发明实施例中,第二物理磁盘也并不特指某一固定的磁盘,而 是可以指代存储池中除第一物理磁盘之外的任一物理磁盘,本发明实施例后续不再复述。 [0037]本发明实施例中,若存储服务器确定存储池中不存在发生故障的第二物理磁盘 时,存储服务器可以对重建表项中需要重建的VDG进行重建,其具体实现可以参见现有数据 重建方案中关于VDG重建的相关处理,本发明实施例在此不再赘述。
[0038]步骤103、生成第二物理磁盘对应的预警表项,该预警表项中包括受第二物理磁盘 影响的需要重建的VDG。
[0039]本发明实施例中,当存储服务器确定存储池中存在发生故障的第二物理磁盘时, 如第二物理磁盘读写错误次数达到阈值或发生故障的VD达到阈值或存储服务器检测到通 用的磁盘SMART(Self-Monitoring,Analysis and Reporting Technology,自我监测分析 与报告技术)故障预警等,存储服务器可以查询系统中存在的VDG,将包括位于第二物理磁 盘中的VD的VDG确定为受第二物理磁盘影响的需要重建的VDG,进而生成包括受第二物理磁 盘影响需要重建的VDG的预警表项。
[0040] 其中,该预警表项的格式可以为与表1类型相同的仅包括需要重建的VDG的标识的 表项,例如,其格式可以如表2所示;该预警表项的格式还可以为包括系统内所有VDG的 bitmap表项,其格式及具体实现将在下文中详细描述。
[0041] 表 2 Γηη4?ι
[0043] 其中,根据该重建表项可知,VDGl、VDG4'"VDGm由于受到第二物理磁盘故障的影响 需要重建。
[0044] 步骤104、比较重建表项和预警表项,将预警表项中存在的重复的需要重建的VDG 保留在预警表项中,并将预警表项中存在的未重复的需要重建的VDG转移到重建表项。
[0045] 本发明实施例中,与现有技术中按照先故障先排队原则进行VDG重建的实现不同 的是
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1