硬盘故障处理方法、装置、服务器和计算机可读介质与流程

文档序号:16754010发布日期:2019-01-29 17:10阅读:161来源:国知局
硬盘故障处理方法、装置、服务器和计算机可读介质与流程

本公开涉及计算机的技术领域,尤其是涉及一种硬盘故障处理方法、装置、服务器和计算机可读介质。



背景技术:

服务器中大量使用的硬盘,由于硬盘在计算机中承载着数据存储的任务,因此,在硬盘发生硬件故障时,将很有可能导致硬盘无法进行数据恢复操作,以至于数据的丢失。因此,硬盘故障的预测就显得尤为重要。硬盘是服务器中故障发生率相对高的部件,一旦服务器中的硬盘出现故障,现有技术中的方法是更换硬盘。



技术实现要素:

有鉴于此,本公开的目的在于提供一种硬盘故障处理方法、装置、服务器和计算机可读介质,本公开能够根据硬盘的故障状态,对故障硬盘进行上下电修复,使得能够修复的故障硬盘不必再进行更换。

第一方面,本公开实施例提供了一种硬盘故障处理方法,应用于服务器中的基板管理控制器bmc,所述服务器还包括复杂可编程逻辑器件cpld和硬盘电源控制模块,所述cpld分别与所述bmc和所述硬盘电源控制模块相连接,所述硬盘电源控制模块与相对应的硬盘相连接,所述硬盘故障处理方法包括:获取服务器中的硬盘的状态信息;若基于所述状态信息在所述硬盘中确定出发生故障的目标硬盘,则所述bmc向所述cpld发送上下电操作命令,以使所述cpld向所述硬盘电源控制模块发送控制命令,从而对所述目标硬盘执行上下电修复操作。

进一步地,所述bmc向所述cpld发送上下电操作命令,以使所述cpld向所述硬盘电源控制模块发送控制命令,从而对所述目标硬盘执行上下电修复操作包括:所述bmc向所述cpld发送下电操作命令,以使所述cpld向所述目标硬盘所对应的硬盘电源控制模块发送控制所述目标硬盘执行下电操作的控制命令;从所述目标硬盘执行下电操作的时刻开始经过预设时间段,所述bmc向所述cpld发送上电操作命令,以使所述cpld向所述目标硬盘所对应的硬盘电源控制模块发送控制所述目标硬盘执行上电操作的控制命令。

进一步地,所述方法还包括:在对所述目标硬盘执行上下电修复操作之后,重新获取所述硬盘的状态信息;若基于重新获取到的所述硬盘的状态信息确定出所述目标硬盘未恢复为正常运行状态,则生成第一告警信息,其中,所述第一告警信息用于提醒用户更换所述目标硬盘。

进一步地,所述方法还包括:若基于重新获取到的所述硬盘的状态信息确定出所述目标硬盘未恢复为正常运行状态,则判断所述目标硬盘的故障类型是否为不可恢复故障类型;若否,则再次对所述目标硬盘执行上下电修复操作;若是,则生成第二告警信息,其中,所述第二告警信息携带所述不可恢复故障类型的信息,且所述第二告警信息用于提醒用户更换所述目标硬盘。

进一步地,所述方法还包括:若基于重新获取到的所述硬盘的状态信息确定出所述目标硬盘恢复为正常运行状态,且统计出在目标时长内所述目标硬盘连续被确定出发生了故障的次数超过预设阈值,则统计所述目标硬盘发生故障时的故障类型;生成第三告警信息,其中,所述第三告警信息包括:所述目标硬盘发生故障时的故障类型,以及每种故障类型发生的频率。

第二方面,本公开实施例还提供了一种硬盘故障处理装置,设置于服务器中的基板管理控制器bmc,所述服务器还包括复杂可编程逻辑器件cpld和硬盘电源控制模块,所述cpld分别与所述bmc和所述硬盘电源控制模块相连接,所述硬盘电源控制模块与相对应的硬盘相连接,所述硬盘故障处理装置包括:第一获取单元,用于获取服务器中的硬盘的状态信息;修复单元,用于若基于所述状态信息在所述硬盘中确定出发生故障的目标硬盘,则所述bmc向所述cpld发送上下电操作命令,以使所述cpld向所述硬盘电源控制模块发送控制命令,从而对所述目标硬盘执行上下电修复操作。

