CN113064747A - 一种服务器启动过程中的故障定位方法、***及装置 - Google Patents

一种服务器启动过程中的故障定位方法、***及装置 Download PDF

Info

Publication number
CN113064747A
CN113064747A CN202110326285.8A CN202110326285A CN113064747A CN 113064747 A CN113064747 A CN 113064747A CN 202110326285 A CN202110326285 A CN 202110326285A CN 113064747 A CN113064747 A CN 113064747A
Authority
CN
China
Prior art keywords
power supply
fault
bios
abnormal
server
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.)
Granted
Application number
CN202110326285.8A
Other languages
English (en)
Other versions
CN113064747B (zh
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.)
Shandong Yingxin Computer Technology Co Ltd
Original Assignee
Shandong Yingxin Computer 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 Shandong Yingxin Computer Technology Co Ltd filed Critical Shandong Yingxin Computer Technology Co Ltd
Priority to CN202110326285.8A priority Critical patent/CN113064747B/zh
Publication of CN113064747A publication Critical patent/CN113064747A/zh
Priority to US18/036,573 priority patent/US20240012706A1/en
Priority to PCT/CN2021/121421 priority patent/WO2022198972A1/zh
Application granted granted Critical
Publication of CN113064747B publication Critical patent/CN113064747B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0709Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a distributed system consisting of a plurality of standalone computer nodes, e.g. clusters, client-server systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/079Root cause analysis, i.e. error or fault diagnosis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0775Content or structure details of the error report, e.g. specific table structure, specific error fields
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1417Boot up procedures
    • 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/2284Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing by power-on test, e.g. power-on self test [POST]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3051Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3055Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种服务器启动过程中的故障定位方法、***及装置,预先将服务器的整个启动过程划分为多个阶段,并相应为每个阶段设定故障监控策略;在服务器的启动过程进入目标阶段时,按照目标阶段对应的故障监控策略监控服务器当前的启动过程,得到目标阶段对应的故障监控结果;在服务器启动失败时,根据得到的故障监控结果进行服务器的故障定位。可见,本申请对服务器启动过程中的各个阶段都进行了故障监控,有助于服务器启动过程的故障定位。

Description

