一种独立冗余磁盘阵列智能重建的方法

文档序号:6540406阅读:139来源:国知局
一种独立冗余磁盘阵列智能重建的方法
【专利摘要】本发明公开了一种独立冗余磁盘阵列智能重建的方法,其包括以下步骤:在独立冗余磁盘阵列重建的时候,根据其中各区域的数据重要性等级,优先选择数据重要性等级高的区域进行重建。采用上述方案,本发明通过在RAID重建时优先进行数据重要性等级高的区域重建,能够确保RAID上重要的数据优先得到重建,即使RAID变为failed状态,也能确保最大程度的减少数据丢失的损失,具有很高的市场应用价值。
【专利说明】一种独立冗余磁盘阵列智能重建的方法
【技术领域】
[0001]本发明涉及独立冗余磁盘阵列,尤其涉及的是,一种独立冗余磁盘阵列智能重建的方法。
【背景技术】
[0002]现有技术中,RAID(Redundant Array of Independent Disk,独立冗余磁盘阵列)已经是一种广泛使用的数据保护技术,而重建则是RAID恢复数据冗余的必要手段。
[0003]但是现在磁盘的容量越来越大,这也就造成的RAID重建的时间越来越长,而RAID的条带在重建完成之前都是处于非冗余状态。那么如果RAID在降级状态下再有一块磁盘损坏,那么未重建的条带将变为FAILED状态,这些条带的数据就被破坏了。
[0004]现在的重建技术为按照地址顺序对RAID的条带进行重建,但是这样的话可能会造成一些不太重要的数据被恢复了,而重要的数据没有恢复,例如,文件系统的元数据(Metadata)没有恢复,而文件的内容被恢复了,由于元数据是关于数据的组织、数据域及其关系的信息,这样的话,文件的内容恢复是没有意义的,文件照样无法读出。

【发明内容】

[0005]本发明所要解决的技术问题是提供一种新的独立冗余磁盘阵列智能重建的方法。
[0006]本发明的技术方案如下:一种独立冗余磁盘阵列智能重建的方法,其包括以下步骤:在独立冗余磁盘阵列重建的时候,根据其中各区域的数据重要性等级,优先选择数据重要性等级高的区域进行重建。
[0007]优选的,所述方法中,根据所述独立冗余磁盘阵列各区域中数据的重要性,设置各个区域的所述数据重要性等级。
[0008]优选的,所述方法中,预设置或者手动调整各个区域的所述数据重要性等级。
[0009]优选的,所述方法中,根据预设置数据的重要性标识,确定各区域中数据的重要性,自动调整各个区域的所述数据重要性等级。
[0010]优选的,所述方法中,在重建中或者重建后,将所述独立冗余磁盘阵列中标记为故障的硬盘强制上线。
[0011]优选的,所述方法中,为所述独立冗余磁盘阵列的各区域设置所述数据重要性等级,用于标识其中数据的重要性;并且,在向各区域写入数据时,根据所述数据的重要性,将其对应写入相关所述数据重要性等级的区域。
[0012]优选的,所述方法中,根据所述独立冗余磁盘阵列的地址,设置各所述区域。
[0013]优选的,所述方法中,根据所述独立冗余磁盘阵列的地址设置各所述区域时,根据所述地址所对应的空间将要存放数据的重要性,设置各区域的所述数据重要性等级。
[0014]优选的,所述方法中,在所述独立冗余磁盘阵列中的虚拟磁盘中设置各所述区域。
[0015]优选的,所述方法中,对于存储元数据的区域,将其数据重要性等级设置为最高。
[0016]采用上述方案,本发明通过在RAID重建时优先进行数据重要性等级高的区域重建,能够确保RAID上重要的数据优先得到重建,即使RAID变为failed状态,也能确保最大程度的减少数据丢失的损失,具有很高的市场应用价值。
【专利附图】