进一步地,所述修复单元包括:第一发送模块,用于所述bmc向所述cpld发送下电操作命令,以使所述cpld向所述目标硬盘所对应的硬盘电源控制模块发送控制所述目标硬盘执行下电操作的控制命令;第二发送模块,用于从所述目标硬盘执行下电操作的时刻开始经过预设时间段,所述bmc向所述cpld发送上电操作命令,以使所述cpld向所述目标硬盘所对应的硬盘电源控制模块发送控制所述目标硬盘执行上电操作的控制命令。

进一步地,所述装置还用于:在对所述目标硬盘执行上下电修复操作之后,重新获取所述硬盘的状态信息;若基于重新获取到的所述硬盘的状态信息确定出所述目标硬盘未恢复为正常运行状态,则生成第一告警信息,其中,所述第一告警信息用于提醒用户更换所述目标硬盘。

进一步地,所述装置还用于:若基于重新获取到的所述硬盘的状态信息确定出所述目标硬盘未恢复为正常运行状态,则判断所述目标硬盘的故障类型是否为不可恢复故障类型;若否,则再次对所述目标硬盘执行上下电修复操作;若是,则生成第二告警信息,其中,所述第二告警信息携带所述不可恢复故障类型的信息,且所述第二告警信息用于提醒用户更换所述目标硬盘。

进一步地,所述装置还用于:若基于重新获取到的所述硬盘的状态信息确定出所述目标硬盘恢复为正常运行状态,且统计出在目标时长内所述目标硬盘连续被确定出发生了故障的次数超过预设阈值,则统计所述目标硬盘发生故障时的故障类型;生成第三告警信息,其中,所述第三告警信息包括:所述目标硬盘发生故障时的故障类型,以及每种故障类型发生的频率。

第三方面,本公开实施例还提供了一种服务器,所述服务器包括处理器,存储器,基板管理控制器bmc,复杂可编程逻辑器件cpld,硬盘电源控制模块,总线和通信接口,所述处理器、通信接口和存储器通过所述总线连接,所述cpld分别与所述bmc和所述硬盘电源控制模块相连接,所述硬盘电源控制模块与相对应的硬盘相连接;所述存储器用于存储所述服务器中硬盘的状态信息;所述处理器用于基于所述状态信息判断所述硬盘中是否存在出发生故障的目标硬盘,并在判断出存在的情况下,控制所述bmc向所述cpld发送上下电操作命令,以使所述cpld向所述硬盘电源控制模块发送控制命令,从而对所述目标硬盘执行上下电修复操作。

进一步地,所述硬盘电源控制模块包括:电源控制器和硬盘电源,所述电源控制器与所述cpld和其相对应的硬盘电源相连接,所述硬盘电源与所述服务器中相对应的硬盘相连接。

第四方面,本公开实施例还提供了一种具有处理器可执行的非易失的程序代码的计算机可读介质,所述程序代码使所述处理器执行上述第一方面中任一所述方法。

在本公开实施例中,首先获取服务器中硬盘的状态信息;然后,基于该状态信息在硬盘中确定出发生故障的目标硬盘,并通过bmc向cpld发送上下电操作命令,以使cpld向硬盘电源控制模块发送控制命令,从而对目标硬盘执行上下电修复操作。通过上述描述可知,在本实施例中,能够根据硬盘的故障状态,对故障硬盘进行上下电修复,使得能够修复的故障硬盘不必再进行更换,进而缓解现有技术中当硬盘发生故障之后只能对硬盘进行更换,而无法对硬盘进行自动修复的技术问题。

本公开的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本公开而了解。本公开的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。

为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

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

图1是根据本公开实施例的一种硬盘故障处理方法的流程图;

图2是根据本公开实施例的一种服务器的结构示意图;

图3是根据本公开实施例的另一种服务器的结构示意图;

图4是根据本公开实施例的另一种硬盘故障处理方法的流程图;

图5是根据本公开实施例的一种硬盘故障处理装置的示意图。

具体实施方式

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

