一种基于raid的磁盘重构方法及相关设备的制造方法

文档序号:8223303阅读:717来源:国知局
一种基于raid的磁盘重构方法及相关设备的制造方法
【技术领域】
[0001]本发明涉及存储领域,特别涉及一种基于RAID的磁盘重构方法及相关设备。
【背景技术】
[0002]RAID技术是一种把多个独立的磁盘或硬盘组合起来构成一个磁盘组或硬盘组,也可以称为逻辑磁盘,以提供比单个磁盘更高的存储性能和数据处理能力的技术,一个磁盘组中的多个磁盘互为成员盘。
[0003]根据磁盘组合方式的不同,可以将RAID划分为不同的级别,如RAIDO、RAID10、RAID3、RAID5、RAID6等。不同的RAID级别提供不同的数据保护方案。其中RAID3、RAID5、RAID6均提供数据冗余保护功能,即当磁盘组中有一块磁盘(RAID6允许2块磁盘)故障后,能够通过正常磁盘上的数据及奇偶校验计算出故障盘的数据,从而保证系统能够正常运行。以4盘的RAID为例,当DISK4故障后,RAID5就不具备数据冗余保护功能了,因此可以通过读取DISK1、DISK2、DISK3上的数据,通过异或算法,恢复出DISK4的数据,并将恢复出的数据写到一个热备盘(DISK5)中,这个过程叫做磁盘重构。这里所指的热备盘是在创建系统后,指定一个空闲盘作为备份盘,当RAID系统的某块成员盘发生故障后,能够自动触发RAID重构,不需要中断RAID系统上的读写业务。
[0004]由于磁盘重构过程中,也必须保证正常的主机读写,而如果要读写的区域还未完成重构,那么就需要通过其它方式获取到该区域的数据,这样就会造成性能的降低。
[0005]近年来,在传统方式的磁盘重构的基础上,出现了精简重构等多种重构方法,精简重构则是改变了重构整个故障盘的方式,变成只重构磁盘上有写过数据的区域,即对磁盘划分了磁盘分块,如果该磁盘分块没有写入数据,则不进行重构,这样可以大大提高重构的速率。
[0006]但是精简重构的缺点是按照磁盘的空间顺序从上而下进行重构的,没有根据业务的有效性以及数据的数据访问次数选择合理的重构方法。对于存储系统关键数据的区域,如果在重构的过程中,由于盘失效等原因造成重构失败,或者这些数据没有得到及时重构,导致重构RAID组无冗余,那么这些重要数据的丢失,从而该区域的数据得不到恢复,就有可能造成系统的无法恢复的故障,对于主机经常访问的区域,如果没有及时得到重构,则会大大降低系统的性能。

【发明内容】