一种服务器启动过程中的故障定位方法、***及装置
技术领域
本发明涉及服务器运维领域,特别是涉及一种服务器启动过程中的故障定位方法、***及装置。
背景技术
随着数据中心的规模越来越大,千万台级别的服务器给运维工作带来巨大的挑战,智能运维被越来越多的提出。目前,服务器启动异常在每个数据中心都存在,由于服务器的整个启动过程包含的阶段较多,现有的服务器启动过程中的故障监控方案大都是局部阶段的故障监控,无法完整监控到服务器的整个启动过程,导致故障定位效果较差。
因此,如何提供一种解决上述技术问题的方案是本领域的技术人员目前需要解决的问题。
发明内容
本发明的目的是提供一种服务器启动过程中的故障定位方法、***及装置,对服务器启动过程中的各个阶段都进行了故障监控,有助于服务器启动过程的故障定位。
为解决上述技术问题,本发明提供了一种服务器启动过程中的故障定位方法,包括:
预先将服务器的整个启动过程划分为多个阶段,并相应为每个阶段设定故障监控策略;
在所述服务器的启动过程进入目标阶段时,按照所述目标阶段对应的故障监控策略监控所述服务器当前的启动过程,得到所述目标阶段对应的故障监控结果;其中,所述目标阶段为任一阶段;
在所述服务器启动失败时,根据得到的故障监控结果进行所述服务器的故障定位。
优选地,将服务器的整个启动过程划分为多个阶段的过程,包括:
将服务器的整个启动过程划分为上电模式进入阶段、硬件上电阶段、BIOS自检阶段、BIOS运行阶段及OS启动阶段。
优选地,所述服务器包括用于接收电源按键的按键信号,并将所述按键信号透传至ME单元的CPLD;还包括用于在接收到所述按键信号后,返回上电启动信号至CPLD以完成所述上电模式进入阶段的ME单元;
相应的,为所述上电模式进入阶段设定故障监控策略的过程,包括:
从所述CPLD接收到所述按键信号时开始计时,判断在计时时间到达预设时间T0时,所述ME单元是否发出上电启动信号;
若是,则确定所述ME单元运行正常;
若否,则确定所述ME单元运行失败。
优选地,所述服务器还包括通过通道切换器件与所述ME单元连接、用于存储ME镜像文件的存储芯片;
所述服务器启动过程中的故障定位方法还包括:
在确定所述ME单元运行失败后,判断是否可获取到所述ME单元的运行状态;
若可获取到,则在所述运行状态存在异常时确定所述ME单元存在运行异常的情况;
若不可获取到,则判断所述存储芯片的供电电压是否正常;
若供电电压异常,则确定所述存储芯片的周围电路异常;
若供电电压正常,则确定所述存储芯片的周围电路正常,并通过控制所述通道切换器件与所述存储芯片建立通信,判断是否可正常访问到所述存储芯片;
若不可正常访问到,则确定所述存储芯片异常;
若可正常访问到,则确定所述存储芯片正常,并判断是否可读取到所述存储芯片内的ME镜像文件;
若不可读取到,则确定所述存储芯片缺失所述ME镜像文件;
若可读取到,则对所述存储芯片内的ME镜像文件进行数据校验,若校验失败,则确定所述存储芯片内的ME镜像文件损坏,并根据***备份的ME镜像文件重新刷写所述存储芯片,并重启***;
若***重启后依旧异常,则确定所述ME单元自身故障。
优选地,所述服务器的供电***包括PSU及与所述PSU连接、用于对应为所述服务器的各部件供电的多个VR供电芯片;
且所述CPLD还用于在接收到上电启动信号后发送主电使能信号至所述PSU,并在接收到所述PSU返回的PG信号后依次发送芯片使能信号至多个VR供电芯片,且在接收到所有VR供电芯片返回的PG信号后发出电源正常信号以完成所述硬件上电阶段;所述CPLD在版本更新后还用于在所述PSU或任一VR供电芯片未按时返回PG信号时,相应记录此异常情况到自身的状态寄存器,并依次控制已上电的VR供电芯片及PSU进行下电操作;
相应的,为所述硬件上电阶段设定故障监控策略的过程,包括:
从所述ME单元发出上电启动信号时开始计时,判断在计时时间到达预设时间T1时,所述CPLD是否发出电源正常信号;
若发出电源正常信号,则确定所述服务器的主板硬件上电正常;
若未发出电源正常信号,则确定所述服务器的主板硬件上电异常,并根据所述CPLD的版本号判断所述CPLD是否具有异常记录功能;
若具有异常记录功能,则读取所述CPLD的状态寄存器,以定位所述PSU或VR供电芯片的异常情况,并在VR供电芯片有异常情况时,根据异常的VR供电芯片的寄存器状态分析异常的VR供电芯片的故障原因;
若不具有异常记录功能,则读取所述PSU和VR供电芯片的状态寄存器,以定位所述PSU或VR供电芯片的异常情况,并在VR供电芯片有异常情况时,根据异常的VR供电芯片的寄存器状态分析异常的VR供电芯片的故障原因。
优选地,根据异常的VR供电芯片的寄存器状态分析异常的VR供电芯片的故障原因的过程,包括:
若根据异常的VR供电芯片的寄存器状态确定异常的VR供电芯片存在短路故障,则确定异常的VR供电芯片的MOS管损坏;
若根据异常的VR供电芯片的寄存器状态确定异常的VR供电芯片存在输入欠压,则查询异常的VR供电芯片的上一级VR供电芯片的电压是否正常,若是,则确定异常的VR供电芯片和上一级VR供电芯片之间的链路存在故障;
若根据异常的VR供电芯片的寄存器状态确定异常的VR供电芯片存在OCP,则查询异常的VR供电芯片的下一级电路;
若下一级电路为VR供电芯片,则检测下一级VR供电芯片是否能够正常访问或者工作状态是否异常,若无法正常访问或者出现短路情况,则确定主板需要更换;
若下一级电路为直接部件,且该直接部件无法访问,则确定该直接部件需要更换,并对该直接部件的位置或编号进行记录。
优选地,所述服务器的CPU用于在所述CPLD发出电源正常信号后开始工作,启动BIOS;所述BIOS用于在自身启动后进行程序自检,并在程序自检完成后发出自检信号以完成所述BIOS自检阶段;
相应的,为所述BIOS自检阶段设定故障监控策略的过程,包括:
从所述CPLD发出电源正常信号时开始计时,判断在计时时间到达预设时间T2时,所述BIOS是否发出自检信号;
若是,则确定所述BIOS的程序完整可信;
若否,则确定所述BIOS的程序存在问题。
优选地,所述存储芯片还用于存储BIOS镜像文件;
所述服务器启动过程中的故障定位方法还包括:
在确定所述BIOS的程序存在问题后,判断是否可获取到BIOS的POST代码数据;
若可获取到,则根据所述POST代码数据确定所述BIOS的程序自检故障原因;
若不可获取到,则判断与所述BIOS的程序自检相关的供电电路是否供电异常;
若供电异常,则对所述供电电路的供电异常进行故障原因分析;
若供电正常,则通过控制所述通道切换器件与所述存储芯片建立通信,判断是否可读取到所述存储芯片内的BIOS镜像文件;
若不可读取到,则确定所述存储芯片缺失所述BIOS镜像文件;
若可读取到,则对所述存储芯片内的BIOS镜像文件进行数据校验,并判断是否校验成功;
若校验成功,则进行***重启操作,并在重启多次都无法开机后通知人工进行故障分析;
若校验失败,则确定所述存储芯片内的BIOS镜像文件损坏,并根据***备份的BIOS镜像文件重新刷写所述存储芯片,并重启***。
优选地,所述BIOS还用于在自身程序自检完成后进入运行阶段,并在运行完成后发出开机完成信号以完成所述BIOS运行阶段;
相应的,为所述BIOS运行阶段设定故障监控策略的过程,包括:
从所述BIOS发出自检信号时开始计时,判断在计时时间到达预设时间T3时,所述BIOS是否发出开机完成信号;
若是,则确定所述BIOS运行正常;
若否,则确定所述BIOS运行异常,并读取所述BIOS对应的POST故障码和/或BIOS故障寄存器数据,以根据所述POST故障码和/或所述BIOS故障寄存器数据进行所述BIOS的故障定位。
优选地,所述BIOS还用于在自身运行完成后开始引导OS启动;所述OS用于在自身安装的ipmitool驱动加载完毕后发出启动完成信号以完成所述OS启动阶段;
相应的,为所述OS启动阶段设定故障监控策略的过程,包括:
从所述BIOS发出开机完成信号时开始计时,判断在计时时间到达预设时间T4时,所述OS是否发出启动完成信号;
若是,则确定所述OS启动成功;
若否,则确定所述OS启动异常。
优选地,所述服务器还包括用于修改预设时间T4的接口。
优选地,所述BIOS还用于在自身运行完成后开始引导OS启动;
相应的,为所述OS启动阶段设定故障监控策略的过程,包括:
在所述OS启动后,监听***串口传输的***日志记录,并判断在预设监听时间内是否监听到所述***日志记录有错误信息;
若否,则确定所述OS启动成功;
若是,则确定所述OS启动异常,并根据所述错误信息及历史***日志记录进行故障定位。
为解决上述技术问题,本发明还提供了一种服务器启动过程中的故障定位***,包括:
预设模块,用于预先将服务器的整个启动过程划分为多个阶段,并相应为每个阶段设定故障监控策略;
监控模块,用于在所述服务器的启动过程进入目标阶段时,按照所述目标阶段对应的故障监控策略监控所述服务器当前的启动过程,得到所述目标阶段对应的故障监控结果;其中,所述目标阶段为任一阶段;
定位模块,用于在所述服务器启动失败时,根据得到的故障监控结果进行所述服务器的故障定位。
为解决上述技术问题,本发明还提供了一种服务器启动过程中的故障定位装置,包括:
存储器,用于存储计算机程序;
处理器,用于在执行所述计算机程序时实现上述任一种服务器启动过程中的故障定位方法的步骤。
本发明提供了一种服务器启动过程中的故障定位方法,预先将服务器的整个启动过程划分为多个阶段,并相应为每个阶段设定故障监控策略;在服务器的启动过程进入目标阶段时,按照目标阶段对应的故障监控策略监控服务器当前的启动过程,得到目标阶段对应的故障监控结果;在服务器启动失败时,根据得到的故障监控结果进行服务器的故障定位。可见,本申请对服务器启动过程中的各个阶段都进行了故障监控,有助于服务器启动过程的故障定位。
本发明还提供了一种服务器启动过程中的故障定位***及装置,与上述故障定位方法具有相同的有益效果。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对现有技术和实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种服务器启动过程中的故障定位方法的流程图;
图2为本发明实施例提供的一种服务器的结构示意图;
图3为本发明实施例提供的一种服务器完整开机启动过程的划分图;
图4为本发明实施例提供的一种服务器启动过程中的故障定位***的结构示意图。
具体实施方式
本发明的核心是提供一种服务器启动过程中的故障定位方法、***及装置,对服务器启动过程中的各个阶段都进行了故障监控,有助于服务器启动过程的故障定位。
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参照图1,图1为本发明实施例提供的一种服务器启动过程中的故障定位方法的流程图。
该服务器启动过程中的故障定位方法包括:
步骤S1:预先将服务器的整个启动过程划分为多个阶段,并相应为每个阶段设定故障监控策略。
具体地,本申请提前将服务器的整个启动过程划分为多个阶段,并相应为服务器的整个启动过程划分的每个阶段设定故障监控策略,以为后续对服务器的整个启动过程进行故障监控。
步骤S2:在服务器的启动过程进入目标阶段时,按照目标阶段对应的故障监控策略监控服务器当前的启动过程,得到目标阶段对应的故障监控结果。
需要说明的是,本申请的目标阶段为服务器的整个启动过程划分的任一阶段。
具体地,本申请在服务器的启动过程进入目标阶段时,需按照目标阶段对应的故障监控策略监控服务器当前的启动过程,从而得到目标阶段对应的故障监控结果,以为后续进行服务器的故障定位。
步骤S3:在服务器启动失败时,根据得到的故障监控结果进行服务器的故障定位。
具体地,本申请在服务器启动失败时,可根据步骤S2得到的故障监控结果进行服务器的故障定位,从而明确出现故障阶段、位置及原因。由于本申请对服务器启动过程中的各个阶段都进行了故障监控,所以服务器的故障定位效果较好。
本发明提供了一种服务器启动过程中的故障定位方法,预先将服务器的整个启动过程划分为多个阶段,并相应为每个阶段设定故障监控策略;在服务器的启动过程进入目标阶段时,按照目标阶段对应的故障监控策略监控服务器当前的启动过程,得到目标阶段对应的故障监控结果;在服务器启动失败时,根据得到的故障监控结果进行服务器的故障定位。可见,本申请对服务器启动过程中的各个阶段都进行了故障监控,有助于服务器启动过程的故障定位。
在上述实施例的基础上:
请参照图2及图3,图2为本发明实施例提供的一种服务器的结构示意图;图3为本发明实施例提供的一种服务器完整开机启动过程的划分图。
作为一种可选的实施例,将服务器的整个启动过程划分为多个阶段的过程,包括:
将服务器的整个启动过程划分为上电模式进入阶段、硬件上电阶段、BIOS自检阶段、BIOS运行阶段及OS启动阶段。
具体地,本申请可将服务器的整个启动过程划分为上电模式进入阶段、硬件上电阶段、BIOS(Basic Input Output System,基本输入输出***)自检阶段、BIOS运行阶段及OS(Operating System,操作***)启动阶段,或者本申请也可将服务器的整个启动过程按照其它划分形式进行划分,本申请在此不做特别的限定,根据实际情况而定。
作为一种可选的实施例,服务器包括用于接收电源按键的按键信号,并将按键信号透传至ME单元的CPLD;还包括用于在接收到按键信号后,返回上电启动信号至CPLD以完成上电模式进入阶段的ME单元;
相应的,为上电模式进入阶段设定故障监控策略的过程,包括:
从CPLD接收到按键信号时开始计时,判断在计时时间到达预设时间T0时,ME单元是否发出上电启动信号;
若是,则确定ME单元运行正常;
若否,则确定ME单元运行失败。
具体地,服务器的上电模式进入阶段:当服务器的powerbutton(电源按键)被按下或者服务器接收到远程发送的开机指令时,电源按键的信号电平发生变化,此时电源按键的按键信号被送到服务器的CPLD(Complex Programmable Logic Device,复杂可编程逻辑器件),然后被透传到服务器的ME(Management Engine,管理引擎)单元。ME单元在接收到按键信号后,返回上电启动信号(S3状态信号)至CPLD,以完成上电模式进入阶段,而后进入硬件上电阶段。
基于此,考虑到若ME单元(Management Engine,管理引擎)异常,则ME单元不会发出上电启动信号,对应现象就是***无法进入后续硬件上电阶段,***不会开机,所以本申请从CPLD接收到按键信号时开始计时,判断在计时时间到达预设时间T0(如5s)时,ME单元是否发出上电启动信号;若ME单元在规定时间T0内发出上电启动信号,则确定ME单元运行正常;若ME单元在规定时间T0内未发出上电启动信号,则初步判定ME单元运行失败,然后再次读取ME单元的状态,若ME单元无法连接或者状态异常,则可直接判断为ME单元故障,从而明确***启动异常的故障原因为ME单元故障,可记录日志并上报运维***。
作为一种可选的实施例,服务器还包括通过通道切换器件与ME单元连接、用于存储ME镜像文件的存储芯片;
服务器启动过程中的故障定位方法还包括:
在确定ME单元运行失败后,判断是否可获取到ME单元的运行状态;
若可获取到,则在运行状态存在异常时确定ME单元存在运行异常的情况;
若不可获取到,则判断存储芯片的供电电压是否正常;
若供电电压异常,则确定存储芯片的周围电路异常;
若供电电压正常,则确定存储芯片的周围电路正常,并通过控制通道切换器件与存储芯片建立通信,判断是否可正常访问到存储芯片;
若不可正常访问到,则确定存储芯片异常;
若可正常访问到,则确定存储芯片正常,并判断是否可读取到存储芯片内的ME镜像文件;
若不可读取到,则确定存储芯片缺失ME镜像文件;
若可读取到,则对存储芯片内的ME镜像文件进行数据校验,若校验失败,则确定存储芯片内的ME镜像文件损坏,并根据***备份的ME镜像文件重新刷写存储芯片,并重启***;
若***重启后依旧异常,则确定ME单元自身故障。
进一步地,本申请的服务器还包括存储芯片(如Flash芯片),存储芯片通过通道切换器件(如切换开关)与ME单元连接,通道切换器件默认连通ME单元与存储芯片,存储芯片中存储有ME镜像文件,供ME单元读取运行。ME单元运行失败的原因可能是存储芯片异常、存储芯片的周围电路异常、存储芯片缺失ME镜像文件、存储芯片内ME镜像文件损坏、ME单元自身故障等情况,导致无法给出上电启动信号,进而***无法进入上电模式。基于此,对ME单元运行失败的原因分析为:先读取ME单元的运行状态,若能够读取到ME单元的运行状态,说明ME单元与外部通信无异常,则可排除存储芯片异常、存储芯片的周围电路异常和存储芯片缺失ME镜像文件的情况,若读取到的ME单元的运行状态存在异常,则确定ME单元存在运行异常的情况;若无法读取到ME单元的运行状态,则可能存在存储芯片异常、存储芯片的周围电路异常、存储芯片缺失ME镜像文件、存储芯片内ME镜像文件损坏或ME单元挂死的情况,对此进一步分析为:1)先读取存储芯片的供电电压是否正常,如果供电电压正常,则确定存储芯片的周围电路正常;如果供电电压异常,则确定存储芯片的周围电路异常,判定为服务器主板故障,上报告警并明确更换主板。2)如果供电电压正常,则通过控制通道切换器件与存储芯片建立通信,以访问存储芯片,如果访问正常,则确定存储芯片正常,如果无法访问,则确定存储芯片异常,判定为主板故障,上报告警并明确更换主板。3)如果存储芯片正常,判断是否可读取到存储芯片内的ME镜像文件,如果读取不到存储芯片内的ME镜像文件,则记录本次开机异常的原因为存储芯片缺失ME镜像文件,并判定***数据库中是否有ME镜像文件,如果数据库中有ME镜像文件,则将ME镜像文件写入存储芯片中,并在写入成功后重启***;如果数据库中没有ME镜像文件,则上报告警需要运维重新刷新存储芯片。4)如果读取到存储芯片内的ME镜像文件,则对其内ME镜像文件进行数据校验,计算相关的校验值,并与***备份的ME镜像文件的校验值进行对比,如果校验值一致则对比通过,判定为存储芯片内的ME镜像文件未损坏;如果校验值不一致则对比失败,判定为存储芯片内的ME镜像文件损坏,记录相关日志,并根据***备份的ME镜像文件重新刷写存储芯片,并重启***看是否能正常启动,如果能正常启动,则正好验证上次开机异常的原因为存储芯片内的ME镜像文件损坏。5)如果***重启后依旧异常,则判定为ME单元自身故障,并上报告警,更换ME单元的相关部件/或更换主板。
需要说明的是,上述操作的顺序可独立进行或者打乱顺序都在本申请保护范围内。
作为一种可选的实施例,服务器的供电***包括PSU及与PSU连接、用于对应为服务器的各部件供电的多个VR供电芯片;
且CPLD还用于在接收到上电启动信号后发送主电使能信号至PSU,并在接收到PSU返回的PG信号后依次发送芯片使能信号至多个VR供电芯片,且在接收到所有VR供电芯片返回的PG信号后发出电源正常信号以完成硬件上电阶段;CPLD在版本更新后还用于在PSU或任一VR供电芯片未按时返回PG信号时,相应记录此异常情况到自身的状态寄存器,并依次控制已上电的VR供电芯片及PSU进行下电操作;
相应的,为硬件上电阶段设定故障监控策略的过程,包括:
从ME单元发出上电启动信号时开始计时,判断在计时时间到达预设时间T1时,CPLD是否发出电源正常信号;
若发出电源正常信号,则确定服务器的主板硬件上电正常;
若未发出电源正常信号,则确定服务器的主板硬件上电异常,并根据CPLD的版本号判断CPLD是否具有异常记录功能;
若具有异常记录功能,则读取CPLD的状态寄存器,以定位PSU或VR供电芯片的异常情况,并在VR供电芯片有异常情况时,根据异常的VR供电芯片的寄存器状态分析异常的VR供电芯片的故障原因;
若不具有异常记录功能,则读取PSU和VR供电芯片的状态寄存器,以定位PSU或VR供电芯片的异常情况,并在VR供电芯片有异常情况时,根据异常的VR供电芯片的寄存器状态分析异常的VR供电芯片的故障原因。
具体地,服务器的硬件上电阶段:CPLD在接收到ME单元发送的上电启动信号后,先给PSU(Power supply unit,电源供应单元)发送主电使能(Enable,简称En)信号,然后等待PSU返回的PG(Power Good,电源正常)信号,如果PSU上电正常,则返回PG信号至CPLD,如果PSU上电过程中出现异常,则不返回PG信号至CPLD。PSU上电正常后,CPLD开启下一路电的上电动作,即依次发送芯片使能信号至多个VR(Voltage Regulated,电压调节)供电芯片,以使各VR供电芯片将PSU的输出电压进行调整后相应为***的CPU(中央处理器)、内存、硬盘等部件提供电能,然后等待各VR供电芯片返回的PG信号,如果VR供电芯片上电正常,则返回PG信号至CPLD,如果VR供电芯片上电过程中出现异常,则不返回PG信号至CPLD。CPLD在接收到所有VR供电芯片返回的PG信号后发出电源正常信号(Power OK信号),以完成硬件上电阶段,而后进入BIOS自检阶段。
需要说明的是,旧版本的CPLD不具有异常记录功能,新版本的CPLD具有异常记录功能:在PSU或任一VR供电芯片未按时返回PG信号时,相应记录此异常情况到自身的状态寄存器,此时CPLD可依次控制已上电的VR供电芯片及PSU进行下电操作,表现为***无法上电开机。
基于此,本申请从ME单元发出上电启动信号时开始计时,判断在计时时间到达预设时间T1(如10s)时,CPLD是否发出电源正常信号;若发出电源正常信号,则确定服务器的主板硬件上电正常;若未发出电源正常信号,则确定服务器的主板硬件上电异常。
为了进一步定位异常点,本申请在确定服务器的主板硬件上电异常后,还根据CPLD的版本号判断CPLD是否具有异常记录功能;若CPLD具有异常记录功能,则读取CPLD的状态寄存器,以定位PSU或VR供电芯片的异常情况,即确定是PSU存在上电异常,还是哪个VR供电芯片存在上电异常,并在VR供电芯片有异常情况时,可通过I2C(Inter-IntegratedCircuit,双向二线制同步串行总线)读取异常的VR供电芯片的状态寄存器,以根据异常的VR供电芯片的寄存器状态分析异常的VR供电芯片的故障原因;若CPLD不具有异常记录功能,则直接读取PSU和VR供电芯片的状态寄存器,以定位PSU或VR供电芯片的异常情况,并在VR供电芯片有异常情况时,再根据异常的VR供电芯片的寄存器状态分析异常的VR供电芯片的故障原因。此外,本申请如果定位到PSU上电异常,还可根据PSU的寄存器状态明确***是否需要更换PSU。
作为一种可选的实施例,根据异常的VR供电芯片的寄存器状态分析异常的VR供电芯片的故障原因的过程,包括:
若根据异常的VR供电芯片的寄存器状态确定异常的VR供电芯片存在短路故障,则确定异常的VR供电芯片的MOS管损坏;
若根据异常的VR供电芯片的寄存器状态确定异常的VR供电芯片存在输入欠压,则查询异常的VR供电芯片的上一级VR供电芯片的电压是否正常,若是,则确定异常的VR供电芯片和上一级VR供电芯片之间的链路存在故障;
若根据异常的VR供电芯片的寄存器状态确定异常的VR供电芯片存在OCP,则查询异常的VR供电芯片的下一级电路;
若下一级电路为VR供电芯片,则检测下一级VR供电芯片是否能够正常访问或者工作状态是否异常,若无法正常访问或者出现短路情况,则确定主板需要更换;
若下一级电路为直接部件,且该直接部件无法访问,则确定该直接部件需要更换,并对该直接部件的位置或编号进行记录。
具体地,本申请根据异常的VR供电芯片的寄存器状态可得到芯片的具体异常情况,如OCP(过流保护)、OVP(过压保护)、Phase Fault(短路故障)、输入欠压等异常情况。如果异常的VR供电芯片存在短路故障,则认为是异常的VR供电芯片的MOS管损坏,需要更换主板,此时可记录相关日志并上报故障点和故障原因,明确主板故障。如果异常的VR供电芯片存在输入欠压,则查询异常的VR供电芯片的上一级VR供电芯片的电压是否正常,如果电压正常,则认为异常的VR供电芯片和上一级VR供电芯片之间的链路存在故障,需要更换主板,此时可记录相关日志并上报故障点和故障原因,明确主板故障。如果异常的VR供电芯片存在OCP,且异常的VR供电芯片的下一级电路为VR供电芯片,则检测下一级VR供电芯片是否能够正常访问或者工作状态是否异常,若无法正常访问或者出现短路情况,则确定主板需要更换,此时可记录相关日志并上报故障点和故障原因,明确主板故障。如果异常的VR供电芯片存在OCP,且异常的VR供电芯片的下一级电路为直接部件(如内存条),且该直接部件无法访问,则确定该直接部件需要更换,此时可记录相关日志并上报故障点和故障原因,明确更换部件的位置或编号。其余无法直接明确的情况,也可记录相关日志并上报故障点和故障原因,供运维人员参考。
需要说明的是,上述操作的顺序可独立进行或者打乱顺序都在本申请保护范围内。
作为一种可选的实施例,服务器的CPU用于在CPLD发出电源正常信号后开始工作,启动BIOS;BIOS用于在自身启动后进行程序自检,并在程序自检完成后发出自检信号以完成BIOS自检阶段;
相应的,为BIOS自检阶段设定故障监控策略的过程,包括:
从CPLD发出电源正常信号时开始计时,判断在计时时间到达预设时间T2时,BIOS是否发出自检信号;
若是,则确定BIOS的程序完整可信;
若否,则确定BIOS的程序存在问题。
具体地,服务器的BIOS自检阶段:服务器的CPU在CPLD发出电源正常信号后释放reset(重置)信号开始工作,BIOS启动。BIOS在自身启动后进行程序自检,并在程序自检完成后发出自检信号(Selftest信号),以完成BIOS自检阶段,而后进入BIOS运行阶段。需要说明的是,当BIOS程序缺失或者损坏时,BIOS程序自检不通过,不会发出自检信号,***无法正常启动。
基于此,本申请从CPLD发出电源正常信号时开始计时,判断在计时时间到达预设时间T2(如20s)时,BIOS是否发出自检信号;若BIOS按时发出自检信号,则确定BIOS的程序完整可信;若BIOS未按时发出自检信号,则确定BIOS的程序存在问题,***无法正常启动,此时需要重新烧写BIOS程序,即需要更换主板。
作为一种可选的实施例,存储芯片还用于存储BIOS镜像文件;
服务器启动过程中的故障定位方法还包括:
在确定BIOS的程序存在问题后,判断是否可获取到BIOS的POST代码数据;
若可获取到,则根据POST代码数据确定BIOS的程序自检故障原因;
若不可获取到,则判断与BIOS的程序自检相关的供电电路是否供电异常;
若供电异常,则对供电电路的供电异常进行故障原因分析;
若供电正常,则通过控制通道切换器件与存储芯片建立通信,判断是否可读取到存储芯片内的BIOS镜像文件;
若不可读取到,则确定存储芯片缺失BIOS镜像文件;
若可读取到,则对存储芯片内的BIOS镜像文件进行数据校验,并判断是否校验成功;
若校验成功,则进行***重启操作,并在重启多次都无法开机后通知人工进行故障分析;
若校验失败,则确定存储芯片内的BIOS镜像文件损坏,并根据***备份的BIOS镜像文件重新刷写存储芯片,并重启***。
进一步地,本申请的存储芯片内还存储有BIOS镜像文件。BIOS的程序存在问题的原因可能是BIOS镜像文件缺失、BIOS镜像文件损坏、BIOS程序异常挂死,一般需要重新烧写BIOS镜像文件,快速恢复***运行,减少客户更换主板造成的时间浪费和成本浪费。基于此,对BIOS的程序存在问题的原因分析为:1)首先读取历史BIOS的POST(自检)代码数据,如果读取到历史BIOS的POST代码数据,则根据POST代码数据确定BIOS的程序自检故障原因,如CPU故障、内存故障等,并进行相关故障定位和上报告警处理。如果读取不到历史BIOS的POST代码数据,则说明程序起始阶段就出现异常,可能跟硬件相关。2)如果读取不到历史BIOS的POST代码数据,则判断与BIOS的程序自检相关的供电电路是否供电异常,如CPU等部件的供电状态,如果出现供电异常,则进一步判断是主板问题还是部件的问题,并上报故障原因。3)如果未出现供电异常,则通过控制通道切换器件与存储芯片建立通信,判断是否可读取到存储芯片内的BIOS镜像文件;如果读取不到存储芯片内的BIOS镜像文件,则确定存储芯片缺失BIOS镜像文件,并判断***数据库中是否有备份的BIOS镜像文件,如果***数据库中有备份的BIOS镜像文件,则直接将其写入到存储芯片中,并记录刷新日志,并重启***,若***重启后能够通过BIOS自检阶段,则验证故障原因就是存储芯片缺失BIOS镜像文件,并记录相关日志。如果***数据库中没有备份的BIOS镜像文件,则上报告警到运维***,安排运维人员烧写BIOS镜像文件。4)如果可读取到存储芯片内的BIOS镜像文件,则对其内BIOS镜像文件进行数据校验,计算相关的校验值,并与***备份的BIOS镜像文件的校验值进行对比,如果校验值一致则对比通过,判定为存储芯片内的BIOS镜像文件未损坏;如果校验值不一致则对比失败,判定为存储芯片内的BIOS镜像文件损坏,记录相关日志,并自动采取重刷备份的BIOS镜像文件到存储芯片中的方式自动恢复镜像,并记录日志和重启***,如果***重启后能够通过BIOS自检阶段,则正好验证故障原因就是存储芯片内的BIOS镜像文件损坏。5)如果***重启后依旧无法通过BIOS自检阶段,则上报故障更新最新的BIOS镜像文件或者更换主板。6)如果存储芯片内的BIOS镜像文件未损坏,则记录标记进行重启重试操作,如果重启正常,则清除记录的标记,如果重启多次都无法开机,则通知人工进行故障分析,如尝试依次更换***的主板/CPU/内存进行最小范围恢复,记录并上报相关告警。
需要说明的是,上述操作的顺序可独立进行或者打乱顺序都在本申请保护范围内。
作为一种可选的实施例,BIOS还用于在自身程序自检完成后进入运行阶段,并在运行完成后发出开机完成信号以完成BIOS运行阶段;
相应的,为BIOS运行阶段设定故障监控策略的过程,包括:
从BIOS发出自检信号时开始计时,判断在计时时间到达预设时间T3时,BIOS是否发出开机完成信号;
若是,则确定BIOS运行正常;
若否,则确定BIOS运行异常,并读取BIOS对应的POST故障码和/或BIOS故障寄存器数据,以根据POST故障码和/或BIOS故障寄存器数据进行BIOS的故障定位。
具体地,服务器的BIOS运行阶段:BIOS在自身程序自检完成后进入运行阶段,并在运行完成后发出开机完成信号(BOOT COMPLETE信号),以完成BIOS运行阶段,而后进入OS启动阶段。需要说明的是,BIOS在运行阶段是对***进行初始化,存在各种原因的异常和挂起,进而导致启动失败,此时不会发出开机完成信号。还需要说明的是,BIOS发出的自检信号实际是BIOS完成与服务器内BMC(Baseboard Management Controller,基板管理控制器)的直接通信链路的初始化后发送的第一个信号,代表着BIOS和BMC直接可以正常通信了,则以此为开始依据,后面可以增加各种交互信号和状态通知,如BIOS在初始化外设时,如果出现外设异常导致程序异常,则BIOS可将相关外设和状态进行记录并发送到BMC,由BMC保存到预留的BIOS故障寄存器;再如BIOS的TSL(操作***加载前期)阶段中,如果发现***硬盘缺失、OS启动块MBR(Master Boot Record,主引导记录)损坏或者MBR加载失败等异常,BIOS上报给BMC,由BMC保存到预留的BIOS故障寄存器,从而可将BMC保存的BIOS故障寄存器数据用于更加精确的故障定位。
基于此,本申请从BIOS发出自检信号时开始计时,判断在计时时间到达预设时间T3(如300s)时,BIOS是否发出开机完成信号;若BIOS按时发出开机完成信号,则确定BIOS运行正常;若BIOS未按时发出开机完成信号,则确定BIOS运行异常,然后读取BIOS对应的POST故障码和/或BIOS故障寄存器数据,以根据POST故障码和/或BIOS故障寄存器数据定位BIOS的故障阶段和故障原因,定位出来后上报告警,运维更换相关部件。
更具体地,本申请可将BIOS运行阶段再次划分,包括SEC(安全验证)阶段、PEI(EFI前期初始化)阶段、DXE(驱动执行环境)阶段、BDS(启动设备选择)阶段、TSL阶段,以根据BIOS运行的各个阶段的情况进行分别判断。当BIOS进入每个阶段时发出一个开始信号,当顺利执行完此阶段时再发出一个完成信号,同时增加如图3所示的T3-1、T3-2、T3-3、T3-4的阶段计时,若在对应阶段计时内接收到对应的完成信号,则确定此阶段运行正常,否则确定此阶段运行异常,从而更加细化和精确判断故障位置,同时加快故障的判断(不用等待T3的超时,有的设备启动实际可能十几分钟)。需要说明的是,上述阶段计时时间可根据设备的实际配置进行时间配置。
另外,对于未知或无法明确的故障,本申请可记录相关标志重启设备,如果重启后恢复正常,或者定位出具体原因,则消除标志;如果重启多次后依旧存在未知或无法明确的故障,则上报告警到运维***,通知运维依次检查更换CPU/内存等部件进行最小化故障定位。
作为一种可选的实施例,BIOS还用于在自身运行完成后开始引导OS启动;OS用于在自身安装的ipmitool驱动加载完毕后发出启动完成信号以完成OS启动阶段;
相应的,为OS启动阶段设定故障监控策略的过程,包括:
从BIOS发出开机完成信号时开始计时,判断在计时时间到达预设时间T4时,OS是否发出启动完成信号;
若是,则确定OS启动成功;
若否,则确定OS启动异常。
具体地,服务器的OS启动阶段:BIOS在自身运行完成后开始引导OS启动,OS启动异常属于操作***范畴,根据***安全的原则,本申请无法主动探测和跟踪OS的状态,因此本申请采用的方式是OS在自身安装的ipmitool(一种可用在linux***下的命令行方式的ipmi平台管理工具)驱动加载完毕后发出启动完成信号(启动OK信号),以根据启动完成信号来判断OS启动完成,至此服务器的整个启动过程结束。
基于此,OS启动阶段的第一种故障监控策略:本申请从BIOS发出开机完成信号时开始计时,判断在计时时间到达预设时间T4(T4基于***功能配置合理设定)时,OS是否发出启动完成信号;若OS按时发出启动完成信号,则确定OS启动成功;若OS未按时发出启动完成信号,则确定OS启动异常,记录相关日志,并上报OS启动异常,请求检查OS启动异常记录。
作为一种可选的实施例,服务器还包括用于修改预设时间T4的接口。
具体地,考虑到OS的启动时间跟***的配置相关性很大,导致不同配置的***,OS的启动时间差异很大,所以本申请的服务器设计可修改预设时间T4的接口,从而可根据***的实际配置定义T4的大小。
作为一种可选的实施例,BIOS还用于在自身运行完成后开始引导OS启动;
相应的,为OS启动阶段设定故障监控策略的过程,包括:
在OS启动后,监听***串口传输的***日志记录,并判断在预设监听时间内是否监听到***日志记录有错误信息;
若否,则确定OS启动成功;
若是,则确定OS启动异常,并根据错误信息及历史***日志记录进行故障定位。
具体地,OS启动阶段的第二种故障监控策略:在OS启动后,监听***串口传输的***日志记录,并判断在预设监听时间内是否监听到***日志记录有错误信息;若没有监听到***日志记录有错误信息,则确定OS启动成功;若监听到***日志记录有错误信息,则确定OS启动异常,并根据监听到的错误信息及历史***日志记录进行故障定位,且对OS异常的情况进行上报告警,运维人员进行处理。
综上,本申请的服务器启动过程中的故障定位方法可均由服务器的BMC实现,其中,如图2所示,BMC与PSU、CPLD、ME单元通过I2C总线交互;BMC通过通道切换器件的控制线控制通道切换器件切换通道,以使BMC通过SPI(Serial Peripheral Interface,串行外设接口)总线与存储芯片交互。
请参照图4,图4为本发明实施例提供的一种服务器启动过程中的故障定位***的结构示意图。
该服务器启动过程中的故障定位***包括:
预设模块1,用于预先将服务器的整个启动过程划分为多个阶段,并相应为每个阶段设定故障监控策略;
监控模块2,用于在服务器的启动过程进入目标阶段时,按照目标阶段对应的故障监控策略监控服务器当前的启动过程,得到目标阶段对应的故障监控结果;其中,目标阶段为任一阶段;
定位模块3,用于在服务器启动失败时,根据得到的故障监控结果进行服务器的故障定位。
本申请提供的故障定位***的介绍请参考上述故障定位方法的实施例,本申请在此不再赘述。
本申请还提供了一种服务器启动过程中的故障定位装置,包括:
存储器,用于存储计算机程序;
处理器,用于在执行计算机程序时实现上述任一种服务器启动过程中的故障定位方法的步骤。
本申请提供的故障定位装置的介绍请参考上述故障定位方法的实施例,本申请在此不再赘述。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其他实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (14)