当硬盘发生故障之后,有些故障是可以修复的,但是现有技术中还未出现较好的修复方法。通过上述背景技术的描述可知,现有技术中常用的方法是将发生故障的硬盘换掉。但是,该方法会造成将好的硬盘更换掉,给服务器供应商造成损失。基于此,本实施例提出了一种硬盘故障处理方法。该方法能够根据硬盘的故障状态,对故障硬盘进行上下电修复,使得能够修复的故障硬盘不必再进行更换。下面将结合具体实施例介绍该方法。

实施例一:

根据本公开实施例,提供了一种硬盘故障处理方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

图1是根据本公开实施例的一种硬盘故障处理方法的流程图,如图1所示,该方法包括如下步骤:

步骤s102,获取服务器的硬盘的状态信息;

步骤s104,若基于状态信息在硬盘中确定出发生故障的目标硬盘,则bmc向cpld发送上下电操作命令,以使cpld向硬盘电源控制模块发送控制命令,从而对目标硬盘执行上下电修复操作。

在本实施例中,上述步骤s102至步骤s104应用于服务器中的基板管理控制器bmc,服务器还包括:复杂可编程逻辑器件cpld(complexprogrammablelogicdevice,复杂可编程逻辑器件)和硬盘电源控制模块,cpld分别与bmc和硬盘电源控制模块相连接,硬盘电源控制模块与相对应的硬盘相连接。在下述描述中,将结合图2和图3对该结构进行详细的描述。

在本公开实施例中,首先获取服务器中硬盘的状态信息;然后,基于该状态信息在硬盘中确定出发生故障的目标硬盘,并通过bmc向cpld发送上下电操作命令,以使cpld向硬盘电源控制模块发送控制命令,从而对目标硬盘执行上下电修复操作。通过上述描述可知,在本实施例中,能够根据硬盘的故障状态,对故障硬盘进行上下电修复,使得能够修复的故障硬盘不必再进行更换,进而缓解现有技术中当硬盘发生故障之后只能对硬盘进行更换,而无法对硬盘进行自动修复的技术问题。

通过上述描述可知,在本实施例中,首先获取服务器中的硬盘的状态信息,其中,该状态信息能够表征硬盘的健康信息。可选地,该状态信息可以为硬盘的smart属性数据。smart属性数据的目的是监控硬盘的可靠性,预测硬盘故障和执行各种类型的硬盘自检操作。

smart属性数据中包括多种属性参数,例如,底层数据读取错误率、磁盘读写通量性能、主轴起旋时间、重映射扇区计数和退役块计数等等。在本实施例中,可以通过smart属性数据来判断服务器的硬盘中是否存在发生故障的目标硬盘。

在一个可选的实施方式中,可以预先从smart属性数据中选择一个或多个参数,进而通过这一个或多个参数来判断硬盘是否发生了故障。

例如,某服务器中包括3个硬盘,分别为硬盘1、硬盘2和硬盘3。在本实施例中,可以首先获取硬盘1、硬盘2和硬盘3的smart属性数据。然后,从获取到的smart属性数据提取预先设置的一个或多个参数的参数值。并将参数值与预设参数值进行比较,进而根据比较结果确定该硬盘是否发生了故障。

除此之外,在本实施例中,还可以结合硬盘的温度和硬盘的读写速率来进一步判断该硬盘是否发生了故障。例如,当硬盘的读写速率低于某个阈值,和/或,硬盘的温度高于某个阈值,则进一步确定出该硬盘发生了故障。

如果从硬盘1、硬盘2和硬盘3中,确定出硬盘1为发生了故障的目标硬盘,那么对该硬盘1执行上下电修复操作。硬盘故障包括硬件故障和软件故障,发明人发现,软件故障可以通过对硬盘执行上下电操作来进行修复,而无需更换硬盘。

若对硬盘执行上下电操作,一个可选的实施方式是对服务器整机执行上下电操作。例如,先对整个服务器关机,再开机来实现。该方法会造成其他硬盘的业务中断,产生较大的影响。

基于此,发明人想到另外一种可选的实施方式。另一种可选的实施方式为单独对硬盘进行上下电修复操作,单独对硬盘进行上下电操作不会影响服务器中其他硬盘的业务,同时也不会影响服务器的其他业务。

