一种RAID卡故障处理方法及装置转让专利

申请号 : CN202011045771.4

文献号 : CN112306747B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 魏丹顾雷雷

申请人 : 新华三技术有限公司合肥分公司

摘要 :

本申请涉及RAID卡技术领域,特别涉及一种RAID卡故障处理方法及装置。该方法应用于服务器,其中,所述服务器包括由RAID卡管理的数据盘和用于安装操作系统的系统盘,该方法包括:基于预设的周期将用于管理数据盘的目标RAID卡的配置信息和固件版本信息缓存至所述系统盘;检测所述目标RAID卡状态,并在检测到所述目标RAID卡故障时,针对最后一次缓存的所述目标RAID卡的目标配置信息和目标固件版本信息添加时间戳;在检测到所述目标RAID卡故障恢复时,判断当前时间点与所述时间戳之差值是否大于预设阈值,若是,则将所述系统盘中缓存的所述目标配置信息导入所述目标RAID卡。

权利要求 :

1.一种RAID卡故障处理方法,其特征在于,应用于服务器,其中,所述服务器包括由RAID卡管理的数据盘和用于安装操作系统的系统盘,所述方法包括:基于预设的周期将用于管理数据盘的目标RAID卡的配置信息和固件版本信息缓存至所述系统盘;

检测所述目标RAID卡状态,并在检测到所述目标RAID卡故障时,针对最后一次缓存的所述目标RAID卡的目标配置信息和目标固件版本信息添加时间戳;

在检测到所述目标RAID卡故障恢复时,判断当前时间点与所述时间戳之差值是否大于预设阈值,若是,则将所述系统盘中缓存的所述目标配置信息导入所述目标RAID卡。

2.如权利要求1所述的方法,其特征在于,所述基于预设的周期将用于管理数据盘的目标RAID卡的配置信息和固件版本信息缓存至所述系统盘的步骤包括:在系统盘创建用于缓存目标RAID卡的配置信息和固件版本信息的目标文件;

若当前周期为第一次缓存所述目标RAID卡的配置信息和固件版本信息,则直接将所述目标RAID卡的配置信息和固件版本信息缓存至所述目标文件中;

若当前周期不是第一次缓存所述目标RAID卡的配置信息和固件版本信息,则将所述目标RAID卡的配置信息和固件版本信息缓存至所述目标文件中,并删除上一周期缓存的所述目标RAID卡的配置信息和固件版本信息。

3.如权利要求1所述的方法,其特征在于,所述检测所述目标RAID卡状态的步骤包括:通过检测操作系统与所述目标RAID卡之间的心跳连接,检测所述目标RAID卡的状态,其中,在检测到所述操作系统与所述目标RAID卡之间的心跳连接中断时,确定所述目标RAID卡故障。

4.如权利要求1‑3任一项所述的方法,其特征在于,在将所述系统盘中缓存的所述目标配置信息导入所述目标RAID卡之前,所述方法还包括:判断所述目标RAID卡的固件版本信息和缓存的所述目标固件版本信息是否一致,在判定结果为是时,执行所述将所述系统盘中缓存的所述目标配置信息导入所述目标RAID卡的步骤;否则,生成提示信息,以提示用户所述目标RAID卡固件版本需升级。

5.如权利要求1‑3任一项所述的方法,其特征在于,所述将所述系统盘中缓存的所述目标配置信息导入所述目标RAID卡的步骤包括:判断所述目标RAID卡用于存储配置信息的存储器中是否存储有其它配置文件;

若是,则删除所述其它配置文件,并将所述目标配置信息存储至所述存储器;否则,将所述目标配置信息存储至所述存储器。

6.一种RAID卡故障处理装置,其特征在于,应用于服务器,其中,所述服务器包括由RAID卡管理的数据盘和用于安装操作系统的系统盘,所述装置包括:缓存单元,用于基于预设的周期将用于管理数据盘的目标RAID卡的配置信息和固件版本信息缓存至所述系统盘;

