一种磁盘阵列中的磁盘故障处理方法技术

技术编号:9834046 阅读:124 留言:0更新日期:2014-04-02 00:13
本发明专利技术公开了一种RAID中的磁盘故障处理方法:为系统中的各工作RAID设置P个临时存储介质,P为正整数,初始设置时,临时存储介质中为空;其中,各工作RAID的磁盘中不设置保留空间;当任一工作RAID中的任一磁盘出现故障时,将所述故障对应的条带中的数据保存到临时存储介质中;当故障修复时,将保存在临时存储介质中的数据对应恢复到原条带中,并释放所恢复的数据在临时存储介质中占用的存储空间。应用本发明专利技术所述方法,能够实现存储空间的合理利用。

【技术实现步骤摘要】
一种磁盘阵列中的磁盘故障处理方法
本专利技术涉及存储技术,特别涉及一种磁盘阵列(RAID,RedundantArraysofIndependentDisks)中的磁盘故障处理方法。
技术介绍
现有技术中,通常会对RAID进行磁盘冗余,即在其中的每个磁盘上均保留一部分空间,当磁盘出现坏道等时,可将坏道所在条带上的数据保存到保留空间中。但是,上述方式在实际应用中会存在一定的问题:如果磁盘没有出现故障,这些保留空间就会被浪费,如果出现故障较多,这些保留空间又会不够用,即不能实现存储空间的合理利用。
技术实现思路
有鉴于此,本专利技术提供了一种RAID中的磁盘故障处理方法,能够实现存储空间的合理利用。为了达到上述目的,本专利技术的技术方案是这样实现的:一种RAID中的磁盘故障处理方法,包括:为系统中的各工作RAID设置P个临时存储介质,P为正整数,初始设置时,所述临时存储介质中为空;其中,各工作RAID的磁盘中不设置保留空间;当任一工作RAID中的任一磁盘出现故障时,将所述故障对应的条带中的数据保存到所述临时存储介质中;当故障修复时,将保存在所述临时存储介质中的数据对应恢复到原条带中,并释放所恢复的数据在所述临时存储介质中占用的存储空间。可见,采用本专利技术所述方案,为各工作RAID设置临时存储介质,相应地,在各工作RAID的磁盘中不再设置保留空间,一旦某一工作RAID中的磁盘出现故障,可将故障对应的条带中的数据保存到临时存储介质中,当故障修复后,还可将保存在临时存储介质中的数据对应恢复到原条带中,并释放所恢复的数据在临时存储介质中占用的存储空间,供其它工作RAID继续使用;相比于磁盘的保留空间,临时存储介质中的存储空间通常更大,因此不会出现不够用的情况,而且,临时存储介质供所有工作RAID一起使用,并让真正需要用到的工作RAID使用,不会造成存储空间的浪费,从而实现了存储空间的合理利用。附图说明图1为本专利技术RAID中的磁盘故障处理方法实施例的流程图。具体实施方式为了使本专利技术的技术方案更加清楚、明白,以下参照附图并举实施例,对本专利技术所述方案作进一步的详细说明。图1为本专利技术RAID中的磁盘故障处理方法实施例的流程图。如图1所示,包括以下步骤11~13。步骤11:为系统中的各工作RAID设置P个临时RAID,P为正整数,初始设置时,临时RAID中为空;其中,各工作RAID的磁盘中不设置保留空间。工作RAID,即指区别于临时RAID的正常RAID。针对系统中的所有工作RAID,可设置一个或多个临时RAID,具体数量可根据实际需要而定,初始设置时,临时RAID中为空,即为空闲状态。相应地,由于设置了临时RAID,因此各工作RAID的磁盘中不需要再设置保留空间。综合考虑各方面的性能,较佳地,临时RAID的类型可为RAID5,当然,也可以是其它类型。步骤12:当任一工作RAID中的任一磁盘出现故障时,将所述故障对应的条带中的数据保存到临时RAID中。步骤13:当故障修复时,将保存在临时RAID中的数据对应恢复到原条带中,并释放所恢复的数据在临时RAID中占用的存储空间。在实际应用中,所述故障可以为:磁盘出现坏道,相应地,所述故障对应的条带为:坏道所在条带。对于任一条带中的数据,当该数据被保存到临时RAID中后,如果需要对该条带中的数据进行操作,可直接对保存在临时RAID中的相应数据进行操作,所述操作是指读写等。当磁盘的坏道故障修复后,可将保存在临时RAID中的数据对应恢复到原条带中,即坏道所在条带中,并释放所恢复的数据在临时RAID中占用的存储空间,恢复成功后,后续直接对恢复到磁盘中的数据进行操作即可。除以上介绍的磁盘出现坏道外,在实际应用中,所述故障也可能是其它故障,比如:由于磁盘不在位或其它故障导致磁盘不能进行读写。当所述故障为磁盘不能进行读写时,相应地,所述故障对应的条带为:磁盘中的所有条带。具体来说,当任一工作RAID中的任一磁盘不能进行读写时,可将该磁盘中的各条带中的数据均保存到临时RAID中;当该磁盘恢复正常后,可将保存在临时RAID中的数据对应恢复到该磁盘中的各条带中,并释放所恢复的数据在临时RAID中占用的存储空间。同样,将故障磁盘上的数据保存到临时RAID中后,如果需要对故障磁盘上的数据进行操作,可直接对保存在临时RAID中的相应数据进行操作。即用临时RAID来代替故障磁盘,同时,可对故障磁盘进行修复操作,如reset、换盘等。现有技术中,当磁盘不在位或其它故障导致磁盘不能进行读写时,磁盘中的保留空间也会失去作用,从而导致在故障修复之前无法对磁盘进行正常的读写,而且RAID也会无法继续工作需要等待磁盘修复,或者需要进行降级重构读写,影响性能和安全,不能适应复杂的环境。而采用本专利技术所述方案后,当磁盘出现故障时,可将相应的数据保存到临时RAID中,直接访问临时RAID,不需要对工作RAID进行重构等,并同时对故障磁盘进行修复操作,在此过程中,工作RAID还能继续正常工作,不影响性能和安全等。另外,可预先将每个临时RAID的存储空间分别划分为N个存储区域,并将每个存储区域分别划分为M个子区域,N和M均为大于1的正整数,具体取值均可根据实际需要而定。存储区域对应于工作RAID,一个工作RAID可以使用一个或多个存储区域,子区域对应于磁盘,一个磁盘可以使用一个或多个小区域。较佳地,将每个临时RAID的存储空间分别等分为N个存储区域,将每个存储区域分别等分为M个子区域。相应地,当需要将任一工作RAIDx中的任一磁盘y中的任一条带z中的数据保存到临时RAID中时,主要可采用以下几种处理方式。处理方式一如果未为工作RAIDx分配过存储区域,则为工作RAIDx分配一个空闲存储区域,并从该空闲存储区域中为磁盘y分配一个空闲子区域,将条带z中的数据保存到该空闲子区域中。处理方式二如果同时满足以下条件:已经为工作RAIDx分配过存储区域、已经在该存储区域中为磁盘y分配过子区域且该子区域未用完,则将条带z中的数据保存到该子区域中。处理方式三如果同时满足以下条件:已经为工作RAIDx分配过存储区域、已经在该存储区域中为磁盘y分配过子区域且该子区域已用完、该存储区域中存在空闲子区域,则从该空闲存储区域中为磁盘y分配一个新的空闲子区域,并将条带z中的数据保存到该新的空闲子区域中。处理方式四如果同时满足以下条件:已经为工作RAIDx分配过存储区域、已经在该存储区域中为磁盘y分配过子区域且该子区域已用完、该存储区域中不存在空闲子区域,则为工作RAIDx分配一个新的空闲存储区域,并从该新的空闲存储区域中为磁盘y分配一个新的空闲子区域,将条带z中的数据保存到该新的空闲子区域中。处理方式五如果同时满足以下条件:已经为工作RAIDx分配过存储区域、未在该存储区域中为磁盘y分配过子区域、该存储区域中存在空闲子区域,则从该存储区域中为磁盘y分配一个空闲子区域,并将条带z中的数据保存到该空闲子区域中。处理方式六如果同时满足以下条件:已经为工作RAIDx分配过存储区域、未在该存储区域中为磁盘y分配过子区域、该存储区域中不存在空闲子区域,则为工作RAIDx分配一个新的空闲存储区域,并从该新的空闲存储区域中为磁盘y分配一个新的空闲子区域,将条带z中的数据保本文档来自技高网...
一种磁盘阵列中的磁盘故障处理方法

