一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种故障诊断方法、装置、设备及可读存储介质与流程

2021-11-25 02:43:00 来源:中国专利 TAG:


1.本技术涉及服务器技术领域,更具体地说,涉及一种故障诊断方法、装置、设备及可读存储介质。


背景技术:

2.目前,随着raid(redundant arrays of independent disks,磁盘阵列)和硬盘种类的增多,raid对硬盘的管理模式也比较多,在raid管理模式下,服务器是不能直接感知硬盘的状态是否正常,而raid故障或硬盘故障会导致服务器发生数据丢失、宕机等问题。
3.综上所述,如何对raid和硬盘进行故障诊断,以便于及时对故障进行处理,从而降低服务器发生数据丢失和宕机的概率,是目前本领域技术人员亟待解决的技术问题。


技术实现要素:

4.有鉴于此,本技术的目的是提供一种故障诊断方法、装置、设备及可读存储介质,用于对raid和硬盘进行故障诊断,以便于及时对故障进行处理,从而降低服务器发生数据丢失和宕机的概率。
5.为了实现上述目的,本技术提供如下技术方案:一种故障诊断方法,包括:获取待监控服务器中的raid卡的各日志文件;根据故障诊断规则库及所述raid卡的各日志文件确定所述raid卡及其管理的硬盘是否存在故障,并在确定所述raid卡和/或管理的硬盘存在故障时利用所述故障诊断规则库给出故障处理方案;所述故障诊断规则库为通过预先对raid卡及其管理的硬盘的历史故障进行分析创建的;输出确定所述raid卡和/或管理的硬盘存在故障的日志文件及所述故障处理方案。
6.优选的,根据故障诊断规则库及所述raid卡的各日志文件确定所述raid卡及其管理的硬盘是否存在故障,并在确定所述raid卡和/或管理的硬盘存在故障时利用所述故障诊断规则库给出故障处理方案,包括:将所述raid卡的各日志文件与所述故障诊断规则库对比,判断所述故障诊断规则库中是否存在与所述raid卡的当前日志文件相匹配的目标文件;若存在所述目标文件,则将所述目标文件对应的各诊断关键字与所述当前日志文件中的每一行内容进行匹配;若所述当前日志文件中存在能够与各所述诊断关键字相匹配的至少一行内容,则确定所述raid卡和/或管理的硬盘存在故障;判断所述故障诊断规则库中是否存在与所述目标文件对应的故障诊断方法,若存在与所述目标文件对应的故障诊断方法,则利用所述故障诊断方法对所述当前日志文件进行诊断,以给出所述故障处理方案。
7.优选的,利用所述故障诊断方法对所述当前日志文件进行诊断,以给出所述故障处理方案,包括:按照第一预设正则表达式从所述当前日志文件中提取第一槽位号;从所述当前日志文件中查找出所述第一槽位号对应的最新信息;若所述最新信息包含异常信息,则给出更换所述第一槽位号上的硬盘的故障处理方案;若所述最新信息包含正常信息,则从所述当前日志文件中过滤所述最新信息;若所述最新信息不包含所述异常信息和所述正常信息,则给出所述第一槽位号上的硬盘故障、建议提交工单并将对应的故障问题提升至二线的故障处理方案。
8.优选的,利用所述故障诊断方法对所述当前日志文件进行诊断,以给出所述故障处理方案,包括:按照第二预设正则表达式从所述当前日志文件中提取第二槽位号,按照第三预设正则表达式从所述当前日志文件中提取所述第二槽位号对应的错误数;若所述错误数大于1,则给出建议按照raid卡、背板、sas线缆顺序逐个更换的故障处理方案;若所述错误数等于1,则给出更换所述第二槽位号上的硬盘的故障处理方案。
9.优选的,利用所述故障诊断方法对所述当前日志文件进行诊断,以给出所述故障处理方案,包括:从所述故障诊断规则库中提取与所述目标文件对应的最后一个关键字,并从所述当前日志文件中提取与所述最后一个关键字对应的数值;若所述数值等于0,则从所述当前日志文件中过滤所述数值所在行的内容;若所述数值大于0,则从所述当前日志文件中提取序列号,并按照第四预设正则表达式循环遍历所述当前日志文件,若所述当前日志文件中存在能匹配到所述第四预设正则表达式的一行内容,则从能匹配到所述第四预设正则表达式的一行内容向前查找能匹配到第五预设正则表达式的内容,并从匹配到所述第五预设正则表达式的内容中提取第三槽位号;若所述故障诊断规则库中的所述诊断关键字中包含hwerrors、mediumerrors、smartwarning中的任意一个,则给出更换所述第三槽位号、所述序列号对应的硬盘的故障处理方案;若所述故障诊断规则库中的所述诊断关键字中不包含hwerrors、mediumerrors、smartwarning中的任意一个,则获取所述最后一个关键字对应的所述数值大于0的个数;若所述个数等于1,则给出更换所述第三槽位号、所述序列号对应的硬盘的故障处理方案;若所述个数大于1,则给出考虑链路问题,建议按照raid卡、背板、sas线缆顺序逐个更换的故障处理方案。
10.优选的,还包括:若所述故障诊断规则库中不存在与所述raid卡的当前日志文件相匹配的目标文件,或所述故障诊断规则库中存在与所述raid卡的当前日志文件相匹配的目标文件且若所述当前日志文件中不存在能够与各所述诊断关键字相匹配的至少一行内容,则从所述当前
日志文件中提取状态信息;根据所述状态信息构建日志训练集,利用relief过滤式选择算法从所述日志训练集中选择样本,从和所述样本同类的样本中寻找猜中近邻样本,从和所述样本不同类的样本中随机选择一个猜错近邻样本,若所述样本和所述猜中近邻样本在特征上的距离小于所述样本和所述猜错近邻样本在同样特征上的距离,则增加所述特征的权重,若所述样本和所述猜中近邻样本在所述特征上的距离不小于所述样本和所述猜错近邻样本在同样特征上的距离,则减小所述特征的权重,对所述特征经过预设次数训练,并获取所述特征经过所述预设次数训练后的平均权重;将所述平均权重大于预设值的特征加入特征集,并输出所述特征集;接收对所述特征集的分析结果,并将所述特征集的分析结果加入所述故障诊断规则库中。
11.优选的,输出确定所述raid卡和/或管理的硬盘存在故障的日志文件及所述故障处理方案,包括:将确定所述raid卡和/或管理的硬盘存在故障的日志文件及所述故障处理方案通过邮件和/或短信输出至移动终端。
12.一种故障诊断装置,包括:获取模块,用于获取待监控服务器中的raid卡的各日志文件;确定模块,用于根据故障诊断规则库及所述raid卡的各日志文件确定所述raid卡及其管理的硬盘是否存在故障,并在确定所述raid卡和/或管理的硬盘存在故障时利用所述故障诊断规则库给出故障处理方案;所述故障诊断规则库为通过预先对raid卡及其管理的硬盘的历史故障进行分析创建的;输出模块,用于输出确定所述raid卡和/或管理的硬盘存在故障的日志文件及所述故障处理方案。
13.一种故障诊断设备,包括:存储器,用于存储计算机程序;处理器,用于执行所述计算机程序时实现如上述任一项所述的故障诊断方法的步骤。
14.一种可读存储介质,所述可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现如上述任一项所述的故障诊断方法的步骤。
15.本技术提供了一种故障诊断方法、装置、设备及可读存储介质,其中,该方法包括:获取待监控服务器中的raid卡的各日志文件;根据故障诊断规则库及raid卡的各日志文件确定raid卡及其管理的硬盘是否存在故障,并在确定raid卡和/或管理的硬盘存在故障时利用故障诊断规则库给出故障处理方案;故障诊断规则库为通过预先对raid卡及其管理的硬盘的历史故障进行分析创建的;输出确定raid卡和/或管理的硬盘存在故障的日志文件及故障处理方案。
16.本技术公开的上述技术方案,根据通过预先对raid卡及其管理的硬盘的历史故障进行分析所创建的故障诊断规则库以及所获取到的待监控服务器中的raid卡的各日志文件来确定待监控服务器中的raid卡和/或raid卡所管理的硬盘是否存在故障,并在确定存在故障时利用故障诊断规则库给出故障处理方案,以实现对raid卡和硬盘的故障诊断,且
通过输出确定raid卡和/或管理的硬盘存在故障的日志文件及故障处理方案而便于相关人员及时获知故障并结合故障处理方案来对故障进行处理,以使得出现故障的raid卡和/或其管理的硬盘能够及时恢复正常,从而降低服务器发生数据丢失和宕机的概率,提高服务器运行的稳定性和可靠性。
附图说明
17.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
18.图1为本技术实施例提供的一种故障诊断方法的流程图;图2为本技术实施例提供的一种故障诊断装置的结构示意图;图3为本技术实施例提供的一种故障诊断设备的结构示意图。
具体实施方式
19.本技术的核心是提供一种故障诊断方法、装置、设备及可读存储介质,用于对raid和硬盘进行故障诊断,以便于及时对故障进行处理,从而降低服务器发生数据丢失和宕机的概率。
20.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
21.参见图1,其示出了本技术实施例提供的一种故障诊断方法的流程图,本技术实施例提供的一种故障诊断方法,可以包括:s11:获取待监控服务器中的raid卡的各日志文件。
22.在本技术中,监控平台可以通过ssh(secure shell,安全外壳协议)协议对待监控服务器进行远程监控,并获取待监控服务器中的raid卡的各日志文件,其中,这里提及的日志文件包含但不限于storcliadpalilog.txt(txt格式的硬盘状态信息文件)、storclipdlist.txt(txt格式的逻辑盘列表信息文件)、controller_1_config.txt(txt格式的控制器配置信息文件)、controller_1_device_log.txt(txt格式的控制器设备日志信息)。
23.其中,为了提高日志文件获取的合法性和效率,则可以预先将需要监控的服务器(即待监控服务器)的信息注册至监控平台,其中,这里提及的服务器信息具体可以包括服务器的ip、用户名、密码。待监控服务器注册成功之后,监控平台可以根据待监控服务器的注册信息登录待监控服务器,并将用于抓取raid卡的日志文件的工具(例如storcli64工具)远程拷贝至待监控服务器的指定目录下,且赋予该工具可执行权限,以利用工具采集待监控服务器中的raid卡的各日志文件,并将采集到的raid卡的各日志文件回传至监控平台,以使得监控平台获取待监控服务器中的raid卡的各日志文件。
24.s12:根据故障诊断规则库及raid卡的各日志文件确定raid卡及其管理的硬盘是
否存在故障,并在确定raid卡和/或管理的硬盘存在故障时利用故障诊断规则库给出故障处理方案;故障诊断规则库为通过预先对raid卡及其管理的硬盘的历史故障进行分析创建的。
25.在获取待监控服务器中的raid卡的各日志文件之后,可以根据预先创建的故障诊断规则库及raid卡的各日志文件确定raid卡以及raid卡所管理的硬盘是否存在故障,在根据预先创建的故障诊断规则库确定raid卡和/或raid卡管理的硬盘存在故障时则可以利用故障诊断规则库给出故障处理方案。
26.其中,故障诊断规则库为预先收集监控平台所监控的各服务器中的raid卡及其管理的硬盘的历史故障,并对raid卡及其管理的硬盘的历史故障进行分析和提取所创建的。
27.通过上述过程可知,本技术可以远程对待监控服务器进行监控,获取待监控服务器的raid卡的各日志文件,并借助预先创建的故障诊断规则库及获取到的raid卡的各日志文件来对待监控服务器中的raid卡及raid卡所管理的硬盘进行故障诊断,以便于及时发现故障,并给出故障处理方案。
28.s13:输出确定raid卡和/或管理的硬盘存在故障的日志文件及故障处理方案。
29.在步骤s12的基础上,可以输出确定raid卡和/或管理的硬盘存在故障的日志文件,也即输出包含有故障信息的日志文件,同时可以输出故障处理方案,以便于相关人员可以通过所输出的日志文件了解raid卡和/或管理的硬盘的故障信息,并便于根据故障处理方案对故障进行处理,以使得出现故障的部件能够及时恢复正常,也即使得raid卡及其管理的硬盘能够在待监控服务器中正常运行,从而降低服务器发生数据丢失和宕机的概率,以提高服务器运行的稳定性和可靠性。另外,本技术的通用性比较好,可以对不同厂商的raid卡及不同raid管理模式下的硬盘进行故障诊断,以有效地降低数据丢失的风险以及服务器因硬盘故障导致的宕机概率等。
30.本技术公开的上述技术方案,根据通过预先对raid卡及其管理的硬盘的历史故障进行分析所创建的故障诊断规则库以及所获取到的待监控服务器中的raid卡的各日志文件来确定待监控服务器中的raid卡和/或raid卡所管理的硬盘是否存在故障,并在确定存在故障时利用故障诊断规则库给出故障处理方案,以实现对raid卡和硬盘的故障诊断,且通过输出确定raid卡和/或管理的硬盘存在故障的日志文件及故障处理方案而便于相关人员及时获知故障并结合故障处理方案来对故障进行处理,以使得出现故障的raid卡和/或其管理的硬盘能够及时恢复正常,从而降低服务器发生数据丢失和宕机的概率,提高服务器运行的稳定性和可靠性。
31.本技术实施例提供的一种故障诊断方法,根据故障诊断规则库及raid卡的各日志文件确定raid卡及其管理的硬盘是否存在故障,并在确定raid卡和/或管理的硬盘存在故障时利用故障诊断规则库给出故障处理方案,可以包括:将raid卡的各日志文件与故障诊断规则库对比,判断故障诊断规则库中是否存在与raid卡的当前日志文件相匹配的目标文件;若存在目标文件,则将目标文件对应的各诊断关键字与当前日志文件中的每一行内容进行匹配;若当前日志文件中存在能够与各诊断关键字相匹配的至少一行内容,则确定raid卡和/或管理的硬盘存在故障;
判断故障诊断规则库中是否存在与目标文件对应的故障诊断方法,若存在与目标文件对应的故障诊断方法,则利用故障诊断方法对当前日志文件进行诊断,以给出故障处理方案。
32.在本技术中,预先创建的故障诊断规则库中包含有一条条的规则信息,其中,每条规则信息的格式如下:文件(具体包含文件名):监控平台会根据文件的文件名匹配需要诊断的日志文件;诊断关键字:raid卡或硬盘产生故障后,日志文件中报出的错误内容;故障诊断方法:用于给出故障处理方案;其中,有的规则信息中可能有故障诊断方法这一项,有的规则信息中可能无故障诊断方法这一项。
33.在根据故障诊断规则库及raid卡的各日志文件确定raid卡及其管理的硬盘是否存在故障,并在确定raid卡和/或管理的硬盘存在故障时利用故障诊断规则库给出故障处理方案时,监控平台可以将raid卡的各日志文件与故障诊断规则库中的各规则信息进行对比和匹配,具体地,可以依次将raid卡的每个日志文件作为当前日志文件来与故障诊断规则库进行对比和匹配,以判断故障诊断规则库中是否存在与raid卡的当前日志文件相匹配的目标文件,具体地,根据故障诊断规则库中所包含的规则信息,判断故障诊断规则库中是否存在文件名与raid卡的当前日志文件相匹配的文件,若故障诊断规则库中存在文件名与raid卡的当前日志文件相匹配的文件,则认为故障诊断规则库中存在与raid卡的当前日志文件相匹配的目标文件。例如:storcliadpalilog.txt 文件适用于规则库中文件名为“storcliadpalilog”的文件,则可以将文件名为“storcliadpalilog”的文件确定为与raid卡的当前日志文件相匹配的目标文件。若故障诊断规则库中不存在文件名与raid卡的当前日志文件相匹配的文件,则确定故障诊断规则库中不存在与raid卡的当前日志文件相匹配的目标文件,则认为当前日志文件中不包含故障信息,此时,则可以将raid的下一个日志文件作为当前日志文件来返回判断故障诊断规则库中是否存在与raid卡的当前日志文件相匹配的目标文件的步骤,直至完成对获取到的所有日志文件的处理为止。
34.在确定故障诊断库中存在与raid卡的当前日志文件相匹配的目标文件,则监控平台将目标文件对应的每个诊断关键字均与当前日志文件中的各行内容进行匹配。其中,在进行匹配之前,可以先按照“,”将目标文件对应的各诊断关键字分割开来,也即以逗号区分相邻两个诊断关键字,然后,将分割开来的诊断关键字对当前日志文件逐行循环遍历匹配,以确定当前日志文件中的各行内容是否能够与目标文件对应的各诊断关键字进行匹配。
35.若当前日志文件中存在能够与目标文件对应的各诊断关键字相匹配的至少一行内容,则记录能够与目标文件对应的各诊断关键字相匹配各行内容为faultline(故障线),并确定raid卡和/或管理的硬盘存在故障,也即若当前日志文件中存在能够与目标文件对应的各诊断关键字相匹配的至少一行内容,则认为当前日志文件中存在故障信息。若当前日志文件中的各行内容均不能够与目标文件对应的各诊断关键字相匹配,则确定当前日志文件中不存在故障信息,此时,则可以将raid卡的下一个日志文件作为当前日志文件来返回判断故障诊断规则库中是否存在与raid卡的当前日志文件相匹配的目标文件的步骤,直至完成对获取到的所有日志文件的处理为止。
36.在确定raid卡和/或管理的硬盘存在故障之后,则判断故障诊断规则库中是否存
在与目标文件对应的故障诊断方法,若存在与目标文件对应的故障诊断方法,则利用该诊断方法对当前日志文件进行诊断,以给出故障处理方案,若不存在与目标文件对应的故障诊断方法,则可以给出暂无故障处理方案的提示等。
37.通过上述过程可以实现对raid卡及其管理的硬盘是否存在故障的准确判断,并能够给出相对应的故障处理方案,以便于相关人员能够根据故障处理方案对故障进行准确地处理。
38.本技术实施例提供的一种故障诊断方法,利用故障诊断方法对当前日志文件进行诊断,以给出故障处理方案,可以包括:按照第一预设正则表达式从当前日志文件中提取第一槽位号;从当前日志文件中查找出第一槽位号对应的最新信息;若最新信息包含异常信息,则给出更换第一槽位号上的硬盘的故障处理方案;若最新信息包含正常信息,则从当前日志文件中过滤最新信息;若最新信息不包含异常信息和正常信息,则给出第一槽位号上的硬盘故障、建议提交工单并将对应的故障问题提升至二线的故障处理方案。
39.在本技术中,在利用故障诊断方法对当前日志文件进行诊断,以给出故障处理方案时,可以检查当前日志文件是否满足第一预设正则表达式,若满足,则可以按照第一预设正则表达式从当前日志文件中提取第一槽位号,例如可以根据^.* pd.*\\(.*/s[0

9]{1,}\\).*$这一正则表达式(即可以作为第一预设正则表达式)进行检查和提取第一槽位号,并记为:slot1。其中,前述步骤可以视作硬盘槽位解析,下述步骤则可以视作故障信息过滤:在提取出第一槽位号slot1之后,可以按照第一槽位号slot1在当前日志文件中查找最新一条满足第一预设正则表达式的信息,也即查找出第一槽位号对应的最新信息;若查找出的最新信息中包含“to failed”或“to unconfigured_bad”等异常信息,则给出更换第一槽位号上的硬盘的故障处理方案;若查找出的最新信息中包含“to online”等正常信息,则从当前日志文件中过滤掉该条最新信息,也即过滤掉该条故障信息;若查找到的最新信息中既不包含异常信息也不包含正常信息,则给出第一槽位号上的硬盘故障,建议提工单并将该故障问题提升至二线的故障处理方案,以把故障问题通过工单提交给二线运维人员,从而使得二线运维人员能够根据对第一槽位号上的硬盘进行处理。
[0040]
其中,本技术上述故障诊断方法可以视作硬盘槽位解析及故障信息过滤。通过上述方法不仅可以诊断出哪里出现故障,而且可以给出准确的故障处理方案,以便于相关人员可以根据所输出的故障处理方案进行故障维护。
[0041]
本技术实施例提供的一种故障诊断方法,利用故障诊断方法对当前日志文件进行诊断,以给出故障处理方案,可以包括:按照第二预设正则表达式从当前日志文件中提取第二槽位号,按照第三预设正则表达式从当前日志文件中提取第二槽位号对应的错误数;若错误数大于1,则给出建议按照raid卡、背板、sas线缆顺序逐个更换的故障处理方案;
若错误数等于1,则给出更换第二槽位号上的硬盘的故障处理方案。
[0042]
在本技术中,在利用故障诊断方法对当前日志文件进行诊断,以给出故障处理方案时,除了采用上述方式进行实现外,还可以采用下述方式进行实现,具体地:对当前日志文件进行逐行遍历,分别按照第二预设正则表达式从当前日志文件中提取第二槽位号,按照第三预设正则表达式从当前日志文件中提取第二槽位号对应的错误数,第二槽位号对应的错误数即代表该第二槽位号对应的硬盘的故障数,其中,第二预设正则表达式具体可以为slot number: [0

9]{1,},第三正则表达式具体可以为other error count: [0

9]{1,},且提取到的第二槽位号可以表示为slot2,其对应的错误数可以表示为m。
[0043]
若存在第二槽位号slot2对应的错误数m大于1,则此时多个硬盘同时出现故障的可能性不大,最有可能出现故障情况的是管理硬盘的raid卡出现了故障或者链路或者硬盘背板出现了故障,此时,则可以给出建议按照raid卡、背板、sas线缆顺序逐个更换的故障处理方案;若存在第二槽位号slot2对应的错误数m等于1,则此时硬盘出现故障的可能性比较大,此时,则可以给出更换第二槽位号上的硬盘的故障处理方案。
[0044]
其中,上述故障诊断方法可以视作链路问题检测。
[0045]
本技术实施例提供的一种故障诊断方法,利用故障诊断方法对当前日志文件进行诊断,以给出故障处理方案,可以包括:从故障诊断规则库中提取与目标文件对应的最后一个关键字,并从当前日志文件中提取与最后一个关键字对应的数值;若数值等于0,则从当前日志文件中过滤数值所在行的内容;若数值大于0,则从当前日志文件中提取序列号,并按照第四预设正则表达式循环遍历当前日志文件,若当前日志文件中存在能匹配到第四预设正则表达式的一行内容,则从能匹配到第四预设正则表达式的一行内容向前查找能匹配到第五预设正则表达式的内容,并从匹配到第五预设正则表达式的内容中提取第三槽位号;若故障诊断规则库中的诊断关键字中包含hwerrors、mediumerrors、smartwarning中的任意一个,则给出更换第三槽位号、序列号对应的硬盘的故障处理方案;若故障诊断规则库中的诊断关键字中不包含hwerrors、mediumerrors、smartwarning中的任意一个,则获取最后一个关键字对应的数值大于0的个数;若个数等于1,则给出更换第三槽位号、序列号对应的硬盘的故障处理方案;若个数大于1,则给出考虑链路问题,建议按照raid卡、背板、sas线缆顺序逐个更换的故障处理方案。
[0046]
在本技术中,在利用故障诊断方法对当前日志文件进行诊断,以给出故障处理方案时,除了采用上述两种方式进行实现外,还可以采用如下方式进行实现,具体地:将故障诊断规则库中与目标文件对应的诊断关键字按照“,”分割开来,并提取分割后的最后一个关键字,其中,可以将最后一个关键字记为:key_last,然后,从当前日志文件中提取key_last对应的数值,并将该数值记为:val。
[0047]
若val等于0,则从当前日志文件中过滤掉该数值所在行的内容,也即过滤掉val等于0对应的故障信息;
若val大于0,则可以从当前日志文件中提取“serialnumber=”序列号,具体地,从该数值所在行的内容中提取序列号,并记为sn。然后,按照^\\s*serial number\\s*:\\s*" sn ".*$(第四预设正则表达式)循环遍历当前日志文件,若当前日志文件中存在能匹配到第四预设正则表达式的一行内容,则从该行内容向前查找能够匹配^\\s*reported location.*:\\s*enclosure.* slot .*$(即第五预设正则表达式)的内容,并从匹配到第五预设正则表达式的内容中提取第三槽位号,并将其记为:slot3。
[0048]
若故障诊断规则库中与目标文件对应的诊断关键字中包含hwerrors(硬件错误数)、mediumerrors(介质错误数)、smartwarning(smart告警数)中的任意一个,则给出更换第三槽位号、序列号对应的硬盘的故障处理方案,也即给出更换第三槽位号上的硬盘,序列号为sn的故障处理方案。
[0049]
若故障诊断规则库中与目标文件对应的诊断关键字中不包含hwerrors、mediumerrors、smartwarning中的任意一个,则获取最后一个关键字key_last对应的val大于0的个数,并将该个数记为n,且该个数即代表硬盘故障的个数。
[0050]
若n等于1,则给出更换第三槽位号、序列号对应的硬盘的故障处理方案;若n大于1,则此时多个硬盘同时出现故障的可能性不大,给出考虑链路问题,建议按照raid卡、背板、sas线缆顺序逐个更换的故障处理方案。
[0051]
其中,上述故障诊断方法可以视作pmc卡故障诊断。
[0052]
本技术实施例提供的一种故障诊断方法,还可以包括:若故障诊断规则库中不存在与raid卡的当前日志文件相匹配的目标文件,或故障诊断规则库中存在与raid卡的当前日志文件相匹配的目标文件且若当前日志文件中不存在能够与各诊断关键字相匹配的至少一行内容,则从当前日志文件中提取状态信息;根据状态信息构建日志训练集,利用relief过滤式选择算法从日志训练集中选择样本,从和样本同类的样本中寻找猜中近邻样本,从和样本不同类的样本中随机选择一个猜错近邻样本,若样本和猜中近邻样本在特征上的距离小于样本和猜错近邻样本在同样特征上的距离,则增加特征的权重,若样本和猜中近邻样本在特征上的距离小于样本和猜错近邻样本在同样特征上的距离,则减小特征的权重,对特征经过预设次数训练,并获取特征经过预设次数训练后的平均权重;将平均权重大于预设值的特征加入特征集,并输出特征集;接收对特征集的分析结果,并将特征集的分析结果加入故障诊断规则库中。
[0053]
在本技术中,考虑到未包含故障信息的日志文件中可能包含有故障信息,因此,还可以利用未包含故障信息的日志文件对故障诊断规则库进行不断更新,以便于提高故障诊断规则库进行故障诊断的准确性。
[0054]
具体地,若故障诊断规则库中不存在与raid卡的当前日志文件相匹配的目标文件,或故障诊断规则库中存在与raid卡的当前日志文件相匹配的目标文件且若当前日志文件中不存在能够与各诊断关键字相匹配的至少一行内容,则这些日志文件即为无故障信息的日志文件(简称为无故障日志文件),此时,可以从这些无故障日志文件中提取出状态信息。其中,无故障日志文件是由两部分组成:固定部分和可变部分,例如:169:21