在本实施例中,在识别出发生故障的目标硬盘之后,可以利用bmc向cpld发送上下电操作命令,以使cpld向硬盘电源控制模块发送控制命令,从而对目标硬盘执行上下电修复操作。需要说明的是,在本实施例中,该cpld和硬盘电源控制模块为在现有服务器的基础上,设置在服务器中用于控制硬盘上下电操作的装置,其中,硬盘电源控制模块包括电源控制器和硬盘电源。

可选地,如果服务器中包含硬盘的数量较多,可以为多个硬盘配置一个电源控制模块;如果服务器中硬盘的数量较少,可以为一个硬盘配置一个电源控制模块,对此,本实施例中不做具体限定。

下面将结合图2和图3具体介绍cpld和硬盘电源控制模块与服务器中其他设备之间的连接关系。如图2所示的服务器的结构示意图中,包括raid(redundantarraysofindependentdisks,磁盘阵列)/hba(hostbusadapter,主机总线适配器)卡、基板管理控制器(baseboardmanagementcontroller,基板管理控制器)、cpu中央处理器(centralprocessingunit)和硬盘。bmc可以在机器未开机的状态下,对机器进行固件升级、查看机器设备、等一些操作,bmc还可以利用传感器来监视一台计算机,网络服务器,或者是其他硬件驱动设备的状态信息,并且通过独立的连接线路和系统管理员进行通信。raid/hba卡管理着服务器中的硬盘,raid/hba卡可以获取硬盘的状态信息。尤其在组raid场景下,raid卡可以获取很详细的状态信息。bmc可以通过i2c总线,从raid/hba卡获取硬盘的状态信息,然后进行分析。

在图2所示的结构示意图的基础上,可以添加以下部件:复杂可编程逻辑器件cpld、硬盘电源控制模块,硬盘电源控制模块包括电源控制器和硬盘电源。具体地,如图3所示,复杂可编程逻辑器件cpld与服务器中的基板管理控制器bmc相连接,电源控制器与相对应的硬盘电源相连接,硬盘电源与服务器中相对应的硬盘相连接。

具体地,如图3所示,该服务器包括n个硬盘,即,硬盘1、硬盘2、…、硬盘n。在本实施例中,可以为每个硬盘对应设置一个硬盘电源,即硬盘电源1、硬盘电源2、…、硬盘电源n,其中,硬盘电源1为硬盘1的电源,除此之外,还设置了一个或多个电源控制器。例如,为硬盘电源1设置电源控制器1、为硬盘电源2设置电源控制器2,…,为硬盘电源n设置电源控制器n。如图3所示,在本实施例中,复杂可编程逻辑器件cpld与基板管理控制器通过总线相连接。其中,硬盘电源1和电源控制器1组成硬盘电源控制模块1,硬盘电源2和电源控制器2组成硬盘电源控制模块2,硬盘电源n和电源控制器n组成硬盘电源控制模块n。

具体地,在图3的基础上,上述步骤s102至步骤s104所描述的过程可以描述为:

服务器中的基板管理控制器bmc首先从raid/hba卡中获取服务器中n个硬盘的状态信息;然后,基板管理控制器bmc基于状态信息判断n个硬盘中是否存在发生故障的目标硬盘。若判断出存在,则向cpld发送下电操作命令,以使cpld向目标硬盘的电源控制器发送控制目标硬盘执行下电操作的控制命令;并在延时预设时间段之后,向cpld发送上电操作命令,以使cpld向目标硬盘的电源控制器发送控制目标硬盘执行上电操作的控制命令。

可选地,如图3所示,bmc向cpld发送上下电操作命令,以使cpld向硬盘电源控制模块发送控制命令,从而对目标硬盘执行上下电修复操作包括:

bmc向cpld发送下电操作命令,以使cpld向目标硬盘所对应的硬盘电源控制模块发送控制目标硬盘执行下电操作的控制命令。

从目标硬盘执行下电操作的时刻开始经过预设时间段,bmc向cpld发送上电操作命令,以使cpld向目标硬盘所对应的硬盘电源控制模块发送控制目标硬盘执行上电操作的控制命令。