【技术保护点】
一种磁盘阵列RAID中的磁盘故障处理方法,其特征在于,包括:为系统中的各工作RAID设置P个临时存储介质,P为正整数,初始设置时,所述临时存储介质中为空;其中,各工作RAID的磁盘中不设置保留空间;当任一工作RAID中的任一磁盘出现故障时,将所述故障对应的条带中的数据保存到所述临时存储介质中;当故障修复时,将保存在所述临时存储介质中的数据对应恢复到原条带中,并释放所恢复的数据在所述临时存储介质中占用的存储空间。

【技术特征摘要】
1.一种磁盘阵列RAID中的磁盘故障处理方法,其特征在于,包括:为系统中的各工作RAID设置P个临时存储介质,P为正整数,初始设置时,所述临时存储介质中为空;其中,各工作RAID的磁盘中不设置保留空间;当任一工作RAID中的任一磁盘出现故障时,将所述故障对应的条带中的数据保存到所述临时存储介质中;当故障修复时,将保存在所述临时存储介质中的数据对应恢复到原条带中,并释放所恢复的数据在所述临时存储介质中占用的存储空间;该方法进一步包括:预先将每个临时存储介质的存储空间分别划分为N个存储区域,并将每个存储区域分别划分为M个子区域,N和M均为大于1的正整数;当需要将任一工作RAIDx中的任一磁盘y中的任一条带z中的数据保存到所述临时存储介质中时,如果未为工作RAIDx分配过存储区域,则为工作RAIDx分配一个空闲存储区域,并从该空闲存储区域中为磁盘y分配一个空闲子区域,将条带z中的数据保存到该空闲子区域中;如果同时满足以下条件:已经为工作RAIDx分配过存储区域、已经在该存储区域中为磁盘y分配过子区域且该子区域未用完,则将条带z中的数据保存到该子区域中;如果同时满足以下条件:已经为工作RAIDx分配过存储区域、已经在该存储区域中为磁盘y分配过子区域且该子区域已用完、该存储区域中存在空闲子区域,则从该空闲存储区域中为磁盘y分配一个新的空闲子区域,并将条带z中的数据保存到该新的空闲子区域中;如果同时满足以下条件:已经为工作RAIDx分配过存储区域、已经在该存储区域中为磁盘y分配过子区域且该子区域已用完、该存储区域中不存在空闲子区域,则为工作R...

【专利技术属性】
技术研发人员:庄建波
申请(专利权)人:创新科软件技术深圳有限公司 创新科存储技术深圳有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1