一种RAID系统故障的恢复方法及装置与流程

文档序号:12305145阅读:501来源:国知局
一种RAID系统故障的恢复方法及装置与流程

本发明涉及信息存储技术领域,更具体的,涉及一种raid系统故障的恢复方法及装置。



背景技术:

raid是一个复杂的系统,linux平台中的软raid是以块设备的形式提供给用户使用,并利用linux的通用块层作为raid的cache缓冲管理,而且软raid没有自己的io调度模块,借助磁盘驱动完成io的调度和处理。当创建raid系统之后,在每个raid系统成员盘中都会保存一份raid的元数据信息,raid系统通过元数据信息管理各成员盘。

当存储系统出现硬件链路故障导致jbod(justabunchofdisks,磁盘簇)或者背板与主柜之间的sas链路断开时,就会导致raid系统成员盘之间的元数据信息不一致。此时即使将硬件链路恢复,raid系统也无法恢复,要想恢复raid系统,需要将掉线的磁盘中的数据进行转移,非常耗费时间。



技术实现要素:

有鉴于此,本发明提供了一种raid系统故障的恢复方法及装置,解决当出现硬件链路故障时导致raid系统无法恢复的问题,缩短了raid系统故障的恢复时间。

为了实现上述发明目的,本发明提供的具体技术方案如下:

一种raid系统故障的恢复方法,包括:

当检测到待添加磁盘时,判断所述待添加磁盘是否为raid系统的成员盘;

当所述待添加磁盘为所述raid系统的成员盘时,判断所述待添加磁盘的元数据与所述raid系统已有成员盘的元数据是否一致;

若是,将所述待添加磁盘添加到所述raid系统中;

若否,将所述待添加磁盘的元数据更新为所述raid系统已有成员盘的元数据,并将所述待添加磁盘添加到所述raid系统中。

优选的,所述判断所述待添加磁盘是否为raid系统的成员盘,包括:

提取所述待添加磁盘的raid信息;

判断所述待添加磁盘的raid信息与所述raid系统的配置文件中的raid信息是否匹配,若是,所述待添加磁盘为所述raid系统的成员盘,若否,所述待添加磁盘不是所述raid系统的成员盘。

优选的,所述判断所述待添加磁盘的元数据与所述raid系统已有成员盘的元数据是否一致,包括:

计算所述待添加磁盘的元数据值与所述raid系统已有成员盘的元数据值的差值;

判断所述差值是否大于预设值;

若是,所述待添加磁盘的元数据与所述raid系统已有成员盘的元数据不一致;

若否,所述待添加磁盘的元数据与所述raid系统已有成员盘的元数据一致。

优选的,所述方法还包括:

当所述待添加磁盘不是所述raid系统的成员盘时,提示raid故障恢复失败。

一种raid系统故障的恢复装置,包括:

第一判断单元,用于当检测到待添加磁盘时,判断所述待添加磁盘是否为raid系统的成员盘;

第二判断单元,用于当所述待添加磁盘为所述raid系统的成员盘时,判断所述待添加磁盘的元数据与所述raid系统已有成员盘的元数据是否一致,若是,触发第一添加单元,若否,触发第二添加单元;

所述第一添加单元,用于将所述待添加磁盘添加到所述raid系统中;

所述第二添加单元,用于将所述待添加磁盘的元数据更新为所述raid系统已有成员盘的元数据,并将所述待添加磁盘添加到所述raid系统中。

优选的,所述第一判断单元包括:

提取子单元,用于提取所述待添加磁盘的raid信息;

第一判断子单元,用于判断所述待添加磁盘的raid信息与所述raid系统的配置文件中的raid信息是否匹配,若是,触发所述第二判断单元。

优选的,所述第二判断单元包括:

计算子单元,用于计算所述待添加磁盘的元数据值与所述raid系统已有成员盘的元数据值的差值;

第二判断子单元,用于判断所述差值是否大于预设值,若是,触发所述第二添加单元,若否,触发所述第一添加单元。

优选的,所述装置还包括:

提示单元,用于当所述待添加磁盘不是所述raid系统的成员盘时,提示raid故障恢复失败。

相对于现有技术,本发明的有益效果如下:

本发明提供的raid系统故障的恢复方法及装置,当检测到待添加磁盘时,先判断所述待添加磁盘是否为raid系统的成员盘,当所述待添加磁盘为raid系统的成员盘时,判断所述待添加磁盘的元数据与所述raid系统已有成员盘的元数据是否一致;若是,将所述待添加磁盘添加到所述raid系统中;若否,将所述待添加磁盘的元数据更新为所述raid系统已有成员盘的元数据,并将所述待添加磁盘添加到所述raid系统中。有效的解决了由于硬件链路故障导致raid系统故障的问题,不需要将掉线磁盘中的数据进行转移,只需更新掉线磁盘的元数据即可,缩短了raid系统故障的恢复时间。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本发明实施例公开的一种raid系统故障的恢复方法流程图;

图2为本发明实施例公开的另一种raid系统故障的恢复方法流程图;

图3为本发明实施例公开的一种raid系统故障的恢复装置结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本实施例公开的raid系统故障的恢复方法,在于解决由于sas链路故障、硬盘故障及其他硬件链路故障导致raid系统中部分raid成员盘掉线后无法重新加入并启动raid系统的问题。具体的,请参阅图1,本实施例公开了一种raid系统故障的恢复方法,具体包括以下步骤:

s101:当检测到待添加磁盘时,判断所述待添加磁盘是否为raid系统的成员盘,若是,执行s102;

当硬件链路故障导致raid系统部分raid成员盘掉线后,需要工作人员人为将掉线的raid成员盘拔下并重新插入槽位。通过监听磁盘的热插拔动作,检测是否有待添加磁盘,所述待添加磁盘即为掉线的raid成员盘。

当检测到待添加磁盘时,首先需要判断所述待添加磁盘是否为raid系统的成员盘,具体判断流程如下:

提取所述待添加磁盘的raid信息;

判断所述待添加磁盘的raid信息与所述raid系统的配置文件中的raid信息是否匹配,若是,所述待添加磁盘为所述raid系统的成员盘,并执行s102;若否,所述待添加磁盘不是所述raid系统的成员盘。

优选的,请参阅图2,当所述待添加磁盘不是所述raid系统的成员盘时,所述方法还包括:

s105:提示raid故障恢复失败。

提示raid故障恢复失败的方式可以为语音提示、文本提示、闪灯提示等任意一种可以起到提示作用的方式。

s102:判断所述待添加磁盘的元数据与所述raid系统已有成员盘的元数据是否一致,若是,执行s103,若否,执行s104;

具体的,s102的执行过程如下:

计算所述待添加磁盘的元数据值与所述raid系统已有成员盘的元数据值的差值;

判断所述差值是否大于预设值;

若是,所述待添加磁盘的元数据与所述raid系统已有成员盘的元数据不一致;

若否,所述待添加磁盘的元数据与所述raid系统已有成员盘的元数据一致。

优选的,所述预设值为2。

s103:将所述待添加磁盘添加到所述raid系统中;

s104:将所述待添加磁盘的元数据更新为所述raid系统已有成员盘的元数据,并将所述待添加磁盘添加到所述raid系统中。

具体的,当所述待添加磁盘的元数据与所述raid系统已有成员盘的元数据不一致时,删除所述待添加磁盘的元数据,并将所述raid系统已有成员盘的元数据拷贝到所述待添加磁盘中,使所述待添加磁盘的元数据更新为所述raid系统已有成员盘的元数据。

本实施例提供的raid系统故障的恢复方法,当检测到待添加磁盘时,先判断所述待添加磁盘是否为raid系统的成员盘,当所述待添加磁盘为raid系统的成员盘时,判断所述待添加磁盘的元数据与所述raid系统已有成员盘的元数据是否一致;若是,将所述待添加磁盘添加到所述raid系统中;若否,将所述待添加磁盘的元数据更新为所述raid系统已有成员盘的元数据,并将所述待添加磁盘添加到所述raid系统中。有效的解决了由于硬件链路故障导致raid系统故障的问题,不需要将掉线磁盘中的数据进行转移,只需更新掉线磁盘的元数据即可,缩短了raid系统故障的恢复时间。

基于上述实施例公开的一种raid系统故障的恢复方法,请参阅图3,本实施例对应公开了一种raid系统故障的恢复装置,包括:

第一判断单元101,用于当检测到待添加磁盘时,判断所述待添加磁盘是否为raid系统的成员盘;

优选的,所述第一判断单元101包括:

提取子单元,用于提取所述待添加磁盘的raid信息;

第一判断子单元,用于判断所述待添加磁盘的raid信息与所述raid系统的配置文件中的raid信息是否匹配,若是,触发所述第二判断单元102。

优选的,所述装置还包括:

提示单元,用于当所述待添加磁盘不是所述raid系统的成员盘时,提示raid故障恢复失败。

即,当所述第一判断单元101判断所述待添加磁盘不是所述raid系统的成员盘时,触发所述提示单元。

第二判断单元102,用于当所述待添加磁盘为所述raid系统的成员盘时,判断所述待添加磁盘的元数据与所述raid系统已有成员盘的元数据是否一致,若是,触发第一添加单元103,若否,触发第二添加单元104;

优选的,所述第二判断单元102包括:

计算子单元,用于计算所述待添加磁盘的元数据值与所述raid系统已有成员盘的元数据值的差值;

第二判断子单元,用于判断所述差值是否大于预设值,若是,触发所述第二添加单元104,若否,触发所述第一添加单元103。

所述第一添加单元103,用于将所述待添加磁盘添加到所述raid系统中;

所述第二添加单元104,用于将所述待添加磁盘的元数据更新为所述raid系统已有成员盘的元数据,并将所述待添加磁盘添加到所述raid系统中。

本实施例提供的raid系统故障的恢复装置,当检测到待添加磁盘时,先判断所述待添加磁盘是否为raid系统的成员盘,当所述待添加磁盘为raid系统的成员盘时,判断所述待添加磁盘的元数据与所述raid系统已有成员盘的元数据是否一致;若是,将所述待添加磁盘添加到所述raid系统中;若否,将所述待添加磁盘的元数据更新为所述raid系统已有成员盘的元数据,并将所述待添加磁盘添加到所述raid系统中。有效的解决了由于硬件链路故障导致raid系统故障的问题,不需要将掉线磁盘中的数据进行转移,只需更新掉线磁盘的元数据即可,缩短了raid系统故障的恢复时间。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1