1.一种服务器启动过程中的故障定位方法,其特征在于,包括:
预先将服务器的整个启动过程划分为多个阶段,并相应为每个阶段设定故障监控策略;
在所述服务器的启动过程进入目标阶段时,按照所述目标阶段对应的故障监控策略监控所述服务器当前的启动过程,得到所述目标阶段对应的故障监控结果;其中,所述目标阶段为任一阶段;
在所述服务器启动失败时,根据得到的故障监控结果进行所述服务器的故障定位。
2.如权利要求1所述的服务器启动过程中的故障定位方法,其特征在于,将服务器的整个启动过程划分为多个阶段的过程,包括:
将服务器的整个启动过程划分为上电模式进入阶段、硬件上电阶段、BIOS自检阶段、BIOS运行阶段及OS启动阶段。
3.如权利要求2所述的服务器启动过程中的故障定位方法,其特征在于,所述服务器包括用于接收电源按键的按键信号,并将所述按键信号透传至ME单元的CPLD;还包括用于在接收到所述按键信号后,返回上电启动信号至CPLD以完成所述上电模式进入阶段的ME单元;
相应的,为所述上电模式进入阶段设定故障监控策略的过程,包括:
从所述CPLD接收到所述按键信号时开始计时,判断在计时时间到达预设时间T0时,所述ME单元是否发出上电启动信号;
若是,则确定所述ME单元运行正常;
若否,则确定所述ME单元运行失败。
4.如权利要求3所述的服务器启动过程中的故障定位方法,其特征在于,所述服务器还包括通过通道切换器件与所述ME单元连接、用于存储ME镜像文件的存储芯片;
所述服务器启动过程中的故障定位方法还包括:
在确定所述ME单元运行失败后,判断是否可获取到所述ME单元的运行状态;
若可获取到,则在所述运行状态存在异常时确定所述ME单元存在运行异常的情况;
若不可获取到,则判断所述存储芯片的供电电压是否正常;
若供电电压异常,则确定所述存储芯片的周围电路异常;
若供电电压正常,则确定所述存储芯片的周围电路正常,并通过控制所述通道切换器件与所述存储芯片建立通信,判断是否可正常访问到所述存储芯片;
若不可正常访问到,则确定所述存储芯片异常;
若可正常访问到,则确定所述存储芯片正常,并判断是否可读取到所述存储芯片内的ME镜像文件;
若不可读取到,则确定所述存储芯片缺失所述ME镜像文件;
若可读取到,则对所述存储芯片内的ME镜像文件进行数据校验,若校验失败,则确定所述存储芯片内的ME镜像文件损坏,并根据***备份的ME镜像文件重新刷写所述存储芯片,并重启***;
若***重启后依旧异常,则确定所述ME单元自身故障。
5.如权利要求4所述的服务器启动过程中的故障定位方法,其特征在于,所述服务器的供电***包括PSU及与所述PSU连接、用于对应为所述服务器的各部件供电的多个VR供电芯片;
且所述CPLD还用于在接收到上电启动信号后发送主电使能信号至所述PSU,并在接收到所述PSU返回的PG信号后依次发送芯片使能信号至多个VR供电芯片,且在接收到所有VR供电芯片返回的PG信号后发出电源正常信号以完成所述硬件上电阶段;所述CPLD在版本更新后还用于在所述PSU或任一VR供电芯片未按时返回PG信号时,相应记录此异常情况到自身的状态寄存器,并依次控制已上电的VR供电芯片及PSU进行下电操作;
相应的,为所述硬件上电阶段设定故障监控策略的过程,包括:
从所述ME单元发出上电启动信号时开始计时,判断在计时时间到达预设时间T1时,所述CPLD是否发出电源正常信号;
若发出电源正常信号,则确定所述服务器的主板硬件上电正常;
若未发出电源正常信号,则确定所述服务器的主板硬件上电异常,并根据所述CPLD的版本号判断所述CPLD是否具有异常记录功能;
若具有异常记录功能,则读取所述CPLD的状态寄存器,以定位所述PSU或VR供电芯片的异常情况,并在VR供电芯片有异常情况时,根据异常的VR供电芯片的寄存器状态分析异常的VR供电芯片的故障原因;
若不具有异常记录功能,则读取所述PSU和VR供电芯片的状态寄存器,以定位所述PSU或VR供电芯片的异常情况,并在VR供电芯片有异常情况时,根据异常的VR供电芯片的寄存器状态分析异常的VR供电芯片的故障原因。
6.如权利要求5所述的服务器启动过程中的故障定位方法,其特征在于,根据异常的VR供电芯片的寄存器状态分析异常的VR供电芯片的故障原因的过程,包括:
若根据异常的VR供电芯片的寄存器状态确定异常的VR供电芯片存在短路故障,则确定异常的VR供电芯片的MOS管损坏;
若根据异常的VR供电芯片的寄存器状态确定异常的VR供电芯片存在输入欠压,则查询异常的VR供电芯片的上一级VR供电芯片的电压是否正常,若是,则确定异常的VR供电芯片和上一级VR供电芯片之间的链路存在故障;
若根据异常的VR供电芯片的寄存器状态确定异常的VR供电芯片存在OCP,则查询异常的VR供电芯片的下一级电路;
若下一级电路为VR供电芯片,则检测下一级VR供电芯片是否能够正常访问或者工作状态是否异常,若无法正常访问或者出现短路情况,则确定主板需要更换;
若下一级电路为直接部件,且该直接部件无法访问,则确定该直接部件需要更换,并对该直接部件的位置或编号进行记录。
7.如权利要求5所述的服务器启动过程中的故障定位方法,其特征在于,所述服务器的CPU用于在所述CPLD发出电源正常信号后开始工作,启动BIOS;所述BIOS用于在自身启动后进行程序自检,并在程序自检完成后发出自检信号以完成所述BIOS自检阶段;
相应的,为所述BIOS自检阶段设定故障监控策略的过程,包括:
从所述CPLD发出电源正常信号时开始计时,判断在计时时间到达预设时间T2时,所述BIOS是否发出自检信号;
若是,则确定所述BIOS的程序完整可信;
若否,则确定所述BIOS的程序存在问题。
8.如权利要求7所述的服务器启动过程中的故障定位方法,其特征在于,所述存储芯片还用于存储BIOS镜像文件;
所述服务器启动过程中的故障定位方法还包括:
在确定所述BIOS的程序存在问题后,判断是否可获取到BIOS的POST代码数据;
若可获取到,则根据所述POST代码数据确定所述BIOS的程序自检故障原因;
若不可获取到,则判断与所述BIOS的程序自检相关的供电电路是否供电异常;
若供电异常,则对所述供电电路的供电异常进行故障原因分析;
若供电正常,则通过控制所述通道切换器件与所述存储芯片建立通信,判断是否可读取到所述存储芯片内的BIOS镜像文件;
若不可读取到,则确定所述存储芯片缺失所述BIOS镜像文件;
若可读取到,则对所述存储芯片内的BIOS镜像文件进行数据校验,并判断是否校验成功;
若校验成功,则进行***重启操作,并在重启多次都无法开机后通知人工进行故障分析;
若校验失败,则确定所述存储芯片内的BIOS镜像文件损坏,并根据***备份的BIOS镜像文件重新刷写所述存储芯片,并重启***。
9.如权利要求7所述的服务器启动过程中的故障定位方法,其特征在于,所述BIOS还用于在自身程序自检完成后进入运行阶段,并在运行完成后发出开机完成信号以完成所述BIOS运行阶段;
相应的,为所述BIOS运行阶段设定故障监控策略的过程,包括:
从所述BIOS发出自检信号时开始计时,判断在计时时间到达预设时间T3时,所述BIOS是否发出开机完成信号;
若是,则确定所述BIOS运行正常;
若否,则确定所述BIOS运行异常,并读取所述BIOS对应的POST故障码和/或BIOS故障寄存器数据,以根据所述POST故障码和/或所述BIOS故障寄存器数据进行所述BIOS的故障定位。
10.如权利要求9所述的服务器启动过程中的故障定位方法,其特征在于,所述BIOS还用于在自身运行完成后开始引导OS启动;所述OS用于在自身安装的ipmitool驱动加载完毕后发出启动完成信号以完成所述OS启动阶段;
相应的,为所述OS启动阶段设定故障监控策略的过程,包括:
从所述BIOS发出开机完成信号时开始计时,判断在计时时间到达预设时间T4时,所述OS是否发出启动完成信号;
若是,则确定所述OS启动成功;
若否,则确定所述OS启动异常。
11.如权利要求10所述的服务器启动过程中的故障定位方法,其特征在于,所述服务器还包括用于修改预设时间T4的接口。
12.如权利要求9所述的服务器启动过程中的故障定位方法,其特征在于,所述BIOS还用于在自身运行完成后开始引导OS启动;
相应的,为所述OS启动阶段设定故障监控策略的过程,包括:
在所述OS启动后,监听***串口传输的***日志记录,并判断在预设监听时间内是否监听到所述***日志记录有错误信息;
若否,则确定所述OS启动成功;
若是,则确定所述OS启动异常,并根据所述错误信息及历史***日志记录进行故障定位。
13.一种服务器启动过程中的故障定位***,其特征在于,包括:
预设模块,用于预先将服务器的整个启动过程划分为多个阶段,并相应为每个阶段设定故障监控策略;
监控模块,用于在所述服务器的启动过程进入目标阶段时,按照所述目标阶段对应的故障监控策略监控所述服务器当前的启动过程,得到所述目标阶段对应的故障监控结果;其中,所述目标阶段为任一阶段;
定位模块,用于在所述服务器启动失败时,根据得到的故障监控结果进行所述服务器的故障定位。
14.一种服务器启动过程中的故障定位装置,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于在执行所述计算机程序时实现如权利要求1-12任一项所述的服务器启动过程中的故障定位方法的步骤。
CN202110326285.8A 2021-03-26 2021-03-26 一种服务器启动过程中的故障定位方法、***及装置 Active CN113064747B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202110326285.8A CN113064747B (zh) 2021-03-26 2021-03-26 一种服务器启动过程中的故障定位方法、***及装置
US18/036,573 US20240012706A1 (en) 2021-03-26 2021-09-28 Method, system and apparatus for fault positioning in starting process of server
PCT/CN2021/121421 WO2022198972A1 (zh) 2021-03-26 2021-09-28 一种服务器启动过程中的故障定位方法、***及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110326285.8A CN113064747B (zh) 2021-03-26 2021-03-26 一种服务器启动过程中的故障定位方法、***及装置