检测单元,用于检测所述目标RAID卡状态,并在检测到所述目标RAID卡故障时,针对最后一次缓存的所述目标RAID卡的目标配置信息和目标固件版本信息添加时间戳;

在所述检测单元检测到所述目标RAID卡故障恢复时,判断单元用于判断当前时间点与所述时间戳之差值是否大于预设阈值,若是,则导入单元用于将所述系统盘中缓存的所述目标配置信息导入所述目标RAID卡。

7.如权利要求6所述的装置,其特征在于,所述基于预设的周期将用于管理数据盘的目标RAID卡的配置信息和固件版本信息缓存至所述系统盘时,所述缓存单元具体用于:在系统盘创建用于缓存目标RAID卡的配置信息和固件版本信息的目标文件;

若当前周期为第一次缓存所述目标RAID卡的配置信息和固件版本信息,则直接将所述目标RAID卡的配置信息和固件版本信息缓存至所述目标文件中;

若当前周期不是第一次缓存所述目标RAID卡的配置信息和固件版本信息,则将所述目标RAID卡的配置信息和固件版本信息缓存至所述目标文件中,并删除上一周期缓存的所述目标RAID卡的配置信息和固件版本信息。

8.如权利要求6所述的装置,其特征在于,所述检测所述目标RAID卡状态时,所述检测单元具体用于:通过检测操作系统与所述目标RAID卡之间的心跳连接,检测所述目标RAID卡的状态,其中,在检测到所述操作系统与所述目标RAID卡之间的心跳连接中断时,确定所述目标RAID卡故障。

9.如权利要求6‑8任一项所述的装置,其特征在于,在将所述系统盘中缓存的所述目标配置信息导入所述目标RAID卡之前,所述判断单元还用于:判断所述目标RAID卡的固件版本信息和缓存的所述目标固件版本信息是否一致,在判定结果为是时,执行所述将所述系统盘中缓存的所述目标配置信息导入所述目标RAID卡的步骤;否则,生成提示信息,以提示用户所述目标RAID卡固件版本需升级。

10.如权利要求6‑8任一项所述的装置,其特征在于,所述将所述系统盘中缓存的所述目标配置信息导入所述目标RAID卡时,所述导入单元具体用于:判断所述目标RAID卡用于存储配置信息的存储器中是否存储有其它配置文件;

若是,则删除所述其它配置文件,并将所述目标配置信息存储至所述存储器;否则,将所述目标配置信息存储至所述存储器。

说明书 :

一种RAID卡故障处理方法及装置

技术领域

[0001] 本申请涉及RAID卡技术领域,特别涉及一种RAID卡故障处理方法及装置。

背景技术

[0002] RAID(Redundant Array of Independent Disks,独立冗余磁盘阵列)是一种把多块独立的物理硬盘按不同方式组合起来形成一个逻辑硬盘,通过磁盘条带化、磁盘镜像等技术从而提供比单个硬盘有着更高的性能和提供数据冗余。RAID卡就是用来实现RAID功能的板卡,通常是由I/O处理器、硬盘控制器、硬盘连接器和缓存等一系列零组件构成的。
[0003] 目前,针对单RAID卡的服务器,用一张RAID卡(如,RAID卡1)管理数据盘,系统盘由另一张RAID卡(如,RAID卡2)或板载管理,那么,当用于管理数据盘的RAID卡1损坏后,其管理的数据盘会从系统中掉线,从而导致业务中断。当前的RAID卡故障的处理方式是将服务器下电后进行RAID卡物理更换,并在更换完成后由用户重新进行RAID配置,配置过程复杂,配置所需时间长,从而造成业务中断时间长。

发明内容