[0007]有鉴于此,本发明实施例提供了一种基于RAID的磁盘重构方法及相关设备。
[0008]第一方面,本发明提供一种基于RAID的磁盘重构方法,所述磁盘包括多个磁盘分块,所述方法包括:
[0009]配置需要存放在磁盘分块中业务的业务优先级;
[0010]将多个业务分别存储至所述磁盘的多个磁盘分块中,以使得一个磁盘分块对应存储一个业务;
[0011]根据所述磁盘分块所存储业务的业务优先级确定所述磁盘分块的重构优先级;
[0012]当磁盘异常时按照重构优先级由高到低的顺序对磁盘分块进行重构。
[0013]结合第一方面,在第一方面的第一种实现方式中,所述配置需要存放在磁盘分块中业务的业务优先级的步骤具体包括:
[0014]配置需要存放在磁盘分块中业务的业务优先级,并将所述业务优先级至少配置为第一优先级和第二优先级,其中,所述第一优先级高于第二优先级。
[0015]结合第一方面的第一种实现方式,在第一方面的第二种实现方式,所述根据所述磁盘分块所存储业务的业务优先级确定所述磁盘分块的重构优先级的步骤具体包括:
[0016]当所述磁盘分块存储业务的业务优先级为第一优先级时确定所述磁盘分块的重构优先级为第一重构优先级;以及
[0017]当所述磁盘分块存储业务的业务优先级为第二优先级时确定所述磁盘分块的重构优先级为第二重构优先级,其中,所述第一重构优先级高于所述第二重构优先级。
[0018]结合第一方面的第二种实现方式,在第一方面的第三种实现方式中,所述当磁盘异常时按照重构优先级由高到低的顺序对磁盘分块进行重构的步骤具体包括:
[0019]当磁盘异常时对第一重构优先级的磁盘分块进行重构;以及
[0020]当第一重构优先级的磁盘分块重构完成后对第二重构优先级的磁盘分块进行重构。
[0021]结合第一方面,第一方面的第四种实现方式中,所述根据所述磁盘分块所存储业务的业务优先级确定所述磁盘分块的重构优先级的步骤之前进一步包括:
[0022]获取每个磁盘分块的数据访问次数,
[0023]当磁盘分块中存储业务的业务优先级相同时确定数据访问次数大的磁盘分块的重构优先级高于数据访问次数小的磁盘分块的重构优先级。
[0024]结合第一方面的第四种实现方式,在第一方面的第五种实现方式中,所述获取每个磁盘分块的数据访问次数的步骤之前,所述方法还包括:
[0025]检测所述磁盘分块被访问时将该磁盘分块的数据访问次数加I。
[0026]结合第一方面的第五种实现方式,在第一方面的第六种实现方式中,所述当磁盘异常时按照重构优先级由高到低的顺序对磁盘分块进行重构的步骤之前,所述方法还包括:
[0027]检测到所述磁盘分块未写入数据时不对该磁盘模块进行重构。
[0028]第二方面,本发明提供了一种基于RAID的磁盘重构系统,述磁盘包括多个磁盘分块,所述系统包括:
[0029]配置单元,用于配置需要存放在磁盘分块中业务的业务优先级;
[0030]存储操作单元,用于将多个业务分别存储至所述磁盘的多个磁盘分块中,以使得一个磁盘分块对应存储一个业务;
[0031]第一确定单元,用于根据所述磁盘分块所存储业务的业务优先级确定所述磁盘分块的重构优先级;
[0032]重构单元,用于当磁盘异常时按照重构优先级由高到低的顺序对磁盘分块进行重构。
[0033]结合第二方面,在第二方面的第一种实现方式中,所述配置单元还用于配置需要存放在磁盘分块中业务的业务优先级,并将所述业务优先级至少配置为第一优先级和第二优先级,其中,所述第一优先级高于第二优先级。
[0034]结合第二方面的第一种实现方式,在第二方面的第二种实现方式中,所述第一确定单元还用于当所述磁盘分块存储业务的业务优先级为第一优先级时确定所述磁盘分块的重构优先级为第一重构优先级;以及
[0035]当所述磁盘分块存储业务的业务优先级为第二优先级时确定所述磁盘分块的重构优先级为第二重构优先级,其中,所述第一重构优先级高于所述第二重构优先级。
[0036]结合第二方面的第二种实现方式,在第二方面的第三种实现方式中,所述重构单元还用于当磁盘异常时对第一重构优先级的磁盘分块进行重构;以及
[0037]当第一重构优先级的磁盘分块重构完成对第二重构优先级的磁盘分块进行重构。
[0038]结合第二方面,在第二方面的第四种实现方式中,所述系统还包括:
[0039]获取单元,用于获取每个磁盘分块的数据访问次数,
[0040]第二确定单元,用于当磁盘分块中存储业务的业务优先级相同时确定数据访问次数大的磁盘分块的重构优先级高于数据访问次数小的磁盘分块的重构优先级。
[0041]结合第二方面的第四种实现方式,在第二方面的第五种实现方式中,所述系统还包括:
[0042]访问次数记录单元,用于检测所述磁盘分块被访问时将该磁盘分块的数据访问次数加I。
[0043]第三方面,本发明提供了一种存储控制器,用于实现主机与磁盘之间的数据交换控制,所述磁盘包括多个磁盘分块,所述存储控制器包括:
[0044]缓存单元,用于主机向磁盘存储数据时进行数据缓存;
[0045]业务优先级统计单元,用于统计每个磁盘分块中业务的业务优先级,其中,所述业务优先级为预先根据业务的类型进行配置;
[0046]RAID处理单元,用于在磁盘故障时根据所述业务优先级统计单元的第一统计结果按照业务优先级由高到低的顺序对磁盘分块进行重构。
[0047]结合第三方面,
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1