【附图说明】
[0017]图1为本发明的一个实施例的RAID结构示意图。
[0018]图2为本发明的一个实施例的RAID重建进度示意图。
[0019]图3为本发明的又一个实施例的RAID区域设置示意图。
[0020]图4为本发明的另一个实施例的调整的区域数据重要性等级示意图。
[0021]图5为本发明的再一个实施例的RAID重建示意图。
【具体实施方式】
[0022]为了便于理解本发明,下面结合附图和具体实施例,对本发明进行更详细的说明。附图中给出了本发明的较佳的实施例。但是,本发明可以采用许多不同的形式来实现,并不限于本说明书所描述的实施例。相反地,提供这些实施例的目的是使对本发明的公开内容的理解更加透彻全面。
[0023]需要说明的是,当元件被称为“固定于”另一个元件,它可以直接在另一个元件上或者也可以存在居中的元件。当一个元件被认为是“连接”另一个元件,它可以是直接连接到另一个元件或者可能同时存在居中元件。本说明书所使用的术语“垂直的”、“水平的”、“左”、“右”以及类似的表述只是为了说明的目的。
[0024]除非另有定义,本说明书所使用的所有的技术和科学术语与属于本发明的【技术领域】的技术人员通常理解的含义相同。本说明书中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是用于限制本发明。本说明书所使用的术语“和/或”包括一个或多个相关的所列项目的任意的和所有的组合。
[0025]本发明的一个实施例是,一种独立冗余磁盘阵列智能重建的方法,其包括以下步骤:在独立冗余磁盘阵列重建的时候,根据其中各区域的数据重要性等级,优先选择数据重要性等级高的区域进行重建,这样,就避免了一些不太重要的数据被恢复了,而重要的数据没有恢复的问题。所述区域包括条带、物理磁盘(即磁盘)、虚拟磁盘、物理卷、逻辑卷、物理区域块、或逻辑区域块等,例如,根据实际情况灵活设置。
[0026]其中,PV (Physical Volume,物理卷)可以是一个磁盘,也可以是磁盘中的一个分区。多个PV可以被逻辑的放到一个VG中,作为LVG(Logical Volume Group,逻辑卷组),其是一个虚拟的大型存储空间,逻辑上是连续的,它可以由多块PV组成,此时VG会将所有PV首尾相连,组成一个逻辑上连续编址的大存储池,在一个VG上可以创建多个逻辑卷(LV)。在逻辑上再将一个VG分割成连续的小块,形成PP (Physical Partition,物理区域块,也称Physical Extent, PE), LVM系统会记录每个PP的大小、扇区、序号偏移等信息,这样就相当于在VG这个大池中顺序切割。例如假设一个PP的大小是4MB,一个扇区是512B,其具有4MB/512B=8192个扇区。如果PV是实际的一块物理磁盘,那么这些扇区就是连续的。如果PV本身是经过RAID控制器虚拟化形成的虚拟盘(LUN),那么这些扇区可能位于若干条带中,也就是说这8192个扇区物理上不一定连续。
[0027]PP可以再次组成LP(Logical Partition,逻辑区域块,也称Logical Extent,LE),一个LP可以对应一个PP,也可以对应多个PP。后者又分为两种情况:一种为多个PP,组成一个大的LP,像是RAIDO —样;另一种是一个LP对应几份PP,这几份PP没一份内容都一样,类似于RAIDl,对各PP内容互为镜像,然后用一个LP来代表它们,往这个LP写数据,也就同时写入了这个LP对应的几份PP中。若干LP再经过连续组合成LV (LogicalVolume,逻辑卷),也就是LVM所提供的最终可用来存储数据的单位。生产逻辑卷,在主机看来还是和普通磁盘一样,对其进行分区,格式化等。每个逻辑分区上都可以创建具体的文件系统。例如,优选的,所述区域为VD;或者,优选的,本发明各实施例中,所述区域为物理区域块或逻辑区域块。例如,所述区域为细分的逻辑区域块。
[0028]例如,在现有系统中增加优先级设置模块以及重建模块,优先级设置模块用于在申请各区域地址空间时,根据地址空间将要存放数据的重要性,进行优先级的设置,其中,优先级对应于所述数据重要性等级,例如,所述数据重要性等级最高,即优先级最高,例如,此时设置优先级或数据重要性等级为O ;又如,所述数据重要性等级最低,即优先级最低,例如,此时设置优先级或数据重要性等级为9、20或者100等。
[0029]优选的,同时也可以提供命令行,手动调整各个extent的优先级。重建模块,即按优先级调度重建模块,如图1所示,RAIDO中的各区域,I个区域的优先级为0,其存储VD元数据,在重建调度时重点保留,五个区域的优先级为1,在重建调度时作为VD0,六个区域的优先级为2,在重建调度时作为VD1,又如,最低优先级为3的一个区域,在重建时被舍弃;整体由所述重建模块进行处理。在RAID进行重建时,按照优先级,对优先级高的区域进行优先重建,确保重建进度,如图2所示,重建盘与各数据盘交互。这样,即使再坏一块数据盘,已被重建好的区域的数据也是可以使用的。优选的,优先重建重要的数据。
[0030]优选的,所述方法中,根据所述独立冗余磁盘阵列各区域中数据的重要性,设置各个区域的所述数据重要性等级。例如,各区域的所述数据重要性等级不是固定不变的,可以灵活调整,例如,某区域中,新增存储了数据结构等重要信息时,则设置提升该区域的所述数据重要性等级。优选的,预设置或者手动调整各个区域的所述数据重要性等级;或者,优选的,根据预设置数据的重要性标识,确定各区域中数据的重要性,自动调整各个区域的所述数据重要性等级。例如,采用数据类型、大小、建立时间、建立人和/或建立权限等作为所述数据的重要性标识,从而确定各区域中数据的重要性,自动调整各个区域的所述数据重要性等级。优选的,预设置数据的重要性标识。例如视频,尤其是重复的某一个或某一类视频,调整其一的数据重要性等级为低或者最低。例如,在划分区域时,预设置各个区域的所述数据重要性等级;又如,在应用中,手动调整各个区域的所述数据重要性等级。这样,系统在使用过程中,能够及时处理正常状况和应对突发状况,有利于管理员达成高效率、高保障的数据管理。
[0031]优选的,所述方法中,在重建中或者重建后,将所述独立冗余磁盘阵列中标记为故障的硬盘强制上线。优选的,手动调整区域的重要等级,即数据重要性等级,从而可以灵活的控制优先重建哪个区域,这样可以按照不同的业务,例如不同的文件系统,调整区域的优先级,从而最大程度的减少RAID FAILED造成的数据损失,具有很高的实用性。RAID FAILED可以强制上线,那么已重建好的部分条带是可以使用的,从而能够尽可能地保障重要的数据不丢失。
[0032]优选的,所述方法中,为所述独立冗余磁盘阵列的各区域设置所述数据重要性等级,用于标识其中数据的重要性;也就是说,无论各区域将放置什么数据,可以预先设置各区域的所述数据重要性等级,或者,根据各区域写入数据的重要性,设置各个区域的所述数据重要性等级;并且,在向各区域写入数据时,根据所述数据的重要性,将其对应写入相关所述数据重要性等级的区域,优选的,在没有相关所述数据重要性等级的区域时,则将所述数据对应写入更高一级的区域。或者,在向各区域写入数据时,根据所述数据的重要性,调整该区域的数据重要性等级。这样,可以灵活调整并根据实际情况处理,一方面能够根据区域来选择写入数据,另一方面能够根据数据来调整区域的数据重要性等级。
[0033]例如,区域A的数据重要性等级(简称重要性优先级或优先级,或称为优先级)为1,区域B的优先级为2,区域C的优先级为3,重要性优先级从高到低分别为1、2、3 ;则在写入数据时,先确定该数据的优先级,若其优先级为3,则优先写入区域C,当优先级为3的区域C已写满或者不存在时,则写入区域B,以此类推。又如,在写入数据时,确定该数据优先级为2,则优先写入区域B,在没有相关所述数据重要性优先级的区域时,则将所述数据对应写入更高一级的区域A,以此类推。
[0034]优选的,所述方法中,根据所述独立冗余磁盘阵列的地址,设置各所述区域。如图3所示,将RAID上的地址按照一定规则,划分为一些extent作为所述区域,然后为每个extent设定一个数据重要等级,RAID在重建时优先进行高等级extent的重建;例如:将raid按照IG大小为粒度,划分为很多个extent,这样的话就能确保RAID上重要的数据优先得到重建,即使RAID变为failed状态,也能确保最大程度的减少数据丢失的损失。
[0035]优选的,所述方法中,根据所述独立冗余磁盘阵列的地址设置各所述区域时,根据所述地址所对应的空间将要存放数据的重要性,设置各区域的所述数据重要性等级。例如,在设置VD或者extent时,根据所述地址所对应的空间将要存放数据的重要性,设置各区域的所述数据重要性等级。例如,某一 extent将要用于存放密钥数据或者合同数据,则将其数据重要性等级调高或者设置为较高级别。优选的,对于存储元数据的区域,将其数据重要性等级设置为最闻。
[0036]优选的,所述方法中,在所述独立冗余磁盘阵列中的虚拟磁盘中设置各所述区域。例如,在VD中设置各extent作为所述区域。对RAID进行相应的地址按块划分,也就是用RAID创建VG (Virtual Group,虚拟组)的过程,VG是一个虚拟的队列或者称为阵列,可以用多个RAID创建VG,可以分别对每个区域进行数据等级设置。如图3所示,例如在创建VG时给VG元数据设置一个比较高的数据等级,设置为O。例如,O为最重要数据等级,其他未分配出去的TRUNK分配一个默认级别,例如,设置为最低数据等级9。例如设置两级优先级,元数据的优先级为高,其它数据的优先级为低。
[0037]—个VG中,几块磁盘分别设置若干区域,或称为区域块,如图3所示,共设置8个区域块(extent),该数量仅作示意说明,不应理解为对本发明及其各实施例的保护范围的限制,其中一个区域块的优先级最高,其优先级为0,用于存储该VG的元数据,区域块TRUNKO至TRUNK6的优先级均设置为最低,其优先级为9,分别存储其它数据。
[0038]在创建VD (Virtual Disk,虚拟磁盘)时可指定一个写入数据后的级别,虚拟磁盘可以不使用阵列的全部容量,也就是说,一个磁盘组可以分为多个VD。如图4所示,例如,若此VD会存放比较重要的数据则指定写入数据后级别为I,若此VD将用于存放不太重要的数据则设置写入数据后级别为5。然后监控VD是否有数据写入,若有数据写入则提高VD相应区域的级别,也可以提供命令行,手动修改某个区域的数据重要等级。如图4所示,IO写入修改VD相应区域重要等级,即所述区域的所述数据重要性等级,例如,单独或分别修改VDO和VDl中各区域块的数据重要性等级,例如,某区域块用于存储所在VG的元数据,其优先级设置为0,即最高级;区域块TRUNKO至TRUNK2的优先级均设置为1,即次高级,其中,区域块TRUNKO和TRUNKl归属于VDO ;区域块TRUNK3和TRUNK6的优先级均设置为9,即最低级;归属于VDl的区域块TRUNK4至TRUNK5的优先级均设置为5,属于中间等级。
[0039]在RAID重建时,按照区域的重要等级,优先重建数据重要等级高的区域。如图5所示,将区域的数据结构组成一个多重链表,优先选取等级高的链表的区域块,对其进行重建。重建完一个区域块,再次从链表中取出下一个区域块进行重建。例如,如图4和图5所示,先重建数据重要性等级最高的Pool元数据区域块,其优先级为O ;在其重建完成之后,再顺序或者同时重建数据重要性等级次之的区域块TRUNKO至TRUNK2,其优先级为I ;然后,再重建数据重要性等级次之的区域块TRUNK4和TRUNK5,其优先级为5,由于优先级为2、3、4的区域块空缺,所以轮到优先级为5的区域块TRUNK4和TRUNK5 ;最后再重建数据重要性等级次之的区域块TRUNK3和TRUNK6,其优先级为9,由于优先级为6、7、8的区域块空缺,所以轮到优先级为9的区域块TRUNK3和TRUNK6。
[0040]进一步地,本发明的实施例还包括,上述各实施例的各技术特征,相互组合形成的独立冗余磁盘阵列智能重建的方法,对RAID中各个区域,将区域按照数据重要性进行等级区分,在重建时候优先选择重要性等级高的区域进行重建,从而能确保raid上重要的数据优先得到重建,即使raid变为failed状态,也能确保最大程度的减少数据丢失的损失,非
常有利于数据管理工作。
[0041]本发明上述各实施例提供了独立冗余磁盘阵列智能重建的方法,通过对独立冗余磁盘阵列中各个区域按照数据重要性进行等级区分,在重建时候优先选择重要性等级高的区域进行重建,解决了独立冗余磁盘阵列重建的重要数据保护的技术问题,尤其避免了因重要数据丢失导致系统崩溃;本发明上述各实施例部分以计算机程序处理流程为基础,通过计算机执行按上述流程编制的计算机程序,对计算机系统中的区域数据进行处理,利用的是遵循自然规律的技术手段,获得了保护重要数据以及提高独立冗余磁盘阵列健壮性的技术效果,能够尽可能地维护系统,确保了系统重建的可靠性以及实现了重要数据的重点保障;因此,本发明是一种通过执行计算机程序实现系统内部性能改进以及系统内部资源管理的解决方案,属于专利法第二条第二款规定的技术方案,属于专利保护的客体。
[0042]需要说明的是,上述各技术特征继续相互组合,形成未在上面列举的各种实施例,均视为本发明说明书记载的范围;并且,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,而所有这些改进和变换都应属于本发明所附权利要求的保护范围。
【权利要求】
1.一种独立冗余磁盘阵列智能重建的方法,其特征在于,包括以下步骤: 在独立冗余磁盘阵列重建的时候,根据其中各区域的数据重要性等级,优先选择数据重要性等级高的区域进行重建。
2.根据权利要求1所述方法,其特征在于,根据所述独立冗余磁盘阵列各区域中数据的重要性,设置各个区域的所述数据重要性等级。
3.根据权利要求2所述方法,其特征在于,预设置或者手动调整各个区域的所述数据重要性等级。
4.根据权利要求2所述方法,其特征在于,根据预设置数据的重要性标识,确定各区域中数据的重要性,自动调整各个区域的所述数据重要性等级。
5.根据权利要求2所述方法,其特征在于,在重建中或者重建后,将所述独立冗余磁盘阵列中标记为故障的硬盘强制上线。
6.根据权利要求1至5任一所述方法,其特征在于,为所述独立冗余磁盘阵列的各区域设置所述数据重要性等级,用于标识其中数据的重要性;并且, 在向各区域写入数据时,根据所述数据的重要性,将其对应写入相关所述数据重要性等级的区域。
7.根据权利要求6所述方法,其特征在于,根据所述独立冗余磁盘阵列的地址,设置各所述区域。
8.根据权利要求7所述方法,其特征在于,根据所述独立冗余磁盘阵列的地址设置各所述区域时,根据所述地址所对应的空间将要存放数据的重要性,设置各区域的所述数据重要性等级。
9.根据权利要求8所述方法,其特征在于,在所述独立冗余磁盘阵列中的虚拟磁盘中设置各所述区域。
10.根据权利要求9所述方法,其特征在于,对于存储元数据的区域,将其数据重要性等级设置为最闻。
【文档编号】G06F3/06GK103823728SQ201410093577
【公开日】2014年5月28日 申请日期:2014年3月13日 优先权日:2014年3月13日
【发明者】陈学伟 申请人:深圳市迪菲特科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1