Publications (2)

Publication Number Publication Date
CN113064747A true CN113064747A (zh) 2021-07-02
CN113064747B CN113064747B (zh) 2022-10-28

Family

ID=76564064

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110326285.8A Active CN113064747B (zh) 2021-03-26 2021-03-26 一种服务器启动过程中的故障定位方法、***及装置

Country Status (3)

Country Link
US (1) US20240012706A1 (zh)
CN (1) CN113064747B (zh)
WO (1) WO2022198972A1 (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114090095A (zh) * 2022-01-19 2022-02-25 苏州浪潮智能科技有限公司 一种多路服务器中cpu的bios加载方法及相关组件
CN114416432A (zh) * 2022-03-29 2022-04-29 山东云海国创云计算装备产业创新中心有限公司 一种芯片安全启动检测方法、装置、设备及介质
CN114490217A (zh) * 2022-01-21 2022-05-13 苏州浪潮智能科技有限公司 一种me和bios交互的故障测试方法、装置、设备及可读介质
CN115033462A (zh) * 2022-08-09 2022-09-09 苏州浪潮智能科技有限公司 存储服务器启动检测方法、***、装置、设备及存储介质
WO2022198972A1 (zh) * 2021-03-26 2022-09-29 山东英信计算机技术有限公司 一种服务器启动过程中的故障定位方法、***及装置
CN115562913A (zh) * 2022-04-21 2023-01-03 荣耀终端有限公司 一种硬件状态分析方法、装置及***
CN116340957A (zh) * 2023-05-29 2023-06-27 苏州浪潮智能科技有限公司 程序启动方法、装置、服务器及非易失性存储介质
CN117493057A (zh) * 2023-11-07 2024-02-02 上海合芯数字科技有限公司 ***概率性启动失败的调试方法、设备及介质

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115543694B (zh) * 2022-11-29 2023-06-09 苏州浪潮智能科技有限公司 Flash器件切换方法、装置、计算机设备和存储介质
CN116991637B (zh) * 2023-09-26 2024-02-02 苏州元脑智能科技有限公司 嵌入式***的运行控制方法及装置、电子设备及存储介质
CN117008704B (zh) * 2023-09-27 2023-12-01 天固信息安全***(深圳)有限公司 基于ec或cpld的控制方法、装置、存储介质和电子设备
CN117032813B (zh) * 2023-10-10 2024-02-09 浪潮(山东)计算机科技有限公司 双基本输入输出***闪存的切换判定方法及装置
CN117317418B (zh) * 2023-11-29 2024-02-13 珠海智锐科技有限公司 一种bms管理***的电池控制方法

Citations (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1187024A2 (en) * 2000-09-07 2002-03-13 Hitachi, Ltd. A fault monitoring system
JP2003248598A (ja) * 2002-02-22 2003-09-05 Oki Electric Ind Co Ltd マイクロコントローラ及びマイクロコントローラの故障検出方法
US20050193227A1 (en) * 2004-02-20 2005-09-01 Hitachi, Ltd. Method for deciding server in occurrence of fault
CN1713156A (zh) * 2004-06-25 2005-12-28 联想(北京)有限公司 检测和诊断计算机硬件故障的方法和装置
CN1917446A (zh) * 2006-09-04 2007-02-21 华为技术有限公司 服务器的故障恢复方法及***
CN101025709A (zh) * 2006-02-22 2007-08-29 联想(北京)有限公司 一种计算机操作***故障现场信息获取的***和方法
CN200986699Y (zh) * 2006-12-14 2007-12-05 英业达股份有限公司 多处理器的开机切换电路
CN201145894Y (zh) * 2007-10-26 2008-11-05 比亚迪股份有限公司 单片机监测电路
CN102981925A (zh) * 2012-12-20 2013-03-20 上海市共进通信技术有限公司 应用于通讯设备的寄存器巡检校验控制方法
US20140053017A1 (en) * 2012-08-14 2014-02-20 International Business Machines Corporation Resource system management
CN104598359A (zh) * 2013-10-31 2015-05-06 鸿富锦精密工业(深圳)有限公司 服务器监控***及方法
CN106598790A (zh) * 2015-10-16 2017-04-26 中兴通讯股份有限公司 一种服务器硬件故障检测方法及其装置和服务器
CN106776282A (zh) * 2016-11-24 2017-05-31 华为技术有限公司 一种bios程序的异常处理方法及装置
CN107145410A (zh) * 2017-06-08 2017-09-08 郑州云海信息技术有限公司 一种***异常掉电后自动上电开机的方法、***及设备
CN107590009A (zh) * 2017-08-31 2018-01-16 深圳市恒扬数据股份有限公司 用于主机运行过程的故障处理方法及装置
CN108462746A (zh) * 2018-03-14 2018-08-28 广州西麦科技股份有限公司 一种基于openstack的容器部署方法及架构
CN110362430A (zh) * 2019-07-19 2019-10-22 苏州浪潮智能科技有限公司 一种服务器的自动重启的方法、***及存储介质
CN111708652A (zh) * 2020-05-20 2020-09-25 新华三技术有限公司 一种故障修复方法及装置
CN112114989A (zh) * 2020-08-19 2020-12-22 苏州浪潮智能科技有限公司 一种服务器***故障诊断设计方法
CN112286709A (zh) * 2020-10-29 2021-01-29 苏州浪潮智能科技有限公司 一种服务器硬件故障的诊断方法、诊断装置及诊断设备

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10866623B2 (en) * 2018-11-16 2020-12-15 Dell Products L.P. Information handling system and method to detect and recover from no power/no post failures
CN111399919A (zh) * 2020-03-06 2020-07-10 苏州浪潮智能科技有限公司 一种服务器的启动方法、***、电子设备及存储介质
CN113064747B (zh) * 2021-03-26 2022-10-28 山东英信计算机技术有限公司 一种服务器启动过程中的故障定位方法、***及装置

Patent Citations (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1187024A2 (en) * 2000-09-07 2002-03-13 Hitachi, Ltd. A fault monitoring system
JP2003248598A (ja) * 2002-02-22 2003-09-05 Oki Electric Ind Co Ltd マイクロコントローラ及びマイクロコントローラの故障検出方法
US20050193227A1 (en) * 2004-02-20 2005-09-01 Hitachi, Ltd. Method for deciding server in occurrence of fault
CN1713156A (zh) * 2004-06-25 2005-12-28 联想(北京)有限公司 检测和诊断计算机硬件故障的方法和装置
CN101025709A (zh) * 2006-02-22 2007-08-29 联想(北京)有限公司 一种计算机操作***故障现场信息获取的***和方法
CN1917446A (zh) * 2006-09-04 2007-02-21 华为技术有限公司 服务器的故障恢复方法及***
CN200986699Y (zh) * 2006-12-14 2007-12-05 英业达股份有限公司 多处理器的开机切换电路
CN201145894Y (zh) * 2007-10-26 2008-11-05 比亚迪股份有限公司 单片机监测电路
US20140053017A1 (en) * 2012-08-14 2014-02-20 International Business Machines Corporation Resource system management
CN102981925A (zh) * 2012-12-20 2013-03-20 上海市共进通信技术有限公司 应用于通讯设备的寄存器巡检校验控制方法
CN104598359A (zh) * 2013-10-31 2015-05-06 鸿富锦精密工业(深圳)有限公司 服务器监控***及方法
CN106598790A (zh) * 2015-10-16 2017-04-26 中兴通讯股份有限公司 一种服务器硬件故障检测方法及其装置和服务器
CN106776282A (zh) * 2016-11-24 2017-05-31 华为技术有限公司 一种bios程序的异常处理方法及装置
CN107145410A (zh) * 2017-06-08 2017-09-08 郑州云海信息技术有限公司 一种***异常掉电后自动上电开机的方法、***及设备
CN107590009A (zh) * 2017-08-31 2018-01-16 深圳市恒扬数据股份有限公司 用于主机运行过程的故障处理方法及装置
CN108462746A (zh) * 2018-03-14 2018-08-28 广州西麦科技股份有限公司 一种基于openstack的容器部署方法及架构
CN110362430A (zh) * 2019-07-19 2019-10-22 苏州浪潮智能科技有限公司 一种服务器的自动重启的方法、***及存储介质
CN111708652A (zh) * 2020-05-20 2020-09-25 新华三技术有限公司 一种故障修复方法及装置
CN112114989A (zh) * 2020-08-19 2020-12-22 苏州浪潮智能科技有限公司 一种服务器***故障诊断设计方法
CN112286709A (zh) * 2020-10-29 2021-01-29 苏州浪潮智能科技有限公司 一种服务器硬件故障的诊断方法、诊断装置及诊断设备

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022198972A1 (zh) * 2021-03-26 2022-09-29 山东英信计算机技术有限公司 一种服务器启动过程中的故障定位方法、***及装置
CN114090095A (zh) * 2022-01-19 2022-02-25 苏州浪潮智能科技有限公司 一种多路服务器中cpu的bios加载方法及相关组件
CN114490217A (zh) * 2022-01-21 2022-05-13 苏州浪潮智能科技有限公司 一种me和bios交互的故障测试方法、装置、设备及可读介质
CN114490217B (zh) * 2022-01-21 2023-08-18 苏州浪潮智能科技有限公司 一种me和bios交互的故障测试方法、装置、设备及可读介质
CN114416432A (zh) * 2022-03-29 2022-04-29 山东云海国创云计算装备产业创新中心有限公司 一种芯片安全启动检测方法、装置、设备及介质
CN114416432B (zh) * 2022-03-29 2022-07-08 山东云海国创云计算装备产业创新中心有限公司 一种芯片安全启动检测方法、装置、设备及介质
CN115562913A (zh) * 2022-04-21 2023-01-03 荣耀终端有限公司 一种硬件状态分析方法、装置及***
CN115562913B (zh) * 2022-04-21 2023-11-14 荣耀终端有限公司 一种硬件状态分析方法、装置及***
CN115033462B (zh) * 2022-08-09 2023-01-10 苏州浪潮智能科技有限公司 存储服务器启动检测方法、***、装置、设备及存储介质
CN115033462A (zh) * 2022-08-09 2022-09-09 苏州浪潮智能科技有限公司 存储服务器启动检测方法、***、装置、设备及存储介质
CN116340957A (zh) * 2023-05-29 2023-06-27 苏州浪潮智能科技有限公司 程序启动方法、装置、服务器及非易失性存储介质
CN116340957B (zh) * 2023-05-29 2023-08-11 苏州浪潮智能科技有限公司 程序启动方法、装置、服务器及非易失性存储介质
CN117493057A (zh) * 2023-11-07 2024-02-02 上海合芯数字科技有限公司 ***概率性启动失败的调试方法、设备及介质

Also Published As

Publication number Publication date
US20240012706A1 (en) 2024-01-11
WO2022198972A1 (zh) 2022-09-29
CN113064747B (zh) 2022-10-28

Similar Documents

Publication Publication Date Title
CN113064747B (zh) 一种服务器启动过程中的故障定位方法、***及装置
CN113489597B (zh) 用于网络装置的最佳启动路径的方法和***
CN111324192A (zh) 一种***板卡电源检测方法、装置、设备及存储介质
CN110928743B (zh) 一种计算***、自动诊断方法及存储有其指令的介质
EP3690653A1 (en) Bios recovery and update
CN113064757B (zh) 一种服务器固件自恢复***及服务器
US20080072030A1 (en) Computer System and Method for Updating Program Code
KR101712172B1 (ko) 컴퓨터 장애 증상의 사전 진단 및 분석 복구 시스템 및 방법
CN114116280B (zh) 交互式bmc自恢复方法、***、终端及存储介质
WO2021057795A1 (zh) ***启动方法、装置、节点设备及计算机可读存储介质
CN112667462B (zh) 一种服务器的双闪存运行监测的***、方法及介质
US10824517B2 (en) Backup and recovery of configuration files in management device
CN116775141A (zh) 异常检测方法、装置、计算机设备及存储介质
CN113672306B (zh) 服务器组件自检异常恢复方法、装置、***及介质
CN114816022A (zh) 一种服务器电源异常监控方法、***及存储介质
CN111309388B (zh) 设备的***软件版本的自动回滚***及其方法
CN116032735A (zh) 一种交换机异常信息确定方法、装置、设备及介质
CN107179911B (zh) 一种重启管理引擎的方法和设备
CN111427721B (zh) 异常恢复方法及装置
CN114153503A (zh) 一种bios控制方法、装置、介质
CN114217925A (zh) 一种实现异常自动重启的业务程序运行监控方法及***
CN115129520A (zh) 计算机***、计算机服务器及其启动方法
CN113220358B (zh) 一种多平台bios信息存储方法、***及介质
CN116991637B (zh) 嵌入式***的运行控制方法及装置、电子设备及存储介质
CN114655140B (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
GR01 Patent grant
GR01 Patent grant