在本实施例中,若基板管理控制器bmc判断出n个硬盘中存在发生故障的目标硬盘,则基板管理控制器bmc通过总线访问复杂可编程逻辑器件cpld的寄存器。然后,可以向该寄存器中写入一个数值(例如,0),此时,就会在cpld的输出端口输出一个低电平信号(该低电平信号即为下电操作命令),该低电平信号通过控制信号线传输至对应的电源控制器(传输至电源控制器的低电平信号即为控制目标硬盘执行下电操作的控制命令),以使电源控制器控制该目标硬盘的硬盘电源掉电。当该目标硬盘的硬盘电源掉电之后,该目标硬盘处于断电状态。

在控制目标硬盘处于断电状态之后,延时预设时间段,基板管理控制器bmc通过总线访问复杂可编程逻辑器件cpld的寄存器。然后,可以向该寄存器中写入另一个数值(例如,1),此时,就会在cpld的输出端口输出一个高电平信号(该高电平信号即为上电操作命令),该高电平信号通过控制信号线传输至对应的电源控制器(传输至电源控制器的高电平信号即为控制目标硬盘执行上电操作的控制命令),以使电源控制器控制该目标硬盘的硬盘电源上电。当该目标硬盘的硬盘电源上电之后,该目标硬盘处于上电状态。

通过上述描述可知,在本实施例中,能够根据硬盘的故障状态,对故障硬盘进行上下电修复,使得能够修复的故障硬盘不必再进行更换。相对于重启服务器的方式,重启硬盘的方式,不会影响服务器其他业务的进行,同时能否达到部分硬盘自动恢复的目的。同时,该方法能够减少硬盘的误报率,降低硬盘误报带来的经济损失。

在本实施例中,在按照上述方式对目标硬盘执行修复操作之后,就可以重新获取硬盘的状态信息,并基于重新获取到的硬盘的状态信息确定目标硬盘是否恢复为正常运行状态。

具体地,服务器中的基板管理控制器可以重新从raid/hba卡中获取服务器中硬盘的状态信息,然后基于重新获取到的状态信息判断目标硬盘是否恢复为正常运行状态。

若基于重新获取到的硬盘的状态信息确定出目标硬盘未恢复为正常运行状态,则生成第一告警信息,其中,第一告警信息用于提醒用户更换目标硬盘。

若基于重新获取到的硬盘的状态信息确定出目标硬盘恢复为正常运行状态,且统计出在目标时长内目标硬盘连续多次被确定出发生了故障,则统计目标硬盘发生故障时的故障类型;并生成第三告警信息,其中,第三告警信息包括:目标硬盘发生故障时的故障类型,以及每种故障类型发生的频率。

具体地,在本实施例中,若基于重新获取到的硬盘的状态信息确定出目标硬盘恢复为正常运行状态,则可以统计该目标硬盘被识别为故障硬盘的次数。进而,可以根据该次数统计目标硬盘发生故障的频率。通过该频率来进一步判断该目标硬盘的工作状态。若某个硬盘在某个时间段频繁被识别为故障硬盘,那么可以提醒技术人员是否该硬盘可能会出现不可恢复的故障,或者,是否由于服务器系统工作异常导致硬盘频繁发生故障。

在本实施例中,若基于重新获取到的硬盘的状态信息确定出目标硬盘未恢复为正常运行状态,则判断目标硬盘的故障类型是否为不可恢复故障类型;若否,则再次对目标硬盘执行上下电修复操作;若是,则生成第二告警信息,其中,第二告警信息携带不可恢复故障类型的信息,且第二告警信息用于提醒用户更换目标硬盘。

具体地,在本实施例中,如果目标硬盘未恢复为正常运行状态,则还可以进一步判断该目标硬盘的故障类型是否为不可恢复故障类型,其中,可以基于重新获取到的硬盘的状态信息确定该目标硬盘的故障类型是否为不可恢复故障类型。若是不可恢复故障类型,那么就不需要再对该目标硬盘执行上下电修复操作,可以生成第二告警信息,其中,第二告警信息携带不可恢复故障类型的信息,且第二告警信息用于提醒用户更换目标硬盘。如果判断出目标硬盘的故障类型不是不可恢复故障类型,也就是说为可恢复的故障类型,但是由于执行的上下电修复操作未能恢复该目标硬盘,此时,可以再次对目标硬盘执行上下电修复操作,进而,再获取该硬盘的状态信息,并基于重新获取到的硬盘的状态信息确定目标硬盘是否恢复为正常运行状态。

