CN117271234A - 故障诊断方法、装置、存储介质及电子装置 - Google Patents

故障诊断方法、装置、存储介质及电子装置 Download PDF

Info

Publication number
CN117271234A
CN117271234A CN202311014042.6A CN202311014042A CN117271234A CN 117271234 A CN117271234 A CN 117271234A CN 202311014042 A CN202311014042 A CN 202311014042A CN 117271234 A CN117271234 A CN 117271234A
Authority
CN
China
Prior art keywords
data
raid card
target
register
bmc
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202311014042.6A
Other languages
English (en)
Inventor
麻书卫
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN202311014042.6A priority Critical patent/CN117271234A/zh
Publication of CN117271234A publication Critical patent/CN117271234A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2289Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing by configuration test
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3024Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3065Monitoring arrangements determined by the means or processing involved in reporting the monitored data
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本申请实施例提供了一种故障诊断方法、装置、存储介质及电子装置,其中,该方法包括:获取目标寄存器的数据,其中,目标寄存器中存储有用于指示独立磁盘冗余阵列RAID卡发生故障的数据;将目标寄存器的数据发送至基板管理控制器BMC,并通过BMC基于目标寄存器的数据对RAID卡进行故障诊断。通过本申请实施例,解决了相关技术中存在的无法有效对RAID卡进行故障诊断的技术问题。

Description