[0004] 本申请提供了一种RAID卡故障处理方法及装置,用以解决现有技术中存在的配置过程复杂,业务中断时间长的问题。
[0005] 第一方面,本申请提供了一种RAID卡故障处理方法,应用于服务器,其中,所述服务器包括由RAID卡管理的数据盘和用于安装操作系统的系统盘,所述方法包括:
[0006] 基于预设的周期将用于管理数据盘的目标RAID卡的配置信息和固件版本信息缓存至所述系统盘;
[0007] 检测所述目标RAID卡状态,并在检测到所述目标RAID卡故障时,针对最后一次缓存的所述目标RAID卡的目标配置信息和目标固件版本信息添加时间戳;
[0008] 在检测到所述目标RAID卡故障恢复时,判断当前时间点与所述时间戳之差值是否大于预设阈值,若是,则将所述系统盘中缓存的所述目标配置信息导入所述目标RAID卡。
[0009] 可选地,所述基于预设的周期将用于管理数据盘的目标RAID卡的配置信息和固件版本信息缓存至所述系统盘的步骤包括:
[0010] 在系统盘创建用于缓存目标RAID卡的配置信息和固件版本信息的目标文件;
[0011] 若当前周期为第一次缓存所述目标RAID卡的配置信息和固件版本信息,则直接将所述目标RAID卡的配置信息和固件版本信息缓存至所述目标文件中;
[0012] 若当前周期不是第一次缓存所述目标RAID卡的配置信息和固件版本信息,则将所述目标RAID卡的配置信息和固件版本信息缓存至所述目标文件中,并删除上一周期缓存的所述目标RAID卡的配置信息和固件版本信息。
[0013] 可选地,所述检测所述目标RAID卡状态的步骤包括:
[0014] 通过检测操作系统与所述目标RAID卡之间的心跳连接,检测所述目标RAID卡的状态,其中,在检测到所述操作系统与所述目标RAID卡之间的心跳连接中断时,确定所述目标RAID卡故障。
[0015] 可选地,在将所述系统盘中缓存的所述目标配置信息导入所述目标RAID卡之前,所述方法还包括:
[0016] 判断所述目标RAID卡的固件版本信息和缓存的所述目标固件版本信息是否一致,在判定结果为是时,执行所述将所述系统盘中缓存的所述目标配置信息导入所述目标RAID卡的步骤;否则,生成提示信息,以提示用户所述目标RAID卡固件版本需升级。
[0017] 可选地,所述将所述系统盘中缓存的所述目标配置信息导入所述目标RAID卡的步骤包括:
[0018] 判断所述目标RAID卡用于存储配置信息的存储器中是否存储有其它配置文件;
[0019] 若是,则删除所述其它配置文件,并将所述目标配置文件存储至所述存储器;否则,将所述目标配置文件存储至所述存储器。
[0020] 第二方面,本申请提供了一种RAID卡故障处理装置,应用于服务器,其中,所述服务器包括由RAID卡管理的数据盘和用于安装操作系统的系统盘,所述装置包括:
[0021] 缓存单元,用于基于预设的周期将用于管理数据盘的目标RAID卡的配置信息和固件版本信息缓存至所述系统盘;
[0022] 检测单元,用于检测所述目标RAID卡状态,并在检测到所述目标RAID卡故障时,针对最后一次缓存的所述目标RAID卡的目标配置信息和目标固件版本信息添加时间戳;
[0023] 在所述检测单元检测到所述目标RAID卡故障恢复时,判断单元用于判断当前时间点与所述时间戳之差值是否大于预设阈值,若是,则导入单元用于将所述系统盘中缓存的所述目标配置信息导入所述目标RAID卡。
[0024] 可选地,所述基于预设的周期将用于管理数据盘的目标RAID卡的配置信息和固件版本信息缓存至所述系统盘时,所述缓存单元具体用于:
[0025] 在系统盘创建用于缓存目标RAID卡的配置信息和固件版本信息的目标文件;
[0026] 若当前周期为第一次缓存所述目标RAID卡的配置信息和固件版本信息,则直接将所述目标RAID卡的配置信息和固件版本信息缓存至所述目标文件中;
[0027] 若当前周期不是第一次缓存所述目标RAID卡的配置信息和固件版本信息,则将所述目标RAID卡的配置信息和固件版本信息缓存至所述目标文件中,并删除上一周期缓存的所述目标RAID卡的配置信息和固件版本信息。
[0028] 可选地,所述检测所述目标RAID卡状态时,所述检测单元具体用于:
[0029] 通过检测操作系统与所述目标RAID卡之间的心跳连接,检测所述目标RAID卡的状态,其中,在检测到所述操作系统与所述目标RAID卡之间的心跳连接中断时,确定所述目标RAID卡故障。
[0030] 可选地,在将所述系统盘中缓存的所述目标配置信息导入所述目标RAID卡之前,所述判断单元还用于:
[0031] 判断所述目标RAID卡的固件版本信息和缓存的所述目标固件版本信息是否一致,在判定结果为是时,执行所述将所述系统盘中缓存的所述目标配置信息导入所述目标RAID卡的步骤;否则,生成提示信息,以提示用户所述目标RAID卡固件版本需升级。
[0032] 可选地,所述将所述系统盘中缓存的所述目标配置信息导入所述目标RAID卡时,所述导入单元具体用于:
[0033] 判断所述目标RAID卡用于存储配置信息的存储器中是否存储有其它配置文件;
[0034] 若是,则删除所述其它配置文件,并将所述目标配置文件存储至所述存储器;否则,将所述目标配置文件存储至所述存储器。
[0035] 第三方面,本申请实施例提供了一种RAID卡故障处理装置,该RAID卡故障处理装置应用于服务器,其中,所述服务器包括由RAID卡管理的数据盘和用于安装操作系统的系统盘,该RAID卡故障处理装置包括:
[0036] 存储器,用于存储程序指令;
[0037] 处理器,用于调用所述存储器中存储的程序指令,按照获得的程序指令执行如上述第一方面中任一项所述的方法的步骤。
[0038] 第四方面,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使所述计算机执行如上述第一方面中任一项所述方法的步骤。
[0039] 综上可知,本申请实施例提供的RAID卡故障处理方法及装置。该方法应用于服务器,其中,所述服务器包括由RAID卡管理的数据盘和用于安装操作系统的系统盘,该方法包括:基于预设的周期将用于管理数据盘的目标RAID卡的配置信息和固件版本信息缓存至所述系统盘;检测所述目标RAID卡状态,并在检测到所述目标RAID卡故障时,针对最后一次缓存的所述目标RAID卡的目标配置信息和目标固件版本信息添加时间戳;在检测到所述目标RAID卡故障恢复时,判断当前时间点与所述时间戳之差值是否大于预设阈值,若是,则将所述系统盘中缓存的所述目标配置信息导入所述目标RAID卡。
[0040] 采用本申请实施例提供的RAID卡故障处理方法,将用于管理数据盘的RAID卡的配置信息和固件版本信息备份至系统盘中,在RAID卡硬件损坏,影响实际业务的前提下,服务器系统通过系统盘中备份的RAID卡的配置信息和固件版本信息实现对RAID卡配置信息的自动、快速恢复,有效缩短了对于业务影响的时间,保障了业务处理的完整性和有效性的同时,保障客户利益。