在重新获取硬盘的状态信息时,可以仅获取目标硬盘的状态信息,进而根据重新获取到的目标硬盘的状态信息确定目标硬盘是否恢复为正常运行状态;还可以重新获取全部硬盘的状态信息,本实施例中对此不作具体限定。

在本实施例的另一个可选实施方式中,在步骤s104中,还可以在基于状态信息在硬盘中确定出发生故障的目标硬盘之后,判断该目标硬盘的故障类型是否为不可恢复故障类型。如果判断出不是,则可以对目标硬盘执行上下电修复操作。如果判断出是,则可以选择直接生成第一告警信息。

如果硬盘发生不可恢复的故障,那么即使对该硬盘执行上下电修复操作,该硬盘恢复为正常运行状态的概率较低,此时,可以不必执行上下电修复操作,直接生成第一告警信息。通过该方式能够避免再向该硬盘执行数据写入的操作,以避免更多的数据在该硬盘故障之后丢失。

硬盘故障分为硬件故障和软件故障,其中,硬件故障可以是由系统引起的,硬件故障还可以是硬盘本身的故障,例如,坏道,分区表损坏,以及病毒等等。若是硬件本身的故障,则故障无法通过上下电修读操作来解决。因此,在本实施例中,若基于重新获取到的硬盘的状态信息确定出目标硬盘还是未恢复为正常运行状态。表明执行上下电修复操作的目标硬盘故障未能恢复,此时,目标硬盘有很大可能发生了硬件故障。

基于此,在本实施例中,可以通过smart属性数据来判断目标硬盘的故障类型。一种可选的实施方式是,获取smart属性数据中指定的部分属性数据,然后,将指定的部分属性数据输入至故障预测模型中,以预测目标硬盘的故障类型,进而根据预测出的故障类型判断目标硬盘是否发生了不可恢复的故障。另一种可选的实施方式是,预先设定硬盘发生故障率较高的一种或几种不可恢复的故障,然后,从smart属性数据中确定与每种不可恢复的故障相关联的属性数据,进而,通过监控并分析该相关联的属性数据来判断目标硬盘的故障类型是否为不可恢复的故障。

实施例二:

图4是根据本公开实施例的另一种硬盘故障处理方法的流程图,如图4所示,该方法包括如下步骤:

步骤s401,从raid/hba卡中获取服务器中n个硬盘的状态信息;

步骤s402,判断是否从n个硬盘中识别出发生故障的目标硬盘;若是,则执行步骤s403,否则返回执行步骤s401;

步骤s403,bmc向cpld发送下电操作命令,以使cpld向硬盘电源控制模块发送控制命令,从而使目标硬盘执行下电操作;

步骤s404,从目标硬盘执行下电操作的时刻开始经过预设时间段,bmc向cpld发送上电操作命令,以使cpld向目标硬盘所对应的硬盘电源控制模块发送控制目标硬盘执行上电操作的控制命令,从而使目标硬盘执行上电操作;

步骤s405,重新从raid/hba卡中获取n个硬盘的状态信息;

步骤s406,基于重新获取到的n个硬盘的状态信息确定目标硬盘是否恢复为正常运行状态;若否,则执行步骤s407,若是,则返回执行步骤s401;

步骤s407,生成第一告警信息,其中,第一告警信息用于提醒用户更换目标硬盘。

通过上述描述可知,在本实施例中,能够根据硬盘的故障状态,对故障硬盘进行上下电修复,使得能够修复的故障硬盘不必再进行更换,进而缓解现有技术中当硬盘发生故障之后只能对硬盘进行更换,而无法对硬盘进行自动修复的技术问题。

实施例三:

本公开实施例还提供了一种硬盘故障处理装置,该硬盘故障处理装置主要用于执行本公开实施例上述内容所提供的硬盘故障处理方法,以下对本公开实施例提供的硬盘故障处理装置做具体介绍。

图5是根据本公开实施例的一种硬盘故障处理装置的示意图,如图5所示,该硬盘故障处理装置主要包括第一获取单元10和修复单元20,该装置设置于服务器中的基板管理控制器bmc,服务器还包括:复杂可编程逻辑器件cpld和硬盘电源控制模块,cpld分别与bmc和硬盘电源控制模块相连接,硬盘电源控制模块与相对应的硬盘相连接,其中:

第一获取单元10,用于获取服务器中硬盘的状态信息;

修复单元20,用于若基于状态信息在硬盘中确定出发生故障的目标硬盘,则对目标硬盘执行修复操作;

第二获取单元30,用于在对目标硬盘执行修复操作之后,重新获取硬盘的状态信息,并基于重新获取到的硬盘的状态信息确定目标硬盘是否恢复为正常运行状态。

在本公开实施例中,首先获取服务器中硬盘的状态信息;然后,基于该状态信息在硬盘中确定出发生故障的目标硬盘,并通过bmc向cpld发送上下电操作命令,以使cpld向硬盘电源控制模块发送控制命令,从而对目标硬盘执行上下电修复操作。通过上述描述可知,在本实施例中,能够根据硬盘的故障状态,对故障硬盘进行上下电修复,使得能够修复的故障硬盘不必再进行更换,进而缓解现有技术中当硬盘发生故障之后只能对硬盘进行更换,而无法对硬盘进行自动修复的技术问题。

可选地,修复单元包括:第一发送模块,用于bmc向cpld发送下电操作命令,以使cpld向目标硬盘所对应的硬盘电源控制模块发送控制目标硬盘执行下电操作的控制命令;第二发送模块,用于从目标硬盘执行下电操作的时刻开始经过预设时间段,bmc向cpld发送上电操作命令,以使cpld向目标硬盘所对应的硬盘电源控制模块发送控制目标硬盘执行上电操作的控制命令。

可选地,装置还用于:在对目标硬盘执行上下电修复操作之后,重新获取硬盘的状态信息;若基于重新获取到的硬盘的状态信息确定出目标硬盘未恢复为正常运行状态,则生成第一告警信息,其中,第一告警信息用于提醒用户更换目标硬盘。

可选地,装置还用于:若基于重新获取到的硬盘的状态信息确定出目标硬盘未恢复为正常运行状态,则判断目标硬盘的故障类型是否为不可恢复故障类型;若否,则再次对目标硬盘执行上下电修复操作;若是,则生成第二告警信息,其中,第二告警信息携带不可恢复故障类型的信息,且第二告警信息用于提醒用户更换目标硬盘。

可选地,装置还用于:若基于重新获取到的硬盘的状态信息确定出目标硬盘恢复为正常运行状态,且统计出在目标时长内目标硬盘连续被确定出发生了故障的次数超过预设阈值,则统计目标硬盘发生故障时的故障类型;生成第三告警信息,其中,第三告警信息包括:目标硬盘发生故障时的故障类型,以及每种故障类型发生的频率。

本公开实施例所提供的装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。

实施例四:

在另一个实施例中,还提供了一种服务器,所述服务器包括处理器,存储器,基板管理控制器bmc,复杂可编程逻辑器件cpld,硬盘电源控制模块,总线和通信接口,所述处理器、通信接口和存储器通过所述总线连接,所述cpld分别与所述bmc和所述硬盘电源控制模块相连接,所述硬盘电源控制模块与相对应的硬盘相连接;所述存储器用于存储所述服务器中硬盘的状态信息;所述处理器用于基于所述状态信息判断所述硬盘中是否存在出发生故障的目标硬盘,并在判断出存在的情况下,控制所述bmc向所述cpld发送上下电操作命令,以使所述cpld向所述硬盘电源控制模块发送控制命令,从而对所述目标硬盘执行上下电修复操作。

可选地,所述硬盘电源控制模块包括:电源控制器和硬盘电源,所述电源控制器与所述cpld和其相对应的硬盘电源相连接,所述硬盘电源与所述服务器中相对应的硬盘相连接。

在另一个实施例中,还提供了一种具有处理器可执行的非易失的程序代码的计算机可读介质,所述程序代码使所述处理器执行上述方法实施例中任一所述方法。

另外,在本公开实施例的描述中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本公开中的具体含义。

在本公开的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本公开和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本公开的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本公开所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。

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