本申请实施例涉及服务器,具体而言,涉及一种故障诊断方法、装置、存储介质及电子装置。
背景技术:
1、传统服务器中,不可避免地会出现各种设备故障问题,例如网卡故障、内存故障、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卡进行故障诊断。
2、针对相关技术中存在的无法有效对raid卡进行故障诊断的技术问题,目前尚未提出有效的解决方案。
技术实现思路
1、本申请实施例提供了一种故障诊断方法、装置、存储介质及电子装置,以至少解决相关技术中存在的无法有效对raid卡进行故障诊断的技术问题。
2、根据本申请的一个实施例,提供了一种故障诊断方法,包括:获取目标寄存器的数据,其中,所述目标寄存器中存储有用于指示独立磁盘冗余阵列raid卡发生故障的数据;将所述目标寄存器的数据发送至基板管理控制器bmc,并通过所述bmc基于所述目标寄存器的数据对所述raid卡进行故障诊断。
3、在一个示例性实施例中,获取目标寄存器的数据,包括:通过运行目标诊断脚本,以获取所述目标寄存器的数据,其中,所述目标诊断脚本用于监测所述raid卡触发目标类型故障的数据。
4、在一个示例性实施例中,通过运行目标诊断脚本,以获取所述目标寄存器的数据,包括:通过运行所述目标诊断脚本,以监测所述raid卡触发目标类型故障的目标次数,其中,所述目标类型故障包括以下至少之一:不可纠正的错误uce、可纠正的错误ce;在所述目标次数达到预定阈值的情况下,获取所述目标寄存器的数据。
5、在一个示例性实施例中,将所述目标寄存器的数据发送至基板管理控制器bmc,包括:通过智能平台管理接口ipmi命令将所述目标寄存器的数据发送给所述bmc。
6、在一个示例性实施例中,将所述目标寄存器的数据发送至基板管理控制器bmc,包括:基于管理组建传输协议mctp将所述目标寄存器的数据发送给所述bmc。
7、在一个示例性实施例中,通过所述bmc基于所述目标寄存器的数据对所述raid卡进行故障诊断,包括:通过所述bmc基于所述目标寄存器的数据并按照第一诊断规则表对所述raid卡进行故障诊断,其中,所述第一诊断规则表中记录有n组数据以及与所述n组数据中的每组数据所对应的故障诊断结果,所述n组数据中的每组数据分别表示所述目标寄存器的数据中各个数据位的不同取值情况,所述目标寄存器的数据中各个数据位分别表示所述raid卡的不同模块的运行状态,n为大于或等于1的正整数。
8、在一个示例性实施例中,通过所述bmc基于所述目标寄存器的数据并按照第一诊断规则表对所述raid卡进行故障诊断,包括:确定所述第一诊断规则表中是否包括与所述目标寄存器的数据匹配的第一组数据,其中,所述n组数据中包括所述第一组数据;在确定所述第一诊断规则表中包括所述第一组数据的情况下,确定所述raid卡存在第一诊断结果,其中,所述第一诊断结果是所述第一诊断规则表中包括的与所述第一组数据对应的故障诊断结果。
9、在一个示例性实施例中,在确定所述raid卡存在第一诊断结果之后,所述方法还包括:在所述第一诊断结果用于指示第一模块发生故障的情况下,获取第二寄存器的数据,其中,所述raid卡中包括所述第一模块;基于所述第二寄存器的数据并按照第二诊断规则表对所述第一模块进行故障诊断,其中,所述第二诊断规则表中记录有m组数据以及与所述m组数据中的每组数据所对应的故障诊断结果,所述m组数据中的每组数据分别表示所述第二寄存器的各个数据位的不同取值情况,所述第二寄存器的各个数据位分别表示所述第一模块的不同单元的运行状态,m为大于或等于1的正整数。
10、在一个示例性实施例中,通过所述bmc基于所述目标寄存器的数据对所述raid卡进行故障诊断,包括:确定所述目标寄存器的数据中包括的各个数据位的取值,得到一组取值,其中,所述各个数据位分别表示所述raid卡的不同模块的运行状态;根据所述一组取值对所述raid卡进行故障诊断。
11、根据本申请的又一个实施例,还提供了一种故障诊断装置,包括:获取模块,用于获取目标寄存器的数据,其中,所述目标寄存器中存储有用于指示独立磁盘冗余阵列raid卡发生故障的数据;处理模块,用于将所述目标寄存器的数据发送至基板管理控制器bmc,并通过所述bmc基于所述目标寄存器的数据对所述raid卡进行故障诊断。
12、根据本申请的又一个实施例,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
13、根据本申请的又一个实施例,还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
14、通过本申请实施例,通过获取目标寄存器的数据,其中,目标寄存器中存储有用于指示raid卡发生故障的数据,将目标寄存器的数据发送至基板管理控制器bmc,通过bmc对raid卡进行故障诊断。即通过获取目标寄存器的数据并将目标寄存器的数据发送给bmc,从而实现bmc基于目标寄存器的数据对raid卡进行故障诊断的目的,避免了相关技术中bmc对于服务器内部设备raid卡的故障无法进行收集分析,以及无法对raid卡的健康状态进行监测的问题。因此,可以解决相关技术中存在的无法有效对raid卡进行故障诊断的技术问题,达到了降低宕机的概率的效果。
1.一种故障诊断方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,获取目标寄存器的数据,包括:
3.根据权利要求2所述的方法,其特征在于,通过运行目标诊断脚本,以获取所述目标寄存器的数据,包括:
4.根据权利要求1所述的方法,其特征在于,将所述目标寄存器的数据发送至基板管理控制器bmc,包括:
5.根据权利要求1所述的方法,其特征在于,将所述目标寄存器的数据发送至基板管理控制器bmc,包括:
6.根据权利要求1所述的方法,其特征在于,通过所述bmc基于所述目标寄存器的数据对所述raid卡进行故障诊断,包括:
7.根据权利要求6所述的方法,其特征在于,通过所述bmc基于所述目标寄存器的数据并按照第一诊断规则表对所述raid卡进行故障诊断,包括:
8.根据权利要求1所述的方法,其特征在于,通过所述bmc基于所述目标寄存器的数据对所述raid卡进行故障诊断,包括:
9.一种故障诊断装置,其特征在于,包括:
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被处理器执行时实现所述权利要求1至8任一项中所述的方法的步骤。
11.一种电子装置,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现所述权利要求1至8任一项中所述的方法的步骤。