CN101615146B - 磁盘阵列在线重构系统及方法 - Google Patents
磁盘阵列在线重构系统及方法 Download PDFInfo
- Publication number
- CN101615146B CN101615146B CN2009100881215A CN200910088121A CN101615146B CN 101615146 B CN101615146 B CN 101615146B CN 2009100881215 A CN2009100881215 A CN 2009100881215A CN 200910088121 A CN200910088121 A CN 200910088121A CN 101615146 B CN101615146 B CN 101615146B
- Authority
- CN
- China
- Prior art keywords
- disk
- data
- failed
- array
- management module
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及磁盘阵列在线重构系统及其方法,所述系统包括备援盘,备份系统,用于备份所述磁盘阵列;日常监控模块,用于监控所述磁盘阵列的运行状态,在发生磁盘失效时,启动恢复管理模块;所述恢复管理模块,用于依据所述失效磁盘的在所述备份系统的备份数据和所述磁盘阵列中未失效的磁盘虚拟出所述失效磁盘的虚拟磁盘,在重构过程中,以所述虚拟磁盘替代所述失效磁盘为应用提供服务;所述恢复管理模块,还用于进行所述重构过程,所述重构过程为将所述失效磁盘的数据重构于所述备援盘,重构完成后,以所述备援盘代替所述失效磁盘。本发明能够避免重构负载和正常应用负载完全冲突导致双方性能恶化。
Description
技术领域
本发明涉及信息技术领域,尤其涉及磁盘阵列在线重构系统及方法。
背景技术
为了提高存储系统的性能和可靠性,磁盘阵列被广泛应用于存储系统中。但是,在大规模存储系统中,磁盘失效已经成为一种常态。虽然磁盘阵列在一块甚至几块磁盘同时失效的情况下,仍可保证磁盘阵列可用性以及数据完整性。但是,为了避免由于其它磁盘失效而导致磁盘阵列不可用以及数据不完整,必须将失效磁盘上数据重构至空闲磁盘,使得磁盘阵列恢复至正常运行状态。由于现在信息服务都是连续不可中断业务,例如机场,票务,视频,监控,因此必须在线重构数据。
现有技术中的磁盘阵列为RAID磁盘阵列(Redundant Array of Independent Disks,独立磁盘冗余阵列),Patterson在1988年提出RAID概念,并分成RAID 1-5,五个级别。RAID磁盘阵列是将N块磁盘通过RAID控制器虚拟单块大容量的磁盘使用,能够N块磁盘同时读取,使得速度加快并提供容错性。其中,RAID盘为通过RAID算法将N块物理磁盘盘虚拟成为一块磁盘;通常作为主存磁盘使用,和应用数据存储。备援盘(Spare盘)用于当构成RAID磁盘的N块磁盘中的一块失效后,替代损坏的磁盘,通过RAID算法将数据重构到备援盘上。从而保证不停机就可以重构数据。RAID重构是通过RAID算法利用构成RAID磁盘的没有失效的磁盘上的数据重构失效盘上的数据,并重构到备援盘上。
由于现在廉价磁盘的带宽相对于容量较小,磁盘阵列在线重构需要相当长的时间。由于磁盘阵列必须持续提供服务,因此,磁盘不仅对外提供服务而且必须参入重构,所以磁头抖动显著。因此,导致的后果为延长在线重构所需时间;恶化磁盘阵列服务性能;增加一个或者一系列磁盘失效的可能性;增加磁盘阵列崩溃的概率,降低了磁盘阵列的可靠性。
此外,现有技术中在线重构和本地磁盘阵列静态绑定,也就是在线重构是在本地磁盘阵列内进行。因此,现有技术中无法解决重负载持续访问情况下,磁盘阵列重构性能和服务性能恶化的问题。在现有技术的企业存储网络系统多数由生产系统和备份系统构成。生产系统直接对外提供服务,因而生产系统可靠性和可用性十分重要。由于生产系统承接了大量应用服务,所以,生产系统内磁盘阵列在线重构显著受到应用模式影响,并且恶化磁盘阵列服务性能。而拥有较强计算资源和强大IO资源的磁盘备份系统处于闲置状态,无法利用备份系统加速生产系统内磁盘阵列在线重构。
发明内容
为解决上述问题,本发明提供磁盘阵列在线重构系统及方法,能够在磁盘阵列进行重构时,通过虚拟出失效磁盘的虚拟磁盘,避免重构负载和正常应用负载完全冲突导致双方性能恶化,从而改善重构性能和服务性能。
本发明公开了磁盘阵列在线重构系统,所述系统包括备援盘,
所述系统还包括:
备份系统,用于备份所述磁盘阵列;
日常监控模块,用于监控所述磁盘阵列的运行状态,在发生磁盘失效时,启动恢复管理模块;
所述恢复管理模块,用于依据所述失效磁盘的在所述备份系统的备份数据和所述磁盘阵列中未失效的磁盘虚拟出所述失效磁盘的虚拟磁盘,在重构过程中,以所述虚拟磁盘替代所述失效磁盘为应用提供服务;
所述恢复管理模块,还用于进行所述重构过程,所述重构过程为将所述失效磁盘的数据重构于所述备援盘,重构完成后,以所述备援盘代替所述失效磁盘。
所述恢复管理模块在虚拟所述失效磁盘的虚拟磁盘时进一步用于从所述失效磁盘的在所述备份系统的最近备份版本获得所述虚拟磁盘中对应于所述失效磁盘的最近备份后未修改的数据,由所述磁盘阵列中未失效的磁盘重构得出所述虚拟磁盘中对应于所述失效磁盘的最近备份后修改的数据。
所述恢复管理模块在进行所述重构过程时进一步用于将所述失效磁盘的在所述备份系统的最近备份版本重构到所述备援盘;由所述磁盘阵列中未失效的磁盘重构出失效磁盘的当前版本;将所述备援盘中数据同所述当前版本同步。
所述恢复管理模块在进行所述重构过程时进一步用于由所述磁盘阵列中未失效的磁盘重构所述失效磁盘到所述备援盘。
所述恢复管理模块在进行所述重构过程时进一步用于由所述磁盘阵列中未失效的磁盘重构所述失效磁盘的最近备份版本到所述备援盘;由所述磁盘阵列中未失效的磁盘重构出失效磁盘的当前版本;将所述备援盘中数据同所述当前版本同步。
所述系统还包括映射管理模块;
所述映射管理模块用于构建所述磁盘阵列中磁盘同所述备份系统中所述磁盘在所述备份系统的最近备份版本的数据块间映射关系,以及所述磁盘在最近备份后修改数据的位置标识;
所述恢复管理模块在虚拟所述失效磁盘的虚拟磁盘时进一步用于从所述映射管理模块获得所述失效磁盘在最近备份后修改数据的位置标识,根据所述位置标识判断数据是否被修改,如果数据未被修改,则从所述映射管理模块获得所述失效磁盘与在所述备份系统的最近备份版本的数据块间的映射关系,根据所述映射关系从所述失效磁盘在所述备份系统的最近备份版本获得所述数据;如果数据被修改,则由所述磁盘阵列中未失效的磁盘重构得出所述数据。
所述系统还包括映射管理模块;
所述映射管理模块用于构建所述磁盘阵列中磁盘同所述备份系统中所述磁盘在所述备份系统的最近备份版本的数据块间映射关系,以及所述磁盘在最近备份后修改数据的位置标识;
所述恢复管理模块在进行所述重构过程时进一步用于从所述映射管理模块获得所述失效磁盘同在所述备份系统的最近备份版本的数据块间的映射关系,根据所述映射关系将所述失效磁盘的最近备份版本重构到所述备援盘;由所述磁盘阵列中未失效的磁盘重构出所述失效磁盘的当前版本;从所述映射管理模块获得所述失效磁盘在最近备份后修改数据的位置标识,根据所述位置标识将被修改的数据同步为与所述当前版本一致。
所述系统还包括重构管理模块,
所述重构管理模块,用于确定重构策略,控制所述恢复管理模块进行重构的速度和为应用提供服务的生产系统正常读写的性能。
所述恢复管理模块在进行所述重构过程时进一步用于根据所述重构管理模块中的重构策略选择对当前失效磁盘,由所述磁盘阵列中未失效的磁盘将所述失效磁盘重构到所述备援盘,或将所述失效磁盘的最近备份版本重构到所述备援盘,由所述磁盘阵列中未失效的磁盘重构出失效磁盘的当前版本,将所述备援盘中数据同所述当前版本同步。
本发明还公开了磁盘阵列在线重构方法,所述方法包括,
步骤1,在备份系统中备份所述磁盘阵列;
步骤2,监控所述磁盘阵列的运行状态,在发生磁盘失效时,执行步骤3;
步骤3,依据所述失效磁盘的在所述备份系统的备份数据和所述磁盘阵列中未失效的磁盘虚拟出所述失效磁盘的虚拟磁盘,在重构过程中,以所述虚拟磁盘替代所述失效磁盘为应用提供服务;
步骤4,进行所述重构过程,所述重构过程为将所述失效磁盘的数据重构于所述备援盘,重构完成后,以所述备援盘代替所述失效磁盘。
所述步骤3进一步为,
步骤111,从所述失效磁盘的在所述备份系统的最近备份版本获得所述虚拟磁盘中对应于所述失效磁盘的最近备份后未修改的数据;
步骤112,由所述磁盘阵列中未失效的磁盘重构得出所述虚拟磁盘中对应于所述失效磁盘的最近备份后修改的数据。
所述步骤4进一步为,
步骤121,将所述失效磁盘的在所述备份系统的最近备份版本重构到所述备援盘;
步骤122,由所述磁盘阵列中未失效的磁盘重构出失效磁盘的当前版本,将所述备援盘中数据同所述当前版本同步。
所述步骤4进一步为,由所述磁盘阵列中未失效的磁盘重构所述失效磁盘到所述备援盘。
所述步骤4进一步为,
步骤141,由所述磁盘阵列中未失效的磁盘重构所述失效磁盘的最近备份版本到所述备援盘;
步骤142,由所述磁盘阵列中未失效的磁盘重构出失效磁盘的当前版本;将所述备援盘中数据同所述当前版本同步。
所述方法还包括:
步骤151,构建所述磁盘阵列中磁盘同所述备份系统中所述磁盘在所述备份系统的最近备份版本的数据块间映射关系,以及所述磁盘在最近备份后修改数据的位置标识;
所述步骤3进一步为,
步骤152,从所述映射管理模块获得所述失效磁盘在最近备份后修改数据的位置标识,根据所述位置标识判断数据是否被修改;
步骤153,如果数据未被修改,则从所述映射管理模块获得所述失效磁盘与在所述备份系统的最近备份版本的数据块间的映射关系,根据所述映射关系从所述失效磁盘在所述备份系统的最近备份版本获得所述数据;
步骤154,如果数据被修改,则由所述磁盘阵列中未失效的磁盘重构得出所述数据。
所述方法还包括:
步骤161,构建所述磁盘阵列中磁盘同所述备份系统中所述磁盘在所述备份系统的最近备份版本的数据块间映射关系,以及所述磁盘在最近备份后修改数据的位置标识;
所述步骤4进一步为,
步骤162,从所述映射管理模块获得所述失效磁盘同在所述备份系统的最近备份版本的数据块间的映射关系,根据所述映射关系将所述失效磁盘的最近备份版本重构到所述备援盘;
步骤163,由所述磁盘阵列中未失效的磁盘重构出所述失效磁盘的当前版本;从所述映射管理模块获得所述失效磁盘在最近备份后修改数据的位置标识,根据所述位置标识将被修改的数据同步为与所述当前版本一致。
所述方法还包括,
步骤171,确定重构策略,控制所述恢复管理模块进行重构的速度和为应用提供服务的生产系统正常读写的性能。
所述步骤4进一步为,
步骤181,根据所述重构管理模块中的重构策略选择对当前失效磁盘,由所述磁盘阵列中未失效的磁盘将所述失效磁盘重构到所述备援盘,或将所述失效磁盘的最近备份版本重构到所述备援盘,由所述磁盘阵列中未失效的磁盘重构出失效磁盘的当前版本,将所述备援盘中数据同所述当前版本同步。
本发明的有益效果在于通过虚拟出失效磁盘的虚拟磁盘,避免重构负载和正常应用负载完全冲突导致双方性能恶化;通过应用备份系统,提供稳定的恢复带宽,减少应用负载影响;通过使用重构策略,能够优化重构过程。
附图说明
图1是本发明磁盘阵列在线重构系统的运行示意图;
图2是本发明磁盘阵列在线重构系统的实施例结构图;
图3是本发明面向数据的RAID示意图;
图4a1读取操作图,图4a2是读取操作流程图,4b1是无依赖的释放操作图,图4b2是无依赖的释放操作流程图,图4c1是有依赖的释放操作图,图4c1是有依赖的释放操作流程图,图4d1是基于条带释放操作图,图4d2是基于条带释放操作流程图;
图5a是本发明面向数据的RAID的映射关系结构图,图5b是本发明面向数据的RAID中数据在各层的映射关系示意图,图5c是磁盘位置标识示意图,图5d是物理磁盘块与最近备份版本的数据的映射关系示意图;
图6是恢复管理模块操作示意图;
图7是本发明磁盘阵列在线重构方法的流程图。
具体实施方式
下面结合附图,对本发明做进一步的详细描述。
本发明系统包括:备援盘、备份系统、日常监控模块、恢复管理模块。
其中,备援盘的数量同系统容忍失效磁盘的数量相对应,例如,系统基于RAID算法可以允许有n个磁盘失效,则对应有n个备援盘。
备份系统,用于备份所述磁盘阵列。
日常监控模块,用于监控所述磁盘阵列的运行状态,在发生磁盘失效时,启动恢复管理模块。
恢复管理模块,用于依据所述失效磁盘在备份系统的备份数据和所述磁盘阵列中未失效的磁盘虚拟出所述失效磁盘的虚拟磁盘,在重构过程中,以所述虚拟磁盘替代所述失效磁盘为应用提供服务。
恢复管理模块,还用于进行所述重构过程,所述重构过程为将所述失效磁盘的数据重构于备援盘,重构完成后,以所述备援盘代替所述失效磁盘。
备援盘代替所述失效磁盘后为应用提供服务。
较佳的,恢复管理模块在虚拟所述失效磁盘的虚拟磁盘时进一步用于从所述失效磁盘在备份系统的最近备份版本获得所述虚拟磁盘中对应于所述失效磁盘的最近备份后未修改的数据,由所述磁盘阵列中未失效的磁盘重构得出所述虚拟磁盘中对应于所述失效磁盘的最近备份后修改的数据。
较佳的,恢复管理模块在进行所述重构过程时采用以下两种方式来实现重构。
方式一,恢复管理模块由所述磁盘阵列中未失效的磁盘重构所述失效磁盘的最近备份版本到备援盘。由磁盘阵列中未失效的磁盘重构出失效磁盘的当前版本;将备援盘中数据同该当前版本同步。
方式二,恢复管理模块将所述失效磁盘的最近备份版本重构到备援盘;由所述磁盘阵列中未失效的磁盘重构出失效磁盘的当前版本;将备援盘中数据同该当前版本同步。
较佳的,系统还包括映射管理模块。
映射管理模块用于构建所述磁盘阵列中磁盘同所述备份系统中所述磁盘的最近备份版本的数据块间映射关系,以及所述磁盘在最近备份后修改数据的位置标识。
恢复管理模块在虚拟失效磁盘的虚拟磁盘时进一步用于从映射管理模块获得失效磁盘在最近备份后修改数据的位置标识,根据该位置标识判断数据是否被修改,如果数据未被修改,则从映射管理模块获得所述失效磁盘与在备份系统的最近备份版本的数据块间映射关系,从失效磁盘在备份系统的最近备份版本获得该数据;如果数据被修改,则由磁盘阵列中未失效的磁盘重构得出所述数据。
恢复管理模块在采用所述方式二进行所述重构过程时进一步用于从映射管理模块获得失效磁盘同在备份系统的最近备份版本的数据块间映射关系,将失效磁盘在备份系统的最近备份版本重构到备援盘;由磁盘阵列中未失效的磁盘重构出失效磁盘的当前版本;从映射管理模块获得所述失效磁盘在最近备份后修改数据的位置标识,将被修改的数据同步为与该当前版本一致。
较佳的,系统还包括重构管理模块。
重构管理模块,用于确定重构策略,控制所述恢复管理模块进行重构的速度和为应用提供服务的生产系统正常读写的性能。
恢复管理模块在进行所述重构过程时根据重构策略从两种方式中为当前失效磁盘选择一种方式。
具体而言,恢复管理模块根据所述重构管理模块中的重构策略选择对当前失效磁盘,由磁盘阵列中未失效的磁盘将失效磁盘重构到备援盘,或将失效磁盘在备份系统的最近备份版本重构到备援盘,由磁盘阵列中未失效的磁盘重构出失效磁盘的当前版本,将备援盘中数据同所述当前版本同步。
所述系统还包括管理控制模块,用于提供管理接口。管理接口包括:获取逻辑卷的空间映射信息管理接口、获取逻辑卷的差别修改位图管理接口、获取元数据的空间映射信息管理接口、导出空闲磁盘到指定服务器管理接口。
本发明磁盘阵列在线重构系统的运行如图1所示。图1中,磁盘阵列由n块磁盘构成,从disk0、disk1到diskn,磁盘diskm,其中0≤m≤n,发生失效,激活备援盘。日常监控模块监控到磁盘阵列出现磁盘失效启动恢复管理模块。恢复管理模块由磁盘阵列中未失效的磁盘虚拟出失效磁盘的当前版本,由失效磁盘在备份系统的备份版本集虚拟出失效磁盘的最近备份版本;由处于最近备份版本、待实化的备援盘和虚拟当前版本构建了虚拟磁盘,由虚拟磁盘和未失效磁盘构成磁盘阵列RAID对外提供服务;同时,由最近备份版本和当前版本两者之一或者两者将失效磁盘的数据重构至备援盘至最近备份版本的数据;由当前版本将备援盘数据修复至当前版本数据;将磁盘阵列恢复至正常运行状态。
在重构过程中,从虚拟磁盘读取数据时,具体方法为,如果数据已经重构到备援盘,从备援盘读出该数据;否则,如果数据在备份系统的最近备份后未被修改,则从失效磁盘在备份系统的最近备份版本中读取,如果数据在最近备份后被修改,则从失效的磁盘重构的当前版本中读取该数据。
本发明涉及概念注释如下。
失效磁盘的当前版本,通过磁盘阵列中未损坏的磁盘通过RAID算法虚拟出来的当前失效磁盘的数据。
在本发明中失效磁盘的当前版本作用包括:重构备援盘的部分数据会从失效磁盘的当前版本获取;虚拟磁盘的部分数据从失效磁盘当前版本获取。获取的策略为最近一次备份未改变的数据通过当前版本或者备份数据中获取;对于最近一次备份改变的数据只能通过当前版本获取。
失效磁盘最近备份版本,失效磁盘在最近备份的时间点的映像,通过备份版本集虚拟化。
备份版本,指磁盘在某一时间点的备份数据。
版本集合,一系列备份版本所构成的集合。通过备份版本集能够虚拟出磁盘在最近备份时间点的映像,即磁盘的最近备份版本。
实施例
系统包括备份系统和生产系统,其中备份系统用于备份磁盘数据,并且还包括映射管理模块203和恢复管理模块204,生产系统包括日常监控模块201、管理控制模块202、重构管理模块205,如图2所示。
其中,重构读取和重构写入是指来自生产系统的读取和写入;恢复读取和恢复写入是指从备份系统中的读取和写入。
生产系统的物理实体为磁盘阵列和备援盘;备份系统的物理实体为备份存储设备。
日常监控模块201,用于通过定期查询生产系统各磁盘阵列运行状况,发现磁盘失效情况并发出失效警报,告知映射管理模块和恢复管理模块关于失效磁盘阵列的相关信息。
管理控制模块202,用于提供管理接口。管理接口包括:获取逻辑卷的空间映射信息管理接口、获取逻辑卷的差别修改位图管理接口、获取元数据的空间映射信息管理接口、导出空闲磁盘到指定服务器管理接口。
映射管理模块203,用于构建磁盘与在备份系统的最近备份数据块的映射关系、磁盘上自最近备份时间点之后修改数据的位置标识。
映射关系作用包括:重构备援盘时,通过映射关系来获取数据,重构失效磁盘上的数据;重构过程中,生产系统读取虚拟磁盘上的数据时,利用映射关系计算出,读取的数据。
恢复管理模块204,用于依据失效磁盘的在备份系统的备份数据和磁盘阵列中未失效的磁盘虚拟出所述失效磁盘的虚拟磁盘,在重构过程中,以虚拟磁盘替代所述失效磁盘为应用提供服务;进行重构过程,重构过程为将所述失效磁盘的数据重构于备援盘,重构完成后,以备援盘代替所述失效磁盘。
恢复管理模块在虚拟所述失效磁盘的虚拟磁盘时从失效磁盘在备份系统的最近备份版本获得所述虚拟磁盘中对应于失效磁盘的最近备份后未修改的数据,由磁盘阵列中未失效的磁盘重构得出虚拟磁盘中对应于失效磁盘的最近备份后修改的数据。
重构管理模块205,用于根据用户负载基本信息,以及恢复管理模块204所提供的相关信息,制定重构策略,控制重构速度,并选择进行重构的方式。
本发明的RAID磁盘为面向数据构建的RAID磁盘,如图3所示,现有技术的RAID磁盘是面向磁盘构建的。本发明中,每块真实磁盘存在一个虚拟磁盘与其对应,虚拟磁盘与真实磁盘上逻辑块为一一对应,磁盘阵列RAID由虚拟磁盘构建。本发明中,磁盘阵列RAID存在两类逻辑块:未被使用逻辑块,其上数据都被设为零;正被使用逻辑块;虚拟磁盘存在两类逻辑块:未被使用逻辑块,其上数据都被设为零;正被使用逻辑块。
当存储系统分别处于正常运行、降级运行或重构运行三种状态时,本发明的RAID与现有技术RAID具有如下两点区别,其余一致。
区别一,对未被使用逻辑块上数据进行读取时有所差别。在现有RAID中,对未被使用逻辑块上数据进行读取时,直接读取真实磁盘上数据;而在本发明中,对虚拟磁盘上未被使用逻辑块上数据进行读取时,直接返回零数据。如图4a1和4a2所示,对逻辑块d10进行读取操作时,由于虚拟磁盘上逻辑块d10未被使用,其上数据为零,所以,直接返回零数据。
区别二,在释放已分配逻辑单元时,本发明中,释放已分配逻辑单元过程分为以下两种情况:
情况一,所属条带上不存在正被使用逻辑块时,则只需将所释放逻辑块在虚拟磁盘上数据直接写零,不对真实磁盘进行读写操作。如图4b1和图4b2所示,对逻辑块d20进行释放操作时,由于逻辑块d20所属条带已经不存在正被使用的逻辑块,所以,对虚拟磁盘上逻辑块d20和p30直接写零。
情况二,所属条带上存在正被使用逻辑块时,则必须对真实磁盘进行两次读操作和一次写操作,以保证所属条带的完整性。如图4c1和图4c2所示,对逻辑块d00进行释放操作时,由于逻辑块d00所属条带存在正被使用逻辑块d20,所以,需要从真实磁盘上读取逻辑块d00上旧数据和逻辑块p30上旧校验数据,最终,将虚拟磁盘上逻辑块d00直接写零,并将所计算出的新校验数据写入真实磁盘上逻辑块p30。
为了避免释放逻辑空间所造成的系统开销,可以按照条带分配和释放逻辑空间单元。如图4d1和图4d2所示,同时对逻辑块d00、d10和d20进行释放操作时,由于所属条带已不存在其它逻辑块,则对虚拟磁盘上逻辑块d00、d10、d20和p30直接写零。
映射管理模块203,用于构建失效磁盘逻辑块与最近备份数据块的映射关系和失效磁盘上自最近备份时间点之后修改数据块的位置标识。
映射管理模块203的操作适用于所有主流RAID算法,下面将举例进行说明。
如图5b所示,生产系统上磁盘逻辑块与最近备份版本数据块之间映射关系。根据逻辑卷逻辑块与最近备份数据块的映射关系、逻辑卷与磁盘阵列逻辑块的映射关系、以及磁盘阵列与磁盘逻辑块的映射关系,通过现有算法计算出任一磁盘逻辑块与最近备份数据块的映射关系。根据图5a所描述的映射关系,计算出disk_0,disk_1,disk_2,disk_3这四块磁盘的数据块与备份数据块的映射关系,如图5b所示,备份数据块v110映射在disk_1的第0块(d10)上,其余不再赘述。
如图5c所示,各磁盘上自最近一次备份时间点之后修改数据的位置标识,位置标识为版本修复位图,其中,1表示最近一次备份后被修改,0表示最近一次备份后未被修改。在图5b中,根据位图1v1-bmp,可知磁盘disk_1上逻辑块d10上数据自最近一次备份之后已被修改,从而,磁盘disk_3上逻辑块p30上数据自最近一次备份之后已被修改;因此,生成了磁盘disk_0、disk_1,disk_2和disk3上自最近一次备份时间点之后修改数据的位置标识。
如图5d所示,各磁盘上逻辑块与最近备份数据块的映射关系。并且,如图5b所示,磁盘disk_3上逻辑块p30对应备份数据块v110和v111;磁盘disk_1上逻辑块d10对应备份数据块v110;磁盘disk_2上逻辑块d20对应备份数据块v111,因此,生成了磁盘disk_0、disk_1和disk_2上逻辑块与最近备份数据块的映射关系。
恢复管理模块204采取多个读线程并发读取备份数据。一个读线程从映射缓冲内顺序取出一个映射关系,对于奇偶校验码,读线程将所有相关数据(若干块备份数据)读出,并异或生成奇偶校验码,存放于数据缓冲相应位置;对于数据,则将相应数据(一块备份数据)读出,存放于数据缓冲相应位置。当某个读线程完成数据读取后,则顺序处理还未读取的数据。如图6所示,恢复管理构件有n个读线程,第一个线程读取数据并存放于数据缓冲DATA-BUFFER-1第0逻辑块之后,该线程顺序读取对应于数据缓冲DATA-BUFFER-1第n块的备份数据,而第2个线程正在读取对应于缓冲DATA-BUFFER-1第1块的备份数据。
恢复管理模块204采用单个写线程将数据顺序写入备援盘。恢复管理构件有两个数据缓冲,当读线程读取数据并存放于一个缓冲时,写线程将已放满数据的另一个缓冲中数据写入备援盘中。如图6所示,n个读线程(r线程)正在读取备份数据并存放于DATA-BUFFER-2,写线程(w线程)正在将已放满数据的DATA-BUFFER-1中的数据写入备援盘;两个缓冲DATA-BUFFER-1和DATA-BUFFER-2轮流被读线程和写线程使用,直到版本恢复完成。
恢复管理模块204进行重构的过程包括版本整合和版本修复。
版本整合采用版本重构或版本恢复实现。
版本重构为将从失效磁盘的在备份系统的版本集合中虚拟出最近备份版本,将最近备份版本重构到备援盘。
版本恢复为由磁盘阵列中未失效的磁盘重构失效磁盘的最近备份版本到备援盘。
版本修复为由磁盘阵列中未失效的磁盘重构出失效磁盘的当前版本;将备援盘中数据同所述当前版本同步。
恢复管理模块204,对所有失效磁盘,采用版本整合或版本恢复中一种重构失效磁盘到备援盘;或者,根据重构策略按确定对当前失效磁盘采用版本整合或版本恢复。
重构管理模块205根据用户负载基本信息,以及恢复管理模块204所提供的相关信息,制定重构策略,控制重构速度,并选择进行重构的方式
本发明中版本恢复和版本整合在对失效磁盘重构过程中使用的比例则由重构策略来决定,用户通过配置生产系统内重构带宽和备份系统上恢复带宽的比例定制重构策略。
典型的重构策略有两类:
1.服务优先策略,服务优先策略是在备份系统上完全由恢复管理模块204将处于最近备份时间点的数据恢复到备援盘上,以版本恢复为主,必要的采用版本重构。
2.重构优先策略,重构优先策略充分利用生产系统内重构带宽和备份系统上恢复带宽,由生产系统内重构管理模块205和备份系统上恢复管理模块204共同将处于最近备份时间点的数据重构到备援盘上。为优化重构效率,配置采用版本重构和版本恢复方法进行重构的比例。
一种磁盘阵列在线重构方法如图7所示。
步骤S710,在备份系统中备份所述磁盘阵列。
步骤S720,监控所述磁盘阵列的运行状态,在发生磁盘失效时,执行步骤S730。
步骤S730,依据所述失效磁盘的在所述备份系统的备份数据和所述磁盘阵列中未失效的磁盘虚拟出所述失效磁盘的虚拟磁盘,在重构过程中,以所述虚拟磁盘替代所述失效磁盘为应用提供服务。
步骤S740,进行所述重构过程,所述重构过程为将所述失效磁盘的数据重构于所述备援盘,重构完成后,以所述备援盘代替所述失效磁盘。
备援盘代替所述失效磁盘后为应用提供服务。
一较佳的具体实施方式
所述步骤S730进一步为,从所述失效磁盘的在所述备份系统的最近备份版本获得所述虚拟磁盘中对应于所述失效磁盘的最近备份后未修改的数据;由所述磁盘阵列中未失效的磁盘重构得出所述虚拟磁盘中对应于所述失效磁盘的最近备份后修改的数据。
一较佳的具体实施方式
步骤S740进一步为,
步骤S741A,将所述失效磁盘的在所述备份系统的最近备份版本重构到所述备援盘;
步骤S742A,由所述磁盘阵列中未失效的磁盘重构出失效磁盘的当前版本,将所述备援盘中数据同所述当前版本同步。
一较佳的具体实施方式
所述步骤S740进一步为由所述磁盘阵列中未失效的磁盘重构所述失效磁盘到所述备援盘。
所述步骤S740进一步为,
步骤S741B,由所述磁盘阵列中未失效的磁盘重构所述失效磁盘的最近备份版本到所述备援盘;
步骤S742B,由所述磁盘阵列中未失效的磁盘重构出失效磁盘的当前版本;将所述备援盘中数据同所述当前版本同步。
一较佳的具体实施方式
所述方法还包括:
步骤S750,构建所述磁盘阵列中磁盘同所述备份系统中所述磁盘在所述备份系统的最近备份版本的数据块间映射关系,以及所述磁盘在最近备份后修改数据的位置标识。
所述步骤S730进一步为,
步骤S731,从所述映射管理模块获得所述失效磁盘在最近备份后修改数据的位置标识,根据所述位置标识判断数据是否被修改;
步骤S732,如果数据未被修改,则从所述映射管理模块获得所述失效磁盘与在所述备份系统的最近备份版本的数据块间的映射关系,根据所述映射关系从所述失效磁盘在所述备份系统的最近备份版本获得所述数据;
步骤S733,如果数据被修改,则由所述磁盘阵列中未失效的磁盘重构得出所述数据。
一较佳的具体实施方式
所述方法还包括步骤S750,
所述步骤S741A进一步为,从所述映射管理模块获得所述失效磁盘同在所述备份系统的最近备份版本的数据块间的映射关系,根据所述映射关系将所述失效磁盘的最近备份版本重构到所述备援盘;
所述步骤S742A进一步为,由所述磁盘阵列中未失效的磁盘重构出所述失效磁盘的当前版本;从所述映射管理模块获得所述失效磁盘在最近备份后修改数据的位置标识,根据所述位置标识将被修改的数据同步为与所述当前版本一致。
一较佳的具体实施方式
所述方法还包括,
步骤S760,确定重构策略,控制所述恢复管理模块进行重构的速度和为应用提供服务的生产系统正常读写的速度。
所述步骤S740进一步为,根据所述重构管理模块中的重构策略选择对当前失效磁盘,由所述磁盘阵列中未失效的磁盘将所述失效磁盘重构到所述备援盘,或将所述失效磁盘的最近备份版本重构到所述备援盘,由所述磁盘阵列中未失效的磁盘重构出失效磁盘的当前版本,将所述备援盘中数据同所述当前版本同步。
本领域的技术人员在不脱离权利要求书确定的本发明的精神和范围的条件下,还可以对以上内容进行各种各样的修改。因此本发明的范围并不仅限于以上的说明,而是由权利要求书的范围来确定的。
Claims (18)
1.一种磁盘阵列在线重构系统,所述系统包括备援盘,其特征在于,所述系统还包括:
备份系统,用于备份所述磁盘阵列;
日常监控模块,用于监控所述磁盘阵列的运行状态,在发生磁盘失效时,启动恢复管理模块;
所述恢复管理模块,用于依据失效磁盘的在所述备份系统的备份数据和所述磁盘阵列中未失效的磁盘虚拟出所述失效磁盘的虚拟磁盘,在重构过程中,以所述虚拟磁盘替代所述失效磁盘为应用提供服务;
所述恢复管理模块,还用于进行所述重构过程,所述重构过程为将所述失效磁盘的数据重构于所述备援盘,重构完成后,以所述备援盘代替所述失效磁盘。
2.如权利要求1所述的磁盘阵列在线重构系统,其特征在于,
所述恢复管理模块在虚拟所述失效磁盘的虚拟磁盘时进一步用于从所述失效磁盘的在所述备份系统的最近备份版本获得所述虚拟磁盘中对应于所述失效磁盘的最近备份后未修改的数据,由所述磁盘阵列中未失效的磁盘重构得出所述虚拟磁盘中对应于所述失效磁盘的最近备份后修改的数据。
3.如权利要求1所述的磁盘阵列在线重构系统,其特征在于,
所述恢复管理模块在进行所述重构过程时进一步用于将所述失效磁盘的在所述备份系统的最近备份版本重构到所述备援盘;由所述磁盘阵列中未失效的磁盘重构出失效磁盘的当前版本;将所述备援盘中数据同所述当前版本同步。
4.如权利要求1所述的磁盘阵列在线重构系统,其特征在于,
所述恢复管理模块在进行所述重构过程时进一步用于由所述磁盘阵列中未失效的磁盘重构所述失效磁盘到所述备援盘。
5.如权利要求4所述的磁盘阵列在线重构系统,其特征在于,
所述恢复管理模块在进行所述重构过程时进一步用于由所述磁盘阵列中未失效的磁盘重构所述失效磁盘的最近备份版本到所述备援盘;由所述磁盘阵列中未失效的磁盘重构出失效磁盘的当前版本;将所述备援盘中数据同所述当前版本同步。
6.如权利要求2所述的磁盘阵列在线重构系统,其特征在于,所述系统还包括映射管理模块;
所述映射管理模块用于构建所述磁盘阵列中磁盘同所述备份系统中所述磁盘在所述备份系统的最近备份版本的数据块间映射关系,以及所述磁盘在最近备份后修改数据的位置标识;
所述恢复管理模块在虚拟所述失效磁盘的虚拟磁盘时进一步用于从所述映射管理模块获得所述失效磁盘在最近备份后修改数据的位置标识,根据所述位置标识判断数据是否被修改,如果数据未被修改,则从所述映射管理模块获得所述失效磁盘与在所述备份系统的最近备份版本的数据块间的映射关系,根据所述映射关系从所述失效磁盘在所述备份系统的最近备份版本获得所述数据;如果数据被修改,则由所述磁盘阵列中未失效的磁盘重构得出所述数据。
7.如权利要求3所述的磁盘阵列在线重构系统,其特征在于,所述系统还包括映射管理模块;
所述映射管理模块用于构建所述磁盘阵列中磁盘同所述备份系统中所述磁盘在所述备份系统的最近备份版本的数据块间映射关系,以及所述磁盘在最近备份后修改数据的位置标识;
所述恢复管理模块在进行所述重构过程时进一步用于从所述映射管理模块获得所述失效磁盘同在所述备份系统的最近备份版本的数据块间的映射关系,根据所述映射关系将所述失效磁盘的最近备份版本重构到所述备援盘;由所述磁盘阵列中未失效的磁盘重构出所述失效磁盘的当前版本;从所述映射管理模块获得所述失效磁盘在最近备份后修改数据的位置标识,根据所述位置标识将被修改的数据同步为与所述当前版本一致。
8.如权利要求1所述的磁盘阵列在线重构系统,其特征在于,所述系统还包括重构管理模块,
所述重构管理模块,用于确定重构策略,控制所述恢复管理模块进行重构的速度和为应用提供服务的生产系统正常读写的性能。
9.如权利要求8所述的磁盘阵列在线重构系统,其特征在于,
所述恢复管理模块在进行所述重构过程时进一步用于根据所述重构管理模块中的重构策略选择对当前失效磁盘,由所述磁盘阵列中未失效的磁盘将所述失效磁盘重构到所述备援盘,或将所述失效磁盘的最近备份版本重构到所述备援盘,由所述磁盘阵列中未失效的磁盘重构出失效磁盘的当前版本,将所述备援盘中数据同所述当前版本同步。
10.一种磁盘阵列在线重构方法,其特征在于,所述方法包括,
步骤1,在备份系统中备份所述磁盘阵列;
步骤2,监控所述磁盘阵列的运行状态,在发生磁盘失效时,执行步骤3;
步骤3,依据所述失效磁盘的在所述备份系统的备份数据和所述磁盘阵列中未失效的磁盘虚拟出所述失效磁盘的虚拟磁盘,在重构过程中,以所述虚拟磁盘替代所述失效磁盘为应用提供服务;
步骤4,进行所述重构过程,所述重构过程为将所述失效磁盘的数据重构于所述备援盘,重构完成后,以所述备援盘代替所述失效磁盘。
11.如权利要求10所述的磁盘阵列在线重构方法,其特征在于,
所述步骤3进一步为,
步骤111,从所述失效磁盘的在所述备份系统的最近备份版本获得所述虚拟磁盘中对应于所述失效磁盘的最近备份后未修改的数据;
步骤112,由所述磁盘阵列中未失效的磁盘重构得出所述虚拟磁盘中对应于所述失效磁盘的最近备份后修改的数据。
12.如权利要求10所述的磁盘阵列在线重构方法,其特征在于,
所述步骤4进一步为,
步骤121,将所述失效磁盘的在所述备份系统的最近备份版本重构到所述备援盘;
步骤122,由所述磁盘阵列中未失效的磁盘重构出失效磁盘的当前版本,将所述备援盘中数据同所述当前版本同步。
13.如权利要求10所述的磁盘阵列在线重构方法,其特征在于,
所述步骤4进一步为,由所述磁盘阵列中未失效的磁盘重构所述失效磁盘到所述备援盘。
14.如权利要求13所述的磁盘阵列在线重构方法,其特征在于,
所述步骤4进一步为,
步骤141,由所述磁盘阵列中未失效的磁盘重构所述失效磁盘的最近备份版本到所述备援盘;
步骤142,由所述磁盘阵列中未失效的磁盘重构出失效磁盘的当前版本;将所述备援盘中数据同所述当前版本同步。
15.如权利要求11所述的磁盘阵列在线重构方法,其特征在于,所述方法还包括:
步骤151,构建所述磁盘阵列中磁盘同所述备份系统中所述磁盘在所述备份系统的最近备份版本的数据块间映射关系,以及所述磁盘在最近备份后修改数据的位置标识;
所述步骤3进一步为,
步骤152,从所述映射管理模块获得所述失效磁盘在最近备份后修改数据的位置标识,根据所述位置标识判断数据是否被修改;
步骤153,如果数据未被修改,则从所述映射管理模块获得所述失效磁盘与在所述备份系统的最近备份版本的数据块间的映射关系,根据所述映射关系从所述失效磁盘在所述备份系统的最近备份版本获得所述数据;
步骤154,如果数据被修改,则由所述磁盘阵列中未失效的磁盘重构得出所述数据。
16.如权利要求12所述的磁盘阵列在线重构方法,其特征在于,所述方法还包括:
步骤161,构建所述磁盘阵列中磁盘同所述备份系统中所述磁盘在所述备份系统的最近备份版本的数据块间映射关系,以及所述磁盘在最近备份后修改数据的位置标识;
所述步骤4进一步为,
步骤162,从所述映射管理模块获得所述失效磁盘同在所述备份系统的最近备份版本的数据块间的映射关系,根据所述映射关系将所述失效磁盘的最近备份版本重构到所述备援盘;
步骤163,由所述磁盘阵列中未失效的磁盘重构出所述失效磁盘的当前版本;从所述映射管理模块获得所述失效磁盘在最近备份后修改数据的位置标识,根据所述位置标识将被修改的数据同步为与所述当前版本一致。
17.如权利要求10所述的磁盘阵列在线重构方法,其特征在于,所述方法还包括,
步骤171,确定重构策略,控制所述恢复管理模块进行重构的速度和为应用提供服务的生产系统正常读写的性能。
18.如权利要求17所述的磁盘阵列在线重构方法,其特征在于,
所述步骤4进一步为,
步骤181,根据所述重构管理模块中的重构策略选择对当前失效磁盘,由所述磁盘阵列中未失效的磁盘将所述失效磁盘重构到所述备援盘,或将所述失效磁盘的最近备份版本重构到所述备援盘,由所述磁盘阵列中未失效的磁盘重构出失效磁盘的当前版本,将所述备援盘中数据同所述当前版本同步。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009100881215A CN101615146B (zh) | 2009-07-08 | 2009-07-08 | 磁盘阵列在线重构系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009100881215A CN101615146B (zh) | 2009-07-08 | 2009-07-08 | 磁盘阵列在线重构系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101615146A CN101615146A (zh) | 2009-12-30 |
CN101615146B true CN101615146B (zh) | 2011-06-01 |
Family
ID=41494801
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009100881215A Expired - Fee Related CN101615146B (zh) | 2009-07-08 | 2009-07-08 | 磁盘阵列在线重构系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101615146B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101966339B1 (ko) * | 2011-09-07 | 2019-04-08 | 오레가 인크. | 파일 관리 시스템 및 파일 관리 방법 |
CN103186438A (zh) * | 2013-04-02 | 2013-07-03 | 浪潮电子信息产业股份有限公司 | 一种提高磁盘阵列数据重构效率的方法 |
CN103713860A (zh) * | 2014-01-03 | 2014-04-09 | 浪潮(北京)电子信息产业有限公司 | 一种基于备份架构的虚拟磁盘库构建方法及系统 |
CN103870362B (zh) * | 2014-03-21 | 2017-08-04 | 华为技术有限公司 | 一种数据恢复方法、装置及备份系统 |
CN104199623B (zh) * | 2014-09-03 | 2016-04-06 | 创业软件股份有限公司 | 一种raid5重构中的数据源选择方法 |
CN106484324A (zh) * | 2016-09-13 | 2017-03-08 | 郑州云海信息技术有限公司 | 一种raid重建的方法、系统及raid |
CN108733312B (zh) | 2017-04-17 | 2021-05-28 | 伊姆西Ip控股有限责任公司 | 存储管理方法和设备 |
CN113391937B (zh) * | 2020-03-12 | 2024-09-06 | 伊姆西Ip控股有限责任公司 | 用于存储管理的方法、电子设备以及计算机程序产品 |
-
2009
- 2009-07-08 CN CN2009100881215A patent/CN101615146B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN101615146A (zh) | 2009-12-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101615146B (zh) | 磁盘阵列在线重构系统及方法 | |
JP4754852B2 (ja) | ストレージ制御装置および方法 | |
US7523356B2 (en) | Storage controller and a system for recording diagnostic information | |
US8601312B2 (en) | Storage apparatus, controller, and method for allocating storage area in storage apparatus | |
CN101055511B (zh) | 一种存储阵列系统及其数据操作方法 | |
US6438647B1 (en) | Method and apparatus for providing battery-backed immediate write back cache for an array of disk drives in a computer system | |
US20160034223A1 (en) | Avoiding long access latencies in redundant storage systems | |
US20030231529A1 (en) | Drive failure recovery via capacity reconfiguration | |
US20090100237A1 (en) | Storage system that dynamically allocates real area to virtual area in virtual volume | |
US11144396B1 (en) | Raid reliability with a provisional spare disk | |
CN101567211A (zh) | 一种提高磁盘可用性的方法和磁盘阵列控制器 | |
CN101276302A (zh) | 一种磁盘阵列系统中磁盘故障处理和数据重构方法 | |
US8386837B2 (en) | Storage control device, storage control method and storage control program | |
JP6798007B2 (ja) | ストレージシステム、コンピュータ読み取り可能な記録媒体、システムの制御方法 | |
CN103761058A (zh) | Raid1和raid4混合结构网络存储系统及方法 | |
CN101609420A (zh) | 实现磁盘冗余阵列重建的方法和磁盘冗余阵列及其控制器 | |
CN111857540B (zh) | 数据存取方法、装置和计算机程序产品 | |
CN106227464B (zh) | 一种双层冗余存储系统及其数据写入、读取及恢复方法 | |
CN103246478A (zh) | 一种基于软raid支持无分组式全局热备盘的磁盘阵列系统 | |
US7506200B2 (en) | Apparatus and method to reconfigure a storage array disposed in a data storage system | |
CN104536698A (zh) | 一种基于raid的磁盘重构方法及相关设备 | |
CN106569751A (zh) | 一种多控制器缓存镜像方法及系统 | |
CN102164165B (zh) | 一种网络存储系统的管理方法及装置 | |
CN110413218A (zh) | 用于存储系统中的故障恢复的方法、装置和计算机程序产品 | |
CN103019623A (zh) | 存储盘处理方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20110601 |
|
CF01 | Termination of patent right due to non-payment of annual fee |