磁盘冗余阵列的热备盘切换控制方法及控制器的制作方法

文档序号:6600584阅读:234来源:国知局
专利名称:磁盘冗余阵列的热备盘切换控制方法及控制器的制作方法
技术领域
本发明涉及磁盘冗余阵列(RAID)的磁盘备份技术,特别涉及一种RAID的热备盘切换控制方法、以及一种可实现热备盘切换控制的RAID控制器。
背景技术
现有技术中的数据存储,通常以采用某种RAID技术的磁盘阵列为基本单元。每个磁盘阵列中的至少一块成员磁盘用来记录冗余校验信息,此外,还需要为每个磁盘阵列中额外再指定至少一块磁盘用作热备盘,以备在磁盘阵列中的某块、或某几块成员磁盘损坏时,可以由磁盘阵列中的RAID控制器利用冗余校验信息,从其他成员磁盘中将损坏磁盘的数据恢复至热备盘,并由RAID控制器将热备盘切换为成员磁盘、用以顶替该磁盘阵列中损坏的成员磁盘。然而,如果磁盘阵列中一直未出现损坏的成员磁盘,则该磁盘阵列中的所有成员磁盘就会持续承担数据的读写任务,而热备盘则会一直处于空转、休眠、或下电状态。如此一来,就会使得磁盘阵列中持续承担数据读写任务的成员磁盘寿命大大降低,与此同时,还造成了长期闲置的热备盘的利用率极低。

发明内容
有鉴于此,本发明提供了一种RAID的热备盘切换控制方法、以及一种可实现热备盘切换控制的RAID控制器,能够提高磁盘寿命及利用率。本发明提供的一种RAID的热备盘切换控制方法,为RAID指定M个成员磁盘、以及 N个热备盘,其中,M为大于1的正整数、N为大于等于1的正整数,且该热备盘切换控制方法在每次时间周期到达时,均执行如下步骤将R个成员磁盘中的数据分别拷贝至对应热备盘中,R小于等于M ;将所述R个成员磁盘与已完成拷贝的对应热备盘相互替换。所述时间周期大于拷贝时间。所述时间周期至少为拷贝时间的20倍。
所述时间周期远远大于拷贝时间。M大于等于N,则R大于等于1且小于等于N;或者,M小于N,则R大于等于1且小于等于M。所述R取1。连续M+N个时间周期到达时所拷贝的成员磁盘互不相同,且每块成员磁盘在替换为热备盘后的N个周期内不会再与其他成员磁盘相互替换。该热备盘切换控制方法在被拷贝的成员磁盘损坏时,进一步包括停止对该成员磁盘的拷贝,并通过重建的方式在对应热备盘上恢复出该成员磁盘未完成拷贝的部分数据;利用已恢复数据的对应热备盘替换损坏成员磁盘、并将损坏成员磁盘踢出阵列。
本发明提供的一种可实现热备盘切换控制的RAID控制器,包括成员记录单元,用于记录为RAID指定的M个成员磁盘,M为大于1的正整数;备份记录单元,用于记录为RAID指定的N个热备盘,N为大于等于1的正整数;周期定时单元,用于按照时间周期产生定时信号;数据拷贝单元,用于在每次产生定时信号时,将R个成员磁盘中的数据分别拷贝至对应热备盘中,R小于等于M ;状态转换单元,用于将所述成员记录单元中记录的所述R个成员磁盘,分别与所述备份记录单元中记录的已完成拷贝的对应热备盘相互替换。所述时间周期大于拷贝时间。所述时间周期至少为拷贝时间的20倍。所述时间周期远远大于拷贝时间。M大于等于N,则R大于等于1且小于等于N;或者,M小于N,则R大于等于1且小于等于M。所述R取1。所述数据拷贝单元在连续M+N个定时信号产生时所拷贝的成员磁盘互不相同,且每块成员磁盘在替换为热备盘后的N个周期内不会再与其他成员磁盘相互替换。进一步包括数据重建单元,用于在被拷贝的成员磁盘损坏时,令所述数据拷贝单元停止对该成员磁盘的拷贝,并通过重建的方式在对应热备盘上恢复出该成员磁盘未完成拷贝的部分数据;成员踢除单元,用于将所述成员记录单元中记录的损坏成员磁盘删除、用以将损坏成员磁盘踢出阵列,并将所述备份记录单元中记录的已通过重建恢复数据的对应热备盘移至所述成员记录单元中、用以顶替损坏成员磁盘。由上述技术方案可见,在本发明中,即便没有成员磁盘损坏时,每块磁盘也不是固定地用作成员磁盘、或者固定用作热备盘,而是所有磁盘轮流用作成员磁盘、并处于承担数据读写的工作状态,以使每块磁盘均能够间歇地用作热备盘以进入备份状态,从而,通过控制各磁盘在工作状态与备份状态之间的切换,既能够提高每块磁盘的使用寿命、又能够提高每块磁盘的利用率。