附图说明

[0041] 为了更加清楚地说明本申请实施例或者现有技术中的技术方案,下面将对本申请实施例或者现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据本申请实施例的这些附图获得其他的附图。
[0042] 图1为本申请实施例提供的一种RAID卡故障处理方法的详细流程图;
[0043] 图2为本申请实施例提供的一种目标文件中备份的数据结构示意图;
[0044] 图3为本申请实施例提供的另一种RAID卡故障处理方法的详细流程图;
[0045] 图4为本申请实施例提供的一种RAID卡故障处理装置的结构示意图;
[0046] 图5为本申请实施例提供的另一种RAID卡故障处理装置的结构示意图。

具体实施方式

[0047] 在本申请实施例使用的术语仅仅是出于描述特定实施例的目的,而非限制本申请。本申请中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。还应当理解,本文中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。
[0048] 应当理解,尽管在本申请实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,此外,所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
[0049] 示例性的,参阅图1所示,为本申请实施例提供的一种RAID卡故障处理方法的详细流程图,上述方法应用于服务器,其中,上述服务器包括由RAID卡管理的数据盘和用于安装操作系统的系统盘,该方法包括以下步骤:
[0050] 步骤100:基于预设的周期将用于管理数据盘的目标RAID卡的配置信息和固件版本信息缓存至上述系统盘。
[0051] 本申请实施例中,在基于预设的周期将用于管理数据盘的目标RAID卡的配置信息和固件版本信息缓存至上述系统盘时,一种较佳的实现方式为,在系统盘创建用于缓存目标RAID卡的配置信息和固件版本信息的目标文件;若当前周期为第一次缓存上述目标RAID卡的配置信息和固件版本信息,则直接将上述目标RAID卡的配置信息和固件版本信息缓存至上述目标文件中;若当前周期不是第一次缓存上述目标RAID卡的配置信息和固件版本信息,则将上述目标RAID卡的配置信息和固件版本信息缓存至上述目标文件中,并删除上一周期缓存的上述目标RAID卡的配置信息和固件版本信息。
[0052] 也就是说,在用于安装操作系统的系统盘上创建一个用于存储需备份的配置文件和固件版本信息的目标文件,假设预设的周期为T,即每个时间T,将用于管理数据盘的RAID卡的配置信息和固件版本信息缓存至该目标文件中,并删除上一周期缓存至该目标文件的配置信息和固件版本信息。
[0053] 需要说明的时候,本申请实施例中所描述的操作系统为服务器操作系统。可以为Linux操作系统,也可以为Windows操作系统。
[0054] 具体地,将RAID卡的NVRAM中存储的配置信息(RAID配置),FlashROM中存储的固件版本信息缓存至该目标文件中。
[0055] 当然,在一些特殊情况下,比如,服务器下电,下电后硬盘更换或用户修改RAID配置后,需及时更新目标文件中的内容。即在检测到RAID卡中配置信息和/或固件版本信息发生改变后,需及时将更新后的配置信息和固件版本信息备份至目标文件。
[0056] 步骤110:检测上述目标RAID卡状态,并在检测到上述目标RAID卡故障时,针对最后一次缓存的上述目标RAID卡的目标配置信息和目标固件版本信息添加时间戳。
[0057] 本申请实施例中,在检测上述目标RAID卡状态时,一种较佳的实现方式为,通过检测操作系统与上述目标RAID卡之间的心跳连接,检测上述目标RAID卡的状态,其中,在检测到上述操作系统与上述目标RAID卡之间的心跳连接中断时,确定上述目标RAID卡故障。
[0058] 也就是说,本申请实施例中,操作系统与用于管理数据盘的目标RAID卡之间保留一条心跳连接,目标RAID卡基于预设的规则(如,每间隔1秒)向操作系统发送心跳报文,那么,操作系统即可基于该心跳报文检测目标RAID卡的状态,当检测到心跳停止时,确定目标RAID卡故障。例如,以智能平台管理接口(Intelligent Platform Management Interface,IPMI)为例,操作系统可以采用IPMI命令检测目标RAID卡的状态。
[0059] 进一步地,本申请实施例中,在检测到目标RAID卡心跳连接异常,即目标RAID卡故障之后,针对目标文件中最近一次缓存的目标RAID卡的目标配置信息和目标固件版本信息,执行添加时间戳的操作。示例性的,参阅图2所示,为本申请实施例提供的目标文件中备份的数据结构示意图,其包括RAID配置信息,RAID卡固件版本信息以及时间戳信息。较佳地,本申请实施例中,可以针对该目标文件设置写权限保护,以避免该目标文件被误修改。
[0060] 此时,操作系统判定目标RAID卡发生硬件故障,需更换该目标RAID卡,那么,就可以向用户发出提示信息,以提示用户进行RAID卡更换操作。
[0061] 步骤120:在检测到上述目标RAID卡故障恢复时,判断当前时间点与上述时间戳之差值是否大于上述预设的周期,若是,则将上述系统盘中缓存的上述目标配置信息导入上述目标RAID卡。
[0062] 实际应用中,当用户将目标RAID卡更换换为正常RAID卡之后,更换后的RAID卡会基于预设规则向操作系统发送心跳报文,那么,操作系统在检测到心跳恢复时,确定目标RAID卡故障恢复(原目标RAID卡为RAID卡1,更换后的目标RAID卡为RAID卡2),此时,操作系统获取当前时间点,并获取目标文件中备份的目标配置信息和固件版本信息对应的时间戳,计算当前时间点与时间戳之间的时间差值,其中,该时间差值表征RAID卡故障时长,若RAID卡故障时长过短,可能并非RAID卡硬件损坏导致的心跳连接中断,即不需要更换RAID卡,也就是说,在未更换RAID卡时,无需进行后续配置文件导入的操作,相应的,操作系统可以判断该时间差值是否大于预设阈值,在确定该时间差值大于预设阈值时,触发执行后续目标文件中配置文件导入目标RAID卡的操作。
[0063] 需要说明的时候,该预设阈值的大小可以根据具体应用场景不同和/或用户需求不同进行自定义设置,本申请实施例中,在此不做具体限定。
[0064] 本申请实施例中,一种较佳的实现方式为,在将上述系统盘中缓存的上述目标配置信息导入上述目标RAID卡之前,上述方法还包括:判断上述目标RAID卡的固件版本信息和缓存的上述目标固件版本信息是否一致,在判定结果为是时,执行上述将上述系统盘中缓存的上述目标配置信息导入上述目标RAID卡的步骤;否则,生成提示信息,以提示用户上述目标RAID卡固件版本需升级。
[0065] 即操作系统需要确保更换的RAID卡(RAID卡2)的固件版本与目标文件中备份的原RAID卡(RAID卡1)的固件版本相同,若不相同,则生成提示信息,以提示用户将更换后的RAID卡的固件版本升级到原RAID卡的固件版本,或者,高于原RAID卡的固件版本,在确定版本相同或高于原版本时,再执行后续的目标配置文件导入的操作。
[0066] 进一步地,本申请实施例中,上述将上述系统盘中缓存的上述目标配置信息导入上述目标RAID卡时,一种较佳地实现方式为,判断上述目标RAID卡用于存储配置信息的存储器中是否存储有其它配置文件;若是,则删除上述其它配置文件,并将上述目标配置文件存储至上述存储器;否则,将上述目标配置文件存储至上述存储器。
[0067] 下面结合具体应用场景对本申请实施例提供的RAID卡故障处理方法进行详细说明。示例性的,参阅图3所示,为本申请实施例提供的一种RAID卡故障处理方法的详细流程图,该方法包括以下步骤:
[0068] 步骤300:基于预设的周期将RAID卡1的配置信息和固件版本信息备份至目标文件。
[0069] 具体地,以系统盘安装的操作系统(Operating System,OS)为Linux为例,OS在系统盘内创建一个目标文件(/dev文件夹),可命名为RAIDConf,用于保存RAID卡1配置信息和固件版本信息。设置时间周期T,OS每隔时间T从RAID卡1的NVRAM中获取RAID卡配置信息,从FlashROM中获取RAID卡固件版本信息,并缓存至RAIDConf文件中。
[0070] 步骤310:判断心跳是否正常。
[0071] 具体地,OS与RAID卡之间保留一条心跳连接,用于检测RAID卡状态。RAID卡基于预设规则向OS发送心跳报文,若OS连续N次未接收到心跳报文其中,N为大于等于1的正整数,则确定心跳异常,并执行步骤320。
[0072] 步骤320:确定RAID卡1故障,提示用户进行RAID卡更换。
[0073] 即OS在检测到心跳停止时,确定RAID卡1发生硬件故障,需要更换RAID卡1,此时,可以向用户发出提示信息,以提示用户进行RAID卡更换。
[0074] 步骤330:判断心跳是否恢复正常。
[0075] 实际应用中,若用户将故障的RAID卡1更换为正常的RAID卡2后,RAID卡2与OS之间的心跳连接会变为正常,即RAID卡2会基于预设规则向OS发送心跳报文,若OS接收到RAID卡2发送的心跳报文,则确定恢复正常,并执行步骤340。
[0076] 步骤340:判断更换后的RAID卡2固件版本是否与备份的固件版本相同。
[0077] 也就是说,OS获取RAID卡2固件版本信息,并将该固件版本信息与RAIDConf中备份的RAID卡1固件版本信息相比对,若相同,则执行步骤350;否则,执行步骤370。
[0078] 步骤350:判断更换后的RAID卡2的配置信息是否为空。
[0079] 也就是说,OS判断RAID卡2的NVRAM中是否已有其他配置信息,若是,则执行步骤360;否则,执行步骤380。
[0080] 步骤360:将目标文件中备份的配置信息导入RAID卡2。
[0081] 步骤370:提示用户对RAID卡2进行固件版本升级。
[0082] 步骤380:提示用户清除RAID卡2的配置信息。
[0083] 示例性的,参阅图4所示,为本申请实施例提供的一种RAID卡故障处理装置的结构示意图,该RAID卡故障处理装置应用于服务器,其中,所述服务器包括由RAID卡管理的数据盘和用于安装操作系统的系统盘,所述装置包括缓存单元40,检测单元41和判断单元42,其中,
[0084] 缓存单元40,用于基于预设的周期将用于管理数据盘的目标RAID卡的配置信息和固件版本信息缓存至所述系统盘;
[0085] 检测单元41,用于检测所述目标RAID卡状态,并在检测到所述目标RAID卡故障时,针对最后一次缓存的所述目标RAID卡的目标配置信息和目标固件版本信息添加时间戳;
[0086] 在检测单元41检测到所述目标RAID卡故障恢复时,判断单元42用于判断当前时间点与所述时间戳之差值是否大于预设阈值,若是,则导入单元用于将所述系统盘中缓存的所述目标配置信息导入所述目标RAID卡。
[0087] 可选地,所述基于预设的周期将用于管理数据盘的目标RAID卡的配置信息和固件版本信息缓存至所述系统盘时,缓存单元40具体用于:
[0088] 在系统盘创建用于缓存目标RAID卡的配置信息和固件版本信息的目标文件;
[0089] 若当前周期为第一次缓存所述目标RAID卡的配置信息和固件版本信息,则直接将所述目标RAID卡的配置信息和固件版本信息缓存至所述目标文件中;
[0090] 若当前周期不是第一次缓存所述目标RAID卡的配置信息和固件版本信息,则将所述目标RAID卡的配置信息和固件版本信息缓存至所述目标文件中,并删除上一周期缓存的所述目标RAID卡的配置信息和固件版本信息。
[0091] 可选地,所述检测所述目标RAID卡状态时,检测单元41具体用于:
[0092] 通过检测操作系统与所述目标RAID卡之间的心跳连接,检测所述目标RAID卡的状态,其中,在检测到所述操作系统与所述目标RAID卡之间的心跳连接中断时,确定所述目标RAID卡故障。
[0093] 可选地,在将所述系统盘中缓存的所述目标配置信息导入所述目标RAID卡之前,判断单元42还用于:
[0094] 判断所述目标RAID卡的固件版本信息和缓存的所述目标固件版本信息是否一致,在判定结果为是时,执行所述将所述系统盘中缓存的所述目标配置信息导入所述目标RAID卡的步骤;否则,生成提示信息,以提示用户所述目标RAID卡固件版本需升级。
[0095] 可选地,所述RAID卡故障处理装置还包括导入单元,所述将所述系统盘中缓存的所述目标配置信息导入所述目标RAID卡时,导入单元具体用于:
[0096] 判断所述目标RAID卡用于存储配置信息的存储器中是否存储有其它配置文件;
[0097] 若是,则删除所述其它配置文件,并将所述目标配置文件存储至所述存储器;否则,将所述目标配置文件存储至所述存储器。
[0098] 以上这些单元可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit,简称ASIC),或,一个或多个微处理器(digital singnal processor,简称DSP),或,一个或者多个现场可编程门阵列(Field Programmable Gate Array,简称FPGA)等。再如,当以上某个单元通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(Central Processing Unit,简称CPU)或其它可以调用程序代码的处理器。再如,这些单元可以集成在一起,以片上系统(system‑on‑a‑chip,简称SOC)的形式实现。
[0099] 综上可知,本申请实施例提供的RAID卡故障处理方法及装置。该方法应用于服务器,其中,所述服务器包括由RAID卡管理的数据盘和用于安装操作系统的系统盘,该方法包括:基于预设的周期将用于管理数据盘的目标RAID卡的配置信息和固件版本信息缓存至所述系统盘;检测所述目标RAID卡状态,并在检测到所述目标RAID卡故障时,针对最后一次缓存的所述目标RAID卡的目标配置信息和目标固件版本信息添加时间戳;在检测到所述目标RAID卡故障恢复时,判断当前时间点与所述时间戳之差值是否大于预设阈值,若是,则将所述系统盘中缓存的所述目标配置信息导入所述目标RAID卡。
[0100] 采用本申请实施例提供的RAID卡故障处理方法,将用于管理数据盘的RAID卡的配置信息和固件版本信息备份至系统盘中,在RAID卡硬件损坏,影响实际业务的前提下,服务器系统通过系统盘中备份的RAID卡的配置信息和固件版本信息实现对RAID卡配置信息的自动、快速恢复,有效缩短了对于业务影响的时间,保障了业务处理的完整性和有效性的同时,保障客户利益。
[0101] 进一步地,本申请实施例提供的RAID卡故障处理装置,从硬件层面而言,所述RAID卡故障处理装置的硬件架构示意图可以参见图5所示,所述RAID卡故障处理装置可以包括:存储器50和处理器51,
[0102] 存储器50用于存储程序指令;处理器51调用存储器50中存储的程序指令,按照获得的程序指令执行上述方法实施例。具体实现方式和技术效果类似,这里不再赘述。
[0103] 可选地,本申请还提供一种分布式通信设备,包括用于执行上述方法实施例的至少一个处理元件(或芯片)。
[0104] 可选地,本申请还提供一种程序产品,例如计算机可读存储介质,该计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令用于使该计算机执行上述方法实施例。
[0105] 这里,机器可读存储介质可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:RAM(Radom Access Memory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。
[0106] 上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
[0107] 为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
[0108] 本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD‑ROM、光学存储器等)上实施的计算机程序产品的形式。
[0109] 本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可以由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其它可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其它可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0110] 而且,这些计算机程序指令也可以存储在能引导计算机或其它可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或者多个流程和/或方框图一个方框或者多个方框中指定的功能。
[0111] 这些计算机程序指令也可装载到计算机或其它可编程数据处理设备上,使得在计算机或者其它可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其它可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0112] 以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。