01

11,21:23:59 info:vd 02/2 is now optimal,其中,“info:vd”是固定部分,其他则是可变部分,其中,固定部分“info:vd”前面的信息分别是日志id、时间等信息,这些信息对于日志故障
诊断没有价值,在“info:vd”之后的信息则代表状态信息,这里状态信息表示raid卡或者硬盘的健康状态,因此,在日志故障诊断过程中可以定义event1:[0

9]{1,}:[0

9]{2}

[0

9]{2}

[0

9]{2},*info:vd.* 的方式将符合event1的信息进行提取,提取后的信息按照“info:vd”分割得到状态信息,例如:“is now optimal”。其中,这一步中的基础模型事件能够提取出raid卡的所有模型特征,这里提及的模型特征包括健康特征和故障特征,接下来需要对这些模型特征进行筛选,将故障特征提取用于完善故障诊断规则库。其中,此处筛选采用relief过滤式选择算法进行特征选择。
[0055]
在上述基础上,将从无故障日志文件中提取到状态信息作为日志训练集,并记为rd,利用relief过滤式选择算法从日志训练集rd中随机选择一个样本r,并从和r同类的样本中寻找最近邻样本nh,称为:猜中近邻(near

hit),从和r不同类的样本中随机选择一个样本记为nm,称为:猜错近邻(near

miss),然后,根据以下训练规则进行特征提取训练:如果r和nh在某个特征上距离小于r和nm在同样特征上的距离,则说明该特征对区分同类和不同类的最近邻是有益的,因此,则增加该特征的权重,如果r和nh在上述特征上距离不小于r和nm在同样特征上的距离,则说明该特征对区分同类和不同类的最近邻起负面作用,因此,则降低该特征的权重,以上训练过程经过预设次数(将预设次数记为m),最后得到该特征在这预设次数的训练后的平均权重。平均权重越大的分类能力越强,反之,分类能力越弱。
[0056]
将分类能力强的特征加入特征集,也即将平均权重大于预设值的特征加入特征集,其中,预设值的大小可以根据实际需要进行设置,平均权重大于预设值则表明该特征的分类能力强。具体算法如下:其中,代表从日志训练集rd中第n次随机选择的一个样本,是第n次选择的猜中近邻样本,是第n次选择的猜错近邻样本,为最后得到的该特征的平均权重,因此,此处的n的取值为离散取值,所以,公式的计算方式如下:在将平均权重大于预设值的特征加入特征集之后,可以输出特征集,以便于相关人员对特征集进行人为分析,以得到分析结果,其中,分析结果中可以包括与故障诊断规则库中包含的规则信息相同的格式。相应地,监控平台则可以接收对特征集的分析结果,并将特征集的分析结果加入故障诊断规则库中,以实现对故障诊断规则库的更新和完善,以便于根据更新后的故障诊断规则库对raid卡的日志文件进行故障诊断,从而提高故障诊断的准确性。
[0057]
本技术实施例提供的一种故障诊断方法,输出确定raid卡和/或管理的硬盘存在故障的日志文件及故障处理方案,可以包括:将确定raid卡和/或管理的硬盘存在故障的日志文件及故障处理方案通过邮件和/或短信输出至移动终端。
[0058]
在本技术中,在输出确定raid卡和/或管理的硬盘存在故障的日志文件及故障处理方案时,具体将确定raid卡和/或管理的硬盘存在故障的日志文件及故障处理方案通过邮件和/或短信输出至移动终端,以便于相关人员可以及时获取相关信息,并及时对故障进行处理。
[0059]
本技术实施例还提供了一种故障诊断装置,参见图2,其示出了本技术实施例提供的一种故障诊断装置的结构示意图,可以包括:获取模块21,用于获取待监控服务器中的raid卡的各日志文件;确定模块22,用于根据故障诊断规则库及raid卡的各日志文件确定raid卡及其管理的硬盘是否存在故障,并在确定raid卡和/或管理的硬盘存在故障时利用故障诊断规则库给出故障处理方案;故障诊断规则库为通过预先对raid卡及其管理的硬盘的历史故障进行分析创建的;输出模块23,用于输出确定raid卡和/或管理的硬盘存在故障的日志文件及故障处理方案。
[0060]
本技术实施例提供的一种故障诊断装置,确定模块22可以包括:对比单元,用于将raid卡的各日志文件与故障诊断规则库对比,判断故障诊断规则库中是否存在与raid卡的当前日志文件相匹配的目标文件;匹配单元,用于若存在目标文件,则将目标文件对应的各诊断关键字与当前日志文件中的每一行内容进行匹配;确定单元,用于若当前日志文件中存在能够与各诊断关键字相匹配的至少一行内容,则确定raid卡和/或管理的硬盘存在故障;诊断单元,用于判断故障诊断规则库中是否存在与目标文件对应的故障诊断方法,若存在与目标文件对应的故障诊断方法,则利用故障诊断方法对当前日志文件进行诊断,以给出故障处理方案。
[0061]
本技术实施例提供的一种故障诊断装置,诊断单元可以包括:第一提取子单元,用于按照第一预设正则表达式从当前日志文件中提取第一槽位号;查找子单元,用于从当前日志文件中查找出第一槽位号对应的最新信息;第一给出子单元,用于若最新信息包含异常信息,则给出更换第一槽位号上的硬盘的故障处理方案;第一过滤子单元,用于若最新信息包含正常信息,则从当前日志文件中过滤最新信息;第二给出子单元,用于若最新信息不包含异常信息和正常信息,则给出第一槽位号上的硬盘故障、建议提交工单并将对应的故障问题提升至二线的故障处理方案。
[0062]
本技术实施例提供的一种故障诊断装置,诊断单元可以包括:第二提取子单元,用于按照第二预设正则表达式从当前日志文件中提取第二槽位号,按照第三预设正则表达式从当前日志文件中提取第二槽位号对应的错误数;第三给出子单元,用于若错误数大于1,则给出建议按照raid卡、背板、sas线缆顺序逐个更换的故障处理方案;第四给出子单元,用于若错误数等于1,则给出更换第二槽位号上的硬盘的故障处
理方案。
[0063]
本技术实施例提供的一种故障诊断装置,诊断单元可以包括:第三提取子单元,用于从故障诊断规则库中提取与目标文件对应的最后一个关键字,并从当前日志文件中提取与最后一个关键字对应的数值;第二过滤子单元,用于若数值等于0,则从当前日志文件中过滤数值所在行的内容;第四提取子单元,用于若数值大于0,则从当前日志文件中提取序列号,并按照第四预设正则表达式循环遍历当前日志文件,若当前日志文件中存在能匹配到第四预设正则表达式的一行内容,则从能匹配到第四预设正则表达式的一行内容向前查找能匹配到第五预设正则表达式的内容,并从匹配到第五预设正则表达式的内容中提取第三槽位号;第五给出子单元,用于若故障诊断规则库中的诊断关键字中包含hwerrors、mediumerrors、smartwarning中的任意一个,则给出更换第三槽位号、序列号对应的硬盘的故障处理方案;获取子单元,用于若故障诊断规则库中的诊断关键字中不包含hwerrors、mediumerrors、smartwarning中的任意一个,则获取最后一个关键字对应的数值大于0的个数;第六给出子单元,用于若个数等于1,则给出更换第三槽位号、序列号对应的硬盘的故障处理方案;第七给出子单元,用于若个数大于1,则给出考虑链路问题,建议按照raid卡、背板、sas线缆顺序逐个更换的故障处理方案。
[0064]
本技术实施例提供的一种故障诊断装置,还可以包括:提取模块,用于若故障诊断规则库中不存在与raid卡的当前日志文件相匹配的目标文件,或故障诊断规则库中存在与raid卡的当前日志文件相匹配的目标文件且若当前日志文件中不存在能够与各诊断关键字相匹配的至少一行内容,则从当前日志文件中提取状态信息;训练模块,用于根据状态信息构建日志训练集,利用relief过滤式选择算法从日志训练集中选择样本,从和样本同类的样本中寻找猜中近邻样本,从和样本不同类的样本中随机选择一个猜错近邻样本,若样本和猜中近邻样本在特征上的距离小于样本和猜错近邻样本在同样特征上的距离,则增加特征的权重,若样本和猜中近邻样本在特征上的距离不小于样本和猜错近邻样本在同样特征上的距离,则减小特征的权重,对特征经过预设次数训练,并获取特征经过预设次数训练后的平均权重;第一加入模块,用于将平均权重大于预设值的特征加入特征集,并输出特征集;第二加入模块,用于接收对特征集的分析结果,并将特征集的分析结果加入故障诊断规则库中。
[0065]
本技术实施例提供的一种故障诊断装置,输出模块23可以包括:输出单元,用于将确定raid卡和/或管理的硬盘存在故障的日志文件及故障处理方案通过邮件和/或短信输出至移动终端。
[0066]
本技术实施例还提供了一种故障诊断设备,参见图3,其示出了本技术实施例提供的一种故障诊断设备的结构示意图,可以包括:
存储器31,用于存储计算机程序;处理器32,用于执行存储器31存储的计算机程序时可实现如下步骤:获取待监控服务器中的raid卡的各日志文件;根据故障诊断规则库及raid卡的各日志文件确定raid卡及其管理的硬盘是否存在故障,并在确定raid卡和/或管理的硬盘存在故障时利用故障诊断规则库给出故障处理方案;故障诊断规则库为通过预先对raid卡及其管理的硬盘的历史故障进行分析创建的;输出确定raid卡和/或管理的硬盘存在故障的日志文件及故障处理方案。
[0067]
本技术实施例还提供了一种可读存储介质,可读存储介质中存储有计算机程序,计算机程序被处理器执行时可实现如下步骤:获取待监控服务器中的raid卡的各日志文件;根据故障诊断规则库及raid卡的各日志文件确定raid卡及其管理的硬盘是否存在故障,并在确定raid卡和/或管理的硬盘存在故障时利用故障诊断规则库给出故障处理方案;故障诊断规则库为通过预先对raid卡及其管理的硬盘的历史故障进行分析创建的;输出确定raid卡和/或管理的硬盘存在故障的日志文件及故障处理方案。
[0068]
该可读存储介质可以包括:u盘、移动硬盘、只读存储器(read

only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
[0069]
本技术提供的一种故障诊断装置、设备及计算机可读存储介质中相关部分的说明可以参见本技术实施例提供的一种故障诊断方法中对应部分的详细说明,在此不再赘述。
[0070]
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、
ꢀ“
包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。另外,本技术实施例提供的上述技术方案中与现有技术中对应技术方案实现原理一致的部分并未详细说明,以免过多赘述。
[0071]
对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本技术。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本技术的精神或范围的情况下,在其它实施例中实现。因此,本技术将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献