图1为本发明实施例中热备盘切换控制方法的流程示意图;图2a 图2j为本发明实施例中热备盘切换实例的过程示意图;图3为本发明实施例中RAID控制器的结构示意图。
具体实施例方式为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明进一步详细说明。本实施例仍为每个磁盘阵列指定预定数量的成员磁盘、以及至少一个热备盘,但即便没有成员磁盘损坏,也可以控制成员磁盘与热备盘之间的相互替换。
也就是说,即便没有成员磁盘损坏,每块磁盘也不是固定地用作成员磁盘、或者固定用作热备盘,而是所有磁盘轮流用作成员磁盘、并处于承担数据读写的工作状态,以使每块磁盘均能够间歇地用作热备盘以进入备份状态,从而,通过控制各磁盘在工作状态与备份状态之间的切换,既能够提高每块磁盘的使用寿命、又能够提高每块磁盘的利用率。下面,先对本实施例中的热备盘切换控制方法进行详细说明。图1为本发明实施例中热备盘切换控制方法的流程示意图。在为RAID指定M(M 为大于1的正整数)个成员磁盘、以及N(N为大于等于1的正整数)个热备盘之后,如图1 所示,该方法包括步骤100,周期性地对时间周期T计时,并在每次计到达时间周期T之后执行步骤 101。步骤101,将R个成员磁盘中的数据分别拷贝至对应热备盘中。其中,R小于等于 M0进一步地,R小于等于M又包括如下两种情况M大于等于N、则R大于等于1且小于等于N,以及,M小于N、则R大于等于1且小于等于M。如果在执行本步骤的拷贝过程中,被拷贝的某块成员磁盘有写访问,则可依据写地址来判断写访问所针对的数据是否已被拷贝至对应的热备盘中;对于已拷贝至热备盘中的情况,可以直接写访问该热备盘并替换数据;对于未拷贝至热备盘中的情况,可以直接写访问被拷贝的成员磁盘、并在后续拷贝至热备盘中;或者,无论属于哪种情况,在拷贝完成之前暂不直接对被拷贝的成员磁盘和对应的热备盘写访问,而是待拷贝完成后利用其他成员磁盘进行同步操作;实际的处理方式还可以有多种,在此不再一一赘述。步骤102,将R个成员磁盘分别与已完成拷贝的对应热备盘相互替换,然后返回步骤100等待下一次时间周期T的计时到达。当然,如果在执行步骤101的拷贝过程中,R个被拷贝的某块成员磁盘损坏,则可以不再执行本步骤,而是可以停止对该成员磁盘的拷贝,并通过重建的方式在对应热备盘上恢复出该成员磁盘未完成拷贝的部分数据,然后再利用已恢复数据的对应热备盘顶替损坏成员磁盘、并将损坏的该成员磁盘踢出RAID磁盘阵列。上述循环执行的流程,直至整个RAID停止工作、或由于有N个磁盘损坏导致热备盘数量为0时结束。实际应用中,由于数据的拷贝需要占用一定的时间、且拷贝期间内会对RAID的读写访问产生一定程度的影响,因而为了避免拷贝过于频繁而使RAID的读写性能下降,本实施例可以设置时间周期T大于拷贝时间,例如,拷贝时间通常为几小时,则可以设置时间周期T为几天,即时间周期T可至少为拷贝时间的20倍。当然,在磁盘寿命足够长的前提下,可以设置时间周期T远远大于拷贝时间,即时间周期T >>拷贝时间,从而尽可能使数据拷贝所占用的时间可以忽略不计。这里所述的 “远远大于”的程度,可以根据实际需要任意设置,最极端的一种情况就是时间周期T与拷贝时间的商的极限趋近于正无穷。当然,即便如此,数据拷贝对RAID读写性能的影响也是存在的,而且随着同时拷贝的磁盘数量增多,该影响也会更为显著,因此,较佳地,每次仅实现一块成员磁盘与一块热备盘之间的替换,即上述流程中的R取1。此时,为了使M+N块磁盘能够均勻地通过备份状态得到休息,可以令连续M+N个时间周期T到达时所拷贝的成员磁盘互不相同,且每块成员磁盘在替换为热备盘后的N个周期内不会再与其他成员磁盘相互替换。图2a 图2j为本发明实施例中热备盘切换实例的过程示意图。假设有磁盘ζ 1 ζ5、以及磁盘rl r3,则参见图2a,磁盘zl z5被指定为RAID的成员磁盘、磁盘rl r3被指定为该 RAID的热备盘;参见图2b 图2c,第一次时间周期T计时到达,磁盘ζ 1中的数据拷贝至磁盘r 1, 磁盘zl变为热备盘、磁盘rl变为成员磁盘;参见图2c 图2d,第二次时间周期T计时到达,磁盘z2中的数据拷贝至磁盘r2, 磁盘z2变为热备盘、磁盘r2变为成员磁盘;参见图2d 图2e,第三次时间周期T计时到达,磁盘z3中的数据拷贝至磁盘r3, 磁盘z3变为热备盘、磁盘r3变为成员磁盘;参见图2e 图2f,第四次时间周期T计时到达,磁盘z4中的数据拷贝至磁盘zl, 磁盘z4变为热备盘、磁盘zl又变回为成员磁盘;参见图2f 图2g,第五次时间周期T计时到达,磁盘z5中的数据拷贝至磁盘z2, 磁盘z5变为热备盘、磁盘z2又变回为成员磁盘;参见图2g 图2h,第六次时间周期T计时到达,磁盘rl中的数据拷贝至磁盘z3, 磁盘rl又变回为热备盘、磁盘z3又变回为成员磁盘;参见图2h 图2i,第七次时间周期T计时到达,磁盘r2中的数据拷贝至磁盘z4, 磁盘r2又变回为热备盘、磁盘z4又变回为成员磁盘;参见图2i 图2j,第八次时间周期T计时到达,磁盘z3中的数据拷贝至磁盘z5, 磁盘r3又变回为热备盘、磁盘z5又变回为成员磁盘。对于8块磁盘,上述连续八次的时间周期内被执行拷贝的磁盘互不相同,且每块磁盘在变为热备盘后的三个时间周期内不会再变回成员磁盘。下面,再对本实施例中可实现热备盘切换控制的RAID控制器进行详细说明。图3为本发明实施例中RAID控制器的结构示意图。如图3所示,本实施例中可实现热备盘切换控制的磁盘冗余阵列RAID控制器包括成员记录单元301,用于记录为RAID指定的M个成员磁盘,M为大于1的正整数;备份记录单元302,用于记录为RAID指定的N个热备盘,N为大于等于1的正整数;周期定时单元303,用于按照时间周期T产生定时信号;数据拷贝单元304,用于在每次产生定时信号时,将R个成员磁盘中的数据分别拷贝至对应热备盘中,其中,R小于等于M ;进一步地,R小于等于M又包括如下两种情况如果 M大于等于N、则R大于等于1且小于等于N,如果M小于N、则R大于等于1且小于等于M ;状态转换单元305,用于将成员记录单元301中记录的所述R个成员磁盘,分别与备份记录单元302中记录的已完成拷贝的对应热备盘相互替换。实际应用中,由于数据的拷贝需要占用一定的时间、且拷贝期间内会对RAID的读写访问产生一定程度的影响,因而为了避免拷贝过于频繁而使RAID的读写性能下降,本实施例可以设置用于周期定时单元303产生定时信号的时间周期T大于拷贝时间,例如,拷贝时间通常为几小时,则可以设置时间周期T为几天,即时间周期T可至少为拷贝时间的20
7倍。当然,在磁盘寿命足够长的前提下,可以设置用于周期定时单元303产生定时信号的时间周期T远远大于拷贝时间,即时间周期T >>拷贝时间,从而尽可能使数据拷贝所占用的时间可以忽略不计。这里所述的“远远大于”的程度,可以根据实际需要任意设置, 最极端的一种情况就是时间周期T与拷贝时间的商的极限趋近于正无穷。当然,即便如此,数据拷贝对RAID读写性能的影响也是存在的,而且随着同时拷贝的磁盘数量增多,该影响也会更为显著,因此,较佳地,每次仅实现一块成员磁盘与一块热备盘之间的替换,即数据拷贝单元304所拷贝的成员磁盘数量R取1。此时,为了使M+N 块磁盘能够均勻地通过备份状态得到休息,可以令数据拷贝单元304在连续M+N个时间周期T到达时所拷贝的成员磁盘互不相同,且每块成员磁盘在替换为热备盘后的N个周期内不会再与其他成员磁盘相互替换。此外,为了避免拷贝过程中由于被拷贝成员磁盘损坏而发生数据丢失,如图3所示的RAID控制器还可以进一步包括数据重建单元306,用于在被拷贝的成员磁盘损坏时,令所述数据拷贝单元304停止对该成员磁盘的拷贝,并通过重建的方式在对应热备盘上恢复出该成员磁盘未完成拷贝的部分数据;成员踢除单元307,用于将成员记录单元301中记录的损坏成员磁盘删除、用以将损坏成员磁盘踢出阵列,并将备份记录单元302中记录的已通过重建恢复数据的对应热备盘移至成员记录单元301中、用以顶替损坏成员磁盘,而非再将该对应的热备盘与损坏成员磁盘相互替换。以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换以及改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种磁盘冗余阵列RAID的热备盘切换控制方法,其特征在于,为RAID指定M个成员磁盘、以及N个热备盘,其中,M为大于1的正整数、N为大于等于1的正整数,且该热备盘切换控制方法在每次时间周期到达时,均执行如下步骤将R个成员磁盘中的数据分别拷贝至对应热备盘中,R小于等于M ; 将所述R个成员磁盘与已完成拷贝的对应热备盘相互替换。
2.如权利要求1所述的热备盘切换控制方法,其特征在于,所述时间周期大于拷贝时间。
3.如权利要求2所述的热备盘切换控制方法,其特征在于,所述时间周期至少为拷贝时间的20倍。
4.如权利要求1所述的热备盘切换控制方法,其特征在于,所述时间周期远远大于拷贝时间。
5.如权利要求1至4中任一项所述的热备盘切换控制方法,其特征在于, M大于等于N,则R大于等于1且小于等于N ;或者,M小于N,则R大于等于1且小于等于M。
6.如权利要求1至4中任一项所述的热备盘切换控制方法,其特征在于,所述R取1。
7.如权利要求6所述的热备盘切换控制方法,其特征在于,连续M+N个时间周期到达时所拷贝的成员磁盘互不相同,且每块成员磁盘在替换为热备盘后的N个周期内不会再与其他成员磁盘相互替换。
8.如权利要求1至4中任一项所述的热备盘切换控制方法,其特征在于,该热备盘切换控制方法在被拷贝的成员磁盘损坏时,进一步包括停止对该成员磁盘的拷贝,并通过重建的方式在对应热备盘上恢复出该成员磁盘未完成拷贝的部分数据;利用已恢复数据的对应热备盘替换损坏成员磁盘、并将损坏成员磁盘踢出阵列。
9.一种可实现热备盘切换控制的磁盘冗余阵列RAID控制器,其特征在于,包括 成员记录单元,用于记录为RAID指定的M个成员磁盘,M为大于1的正整数; 备份记录单元,用于记录为RAID指定的N个热备盘,N为大于等于1的正整数; 周期定时单元,用于按照时间周期产生定时信号;数据拷贝单元,用于在每次产生定时信号时,将R个成员磁盘中的数据分别拷贝至对应热备盘中,R小于等于M ;状态转换单元,用于将所述成员记录单元中记录的所述R个成员磁盘,分别与所述备份记录单元中记录的已完成拷贝的对应热备盘相互替换。
10.如权利要求9所述的RAID控制器,其特征在于,所述时间周期大于拷贝时间。
11.如权利要求10所述的RAID控制器,其特征在于,所述时间周期至少为拷贝时间的 20倍。
12.如权利要求9所述的RAID控制器,其特征在于,所述时间周期远远大于拷贝时间。
13.如权利要求9至12中任一项所述的RAID控制器,其特征在于, M大于等于N,则R大于等于1且小于等于N ;或者,M小于N,则R大于等于1且小于等于M。
14.如权利要求9至12中任一项所述的RAID控制器,其特征在于,所述R取1。
15.如权利要求14所述的RAID控制器,其特征在于,所述数据拷贝单元在连续M+N个定时信号产生时所拷贝的成员磁盘互不相同,且每块成员磁盘在替换为热备盘后的N个周期内不会再与其他成员磁盘相互替换。
16.如权利要求9至12中任一项所述的RAID控制器,其特征在于,进一步包括数据重建单元,用于在被拷贝的成员磁盘损坏时,令所述数据拷贝单元停止对该成员磁盘的拷贝,并通过重建的方式在对应热备盘上恢复出该成员磁盘未完成拷贝的部分数据;成员踢除单元,用于将所述成员记录单元中记录的损坏成员磁盘删除、用以将损坏成员磁盘踢出阵列,并将所述备份记录单元中记录的已通过重建恢复数据的对应热备盘移至所述成员记录单元中、用以顶替损坏成员磁盘。
全文摘要
本发明公开了一种磁盘冗余阵列(RAID)的热备盘切换控制方法及RAID控制器。在本发明中,即便没有成员磁盘损坏时,每块磁盘也不是固定地用作成员磁盘、或者固定用作热备盘,而是所有磁盘轮流用作成员磁盘、并处于承担数据读写的工作状态,以使每块磁盘均能够间歇地用作热备盘以进入备份状态,从而,通过控制各磁盘在工作状态与备份状态之间的切换,既能够提高每块磁盘的使用寿命、又能够提高每块磁盘的利用率。
文档编号G06F3/06GK102214073SQ20101014398
公开日2011年10月12日 申请日期2010年4月8日 优先权日2010年4月8日
发明者胡微 申请人:杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1