故障诊断方法、装置、存储介质及电子装置
技术领域
本申请实施例涉及服务器技术领域,具体而言,涉及一种故障诊断方法、装置、存储介质及电子装置。
背景技术
传统服务器中,不可避免地会出现各种设备故障问题,例如网卡故障、内存故障、PCIE(peripheral component interconnect express,高速串行计算机扩展总线)总线挂死、GPU(Graphics Processing Unit,图形处理器)故障、RAID(Redundant Arrays ofIndependent Disks,独立磁盘冗余阵列,或简称磁盘阵列)卡故障等问题,最终设备的故障可能会导致系统宕机。目前BMC(Baseboard Management Controller,基板管理控制器)支持mctp(Management Component Transport Protocol,管理组建传输协议)协议获取服务器内部设备的健康状态信息;但BMC对于服务器内部设备(如RAID卡)的UCE(uncorrecterror,不可纠正的错误)和FAULT类故障无法进行收集分析,无法对设备的健康状态进行监测,导致带外故障诊断无法覆盖所有场景。即相关技术中BMC无法有效对RAID卡进行故障诊断。
针对相关技术中存在的无法有效对RAID卡进行故障诊断的技术问题,目前尚未提出有效的解决方案。
发明内容
本申请实施例提供了一种故障诊断方法、装置、存储介质及电子装置,以至少解决相关技术中存在的无法有效对RAID卡进行故障诊断的技术问题。
根据本申请的一个实施例,提供了一种故障诊断方法,包括:获取目标寄存器的数据,其中,所述目标寄存器中存储有用于指示独立磁盘冗余阵列RAID卡发生故障的数据;将所述目标寄存器的数据发送至基板管理控制器BMC,并通过所述BMC基于所述目标寄存器的数据对所述RAID卡进行故障诊断。
在一个示例性实施例中,获取目标寄存器的数据,包括:通过运行目标诊断脚本,以获取所述目标寄存器的数据,其中,所述目标诊断脚本用于监测所述RAID卡触发目标类型故障的数据。
在一个示例性实施例中,通过运行目标诊断脚本,以获取所述目标寄存器的数据,包括:通过运行所述目标诊断脚本,以监测所述RAID卡触发目标类型故障的目标次数,其中,所述目标类型故障包括以下至少之一:不可纠正的错误UCE、可纠正的错误CE;在所述目标次数达到预定阈值的情况下,获取所述目标寄存器的数据。
在一个示例性实施例中,将所述目标寄存器的数据发送至基板管理控制器BMC,包括:通过智能平台管理接口IPMI命令将所述目标寄存器的数据发送给所述BMC。
在一个示例性实施例中,将所述目标寄存器的数据发送至基板管理控制器BMC,包括:基于管理组建传输协议MCTP将所述目标寄存器的数据发送给所述BMC。
在一个示例性实施例中,通过所述BMC基于所述目标寄存器的数据对所述RAID卡进行故障诊断,包括:通过所述BMC基于所述目标寄存器的数据并按照第一诊断规则表对所述RAID卡进行故障诊断,其中,所述第一诊断规则表中记录有N组数据以及与所述N组数据中的每组数据所对应的故障诊断结果,所述N组数据中的每组数据分别表示所述目标寄存器的数据中各个数据位的不同取值情况,所述目标寄存器的数据中各个数据位分别表示所述RAID卡的不同模块的运行状态,N为大于或等于1的正整数。
在一个示例性实施例中,通过所述BMC基于所述目标寄存器的数据并按照第一诊断规则表对所述RAID卡进行故障诊断,包括:确定所述第一诊断规则表中是否包括与所述目标寄存器的数据匹配的第一组数据,其中,所述N组数据中包括所述第一组数据;在确定所述第一诊断规则表中包括所述第一组数据的情况下,确定所述RAID卡存在第一诊断结果,其中,所述第一诊断结果是所述第一诊断规则表中包括的与所述第一组数据对应的故障诊断结果。
在一个示例性实施例中,在确定所述RAID卡存在第一诊断结果之后,所述方法还包括:在所述第一诊断结果用于指示第一模块发生故障的情况下,获取第二寄存器的数据,其中,所述RAID卡中包括所述第一模块;基于所述第二寄存器的数据并按照第二诊断规则表对所述第一模块进行故障诊断,其中,所述第二诊断规则表中记录有M组数据以及与所述M组数据中的每组数据所对应的故障诊断结果,所述M组数据中的每组数据分别表示所述第二寄存器的各个数据位的不同取值情况,所述第二寄存器的各个数据位分别表示所述第一模块的不同单元的运行状态,M为大于或等于1的正整数。
在一个示例性实施例中,通过所述BMC基于所述目标寄存器的数据对所述RAID卡进行故障诊断,包括:确定所述目标寄存器的数据中包括的各个数据位的取值,得到一组取值,其中,所述各个数据位分别表示所述RAID卡的不同模块的运行状态;根据所述一组取值对所述RAID卡进行故障诊断。
根据本申请的又一个实施例,还提供了一种故障诊断装置,包括:获取模块,用于获取目标寄存器的数据,其中,所述目标寄存器中存储有用于指示独立磁盘冗余阵列RAID卡发生故障的数据;处理模块,用于将所述目标寄存器的数据发送至基板管理控制器BMC,并通过所述BMC基于所述目标寄存器的数据对所述RAID卡进行故障诊断。
根据本申请的又一个实施例,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
根据本申请的又一个实施例,还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
通过本申请实施例,通过获取目标寄存器的数据,其中,目标寄存器中存储有用于指示RAID卡发生故障的数据,将目标寄存器的数据发送至基板管理控制器BMC,通过BMC对RAID卡进行故障诊断。即通过获取目标寄存器的数据并将目标寄存器的数据发送给BMC,从而实现BMC基于目标寄存器的数据对RAID卡进行故障诊断的目的,避免了相关技术中BMC对于服务器内部设备RAID卡的故障无法进行收集分析,以及无法对RAID卡的健康状态进行监测的问题。因此,可以解决相关技术中存在的无法有效对RAID卡进行故障诊断的技术问题,达到了降低宕机的概率的效果。
附图说明
图1是根据本申请实施例的故障诊断方法的服务器的硬件环境示意图;
图2是根据本申请实施例的故障诊断方法流程图;
图3是根据本申请实施例的RAID卡健康状态监测方法的流程图;
图4是根据本申请实施例的故障诊断装置结构图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本申请实施例所提供的方法实施例可以在服务器、计算机终端、设备终端或者类似的运算装置中执行。以运行在服务器上为例,图1是根据本申请实施例的故障诊断方法的服务器的硬件环境示意图。如图1所示,服务器可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,在一个示例性实施例中,上述服务器还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述服务器的结构造成限定。例如,服务器还可包括比图1中所示更多或者更少的组件,或者具有与图1所示等同功能或比图1所示功能更多的不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的故障诊断方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至服务器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输设备106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括服务器的通信供应商提供的无线网络。在一个实例中,传输设备106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
在本实施例中提供了一种故障诊断方法,图2是根据本申请实施例的故障诊断方法流程图,如图2所示,该流程包括如下步骤:
步骤S202,获取目标寄存器的数据,其中,所述目标寄存器中存储有用于指示独立磁盘冗余阵列RAID卡发生故障的数据;
步骤S204,将所述目标寄存器的数据发送至基板管理控制器BMC,并通过所述BMC基于所述目标寄存器的数据对所述RAID卡进行故障诊断。
通过上述步骤,通过获取目标寄存器的数据,其中,目标寄存器中存储有用于指示RAID卡发生故障的数据,将目标寄存器的数据发送至基板管理控制器BMC,通过BMC对RAID卡进行故障诊断。即通过获取目标寄存器的数据并将目标寄存器的数据发送给BMC,从而实现BMC基于目标寄存器的数据对RAID卡进行故障诊断的目的,避免了相关技术中BMC对于服务器内部设备RAID卡的故障无法进行收集分析,以及无法对RAID卡的健康状态进行监测的问题。因此,可以解决相关技术中存在的无法有效对RAID卡进行故障诊断的技术问题,达到了降低宕机的概率的效果。
其中,上述步骤的执行主体可以为服务器,或设备端,或控制器,或设备中的应用控制程序,或者为配置在存储设备上的具备人机交互能力的处理器,或者为具备类似处理能力的处理设备或处理单元等,但不限于此。
在上述步骤S202提供的技术方案中,获取目标寄存器的收据,目标寄存器中存储有用于指示RAID卡是否发生故障的数据,例如,可通过在OS下带内收集RAID卡寄存器数据,例如RAID卡寄存器数据可包括AER(Advanced Error Report,增强型错误报告)和MCA等,RAID卡寄存器中可存储有RAID卡core(或称为内核)的所有状态信息及RAID卡的描述信息。例如,上述RAID卡寄存器可以是MCerrlogReg寄存器,MCerrlogReg寄存器中的不同数据位可用于指示RAID卡中的不同模块(或不同部件)是否发生故障,即不同的数据位用于指示RAID卡中的各个模块的运行状态。在该步骤S202中,可通过在操作系统OS下带内执行故障诊断脚本,该故障诊断脚本用于时刻监测RAID卡设备的UCE(uncorrect error,不可纠正的错误)、CE(corrected error,可纠正的错误)、温度等数据。通过该步骤,通过获取目标寄存器的数据以及时获取RAID卡的运行状态的目的。
在上述步骤S204提供的技术方案中,将目标寄存器的数据发送至BMC,以指示BMC基于目标寄存器的数据对RAID卡进行故障诊断,例如,可以在OS模式下,将上述目标寄存器的数据发送给BMC,在实际应用中,为保证BMC准确识别目标寄存器的数据,可按照与BMC约定的交互文档发送数据,例如基于mctp协议将目标寄存器的数据传输给BMC,BMC在接收到目标寄存器的数据后,可基于目标寄存器的数据分析RAID卡是否存在故障,例如,可根据预先设置的故障诊断规则表查找是否存在与上述目标寄存器的数据相匹配的故障诊断结果。通过该步骤,实现了BMC基于目标寄存器的数据对RAID卡进行故障诊断的目的。避免了相关技术中BMC对于服务器内部设备RAID卡的故障无法进行收集分析,以及无法对RAID卡的健康状态进行监测的问题。因此,可以解决相关技术中存在的无法有效对RAID卡进行故障诊断的技术问题,能及时诊断RAID卡的运行健康状态,以及预测RAID卡可能的故障风险,从而达到降低宕机的概率的目的。
在一个可选的实施例中,获取目标寄存器的数据,包括:通过运行目标诊断脚本,以获取所述目标寄存器的数据,其中,所述目标诊断脚本用于监测所述RAID卡触发目标类型故障的数据。
在上述实施例中,可通过运行目标诊断脚本,以获取目标寄存器的数据,在实际应用中,可通过在操作系统OS下带内运行目标诊断脚本,上述目标类型故障可以是RAID卡的UCE(uncorrect error,不可纠正的错误)故障或CE(corrected error,可纠正的错误)故障,该目标诊断脚本用于时刻监测RAID卡设备的UCE、CE等数据,目标寄存器的数据可用于表示RAID卡的运行状态,从而可以诊断RAID卡是否发生故障。通过本实施例,通过运行目标诊断脚本以获取目标寄存器的数据,从而实现获取RAID卡的运行状态的目的。
在一个可选的实施例中,通过运行目标诊断脚本,以获取所述目标寄存器的数据,包括:通过运行所述目标诊断脚本,以监测所述RAID卡触发目标类型故障的目标次数,其中,所述目标类型故障包括以下至少之一:不可纠正的错误UCE、可纠正的错误CE;在所述目标次数达到预定阈值的情况下,获取所述目标寄存器的数据。
在上述实施例中,通过运行目标诊断脚本,以监测RAID卡触发目标类型故障的目标次数,目标类型故障可以是RAID卡的UCE故障、CE故障,可选的,可以当目标次数达到预定阈值的情况下,再获取目标寄存器的数据,例如,预定阈值可以是10(或12,或其他值)。在实际应用中,RAID(如PMC RAID)厂商会提供CE和UCE实时获取的报文协议,这样在目标诊断脚本中组装请求报文并发送至PMC RAID卡,PMC RAID卡接收请求报文后会校验报文是否正确,然后将CE和UCE组装响应报文回复给脚本,从而实现脚本实时监控PMC RAID卡触发CE和UCE的目标次数。在本实施例中,通过运行目标诊断脚本,以得到RAID卡触发UCE故障和/或CE故障的目标次数,并在目标次数达到预定阈值的情况下获取目标寄存器的数据的目的,减少了频繁获取目标寄存器的数据而造成资源消耗的问题。
在一个可选的实施例中,将所述目标寄存器的数据发送至基板管理控制器BMC,包括:通过智能平台管理接口IPMI命令将所述目标寄存器的数据发送给所述BMC。
在上述实施例中,在运行目标诊断脚本并获取到目标寄存器的数据后,将目标寄存器的数据发送给BMC,例如,可通过脚本发送模块(或发送脚本)在OS模式下,将获取的目标寄存器的数据发送给BMC,例如,可通过IPMI命令将目标寄存器的数据发送给BMC,本实施例的执行主体可以是服务器设备,或设备中运行的程序,程序中包括上述目标诊断脚本和上述发送脚本。通过本实施例,实现了通过IPMI命令将目标寄存器的数据发送至BMC的目的。
在一个可选的实施例中,将所述目标寄存器的数据发送至基板管理控制器BMC,包括:基于管理组建传输协议MCTP将所述目标寄存器的数据发送给所述BMC。
在上述实施例中,在运行目标诊断脚本并获取到目标寄存器的数据后,将目标寄存器的数据发送给BMC,例如,可通过脚本发送模块(或发送脚本)在OS模式下,将获取的目标寄存器的数据发送给BMC,而为了保证BMC能够准确识别上述目标寄存器的数据,需要严格按照与BMC约定的交互文档发送数据,例如,可基于MCTP协议将目标寄存器的数据发送给BMC,BMC支持MCTP协议获取服务器内部设备的健康状态信息。通过本实施例,实现了BMC基于MCTP协议获取服务器内部设备的健康状态信息的目的。
在一个可选的实施例中,通过所述BMC基于所述目标寄存器的数据对所述RAID卡进行故障诊断,包括:通过所述BMC基于所述目标寄存器的数据并按照第一诊断规则表对所述RAID卡进行故障诊断,其中,所述第一诊断规则表中记录有N组数据以及与所述N组数据中的每组数据所对应的故障诊断结果,所述N组数据中的每组数据分别表示所述目标寄存器的数据中各个数据位的不同取值情况,所述目标寄存器的数据中各个数据位分别表示所述RAID卡的不同模块的运行状态,N为大于或等于1的正整数。
在上述实施例中,BMC可基于目标寄存器的数据并按照第一诊断规则表对RAID卡进行故障诊断,目标寄存器的数据中各个数据位可分别表示RAID卡的不同模块的运行状态,第一诊断规则表中可包括N组数据以及与N组数据中的每组数据所对应的故障诊断结果,例如,包括N个或N种故障诊断结果,每个故障诊断结果表示RAID卡具体发生的故障类型,例如,RAID卡中的内核core发生了故障,或RAID卡中的内存发生了故障,或者,RAID卡中的内核core中的某个模块(或部件)发生了故障。
以PMC RAID卡寄存器MCerrlogReg为例,假设该数据位Bit8FirstMCerrSrcValid有效(置为1则认为有效。寄存器数据位根据UCE和CE是否达到设定阈值判定有效),则表示PMC RAID卡MCU部分出现故障风险,此时继续根据寄存器数据位MCerrlogRegBit7FirstMCerrSrcFromCore进行判断,若FirstMCerrSrcFromCore有效(数值为1),则表示MCU内部core出现故障风险,此时可以继续根据其它寄存器数据位(比如MC0_Status寄存器)和core单独的诊断流程进行下一步定位。即MCerrlogReg寄存器的某位有效表示PMCRAID卡某部分出现故障风险。若上述FirstMCerrSrcFromCore无效(数值为0),则继续根据寄存器数据位MCerrlogReg Bit6 FirstMCerrSrcFromIMC进行判断,若FirstMCerrSrcFromIMC有效(数值为1),则表示MCU内存MC部分出现故障风险,此时可以继续根据其它寄存器数据位和IIO单独的诊断流程进行下一步定位。同理,还可以按照其它的寄存器数据位来进一步判断RAID卡其它模块是否存在故障风险。需要说明的是,上述Bit8或Bit7等仅为一种示例,也可以是寄存器的其他数据位。第一诊断规则表可如下表1所示,此处仅作为一种示例,寄存器也可以是其它位数的,寄存器的各数据位的取值还可以是其它情况。通过本实施例,可实现根据第一诊断规则表诊断出RAID卡的不同模块的运行状态是否正常的目的。
表1
在一个可选的实施例中,通过所述BMC基于所述目标寄存器的数据并按照第一诊断规则表对所述RAID卡进行故障诊断,包括:确定所述第一诊断规则表中是否包括与所述目标寄存器的数据匹配的第一组数据,其中,所述N组数据中包括所述第一组数据;在确定所述第一诊断规则表中包括所述第一组数据的情况下,确定所述RAID卡存在第一诊断结果,其中,所述第一诊断结果是所述第一诊断规则表中包括的与所述第一组数据对应的故障诊断结果。
在上述实施例中,BMC在接收到目标寄存器的数据后,可确定第一诊断规则表中是否包括与目标寄存器的数据匹配的第一组数据,如上述表1中的寄存器的各个数据位的一组取值情况表示一组数据,即表1中每一行代表一组数据,可在第一诊断表中查找是否存在与前述目标寄存器的数据匹配的第一组数据,即第一诊断规则表中是否存在与当前接收到的目标寄存器的数据相同的一组数据;当确定第一诊断规则表中包括第一组数据时,确定RAID卡存在第一诊断结果,其中,第一诊断结果是第一诊断规则表中与第一组数据对应的诊断结果,例如,上述表1中的一组数据“11xxxxxx”对应的故障诊断结果为core出现故障,上述第一诊断规则表可预先存储于BMC中;可选的,当确定第一诊断规则表中不包括与目标寄存器的数据匹配的第一组数据时,可确定RAID卡的运行状态是正常的。通过本实施例,实现基于第一诊断规则表诊断出RAID卡当前是否存在故障,以及确定存在的具体故障类型的目的。
在一个可选的实施例中,在确定所述RAID卡存在第一诊断结果之后,所述方法还包括:在所述第一诊断结果用于指示第一模块发生故障的情况下,获取第二寄存器的数据,其中,所述RAID卡中包括所述第一模块;基于所述第二寄存器的数据并按照第二诊断规则表对所述第一模块进行故障诊断,其中,所述第二诊断规则表中记录有M组数据以及与所述M组数据中的每组数据所对应的故障诊断结果,所述M组数据中的每组数据分别表示所述第二寄存器的各个数据位的不同取值情况,所述第二寄存器的各个数据位分别表示所述第一模块的不同单元的运行状态,M为大于或等于1的正整数。
在上述实施例中,当确定RAID卡存在第一诊断结果之后,例如,第一诊断结果表示RAID卡中第一模块发生了故障,进一步的,可继续获取第二寄存器的数据,例如,当根据上述目标寄存器(如MCerrlogReg寄存器)的数据诊断出RAID卡的core(对应上述第一模块)出现故障,此时可进一步获取第二寄存器的数据,第二寄存器可以是MC0_Status寄存器,根据MC0_Status寄存器的数据可进一步诊断是core中的某个部分出现了故障,与上述实施例同理,可根据第二诊断规则表对第一模块(如core)进行故障诊断,第二诊断规则表可以是与上述第一诊断规则表类似的,以确定第一模块中不同单元(或组成部分)的运行状态。
在一个可选的实施例中,通过所述BMC基于所述目标寄存器的数据对所述RAID卡进行故障诊断,包括:确定所述目标寄存器的数据中包括的各个数据位的取值,得到一组取值,其中,所述各个数据位分别表示所述RAID卡的不同模块的运行状态;根据所述一组取值对所述RAID卡进行故障诊断。
在上述实施例中,BMC在接收到目标寄存器的数据后,可确定该目标寄存器的数据中的各个数据位的取值,可得到一组取值,例如,以目标寄存器是8位的为例,即目标寄存器的数据为8bit的数据,此处仅为一种示例,本申请实施例对于寄存器的位数不做限定,而目标寄存器的各个数据位分别表示RAID卡的不同模块的运行状态,例如,bit7表示RAID卡的内核core的运行状态,当bit7=1时,表示core出现故障,bit7=0时,表示core正常;bit6表示RAID卡的内存的运行状态,当bit6=1时,表示内存出现故障,bit6=0时,表示内存正常,因此,可以根据目标寄存器的数据对应的一组取值,实现对RAID卡进行故障诊断的目的,可以实现及时发现RAID卡的故障,从而降低宕机的发生概率的目的。
显然,上述所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。下面结合实施例对本申请进行具体说明。
本申请实施例提出了一种带内收集AER(Advanced Error Report,增强型错误报告)等状态寄存器,数据通过IPMI(Intelligent Platform Management Interface,智能平台管理接口)命令发送至BMC,并根据故障诊断规则预测RAID卡(如PMC RAID卡)故障风险的方法。
图3是根据本申请实施例的RAID卡健康状态监测方法的流程图,该方法包括以下步骤:
S302,在OS下带内执行故障诊断脚本;例如,管理者在OS下带内执行故障诊断脚本,该脚本时刻监测PMC RAID卡设备的UCE(uncorrect error,不可纠正的错误)、CE(corrected error,可纠正的错误)、温度等数据;当UCE和CE故障触发时并且计数达到设定阈值,脚本收集模块会自动收集PMC RAID卡相关寄存器数据。
S304,收集RAID卡相关寄存器(对应于前述目标寄存器)数据;例如,当UCE和CE故障触发时并且计数达到设定阈值,脚本收集模块会自动收集PMC RAID卡相关寄存器数据。脚本收集模块获取的PMC RAID卡寄存器数据具体包括AER和MCA(Machine CheckArchitecture,机器检查架构)等,该寄存器存储了包括了PMC RAID卡core的所有状态信息以及PMC RAID卡描述信息,通过该类寄存器可以准确预判PMC RAID卡的健康状态。
S306,将寄存器数据发送至BMC;例如,脚本发送模块运行在OS模式下,上述寄存器收集工作完成后会直接调用该模块将数据传送至BMC,为保证BMC准确识别上述寄存器数据,该模块必须严格遵守与BMC约定的交互文档发送数据。
S308,BMC接收PMC RAID卡相关寄存器的数据并更新至日志;BMC内部存在寄存器数据接收模块,负责接收PMC RAID卡相关寄存器的数据并更新至日志。该模块解析必须严格按照交互文档提取寄存器的数据。
S310,根据故障诊断规则表(对应于前述第一诊断规则表)分析当前PMC RAID卡的运行健康状态和故障风险;例如,在实际应用中,网卡厂商会提供PMC RAID卡的故障诊断规则表,用户可以根据收集的寄存器信息查看故障诊断规则表,故障诊断规则表是由PMCRAID卡故障诊断规则所组成,该规则是综合分析PMC RAID卡指定相关寄存器数据,经过故障诊断规则处理后,能分析出当前PMC RAID卡的运行健康状态和故障风险。
本申请实施例可通过程序(或软件)执行,并与BMC进行数据交互以实现对RAID卡的健康状态进行监测,该程序可包括上述故障诊断脚本、脚本收集模块、脚本发送模块等。
在上述实施例中,通过OS带内获取PMC RAID卡的相关寄存器数据并发送至BMC,BMC根据约定的故障诊断规则预测的PMC RAID卡的故障风险程度,从而实现对PMC RAID卡的及时更换,降低宕机发生概率,提升服务器产品竞争力。
通过本申请实施例提出的一种服务器管理系统下基于故障诊断规则预测PMCRAID卡故障风险的方法,BMC通过在OS下带内间接获取PMC RAID卡的相关寄存器数据,并根据相应故障诊断规则表预测PMC RAID卡的故障风险程度,可以实现方便用户有效管理服务器的目的,用户可根据PMC RAID卡故障程度判断宕机发生的概率,从而达到降低宕机的发生概率的效果,以及降低维护人员定位服务器故障的成本,以及提高服务器产品竞争力的效果。
本申请实施例的方法不限于X86平台的服务器,在其它平台的服务器与计算机平台中具有通用的应用价值。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
在本实施例中还提供了一种故障诊断装置,图4是根据本申请实施例的故障诊断装置结构图,如图4所示,该装置包括:
获取模块402,用于获取目标寄存器的数据,其中,所述目标寄存器中存储有用于指示独立磁盘冗余阵列RAID卡发生故障的数据;
处理模块404,用于将所述目标寄存器的数据发送至基板管理控制器BMC,并通过所述BMC基于所述目标寄存器的数据对所述RAID卡进行故障诊断。
在一个可选的实施例中,上述获取模块402包括:第一处理单元,用于通过运行目标诊断脚本,以获取所述目标寄存器的数据,其中,所述目标诊断脚本用于监测所述RAID卡触发目标类型故障的数据。
在一个可选的实施例中,上述第一处理单元包括:运行子单元,用于通过运行所述目标诊断脚本,以监测所述RAID卡触发目标类型故障的目标次数,其中,所述目标类型故障包括以下至少之一:不可纠正的错误UCE、可纠正的错误CE;获取子单元,用于在所述目标次数达到预定阈值的情况下,获取所述目标寄存器的数据。
在一个可选的实施例中,上述处理模块404包括:第一发送单元,用于通过智能平台管理接口IPMI命令将所述目标寄存器的数据发送给所述BMC。
在一个可选的实施例中,上述处理模块404包括:第二发送单元,用于基于管理组建传输协议MCTP将所述目标寄存器的数据发送给所述BMC。
在一个可选的实施例中,上述处理模块404包括:第一诊断单元,用于通过所述BMC基于所述目标寄存器的数据并按照第一诊断规则表对所述RAID卡进行故障诊断,其中,所述第一诊断规则表中记录有N组数据以及与所述N组数据中的每组数据所对应的故障诊断结果,所述N组数据中的每组数据分别表示所述目标寄存器的数据中各个数据位的不同取值情况,所述目标寄存器的数据中各个数据位分别表示所述RAID卡的不同模块的运行状态,N为大于或等于1的正整数。
在一个可选的实施例中,上述第一诊断单元包括:第一确定子单元,用于确定所述第一诊断规则表中是否包括与所述目标寄存器的数据匹配的第一组数据,其中,所述N组数据中包括所述第一组数据;第二确定子单元,用于在确定所述第一诊断规则表中包括所述第一组数据的情况下,确定所述RAID卡存在第一诊断结果,其中,所述第一诊断结果是所述第一诊断规则表中包括的与所述第一组数据对应的故障诊断结果。
在一个可选的实施例中,上述装置还包括:获得模块,用于在确定所述RAID卡存在第一诊断结果之后,在所述第一诊断结果用于指示第一模块发生故障的情况下,获取第二寄存器的数据,其中,所述RAID卡中包括所述第一模块;诊断模块,用于基于所述第二寄存器的数据并按照第二诊断规则表对所述第一模块进行故障诊断,其中,所述第二诊断规则表中记录有M组数据以及与所述M组数据中的每组数据所对应的故障诊断结果,所述M组数据中的每组数据分别表示所述第二寄存器的各个数据位的不同取值情况,所述第二寄存器的各个数据位分别表示所述第一模块的不同单元的运行状态,M为大于或等于1的正整数。
在一个可选的实施例中,上述处理模块404包括:确定单元,用于确定所述目标寄存器的数据中包括的各个数据位的取值,得到一组取值,其中,所述各个数据位分别表示所述RAID卡的不同模块的运行状态;第二诊断单元,用于根据所述一组取值对所述RAID卡进行故障诊断。
需要说明的是,上述各个单元或模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述单元或模块均位于同一处理器中;或者,上述各个单元或模块以任意组合的形式分别位于不同的处理器中。
本申请的实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
在一个示例性实施例中,上述计算机可读存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本申请的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
在一个示例性实施例中,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
本实施例中的具体示例可以参考上述实施例及示例性实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本申请实施例的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请实施例不限制于任何特定的硬件和软件结合。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请实施例,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请实施例的原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请实施例的保护范围之内。

Claims (11)

1.一种故障诊断方法,其特征在于,包括:
获取目标寄存器的数据,其中,所述目标寄存器中存储有用于指示独立磁盘冗余阵列RAID卡发生故障的数据;
将所述目标寄存器的数据发送至基板管理控制器BMC,并通过所述BMC基于所述目标寄存器的数据对所述RAID卡进行故障诊断。
2.根据权利要求1所述的方法,其特征在于,获取目标寄存器的数据,包括:
通过运行目标诊断脚本,以获取所述目标寄存器的数据,其中,所述目标诊断脚本用于监测所述RAID卡触发目标类型故障的数据。
3.根据权利要求2所述的方法,其特征在于,通过运行目标诊断脚本,以获取所述目标寄存器的数据,包括:
通过运行所述目标诊断脚本,以监测所述RAID卡触发目标类型故障的目标次数,其中,所述目标类型故障包括以下至少之一:不可纠正的错误UCE、可纠正的错误CE;
在所述目标次数达到预定阈值的情况下,获取所述目标寄存器的数据。
4.根据权利要求1所述的方法,其特征在于,将所述目标寄存器的数据发送至基板管理控制器BMC,包括:
通过智能平台管理接口IPMI命令将所述目标寄存器的数据发送给所述BMC。
5.根据权利要求1所述的方法,其特征在于,将所述目标寄存器的数据发送至基板管理控制器BMC,包括:
基于管理组建传输协议MCTP将所述目标寄存器的数据发送给所述BMC。
6.根据权利要求1所述的方法,其特征在于,通过所述BMC基于所述目标寄存器的数据对所述RAID卡进行故障诊断,包括:
通过所述BMC基于所述目标寄存器的数据并按照第一诊断规则表对所述RAID卡进行故障诊断,其中,所述第一诊断规则表中记录有N组数据以及与所述N组数据中的每组数据所对应的故障诊断结果,所述N组数据中的每组数据分别表示所述目标寄存器的数据中各个数据位的不同取值情况,所述目标寄存器的数据中各个数据位分别表示所述RAID卡的不同模块的运行状态,N为大于或等于1的正整数。
7.根据权利要求6所述的方法,其特征在于,通过所述BMC基于所述目标寄存器的数据并按照第一诊断规则表对所述RAID卡进行故障诊断,包括:
确定所述第一诊断规则表中是否包括与所述目标寄存器的数据匹配的第一组数据,其中,所述N组数据中包括所述第一组数据;
在确定所述第一诊断规则表中包括所述第一组数据的情况下,确定所述RAID卡存在第一诊断结果,其中,所述第一诊断结果是所述第一诊断规则表中包括的与所述第一组数据对应的故障诊断结果。
8.根据权利要求1所述的方法,其特征在于,通过所述BMC基于所述目标寄存器的数据对所述RAID卡进行故障诊断,包括:
确定所述目标寄存器的数据中包括的各个数据位的取值,得到一组取值,其中,所述各个数据位分别表示所述RAID卡的不同模块的运行状态;
根据所述一组取值对所述RAID卡进行故障诊断。
9.一种故障诊断装置,其特征在于,包括:
获取模块,用于获取目标寄存器的数据,其中,所述目标寄存器中存储有用于指示独立磁盘冗余阵列RAID卡发生故障的数据;
处理模块,用于将所述目标寄存器的数据发送至基板管理控制器BMC,并通过所述BMC基于所述目标寄存器的数据对所述RAID卡进行故障诊断。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被处理器执行时实现所述权利要求1至8任一项中所述的方法的步骤。
11.一种电子装置,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现所述权利要求1至8任一项中所述的方法的步骤。
CN202311014042.6A 2023-08-11 2023-08-11 故障诊断方法、装置、存储介质及电子装置 Pending CN117271234A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311014042.6A CN117271234A (zh) 2023-08-11 2023-08-11 故障诊断方法、装置、存储介质及电子装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311014042.6A CN117271234A (zh) 2023-08-11 2023-08-11 故障诊断方法、装置、存储介质及电子装置

Publications (1)

Publication Number Publication Date
CN117271234A true CN117271234A (zh) 2023-12-22

Family

ID=89199745

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311014042.6A Pending CN117271234A (zh) 2023-08-11 2023-08-11 故障诊断方法、装置、存储介质及电子装置

Country Status (1)

Country Link
CN (1) CN117271234A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117608910A (zh) * 2024-01-24 2024-02-27 苏州元脑智能科技有限公司 处理器的机器检查异常错误类型的确定方法、装置、系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117608910A (zh) * 2024-01-24 2024-02-27 苏州元脑智能科技有限公司 处理器的机器检查异常错误类型的确定方法、装置、系统
CN117608910B (zh) * 2024-01-24 2024-04-12 苏州元脑智能科技有限公司 处理器的机器检查异常错误类型的确定方法、装置、系统

Similar Documents

Publication Publication Date Title
CN108491305B (zh) 一种服务器故障的检测方法及系统
CN109783262B (zh) 故障数据处理方法、装置、服务器及计算机可读存储介质
US7281040B1 (en) Diagnostic/remote monitoring by email
US7607043B2 (en) Analysis of mutually exclusive conflicts among redundant devices
KR101225374B1 (ko) 이동 통신 단말에 대한 디바이스 관리 장치 및 방법
CN101197621B (zh) 一种对网管系统故障进行远程诊断定位的方法及其系统
CN114328102B (zh) 设备状态监控方法、装置、设备及计算机可读存储介质
CN106789306B (zh) 通信设备软件故障检测收集恢复方法和系统
CN107870832B (zh) 基于多维度健康诊断方法的多路径存储设备
CN107357671A (zh) 一种故障处理方法、相关装置及计算机
CN102571498B (zh) 故障注入控制方法和装置
CN104796273A (zh) 一种网络故障根源诊断的方法和装置
CN111796959B (zh) 宿主机容器自愈方法、装置及系统
CN117271234A (zh) 故障诊断方法、装置、存储介质及电子装置
CN114363151A (zh) 故障检测方法和装置、电子设备和存储介质
CN111008026A (zh) 集群管理方法、装置及系统
CN115858221A (zh) 存储设备的管理方法、装置、存储介质及电子设备
CN108512675B (zh) 一种网络诊断的方法、装置、控制节点和网络节点
CN110224872B (zh) 一种通信方法、装置及存储介质
CN116795648A (zh) 服务器的检测方法、装置、存储介质及电子装置
CN112069023A (zh) 一种存储链路监控系统及方法
CN116886490A (zh) 服务器巡检方法、装置及计算机可读存储介质
CN115766402B (zh) 服务器故障根因的过滤方法和装置、存储介质及电子装置
CN115543707A (zh) 硬盘故障的检测方法、系统和装置、存储介质及电子装置
CN116137603A (zh) 链路故障的检测方法和装置、存储介质及电子装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination