CN116483613B - 故障内存条的处理方法及装置、电子设备及存储介质 - Google Patents

故障内存条的处理方法及装置、电子设备及存储介质 Download PDF

Info

Publication number
CN116483613B
CN116483613B CN202310742167.4A CN202310742167A CN116483613B CN 116483613 B CN116483613 B CN 116483613B CN 202310742167 A CN202310742167 A CN 202310742167A CN 116483613 B CN116483613 B CN 116483613B
Authority
CN
China
Prior art keywords
memory
memory bank
power
command
state
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.)
Active
Application number
CN202310742167.4A
Other languages
English (en)
Other versions
CN116483613A (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.)
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 CN202310742167.4A priority Critical patent/CN116483613B/zh
Publication of CN116483613A publication Critical patent/CN116483613A/zh
Application granted granted Critical
Publication of CN116483613B publication Critical patent/CN116483613B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/0793Remedial or corrective actions
    • 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/2205Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
    • 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/2247Verification or detection of system hardware configuration
    • 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/2273Test methods
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本申请实施例提供了一种故障内存条的处理方法及装置、电子设备及存储介质,属于计算机技术领域,其中,该故障内存条的处理方法包括:获取第一下电命令,其中,第一下电命令用于指示内存资源池的基板管理控制器对内存资源池中的故障内存条进行下电处理;响应于第一下电命令,在内存资源池中的第一内存条处于故障状态、且第一内存条允许下电的情况下,向第一内存条所属的目标内存扩展控制器发送第二下电命令,其中,第二下电命令用于指示目标内存扩展控制器对第一内存条进行下电处理。通过本申请,解决了相关技术中的故障内存条的处理方法存在由于对内存资源池进行整机下电导致的资源浪费的问题。

Description

故障内存条的处理方法及装置、电子设备及存储介质
技术领域
本申请实施例涉及计算机技术领域,具体而言,涉及一种故障内存条的处理方法及装置、电子设备及存储介质。
背景技术
人工智能和机器学习、高性能计算、云和边缘计算环境边缘计算场景复杂多样,为满足所有的场景需求,需要庞大且昂贵的资源组合。为了满足越来越大的资源需求,需要在传统服务器硬件架构的基础上重新规划服务器资源管理架构,以在传统服务器架构的基础上进行优化和重构。对此,可以采用服务器资源池化的硬件重组架构方案,该服务器资源池化主要包括:CPU(Central Processing Unit Processor,中央处理器)计算资源池,内存池,存储池,I/O(input/output,输入输出端口)池。
在服务器资源池中,内存资源池为其中不可或缺的一部分。在池化内存环境下,故障内存的识别和定位以及故障后的应急处置是内存资源维护的要点。相关技术中,在内存资源池中的内存条出现故障时,通常是在整机下电之后,对出现故障的内存条进行更换。
然而,对于上述故障内存条的处理方法,由于更换故障内存条需要对内存资源池进行整机下电,会影响所有使用内存资源池中的内存资源的Host(主机)端服务器,从而造成内存资源的浪费。由此可见,相关技术中的故障内存条的处理方法,存在由于对内存资源池进行整机下电导致的资源浪费的问题。
发明内容
本申请实施例提供了一种故障内存条的处理方法及装置、电子设备及存储介质,以至少解决相关技术中的故障内存条的处理方法存在由于对内存资源池进行整机下电导致的资源浪费的问题。
根据本申请的一个实施例,提供了一种故障内存条的处理方法,包括:获取第一下电命令,其中,所述第一下电命令用于指示内存资源池的基板管理控制器对所述内存资源池中的故障内存条进行下电处理;响应于所述第一下电命令,在所述内存资源池中的第一内存条处于故障状态、且所述第一内存条允许下电的情况下,向所述第一内存条所属的目标内存扩展控制器发送第二下电命令,其中,所述第二下电命令用于指示所述目标内存扩展控制器对所述第一内存条进行下电处理。
根据本申请的又一个实施例,提供了一种故障内存条的处理装置,包括:获取单元,用于获取第一下电命令,其中,所述第一下电命令用于指示内存资源池的基板管理控制器对所述内存资源池中的故障内存条进行下电处理;第一发送单元,用于响应于所述第一下电命令,在所述内存资源池中的第一内存条处于故障状态、且所述第一内存条允许下电的情况下,向所述第一内存条所属的目标内存扩展控制器发送第二下电命令,其中,所述第二下电命令用于指示所述目标内存扩展控制器对所述第一内存条进行下电处理。
根据本申请的又一个实施例,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
根据本申请的又一个实施例,还提供了一种电子设备,包括基板管理控制器、至少一个内存扩展控制器、所述至少一个内存扩展控制器中的每个内存扩展控制器下属的至少一个内存条、存储器以及存储在所述基板管理控制器上并可在所述处理器上运行的计算机程序,其特征在于,所述基板管理控制器执行所述计算机程序被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
通过本申请实施例,采用单节点控制内存条进行下电并更换的方式,获取第一下电命令,其中,第一下电命令用于指示内存资源池的基板管理控制器对内存资源池中的故障内存条进行下电处理;响应于第一下电命令,在内存资源池中的第一内存条处于故障状态、且第一内存条允许下电的情况下,向第一内存条所属的目标内存扩展控制器发送第二下电命令,其中,第二下电命令用于指示目标内存扩展控制器对第一内存条进行下电处理,由于单节点控制故障内存条进行下电,通过内存资源池的基板管理控制器接收下电命令后,获取第一内存条的位置信息,再通过下发命令的方式下发给目标内存扩展控制器,再对该故障内存条进行下电处理,从而达到提高识别故障内存准确率的目的,实现了减轻运维人员操作压力的技术效果,解决了相关技术中的故障内存条的处理方法存在的由于对内存资源池进行整机下电导致的资源浪费的问题。
附图说明
图1是本申请实施例的一种故障内存条的处理的计算机终端的硬件结构框图;
图2是根据本申请实施例的一种故障内存条的处理方法的流程示意图;
图3是根据本申请实施例的一种可选的内存资源池的示意图;
图4是根据本申请实施例的一种可选的网络架构的示意图;
图5是根据本申请实施例的另一种可选的网络架构的示意图;
图6是根据本申请实施例的一种可选的故障内存条的处理方法的示意图;
图7是根据本申请实施例的另一种可选的故障内存条的处理方法的示意图;
图8是根据本申请实施例的一种故障内存条的处理装置的结构框图;
图9是根据本申请实施例的一种可选的电子设备的结构框图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本申请的实施例。
需要说明的是,本申请实施例的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
本申请实施例中所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在计算机终端上为例,图1是本申请实施例的一种故障内存条的处理的计算机终端的硬件结构框图。如图1所示,计算机终端可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于基板管理控制器、微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,其中,上述计算机终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述计算机终端的结构造成限定。例如,计算机终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本申请实施例中的故障内存条的处理方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至移动终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输设备106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端的通信供应商提供的无线网络。在一个实例中,传输设备106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
根据本申请实施例的一个方面,提供了一种故障内存条的处理方法,以由计算机终端来执行本实施例中的故障内存条的处理方法为例,图2是根据本申请实施例的一种故障内存条的处理方法的流程示意图,如图2所示,该流程包括如下步骤:
步骤S202,获取第一下电命令,其中,第一下电命令用于指示内存资源池的基板管理控制器对内存资源池中的故障内存条进行下电处理。
本实施例中的故障内存条的处理方法可以应用到对内存资源池中的故障内存条进行下电并更换的场景。内存资源池中可以包含一个或多个内存条,内存条可以是双列直插式存储模块(Dual-Inline-Memory-Modules,简称为DIMM)也可以是其他类型的内存条,其中,故障内存条是内存资源池中运行状况异常的内存条。内存资源池可以由内存资源池的基板管理控制器(Baseboard Management Controller,简称为BMC)进行控制,内存资源池中可以由内存扩展控制器(Memory Expander Controller,简称为MXC)来实现内存条的信息获取以及上下电管理,这里,内存资源池的BMC可以通过集成电路总线(Inter-IntegratedCircuit,简称为I2C)连接至MXC,通过I2C与MXC固件交互获取内存条信息,还可通过I2C命令与MXC固件交互控制对应下属内存的上下电,这里,连接到内存资源池的BMC上的MXC的数量可以为一个或多个,而属于同一个MXC的内存条的数量也可以为一个或多个。其中,下电可以指对内存资源池中的故障内存条停止供电,也可以指其他操作。
例如,如图3所示,内存资源池为DIMM资源池(即,DIMM pool),DIMM资源池的BMC通过I2C与3个MXC固件(即,MXC1、MXC2和MXC3)相连,从而可以通过I2C与各个MXC固件交互,获取各个MXC下属的内存条信息,每个MXC固件下属的内存条均为4个DIMM。其中,在MXC2下属的4个DIMM中,存在一个DIMM(ERR),即,故障内存条。
需要说明的是,服务器资源池化的硬件重组架构能够实现资源的动态分配,可以极大提高服务器硬件资源的利用率,并降低了单个服务器的运维成本。而在服务器资源池中,内存资源池(或称内存池)是其中不可或缺的一部分,其可以作为计算资源池中的计算设备所使用的内存资源,计算资源池可以包括一组计算设备,例如,一组Host端服务器,每个Host端服务器可以使用内存资源池中的一个或多个内存条(即,使用一个或多个内存条作为内存资源),不同Host端服务器所使用的内存条可以是不同的。
由于内存和I/O的扩展能力远远落后于计算密度的增长,严重阻碍了异构计算的快速发展。计算密度越来越高,平均到每个核心的内存和带宽也就随之持续下降。对此,在本实施例中所用的平台通过使用CXL(Compute Express Link,计算快速链接)的缓存一致性总线实现内存拉远,解决目前存在的内存带块不足、容量需求大的问题。这里的平台可以是进行内存资源池中的内存资源的分配与管理的平台。其中,MXC可以通过CXL总线与Host端服务器(例如,Host端服务器的BMC)进行连接,以使得Host端服务器可以使用内存资源池中的内存资源(例如,内存条)。
可选地,一个MXC可以与一个或多个Host端服务器连接,从而Host端服务器可以访问并使用对应MXC下属的内存条资源,两者连接的方式可以是:通过内存资源池的CXL总线转接到CDFP(400Gbps form-factor pluggable,400 Gbps可热插拨模块)接口,以供计算资源池连接使用内存资源,可选地,内存资源池与计算资源池也可以采用其他方式进行连接,本实施例中对此不做限定。这里,每个Host端服务器中可以包含CPU、BMC或其他器件,其中,Host端服务器中CPU和BMC可以通过LPC(Low pin count Bus,精简引脚总线)总线进行交互,例如,LPC总线可以将Host端服务器的BMC与Host端服务器的CPU中的BIOS(Basic InputOutput System,基本输入输出系统)进行连接,CPU和BMC也可以通过其他方式进行交互。这里,Host端服务器可以表示能够同其他机器互相访问的本地计算机,也可以表示为其他软硬件提供服务的设备或者应用程序,还可以表示其他服务器。
例如,如图4所示,内存资源池中的MXC通过CDFP接口与一个或多个Host端服务器相连接,此时,Host端服务器可以获取到MXC下属的内存条资源,其中,Host端服务器中的CPU和BMC可以通过LPC总线进行交互。
为了方便在内存资源池的BMC与Host端服务器的BMC之间进行信息交互,可以将内存资源池的BMC和计算资源池(即,Host端服务器)的BMC连接在一个网络交换机(NetworkSwitch)中(内存资源池的BMC和计算资源池的BMC的专用管理口网络都接到一个网络交换机中,实现网络互联),从而实现网络互联,内存资源池的BMC和计算资源池的BMC与网络交换机之间的连接方式可以有多种,例如,通过LAN(Local Area Network,局域网)进行连接,也可以采用其他方式。
在另一种场景下,例如,在CXL Switch(Compute Express Link Switch,一种开放性互连协议标准开关)场景下,内存资源池位于内存资源池服务器上,在内存资源池服务器与Host端服务器之间,添加一个CXL Switch服务器节点,内存资源池服务器通过CXL交换服务器和与内存资源池中的每个内存条对应的主机端服务器的基板管理控制器进行连接。内存资源池服务器的CDFP(一种封装形式)接口统一接入CXL Switch服务器(可以将内存的CXL总线转接到CDFP接口以供计算资源池连接使用内存资源),CXL Switch服务器再连接Host端服务器,由CXL Switch节点统一分配内存资源(即,CXL交换服务器用于为与每个内存条对应的主机端服务器分配内存资源),给Host端服务器提供内存服务,此时,Host端服务器所使用的内存资源可由CXL Switch动态分配。
例如,包含DIMM资源池、Host端服务器和网络交换机的网络架构可以如图5所示,将内存池化为内存资源池服务器,每个内存池服务器中有很多组内存通过MXC集中控制,每组内存经由MXC连接CDFP接口接出。Host服务器可作为计算资源池节点接入CDFP端口,从而能够访问并使用对应MXC芯片所连接的CXL内存资源。从而实现内存拉远。此场景下,Host使用CDFP接口所连接的内存资源。
内存资源池服务器的CDFP接口统一接入CXL Switch服务器。CXL Switch服务器再连接Host服务器。由CXL Switch节点统一分配内存资源,给Host Server提供内存服务。此场景下,Host所使用的内存资源可由CXL Switch动态分配。
相关技术中,当内存资源池中出现运行状况异常的内存条时,通常是将整机下电,再对出现运行状况异常的内存条进行更换,更换完之后再整机上电。对于上述对故障的内存条进行更换的方式,可能会影响使用内存资源池中的内存资源的所有Host端服务器,从而造成内存资源的浪费。因此,如何尽可能的在不影响内存资源池业务功能的基础上实现故障内存的修复和替换,是池化资源架构下保证业务正常运行所需解决的问题。
为了至少部分解决上述问题,在本实施例中,可以单节点控制故障内存条进行下电,例如,内存资源池中由MXC来实现内存的信息获取以及上下电管理:在内存资源池中存在第一内存条处于故障状态、且该第一内存条允许下电的情况下,内存资源池中的BMC可以通过下发下电命令的方式指示该故障内存条所属的MXC对其进行下电处理,在对故障内存条进行单独下电之后,维护人员可以对已下电的故障内存条进行更换,由于不需要在整机下电之后再进行故障内存条的更换,不会影响到使用内存资源池中的其他内存条的Host端服务器上的业务的正常运行,可以避免资源的浪费,提高了系统业务的执行效率。这里,单节点控制故障内存条是指:对故障内存条进行单独控制,而不控制其他的节点,不会影响到其他节点上业务的正常运行。这里,通过提供一种内存池整机无需断电即可实现的故障内存更换方案,可以减轻运维人员维护压力,对内存故障造成的业务影响降低到最小,无需内存资源池整机下电而影响所有使用内存池内存资源的Host端服务器。
对于内存资源池的BMC,其可以获取第一下电命令。第一下电命令可以用于指示内存资源池的基板管理控制器对内存资源池中的故障内存条进行下电处理,该第一下电命令中可以携带有待下电的内存条的标识信息,从而具体指示要下电的内存条,也可以不携带内存条的标识信息,从而指示内存资源池的BMC自行确定故障内存条并对其进行下电处理。其中,第一下电命令中携带的内存条的标识信息可以包含一个或多个内存条的标识信息,从而可以指示对一个或多个内存条进行下电处理。
可选地,第一下电命令的获取方式可以有一种或多种,可以包含但不限于以下至少之一:从控制设备接收到第一下电命令,自动生成第一下电命令。其中,对于从控制设备接收到第一下电命令的场景,可以为内存资源池的BMC或者其他部件可以通过日志或者其他形式记录内存资源池中的故障内存条的报错信息,运维人员可以通过查看报错信息,确定内存资源池中的内存条发生故障,运维人员再对控制设备下发下电命令,还可以为其他场景;对于自动生成第一下电命令的场景,可以为内存资源池的BMC可以周期性地检测自身的内存条,若检测到存在故障状态的内存条,可以自动下发下电命令,还可以为其他场景。上述第一下电命令可以为IPMI(Intelligent Platform Management Interface,智能平台管理接口)命令,也可以为其他命令。
步骤S204,响应于第一下电命令,在内存资源池中的第一内存条处于故障状态、且第一内存条允许下电的情况下,向第一内存条所属的目标内存扩展控制器发送第二下电命令,其中,第二下电命令用于指示目标内存扩展控制器对第一内存条进行下电处理。
在内存资源池的基板管理控制器接收到第一下电命令后,在内存资源池中的第一内存条满足一定条件下,内存资源池的基板管理控制器可以对该第一内存条所属的目标内存扩展控制器下发执行命令。其中,对于内存资源池中的第一内存条满足一定条件,上述条件可以是内存资源池中的第一内存条处于故障状态,且第一内存条允许下电的情况,还可以是其他条件。对于对该第一内存条所属的目标内存扩展控制器下发执行命令,可以是内存资源池的基板管理控制器向第一内存条所属的目标内存扩展控制器发送第二下电命令,也可以是其他操作。这里,第一内存条处于故障状态的情况,可以是该内存条加电时无显示或者显示异常,也可以是该内存条出现声音报警,或者是其他情况,本实施例在此不做限定。这里,第一内存条允许下电的情况可以是Host端服务器处于断网或关机的状态,还可以是其他情况。其中,第一内存条的数量可以是一个或多个,对应的第一内存条所属的目标内存扩展控制器的数量也可以是一个或多个。
对于第二下电命令,可以指示目标内存扩展控制器对第一内存条进行下电处理,也可以指示其他操作,上述第二下电命令可以是SMBus(System Management Bus,系统管理总线)命令,也可以是I2C(Inter-Integrated Circuit,集成电路总线)命令,还可以是其他命令,在本实施例中不做限定。其中,内存资源池的基板管理控制器和第一内存条所属的目标内存扩展控制器,可以基于SMBus总线通过SMBus命令进行交互,也可以基于I2C总线通过I2C命令进行交互,还可以通过其他方式进行交互。
这里,在内存条故障需要更换时,可以单节点控制故障内存条下电,不影响其他节点业务的正常运行。内存池整机无需断电即可实现的故障内存替换,减轻运维人员维护压力,对内存故障造成的业务影响降低到最小,无需内存资源池整机下电而影响所有使用内存池内存资源的Host端服务器,这里,内存条故障需要更换可以是由内存资源池的BMC监控内存健康状态信息确定的,也可以是通过其他方式确定的,本实施例中对此不做限定。
示例性地,在检测到内存致命错误影响到Host端服务器业务时,需更换内存条进行检修维护。内存资源池BMC可以通过与MXC交互控制下属的内存条下电。在此过程中,不会影响其他路MXC及内存的正常使用,即不影响内存资源池服务器所连接的其他Host端服务器正常使用CXL内存资源。
通过上述步骤S202至步骤S204,获取第一下电命令,其中,第一下电命令用于指示内存资源池的基板管理控制器对内存资源池中的故障内存条进行下电处理;响应于第一下电命令,在内存资源池中的第一内存条处于故障状态、且第一内存条允许下电的情况下,向第一内存条所属的目标内存扩展控制器发送第二下电命令,其中,第二下电命令用于指示目标内存扩展控制器对第一内存条进行下电处理,解决了相关技术中的故障内存条的处理方法存在由于对内存资源池进行整机下电导致的资源浪费的问题,可以避免资源的浪费,提高了系统业务的效率,从而减轻运维人员的压力。
在一个示例性实施例中,获取第一下电命令,包括:
S11,接收控制设备发送的第一下电命令,其中,第一下电命令中携带有第一内存条的位置信息,第一内存条的位置信息用于指示第一内存条在内存资源池中所属的位置,第一下电命令用于指示内存资源池的基板管理控制器对第一内存条进行下电处理。
在本实施例中,第一下电命令可以是由内存资源池的基板管理控制器自动生成的。为了提高故障内存条更换的合理性,避免由于故障内存条下电对于业务运行的影响,在本实施例中,可以由管理员或者其他下相关人员基于获知的故障内存条手动触发控制设备向内存资源池的基板管理控制器发送的。对于内存资源池的基板管理控制器,其可以接收控制设备发送的第一下电命令,该第一下电命令可以用于指示内存资源池的基板管理控制器对第一内存条进行下电处理。
这里,第一下电命令中可以携带一个或多个信息,可以包括:用于指示待下电的第一内存条在内存资源池中的位置的内存条位置信息。此外,还可以包含其他与下电第一内存条相关的信息,例如,下电条件指示信息,即,对第一内存条进行下电所需满足的条件,其可以是下电时间指示信息,还可以是其他类型的指示信息,本实施例中对此不做限定。
例如,维护人员更换故障内存条时,可以通过IPMI命令告知内存资源池BMC将故障内存条下电,而后进行故障内存条的更换。
通过本实施例,由控制设备向内存资源池的基板管理控制器发送下电命令,以指示对故障内存条进行下电处理,可以提高故障内存条更换的合理性和可控性。
在一个示例性实施例中,在获取第一下电命令之后,上述方法还包括:
S21,从第一下电命令中提取出第一内存条的位置信息;
S22,根据第一位置信息和第二位置信息,确定出待下电的第一内存条。
在本实施例中,第一下电命令中可以携带有第一内存条的位置信息,该第一内存条的位置信息用于指示待下电的第一内存条在内存资源池中的位置。在内存资源池中的全部内存条可以进行统一定位,在此情况下,内存资源池中的全部内存条可以进行统一编号。为了提高内存条定位的便捷性,也可以按照内存条所属的内存扩展控制器、以及内存条在所属的内存扩展控制器中的位置对内存条进行定位,在此情况下,内存资源池中的内存条可以按照在所属的内存扩展控制器进行编号。
对应地,内存条的位置信息可以包括两部分,即,一部分位置信息可以用于指示内存条所属的内存扩展控制器在内存资源池的基板管理控制器所连接的多个内存扩展控制器中的位置,另一部分位置信息用于指示内存条在所属的内存扩展控制器中的位置。对于第一内存条,内存资源池的基板管理控制器可以对第一下电命令中提取出第一内存条的位置信息,这里,第一内存条所属的内存扩展控制器为目标内存扩展控制器,第一内存条的位置信息可以包括:第一位置信息,用于指示目标内存扩展控制器在内存资源池的基板管理控制器所连接的多个内存扩展控制器中的位置,第二位置信息,用于指示第一内存条在目标内存扩展控制器中的位置。上述第一内存条可以有一个或多个,可以从第一下电命令分别提取出各个第一内存条的位置信息。
在提取出第一位置信息和第二位置信息之后,可以根据第一位置信息和第二位置信息对待下电的第一内存条进行定位,从而确定出待下电的第一内存条。对于第一内存条有多个的场景,可以根据每个第一内存条的位置信息分别对每个第一内存条进行定位,每个第一内存条的定位方式可以是类似的,本实施例中在此不做赘述。
例如,如图3所示,故障的DIMM为MXC2中的第二个DIMM,DIMM资源池的BMC可以从接收到的IPMI命令中提取出内存位置信息,该内存位置信息用于指示待下电的DIMM的位置,即,第几个MXC下属的第几个DIMM,从而实现对待下电DIMM的精准定位。
通过本实施例,通过待下电内存条所属的内存扩展控制器的位置和待下电内存条在所属的内存扩展控制器中的位置对待下电内存条进行定位,可以提高待下电内存条定位的准确性和便捷性。
在一个示例性实施例中,获取第一下电命令之后,上述方法还包括:
S31,响应于第一下电命令,在第一内存条处于故障状态、但第一内存条不允许下电的情况下,向控制设备发送第一下电异常指示信息,其中,第一下电异常指示信息用于指示由于第一内存条不允许下电导致第一内存条下电失败;
S32,在第一内存条处于正常状态的情况下,向控制设备发送第二下电异常指示信息,其中,第二下电异常指示信息用于指示由于第一内存条处于正常状态导致第一内存条下电失败。
在接收到第一下电命令后,内存资源池的基板管理控制器可以根据第一内存条的内存条状态确定是否需要对第一内存条下电以及是否能够对第一内存条下电。对于不同的内存条状态,内存资源池的基板管理控制器所执行的操作可以是不同的。例如,响应于第一下电命令,在第一内存条处于故障状态、但第一内存条允许下电的情况下,则可以继续执行对第一内存条进行下电的操作。在第一内存条下电成功或者下电失败之后,可以向控制设备发送内存条下电结果,以指示第一内存条是否下电成功。
作为一种可选的实施方式,如果第一内存条处于故障状态、但第一内存条不允许下电,内存资源池的基板管理控制器可以等待一段时间之后重新确定第一内存条是否允许下电。可选地,内存资源池的基板管理控制器也可以直接向控制设备发送第一下电异常指示信息,或者,在多次确定第一内存条不允许下电之后向控制设备发送第一下电异常指示信息,以指示由于第一内存条不允许下电导致第一内存条下电失败。
作为另一种可选的实施方式,如果第一内存条处于正常状态,即,第一内存条不存在故障,此时,可以确定不需要对第一内存条进行下电处理,内存资源池的基板管理控制器可以忽略第一下电命令。可选地,内存资源池的基板管理控制器可以向控制设备发送第二下电异常指示信息,以指示由于第一内存条处于正常状态导致第一内存条下电失败。
这里,对于第一内存条处于故障状态、但第一内存条不允许下电的情况,可以为第一内存条所对应的Host端服务器处于关机或断电的情况,也可以为其他情况。第一下电命令中可以携带有用于指示第一内存条的下电原因的描述信息,以便内存资源池的基板管理控制器基于该描述信息判定,在第一内存条处于正常状态时不需要下电。可选地,无论第一内存条是否处于正常状态,内存资源池的基板管理控制器均可以对第一内存条进行下电处理。
通过本实施例,根据第一内存条的内存条状态确定是否需要对第一内存条下电以及是否能够对第一内存条下电,可以提高内存条下电的灵活性。
在一个示例性实施例中,在获取第一下电命令之后,上述方法还包括:
S41,根据内存资源池的基板管理控制器所记录的内存条故障信息,确定内存资源池中处于故障状态的内存条,其中,内存条故障信息是在检测到处于故障状态的内存条的情况下所记录的、与处于故障状态的内存条对应的故障信息。
在检测到处于故障状态的内存条的情况下,内存资源池的基板管理控制器可以通过内存条故障信息记录处于故障状态的故障内存条,内存条故障信息还可以记录故障内存条的故障关联信息,例如,故障类型、故障时间等,根据内存条故障信息可以确定内存资源池中处于故障状态的内存条。可选地,上述内存条故障信息中可以包括内存条的报错信息。
在本实施例中,第一下电命令可以仅指示对故障内存条进行下电处理,而并不指定待下电的故障内存条。在此情况下,内存资源池的基板管理控制器可以根据内存资源池的基板管理控制器所记录的上述内存条故障信息,确定内存资源池中处于故障状态的内存条。以内存条故障信息用于记录处于故障状态的内存条的具体报错信息和具体位置为例,根据上述的内存条故障信息,可以确定内存资源池中的故障内存条,以及故障内存条的具体报错内容和具体位置。
可选地,内存条故障信息的记录形式可以为一种或多种,其中,内存条故障信息可以是以日志形式记录的,也可以是以其他方式记录的,例如,上述日志可以为SEL(SystemEvent Log,系统事件日志)日志,也可以为其他日志。
通过本实施例,通过在检测到故障内存条时记录与故障内存条对应的故障信息,从而在接收到下电命令之后,基于记录的故障信息确定待下电的故障内存条,提高了故障内存条定位的便捷性。
在一个示例性实施例中,在获取第一下电命令之后,上述方法还包括:
S51,向目标内存扩展控制器发送状态验证命令,其中,状态验证命令用于指示目标内存扩展控制器验证目标内存条的故障状态;
S52,接收目标内存扩展控制器响应于状态验证命令发送的第一响应消息,其中,第一响应消息用于指示目标内存条是否处于故障状态。
在对目标内存条进行下电处理之前,可以通过目标内存扩展控制器验证目标内存条是否处于故障状态,即,目标内存条是否为故障内存条。在验证目标内存条的故障状态时,内存资源池的基板管理控制器可以向目标内存扩展控制器发送状态验证命令,以指示目标内存扩展控制器对目标内存条是否处于故障状态进行验证。该状态验证命令可以是任意可以在内存资源池的基板管理控制器和内存扩展控制器之间进行传递的命令,可以但不限于为I2C命令。
响应于接收到的状态验证命令,目标内存扩展控制器可以对目标内存条是否处于故障状态进行验证,验证的方式可以是向目标内存条发送验证数据包,基于是否接收到目标内存条返回的响应数据包确定目标内存条是否处于故障状态,也可以是其他验证方式,本实施例中对于内存条故障的验证方式不做限定。基于验证结果,目标内存扩展控制器可以向内存资源池的基板管理控制器发送第一响应消息,以指示目标内存条是否处于故障状态。而内存资源池的基板管理控制器可以基于接收到的第一响应消息确定目标内存条是否处于故障状态。
这里,在实现内存部分节点断电时,添加内存断电保护机制:只有在内存资源池BMC识别到内存故障属实,且连接此故障内存的Host端服务器已经关机或断电后,BMC才能对故障内存条进行下电处理,可以避免出现内存误下电而影响业务正常运行。
通过本实施例,通过与内存条所属的内存扩展控制器进行交互对内存条的故障状态进行验证,可以提高内存条下电的准确性。
在一个示例性实施例中,在获取第一下电命令之后,上述方法还包括:
S61,向与目标内存条对应的主机端服务器的基板管理控制器发送状态获取命令,其中,状态获取命令用于获取与目标内存条对应的主机端服务器的开关机状态;
S62,接收与目标内存条对应的主机端服务器的基板管理控制器响应于状态获取命令返回的第二响应消息,其中,第二响应消息用于指示与目标内存条对应的主机端服务器的开关机状态;
S63,在根据第二响应消息确定与目标内存条对应的主机端服务器的关机状态的情况下,确定目标内存条允许下电。
除了内存条处于故障状态以外,内存条允许下电的条件还可以包括:连接到该内存条的Host端服务器处于关机状态,即,连接此故障内存的Host端Server已经关机或断电。这里,Host端服务器处于开关机状态可以指Host端服务器的主机已关机或者断电。在获取第一下电命令之后,内存资源池的基板管理控制器可以向与目标内存条对应的主机端服务器的基板管理控制器发送状态获取命令,以请求获取与目标内存条对应的主机端服务器的开关机状态。
与目标内存条对应的主机端服务器的基板管理控制器在接收到状态获取命令之后,可以对本主机端服务器的开关机状态进行确认。其中,状态获取命令可以是I2C命令,也可以是其他能够在内存资源池的基板管理控制器和主机端服务器的基板管理控制器之间传输的命令。内存资源池的基板管理控制器可以接收与目标内存条对应的主机端服务器的基板管理控制器响应于状态获取命令返回的第二响应消息,该第二响应消息用于指示与目标内存条对应的主机端服务器的开关机状态。
根据第二响应消息,可以确定与目标内存条对应的主机端服务器是否处于关机状态,如果处于关机状态,内存资源池的基板管理控制器可以确定目标内存条允许下电。
例如,如表1所示,内存条允许下电的条件包括:内存条处于故障状态,与内存条对应的Host端服务器处于关机状态(或者断电状态):
表1
如表1所示,仅在内存条处于故障状态且连接故障内存条的Host端服务器已经关机或断电时,内存条才允许下电。
示例性地,在进行内存条下电时,内存资源池的BMC所提供的故障内存下电IPMI命令可以对内存故障状态及Host连接状态进行验证,在验证确为故障内存并已经将对应连接的Host端服务器关机之后,再与MXC交互进行故障内存下电处理。这里,内存资源池的BMC与Host端服务器的BMC连接到同一个网络交换机上,内存资源池的BMC通过网络获取各个Host端节点的开关机状态,并能检查Host端BMC是否有收到Host端BIOS所发送的内存异常故障告警信息。
需要说明的是,内存资源池的BMC通过上述IPMI命令提供的内存位置信息,定位到具体的内存条。内存资源池的BMC通过检查此内存是否出现异常状态,判断此内存的故障状态。内存资源池的BMC还可以通过网络发送Redfish命令访问此内存调对应Host端BMC,获取Host系统的开关机状态。当内存资源池的BMC能够验证此内存条确实故障,且对应的Host端已完成关机,不会因为断电内存条导致Host数据异常丢失时,再与MXC进行交互,执行故障内存下电操作。
通过本实施例,通过与内存条对应的Host端服务器的BMC进行交互确定与内存条对应的Host端服务器是否已关机或断电,从而确定内存条是否允许下电,可以提高故障内存条下电的准确性。
在一个示例性实施例中,响应于第一下电命令,在内存资源池中的第一内存条处于故障状态、且第一内存条允许下电的情况下,向第一内存条所属的目标内存扩展控制器发送第二下电命令,包括:
S71,响应于第一下电命令,在内存资源池中的第一内存条处于故障状态、且第一内存条允许下电的情况下,向第一内存条所属的目标内存扩展控制器发送第二下电命令,并向与第一内存条位于同一内存组中的同组内存条所属的内存扩展控制器发送第三下电命令。
在本实施例中,在CXL Switch场景下,内存资源池中的内存条以内存组的方式被分配给主机端服务器,可以通过以下方式对故障内存条进行单节点下电处理:通过BMC虚拟出Host端服务器所实际使用的内存组(即,内存条组),通过MXC对此内存组所属内存条进行下电处理。对于第一下电命令,响应于第一下电命令,可以按照与前述实施例中类似的方式确定内存资源池中的故障内存条,确定的故障内存条可以包括第一内存条,该第一内存条所属的内存扩展控制器为目标内存扩展控制器,该第一内存条为一个内存条组中的内存条,第一内存条可以是前述目标内存条。
在对第一内存条进行下电处理时,可以向目标内存扩展控制器发送第二下电命令,以指示对第一内存条进行下电处理。同时,可以向与第一内存条位于同一内存组中的同组内存条所属的内存扩展控制器发送第三下电命令,以指示同组内存条所属的内存扩展控制器对同组内存条进行下电处理。可选地,如果第一内存条所属的内存组中存在至少两个内存条属于同一内存扩展控制器,则可以通过不同的下电命令指示对各个内存条进行下电处理,也可以通过一个下电命令指示对同一内存扩展控制器下的所有需下电内存条进行下电处理,本实施例中对此不做限定。
通过本实施例,通过对故障内存条所属的内存条组中的各个内存条所属的内存扩展控制器发送下电命令,以便下电故障内存条所属的内存条组中的多有内存条,可以提高业务运行的安全性。
在一个示例性实施例中,在对第一内存条进行下电处理之前,与第一内存条对应的目标主机端服务器处于关机状态。确定目标主机端服务器处于关机状态的方式与前述实施例中类似,在此不做赘述。在对第一内存条进行下电处理,维护人员可以对更换第一内存条,得到新的第一内存条,即,已完成替换的第一内存条,同时可以触发对已完成替换的第一内存条进行上电,以便将其纳入到内存资源池中被Host端服务器所使用。
对应地,在向第一内存条所属的目标内存扩展控制器发送第二下电命令之后,上述方法还包括:
S81,接收第一上电命令,其中,第一上电命令用于指示对已完成替换的第一内存条进行上电处理;
S82,响应于第一上电命令,对第一内存条和目标主机端服务器进行协同上电处理。
内存资源池的基板管理控制器可以接收到第一上电命令,该第一上电命令用于指示对已完成替换的第一内存条进行上电处理。第一上电命令可以是从控制设备接收的,控制设备发送第一上电命令的方式与发送第一下电命令的方式类似,在此不做赘述,其中,第一上电命令可以是IPMI命令,也可以是其他命令。响应于接收到的第一上电命令,内存资源池的基板管理控制器可以对第一内存条进行上电处理。对第一内存条进行上电处理可以是通过第一内存条所属的内存扩展控制器执行的。
可选地,内存资源池相关的内存条的上电可以与Host服务器相配合。对于目标主机端服务器,可以控制其与第一内存条进行协同上电,以保证目标主机端服务器上的业务可以安全运行,对目标主机端服务器进行上电处理可以是由内存资源池的基板管理控制器执行的,也可以是通过第一内存条所属的内存扩展控制器执行的。本实施例中对此不做限定。
例如,在故障内存条更换完成之后,可以由维护人员发送IPMI命令(IPMI命令中可以包含内存条位置信息),告知内存资源池的BMC已完成故障内存条的替换,由内存资源池的BMC控制此MXC芯片下属的内存条和对应Host服务器的上电时序。
通过本实施例中,通过基于接收到的上电指令对已更换内存条以及使用该已更换内存条的Host端服务器进行协同上电处理,可以提高业务运行的安全性和效率。
在一个示例性实施例中,响应于第一上电命令,对第一内存条和目标主机端服务器进行协同上电处理,包括:
S91,响应于第一上电命令,向目标主机端服务器的基板管理控制器发送第一带外控制指令,其中,第一带外控制指令用于指示对目标主机端服务器进行上电处理;
S92,接收目标主机端服务器的基板管理控制器响应于第一带外控制指令返回的第三响应消息,向目标内存扩展控制器发送第二上电命令,其中,第三响应消息是在目标主机端服务器上电至挂起到内存状态之后发送的,第二上电命令用于指示对第一内存条进行上电处理;
S93,在第一内存条上电完成之后,向目标主机端服务器的基板管理控制器发送第二带外控制指令,其中,第二带外控制指令用于指示继续对目标主机端服务器进行上电处理,以使目标主机端服务器由关机状态切换到开机状态。
在对第一内存条和目标主机端服务器进行协同上电处理时,可以在Host端服务器的BIOS运行到内存Training(训练)阶段之前完成与内存资源池的内存条的协同上电。在此情况下,可以首先启动Host端服务器。内存资源池的基板管理控制器可以向目标主机端服务器的基板管理控制器发送第一带外控制指令(如图6所示),以指示对目标主机端服务器进行上电处理。该第一带外控制指令可以是通过目标主机端服务器提供的带外管理接口发送的,带外管理接口可以是Redfish(红鱼接口),第一带外控制指令可以是Redfish命令。
响应于接收到的第一带外控制指令,目标主机端服务器可以进行上电处理,在上电完成之后或者上电至与内存关联的状态时,向内存资源池的基板管理控制器发送第三响应消息(如图6所示),以指示目标主机端服务器已上电至与内存关联的状态,与内存关联的状态可以是挂起到内存状态。响应于接收到的第三响应消息,内存资源池的基板管理控制器可以向目标内存扩展控制器发送第二上电命令,以指示对第一内存条进行上电处理。
接收到第二上电命令之后,目标内存扩展控制器可以对第一内存条进行上电处理,在第一内存条上电完成之后,可以向内存资源池的基板管理控制器发送用于指示第一内存条已完成上电的指示消息(如图6所示)。此时,内存资源池的基板管理控制器可以向目标主机端服务器的基板管理控制器发送第二带外控制指令(如图7所示),以指示继续对目标主机端服务器进行上电处理,从而控制目标主机端服务器由关机状态切换到开机状态,即,由挂起到内存状态切换至上电完成状态。
例如,Host端服务器内的BMC可以提供计算资源池上电控制的带外管理接口,由内存资源池共同控制Host服务器上电至ACPI S3(挂起到RAM)状态后,进行内存的上电操作,完成后再带外控制Host端服务器继续上电开机,让BIOS完成内存Training过程,实现正常功能使用。
通过本实施例中,通过先将Host端服务器上电至挂起到内存状态,再对内存条进行上电处理,最后完成Host端服务器继续上电开机,可以提高协同上电的合理性。
在一个示例性实施例中,上述方法还包括:
S101,获取内存资源池中的每个内存条的健康状态,其中,每个内存条的健康状态用于指示每个内存条的运行状况;
S102,在根据每个内存条的健康状态确定内存资源池中的第二内存条处于故障状态的情况下,通过日志形式记录与第二内存条对应的报错信息以及第二内存条在内存资源池中所处的位置,其中,与第二内存条对应的报错信息用于指示第二内存条处于故障状态。
为了方便确定出故障内存条,可以对每个内存条的健康状态进行检测,周期性地或者由事件触发获取内存资源池中的每个内存条的健康状态,每个内存条的健康状态用于指示每个内存条的运行状况。内存条的健康状态可以是基于一个或多种参考信息确定的,可以包括但不限于以下至少之一:内存条的运行参数,运行日志信息等。
如果根据每个内存条的健康状态,确定内存资源池中的第二内存条处于故障状态,则可以记录第二内存条的故障状态,例如,可以通过日志形式记录与第二内存条对应的报错信息,这里,与第二内存条对应的报错信息用于指示第二内存条处于故障状态,还可以记录第二内存条在内存资源池中所处的位置。基于记录的日志,可以确定出内存资源池中的故障内存条,还可以确定故障内存条的位置。第二内存条可以是前述第一内存条,也可以是与第一内存条不同的内存条,本实施例中对此不做限定。
需要说明的是,对于前述由内存资源池的基板管理控制器自行确定故障内存条的场景,故障内存条可以是基于记录的日志确定的,即,读取与每个内存条对应的日志,基于日志所记录的报错信息确定故障内存条,基于日志所记录的故障内存条的位置对故障内存条进行定位。
通过本实施例,通过获取内存资源池中的每个内存条的健康状态,并通过日志的形式记录故障内存条以及故障内存条在内存资源池中的位置,可以提高故障内存条定位的便捷性。
在一个示例性实施例中,获取内存资源池中的每个内存条的健康状态,包括:
S111,从每个内存条所属的内存扩展控制器获取与每个内存条对应的状态参考信息,其中,与每个内存条对应的状态参考信息用于表示由每个内存条所属的内存扩展控制器获取到的每个内存条的运行状况;
S112,从与每个内存条对应的主机端服务器的基板管理控制器获取与每个内存条对应的异常告警信息,其中,与每个内存条对应的异常告警信息用于表示由与每个内存条对应的主机端服务器获取到的每个内存条的异常运行状况;
S113,对与每个内存条对应的状态参考信息和与每个内存条对应的异常告警信息进行整合处理,得到每个内存条的健康状态。
在本实施例中,为了获取内存资源池中的每个内存条的健康状态,可以通过获取与每个内存条对应的多种参考信息,并对获取到的与每个内存条对应的多种参考信息进行整合处理,从而得到每个内存条的健康状态。与每个内存条对应的多种参考信息可以包括一种或多种,可以包括但不限于以下至少之一:与每个内存条对应的状态参考信息,与每个内存条对应的状态参考信息用于表示由每个内存条所属的内存扩展控制器获取到的每个内存条的运行状况,可以包括但不限于以下至少之一:电压,温度,功耗等状态信息;与每个内存条对应的异常告警信息,与每个内存条对应的异常告警信息用于表示由与每个内存条对应的主机端服务器获取到的每个内存条的异常运行状况。
可选地,内存资源池的基板管理控制器可以从每个内存条所属的内存扩展控制器获取与每个内存条对应的状态参考信息,还可以从与每个内存条对应的主机端服务器的基板管理控制器获取与每个内存条对应的异常告警信息;并对与每个内存条对应的状态参考信息和与每个内存条对应的异常告警信息进行整合处理,得到每个内存条的健康状态。
对与每个内存条对应的状态参考信息和与每个内存条对应的异常告警信息进行整合处理的方式可以是:基于任意一种确定出内存条处于故障状态,则确定该内存条处于故障状态,也可以是:基于任意一种信息确定出内存条处于故障状态,则使用另外一种信息对内存条的故障状态进行校验,并基于校验结果确定该内存条是否处于故障状态,还可以是其他的整合方式,本实施例中对此不做限定。
可选地,与每个内存条对应的异常告警信息可以是通过redfish命令从与每个内存条对应的主机端服务器的基板管理控制器获取的,也可以是其他的可以下内存资源池的基板管理控制器和主机端服务器的基板管理控制器之间进行传输的命令。与每个内存条对应的异常告警信息是由与每个内存条对应的主机端服务器的BIOS在每个内存条对应的主机端服务器开机的过程中,检测到每个内存条存在异常的情况下发送给与每个内存条对应的主机端服务器的基板管理控制器的,也可以是在其他时机发送给与每个内存条对应的主机端服务器的基板管理控制器的。
例如,内存资源池的BMC收集MXC端获取的内存数据传输状态,结合Host端BIOS识别并报出的告警信息,组合为每一根内存条的健康状态,对此健康状态进行监控并告警。若出现内存致命报错并影响到Host端服务器的业务正常运行(即,内存数据传输异常)时,告知系统运维人员进行内存更换操作。
需要说明的是,若出现内存致命错误,则会影响Host端服务器业务的正常运行,但系统业务运行异常,不一定是内存故障所引起。这里只对内存故障进行判断,识别内存异常时,对故障内存进行更换。
这里,通过与MXC交互获取内存数据传输状态并通过网络交换机与Host端BMC交互获取Host端BIOS识别到的内存异常告警状态信息,结合上述内存健康状态信息进行内存故障告警。在识别到内存故障状态后,可以通过OEM IPMI命令供运维人员使用,通过对应MXC实现故障内存的单节点下电,达成内存资源池部分节点断电情况下的故障内存维护替换。
通过本实施例,通过收集MXC端获取的内存数据传输状态,并结合Host端识别并报出的告警信息组合为每一根内存条的健康状态,可以对内存条的健康状态进行检测,可以提高内存条健康状态检测的准确性。
在一个示例性实施例中,从每个内存条所属的内存扩展控制器获取与每个内存条对应的状态参考信息,包括:
S121,从每个内存条所属的内存扩展控制器获取每个内存条的一组运行参数的参数信息,其中,每个内存条的运行状态信息包括每个内存条的一组运行参数的参数信息;
S122,从每个内存条所属的内存扩展控制器获取与每个内存条对应的邮箱事件记录日志,其中,每个内存条的运行状态信息包括从与每个内存条对应的邮箱事件记录日志中提取出的、与每个内存条的运行状态关联的错误记录。
在本实施例中,与每个内存条对应的状态参考信息可以包括多种,可以包括但不限于以下至少之一:每个内存条的一组运行参数的参数信息,每个内存条的运行状态信息包括每个内存条的一组运行参数的参数信息,可以包括但不限于电压、温度、功耗等状态信息;从与每个内存条对应的邮箱事件记录日志中提取出的与每个内存条的运行状态关联的错误记录。
内存资源池的基板管理控制器可以从每个内存条所属的内存扩展控制器获取每个内存条的一组运行参数的参数信息,以及从每个内存条所属的内存扩展控制器获取与每个内存条对应的邮箱事件记录日志,对于获取到的与每个内存条对应的邮箱事件记录日志,可以从中提取出与每个内存条的运行状态关联的错误记录,与每个内存条对应的状态参考信息包括:每个内存条的一组运行参数的参数信息,与每个内存条的运行状态关联的错误记录。
例如,内存资源池的BMC收集MXC端获取的内存数据传输状态的方式可以是:内存资源池的BMC可以通过I2C命令与MXC端交互,获取内存的电压、温度、功耗等状态信息,通过阈值判断其运行健康状态;内存资源池的BMC可以通过I2C命令与MXC端交互,获取内存的Mailbox Event Records Log(邮箱时间记录日志),识别其中的Fatal Error(致命错误)、Failure Error(失效错误)以及Warning Error(告警错误),用于判断内存的运行健康状态。
Host端BIOS识别并报出的告警信息可以是:Host端BIOS可识别并告警内存的CE(Correctable Error,可纠正错误)、UCE(UnCorrectable Error,不可纠正错误)、ScrubFail(清理失败)、Configuration Error(配置错误)等报错,并通过IPMI命令AddSel的方法告知Host端BMC内存的异常告警信息。内存资源池的BMC再通过网络从各个Host端BMC处通过Redfish命令获取内存状态信息(From BIOS)。
内存池BMC通过整合上述三种内存健康状态,对内存运行状况进行判断,从而断定是否需断电更换内存。
需要说明的是,Host端服务器开机时,BIOS开机初始化内存后,会发送IPMI命令记录内存条Presencedetected(存在检测)的SEL日志,此后,若内存条无异常,将不会发送内存异常故障告警SEL日志。若想检查Host端BMC是否有收到BIOS所发送的内存告警信息,仅需查看Host端BMC当前告警中,是否有内存相关异常告警即可。
通过本实施例,通过从每个内存条所属的内存扩展控制器获取每个内存条的一组运行参数的参数信以及与每个内存条对应的邮箱事件记录日志,从而获取到与每个内存条对应的状态参考信息,可以提高内存条健康状态判定的合理性和准确性。
在一个示例性实施例中,对与每个内存条对应的状态参考信息和与每个内存条对应的异常告警信息进行整合处理,得到每个内存条的健康状态,包括:
S131,根据与每个内存条对应的状态参考信息对每个内存条的数据传输状态进行判别,确定与每个内存条对应的第一判别结果;
S132,根据与每个内存条对应的异常告警信息对每个内存条的数据传输状态进行判别,确定与每个内存条对应的第二判别结果;
S133,将内存资源池中,对应的第一判别结果和对应的第二判别结果中的至少之一所指示的数据传输状态为异常状态的内存条,确定为故障内存条。
在本实施例中,可以基于与每个内存条对应的状态参考信息和与每个内存条对应的异常告警信息分别对每个内存条的数据传输状态进行判别,并在其中之一的判别结果为数据传输状态为异常状态时,确定内存条为故障内存条,从而可以结合多种判别结果对故障内存条进行判定,提高故障内存条的召回率。可选地,对于判别错误的内存条,可以基于前述的校验方式对其进行校验,避免内存条的错误下电。
对于每个内存条,可以根据与每个内存条对应的状态参考信息对每个内存条的数据传输状态进行判别,确定与每个内存条对应的第一判别结果,其可以是数据传输状态为正常状态(数据传输正常),也可以是数据传输状态为异常状态(数据传输异常);根据与每个内存条对应的异常告警信息对每个内存条的数据传输状态进行判别,确定与每个内存条对应的第二判别结果,其可以是数据传输状态为正常状态,也可以是数据传输状态为异常状态;通过融合每个内存条的两种判别结果,确定每个内存条的数据传输状态,即,两个判别结果中的至少之一所指示的数据传输状态为异常状态,则内存条的数据传输为异常状态,数据传输状态为异常状态的内存条,可以将其确定为故障内存条。
通过本实施例,基于状态参考信息和异常告警信息中的至少之一判定内存条数据传输异常,则将其确定为故障内存条,可以提高故障内存条的召回率,避免由于内存条故障对于业务运行的影响。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
根据本申请实施例的另一方面,还提供了一种故障内存条的处理装置,该装置用于实现上述实施例中所提供的故障内存条的处理方法,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图8是根据本申请实施例的一种故障内存条的处理装置的结构框图,如图8所示,该装置包括:
获取单元802,用于获取第一下电命令,其中,第一下电命令用于指示内存资源池的基板管理控制器对内存资源池中的故障内存条进行下电处理;
第一发送单元804,用于响应于第一下电命令,在内存资源池中的第一内存条处于故障状态、且第一内存条允许下电的情况下,向第一内存条所属的目标内存扩展控制器发送第二下电命令,其中,第二下电命令用于指示目标内存扩展控制器对第一内存条进行下电处理。
需要说明的是,该实施例中的获取单元802可以用于执行上述步骤S202,该实施例中的第一发送单元804可以用于执行上述步骤S204。
通过本申请实施例,获取第一下电命令,其中,第一下电命令用于指示内存资源池的基板管理控制器对内存资源池中的故障内存条进行下电处理;响应于第一下电命令,在内存资源池中的第一内存条处于故障状态、且第一内存条允许下电的情况下,向第一内存条所属的目标内存扩展控制器发送第二下电命令,其中,第二下电命令用于指示目标内存扩展控制器对第一内存条进行下电处理,可以解决相关技术中的故障内存条的处理方法存在由于对内存资源池进行整机下电导致的资源浪费的问题,提高了内存资源的利用率。
作为一种可选的方案,获取单元包括:
接收模块,用于接收控制设备发送的第一下电命令,其中,第一下电命令中携带有第一内存条的位置信息,第一内存条的位置信息用于指示第一内存条在内存资源池中所在的位置,第一下电命令用于指示内存资源池的基板管理控制器对第一内存条进行下电处理。
作为一种可选的方案,上述装置还包括:
提取单元,用于从第一下电命令中提取出第一内存条的位置信息,其中,第一内存条的位置信息包括第一位置信息和第二位置信息,第一位置信息用于指示目标内存扩展控制器在内存资源池的基板管理控制器所连接的多个内存扩展控制器中的位置,第二位置信息用于指示第一内存条在目标内存扩展控制器中的位置;
第一确定单元,用于根据第一位置信息和第二位置信息,确定出待下电的第一内存条。
作为一种可选的方案,上述装置还包括:
第二发送单元,用于响应于第一下电命令,在第一内存条处于故障状态、但第一内存条不允许下电的情况下,向控制设备发送第一下电异常指示信息,其中,第一下电异常指示信息用于指示由于第一内存条不允许下电导致第一内存条下电失败;
第三发送单元,用于在第一内存条处于正常状态的情况下,向控制设备发送第二下电异常指示信息,其中,第二下电异常指示信息用于指示由于第一内存条处于正常状态导致第一内存条下电失败。
作为一种可选的方案,上述装置还包括:
第二确定单元,用于根据内存资源池的基板管理控制器所记录的内存条故障信息,确定内存资源池中处于故障状态的内存条,其中,内存条故障信息是在检测到处于故障状态的内存条的情况下所记录的、与处于故障状态的内存条对应的故障信息。
作为一种可选的方案,上述装置还包括:
第四发送单元,用于向目标内存扩展控制器发送状态验证命令,其中,状态验证命令用于指示目标内存扩展控制器验证第一内存条的故障状态;
第一接收单元,用于接收目标内存扩展控制器响应于状态验证命令发送的第一响应消息,其中,第一响应消息用于指示第一内存条是否处于故障状态。
作为一种可选的方案,上述装置还包括:
第五发送单元,用于向与第一内存条对应的目标主机端服务器的基板管理控制器发送状态获取命令,其中,状态获取命令用于获取目标主机端服务器的开关机状态;
第二接收单元,用于接收目标主机端服务器的基板管理控制器响应于状态获取命令返回的第二响应消息,其中,第二响应消息用于指示目标主机端服务器的开关机状态;
第三确定单元,用于在根据第二响应消息确定目标主机端服务器的关机状权态的情况下,确定第一内存条允许下电。
作为一种可选的方案,内存资源池的基板管理控制器和与内存资源池中的每个内存条对应的主机端服务器的基板管理控制器连接到同一网络交换机上。
作为一种可选的方案,内存资源池位于内存资源池服务器上,内存资源池服务器通过计算快速链接CXL交换服务器和与内存资源池中的每个内存条对应的主机端服务器的基板管理控制器进行连接,CXL交换服务器用于为与每个内存条对应的主机端服务器分配内存资源。
作为一种可选的方案,第一发送单元包括:
第一发送模块,用于响应于第一下电命令,在内存资源池中的第一内存条处于故障状态、且第一内存条允许下电的情况下,向第一内存条所属的目标内存扩展控制器发送第二下电命令,并向与第一内存条位于同一内存组中的同组内存条所属的内存扩展控制器发送第三下电命令,其中,内存资源池中的内存条以内存组的方式被分配给主机端服务器,第三下电命令用于指示同组内存条所属的内存扩展控制器对同组内存条进行下电处理。
作为一种可选的方案,上述装置还包括:
第三接收单元,用于接收第一上电命令,其中,第一上电命令用于指示对已完成替换的第一内存条进行上电处理;
上电单元,用于响应于第一上电命令,对第一内存条和目标主机端服务器进行协同上电处理。
作为一种可选的方案,上电单元包括:
第二发送模块,用于响应于第一上电命令,向目标主机端服务器的基板管理控制器发送第一带外控制指令,其中,第一带外控制指令用于指示对目标主机端服务器进行上电处理;
执行模块,用于接收目标主机端服务器的基板管理控制器响应于第一带外控制指令返回的第三响应消息,向目标内存扩展控制器发送第二上电命令,其中,第三响应消息是在目标主机端服务器上电至挂起到内存状态之后发送的,第二上电命令用于指示对第一内存条进行上电处理;
第三发送模块,用于在第一内存条上电完成之后,向目标主机端服务器的基板管理控制器发送第二带外控制指令,其中,第二带外控制指令用于指示继续对目标主机端服务器进行上电处理,以使目标主机端服务器由关机状态切换到开机状态。
作为一种可选的方案,上述装置还包括:
获取模块,用于获取内存资源池中的每个内存条的健康状态,其中,每个内存条的健康状态用于指示每个内存条的运行状况;
记录模块,用于在根据每个内存条的健康状态确定内存资源池中的第二内存条处于故障状态的情况下,通过日志形式记录与第二内存条对应的报错信息以及第二内存条在内存资源池中所处的位置,与第二内存条对应的报错信息用于指示第二内存条处于故障状态。
作为一种可选的方案,获取模块包括:
第一获取子单元,用于从每个内存条所属的内存扩展控制器获取与每个内存条对应的状态参考信息,其中,与每个内存条对应的状态参考信息用于表示由每个内存条所属的内存扩展控制器获取到的每个内存条的运行状况;
第二获取子单元,用于从与每个内存条对应的主机端服务器的基板管理控制器获取与每个内存条对应的异常告警信息,其中,与每个内存条对应的异常告警信息用于表示由与每个内存条对应的主机端服务器获取到的每个内存条的异常运行状况;
整合子单元,用于对与每个内存条对应的状态参考信息和与每个内存条对应的异常告警信息进行整合处理,得到每个内存条的健康状态。
作为一种可选的方案,第一获取子单元包括:
第一获取子模块,用于从每个内存条所属的内存扩展控制器获取每个内存条的一组运行参数的参数信息,其中,每个内存条的运行状态信息包括每个内存条的一组运行参数的参数信息;
第二获取子模块,用于从每个内存条所属的内存扩展控制器获取与每个内存条对应的邮箱事件记录日志,其中,每个内存条的运行状态信息包括从与每个内存条对应的邮箱事件记录日志中提取出的、与每个内存条的运行状态关联的错误记录。
作为一种可选的方案,第一获取子单元包括:
控制子模块,用于通过红鱼redfish命令从与每个内存条对应的主机端服务器的基板管理控制器获取与每个内存条对应的异常告警信息。
作为一种可选的方案,与每个内存条对应的异常告警信息是由与每个内存条对应的主机端服务器的基本输入输出系统在每个内存条对应的主机端服务器开机的过程中,检测到每个内存条存在异常的情况下发送给与每个内存条对应的主机端服务器的基板管理控制器的。
作为一种可选的方案,整合子单元包括:
第一执行子模块,用于根据与每个内存条对应的状态参考信息对每个内存条的数据传输状态进行判别,确定与每个内存条对应的第一判别结果;
第二执行子模块,用于根据与每个内存条对应的异常告警信息对每个内存条的数据传输状态进行判别,确定与每个内存条对应的第二判别结果;
确定子模块,用于将内存资源池中,对应的第一判别结果和对应的第二判别结果中的至少之一所指示的数据传输状态为异常状态的内存条,确定为故障内存条。
作为一种可选的方案,第一下电命令为智能平台管理接口IPMI命令,第二下电命令为系统管理总线SMBus命令或者集成电路总线I2C命令。
本实施方案的可选示例可以参考上述故障内存条的处理方法中所示的示例,本实施方案中在此不再赘述。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
根据本申请实施例的又一方面,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
在一个示例性实施例中,上述计算机可读存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的存储介质。
根据本申请实施例的又一方面,还提供了一种电子设备,如图9所示,该电子装置包括:
基板管理控制器902;
至少一个内存扩展控制器904,其中,至少一个内存扩展控制器904中的每个内存扩展控制器904下属的至少一个内存条;
存储器906;
存储在存储器906上并可在基板管理控制器902上运行的计算机程序。
其中,基板管理控制器902执行计算机程序被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
在一个示例性实施例中,上述电子设备还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
本实施例中的具体示例可以参考上述实施例及示例性实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本申请实施例的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请实施例不限制于任何特定的硬件和软件结合。
以上仅为本申请的优选实施例而已,并不用于限制本申请实施例,对于本领域的技术人员来说,本申请实施例可以有各种更改和变化。凡在本申请实施例的原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请实施例的保护范围之内。

Claims (20)

1.一种故障内存条的处理方法,其特征在于,包括:
获取第一下电命令,其中,所述第一下电命令用于指示内存资源池的基板管理控制器对所述内存资源池中的故障内存条进行下电处理;
响应于所述第一下电命令,在所述内存资源池中的第一内存条处于故障状态、且所述第一内存条允许下电的情况下,向所述第一内存条所属的目标内存扩展控制器发送第二下电命令,其中,所述第二下电命令用于指示所述目标内存扩展控制器对所述目标内存扩展控制器下属的多个内存条中的所述第一内存条进行下电处理;
其中,所述获取第一下电命令,包括:接收控制设备发送的所述第一下电命令,其中,所述第一下电命令中携带有所述第一内存条的位置信息,所述第一内存条的位置信息用于指示所述第一内存条在所述内存资源池中所在的位置,所述第一内存条的位置信息包括第一位置信息和第二位置信息,所述第一位置信息用于指示所述目标内存扩展控制器在所述内存资源池的基板管理控制器所连接的多个内存扩展控制器中的位置,所述第二位置信息用于指示所述第一内存条在所述目标内存扩展控制器中的位置,所述第一下电命令用于指示所述内存资源池的基板管理控制器对所述第一内存条进行下电处理;
其中,在所述获取第一下电命令之后,所述方法还包括:向与所述第一内存条对应的目标主机端服务器的基板管理控制器发送状态获取命令,其中,所述状态获取命令用于获取所述目标主机端服务器的开关机状态;接收所述目标主机端服务器的基板管理控制器响应于所述状态获取命令返回的第二响应消息,其中,所述第二响应消息用于指示所述目标主机端服务器的开关机状态;在根据所述第二响应消息确定所述目标主机端服务器的关机状态的情况下,确定所述第一内存条允许下电。
2.根据权利要求1所述的方法,其特征在于,在所述获取第一下电命令之后,所述方法还包括:
从所述第一下电命令中提取出所述第一内存条的位置信息;
根据所述第一位置信息和所述第二位置信息,确定出待下电的所述第一内存条。
3.根据权利要求1所述的方法,其特征在于,所述获取第一下电命令之后,所述方法还包括:
响应于所述第一下电命令,在所述第一内存条处于故障状态、但所述第一内存条不允许下电的情况下,向所述控制设备发送第一下电异常指示信息,其中,所述第一下电异常指示信息用于指示由于所述第一内存条不允许下电导致所述第一内存条下电失败;
在所述第一内存条处于正常状态的情况下,向所述控制设备发送第二下电异常指示信息,其中,所述第二下电异常指示信息用于指示由于所述第一内存条处于正常状态导致所述第一内存条下电失败。
4.根据权利要求1所述的方法,其特征在于,在所述获取第一下电命令之后,所述方法还包括:
根据所述内存资源池的基板管理控制器所记录的内存条故障信息,确定所述内存资源池中处于故障状态的内存条,其中,所述内存条故障信息是在检测到所述处于故障状态的内存条的情况下所记录的、与所述处于故障状态的内存条对应的故障信息。
5.根据权利要求1所述的方法,其特征在于,在所述获取第一下电命令之后,所述方法还包括:
向所述目标内存扩展控制器发送状态验证命令,其中,所述状态验证命令用于指示所述目标内存扩展控制器验证所述第一内存条的故障状态;
接收所述目标内存扩展控制器响应于所述状态验证命令发送的第一响应消息,其中,所述第一响应消息用于指示所述第一内存条是否处于故障状态。
6.根据权利要求5所述的方法,其特征在于,所述内存资源池的基板管理控制器和与所述内存资源池中的每个内存条对应的主机端服务器的基板管理控制器连接到同一网络交换机上。
7.根据权利要求5所述的方法,其特征在于,所述内存资源池位于内存资源池服务器上,所述内存资源池服务器通过计算快速链接CXL交换服务器和与所述内存资源池中的每个内存条对应的主机端服务器的基板管理控制器进行连接,所述CXL交换服务器用于为与所述每个内存条对应的主机端服务器分配内存资源。
8.根据权利要求7所述的方法,其特征在于,所述响应于所述第一下电命令,在所述内存资源池中的第一内存条处于故障状态、且所述第一内存条允许下电的情况下,向所述第一内存条所属的目标内存扩展控制器发送第二下电命令,包括:
响应于所述第一下电命令,在所述内存资源池中的第一内存条处于故障状态、且所述第一内存条允许下电的情况下,向所述第一内存条所属的所述目标内存扩展控制器发送第二下电命令,并向与所述第一内存条位于同一内存组中的同组内存条所属的内存扩展控制器发送第三下电命令,其中,所述内存资源池中的内存条以内存组的方式被分配给主机端服务器,所述第三下电命令用于指示所述同组内存条所属的内存扩展控制器对所述同组内存条进行下电处理。
9.根据权利要求1所述的方法,其特征在于,在对所述第一内存条进行下电处理之前,与所述第一内存条对应的目标主机端服务器处于关机状态;在所述向所述第一内存条所属的目标内存扩展控制器发送第二下电命令之后,所述方法还包括:
接收第一上电命令,其中,所述第一上电命令用于指示对已完成替换的所述第一内存条进行上电处理;
响应于所述第一上电命令,对所述第一内存条和所述目标主机端服务器进行协同上电处理。
10.根据权利要求9所述的方法,其特征在于,所述响应于所述第一上电命令,对所述第一内存条和所述目标主机端服务器进行协同上电处理,包括:
响应于所述第一上电命令,向所述目标主机端服务器的基板管理控制器发送第一带外控制指令,其中,所述第一带外控制指令用于指示对所述目标主机端服务器进行上电处理;
接收所述目标主机端服务器的基板管理控制器响应于所述第一带外控制指令返回的第三响应消息,向所述目标内存扩展控制器发送第二上电命令,其中,所述第三响应消息是在所述目标主机端服务器上电至挂起到内存状态之后发送的,所述第二上电命令用于指示对所述第一内存条进行上电处理;
在所述第一内存条上电完成之后,向所述目标主机端服务器的基板管理控制器发送第二带外控制指令,其中,所述第二带外控制指令用于指示继续对所述目标主机端服务器进行上电处理,以使所述目标主机端服务器由关机状态切换到开机状态。
11.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取所述内存资源池中的每个内存条的健康状态,其中,所述每个内存条的健康状态用于指示所述每个内存条的运行状况;
在根据所述每个内存条的健康状态确定所述内存资源池中的第二内存条处于故障状态的情况下,通过日志形式记录与所述第二内存条对应的报错信息以及所述第二内存条在所述内存资源池中所处的位置,其中,与所述第二内存条对应的报错信息用于指示所述第二内存条处于故障状态。
12.根据权利要求11所述的方法,其特征在于,所述获取所述内存资源池中的每个内存条的健康状态,包括:
从所述每个内存条所属的内存扩展控制器获取与所述每个内存条对应的状态参考信息,其中,与所述每个内存条对应的状态参考信息用于表示由所述每个内存条所属的内存扩展控制器获取到的所述每个内存条的运行状况;
从与所述每个内存条对应的主机端服务器的基板管理控制器获取与所述每个内存条对应的异常告警信息,其中,与所述每个内存条对应的异常告警信息用于表示由与所述每个内存条对应的主机端服务器获取到的所述每个内存条的异常运行状况;
对与所述每个内存条对应的状态参考信息和与所述每个内存条对应的异常告警信息进行整合处理,得到所述每个内存条的健康状态。
13.根据权利要求12所述的方法,其特征在于,所述从所述每个内存条所属的内存扩展控制器获取与所述每个内存条对应的状态参考信息,包括:
从所述每个内存条所属的内存扩展控制器获取所述每个内存条的一组运行参数的参数信息,其中,所述每个内存条的运行状态信息包括所述每个内存条的一组运行参数的参数信息;
从所述每个内存条所属的内存扩展控制器获取与所述每个内存条对应的邮箱事件记录日志,其中,所述每个内存条的运行状态信息包括从与所述每个内存条对应的邮箱事件记录日志中提取出的、与所述每个内存条的运行状态关联的错误记录。
14.根据权利要求12所述的方法,其特征在于,从与所述每个内存条对应的主机端服务器的基板管理控制器获取与所述每个内存条对应的异常告警信息,包括:
通过红鱼redfish命令从与所述每个内存条对应的主机端服务器的基板管理控制器获取与所述每个内存条对应的异常告警信息。
15.根据权利要求12所述的方法,其特征在于,与所述每个内存条对应的异常告警信息是由与所述每个内存条对应的主机端服务器的基本输入输出系统在所述每个内存条对应的主机端服务器开机的过程中,检测到所述每个内存条存在异常的情况下发送给与所述每个内存条对应的主机端服务器的基板管理控制器的。
16.根据权利要求12所述的方法,其特征在于,所述对与所述每个内存条对应的状态参考信息和与所述每个内存条对应的异常告警信息进行整合处理,得到所述每个内存条的健康状态,包括:
根据与所述每个内存条对应的状态参考信息对所述每个内存条的数据传输状态进行判别,确定与所述每个内存条对应的第一判别结果;
根据与所述每个内存条对应的异常告警信息对所述每个内存条的数据传输状态进行判别,确定与所述每个内存条对应的第二判别结果;
将所述内存资源池中,对应的第一判别结果和对应的第二判别结果中的至少之一所指示的数据传输状态为异常状态的内存条,确定为故障内存条。
17.根据权利要求1至16中任一项所述的方法,其特征在于,所述第一下电命令为智能平台管理接口IPMI命令,所述第二下电命令为系统管理总线SMBus命令或者集成电路总线I2C命令。
18.一种故障内存条的处理装置,其特征在于,包括:
获取单元,用于获取第一下电命令,其中,所述第一下电命令用于指示内存资源池的基板管理控制器对所述内存资源池中的故障内存条进行下电处理;
第一发送单元,用于响应于所述第一下电命令,在所述内存资源池中的第一内存条处于故障状态、且所述第一内存条允许下电的情况下,向所述第一内存条所属的目标内存扩展控制器发送第二下电命令,其中,所述第二下电命令用于指示所述目标内存扩展控制器对所述目标内存扩展控制器下属的多个内存条中的所述第一内存条进行下电处理;
其中,所述获取单元包括:接收模块,用于接收控制设备发送的所述第一下电命令,其中,所述第一下电命令中携带有所述第一内存条的位置信息,所述第一内存条的位置信息用于指示所述第一内存条在所述内存资源池中所在的位置,所述第一内存条的位置信息包括第一位置信息和第二位置信息,所述第一位置信息用于指示所述目标内存扩展控制器在所述内存资源池的基板管理控制器所连接的多个内存扩展控制器中的位置,所述第二位置信息用于指示所述第一内存条在所述目标内存扩展控制器中的位置,所述第一下电命令用于指示所述内存资源池的基板管理控制器对所述第一内存条进行下电处理;
其中,所述装置还包括:第五发送单元,用于在所述获取第一下电命令之后,向与所述第一内存条对应的目标主机端服务器的基板管理控制器发送状态获取命令,其中,所述状态获取命令用于获取所述目标主机端服务器的开关机状态;第二接收单元,用于接收所述目标主机端服务器的基板管理控制器响应于所述状态获取命令返回的第二响应消息,其中,所述第二响应消息用于指示所述目标主机端服务器的开关机状态;第三确定单元,用于在根据所述第二响应消息确定所述目标主机端服务器的关机状态的情况下,确定所述第一内存条允许下电。
19.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被处理器执行时实现权利要求1至17任一项中所述的方法的步骤。
20.一种电子设备,包括基板管理控制器、至少一个内存扩展控制器、所述至少一个内存扩展控制器中的每个内存扩展控制器下属的至少一个内存条、存储器以及存储在所述存储器上并可在所述基板管理控制器上运行的计算机程序,其特征在于,所述基板管理控制器执行所述计算机程序时实现权利要求1至17任一项中所述的方法的步骤。
CN202310742167.4A 2023-06-21 2023-06-21 故障内存条的处理方法及装置、电子设备及存储介质 Active CN116483613B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310742167.4A CN116483613B (zh) 2023-06-21 2023-06-21 故障内存条的处理方法及装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310742167.4A CN116483613B (zh) 2023-06-21 2023-06-21 故障内存条的处理方法及装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN116483613A CN116483613A (zh) 2023-07-25
CN116483613B true CN116483613B (zh) 2023-09-29

Family

ID=87218098

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310742167.4A Active CN116483613B (zh) 2023-06-21 2023-06-21 故障内存条的处理方法及装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN116483613B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109284207A (zh) * 2018-08-30 2019-01-29 紫光华山信息技术有限公司 硬盘故障处理方法、装置、服务器和计算机可读介质
CN111752776A (zh) * 2020-05-29 2020-10-09 苏州浪潮智能科技有限公司 一种服务器的循环上下电测试方法和系统
CN115509333A (zh) * 2022-09-28 2022-12-23 苏州浪潮智能科技有限公司 一种服务器协同上下电装置、方法、系统及介质
CN115686872A (zh) * 2022-12-30 2023-02-03 浪潮电子信息产业股份有限公司 基于bmc的内存资源处理设备、方法、装置及介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109284207A (zh) * 2018-08-30 2019-01-29 紫光华山信息技术有限公司 硬盘故障处理方法、装置、服务器和计算机可读介质
CN111752776A (zh) * 2020-05-29 2020-10-09 苏州浪潮智能科技有限公司 一种服务器的循环上下电测试方法和系统
CN115509333A (zh) * 2022-09-28 2022-12-23 苏州浪潮智能科技有限公司 一种服务器协同上下电装置、方法、系统及介质
CN115686872A (zh) * 2022-12-30 2023-02-03 浪潮电子信息产业股份有限公司 基于bmc的内存资源处理设备、方法、装置及介质

Also Published As

Publication number Publication date
CN116483613A (zh) 2023-07-25

Similar Documents

Publication Publication Date Title
US10429914B2 (en) Multi-level data center using consolidated power control
US9800087B2 (en) Multi-level data center consolidated power control
US10049010B2 (en) Method, computer, and apparatus for migrating memory data
EP2628092B1 (en) Device hardware agent
CN105589776B (zh) 一种故障定位方法及服务器
US20040228063A1 (en) IPMI dual-domain controller
US10317985B2 (en) Shutdown of computing devices
CN102298436A (zh) 识别具有冗余电源的计算机系统中的电力连接的系统和方法
US20200252302A1 (en) System and Method for Remote Hardware Support Using Augmented Reality and Available Sensor Data
US8099634B2 (en) Autonomic component service state management for a multiple function component
US11640377B2 (en) Event-based generation of context-aware telemetry reports
CN117251333A (zh) 一种硬盘信息获取方法、装置、设备及存储介质
CN102983989A (zh) 一种服务器虚拟地址的迁移方法、装置和设备
CN115878356A (zh) 磁盘故障预测方法及装置
CN107026759A (zh) 一种基于bmc的远程管理bbu模块的固件及其开发方法
US20160197994A1 (en) Storage array confirmation of use of a path
CN115543872A (zh) 一种设备管理方法、装置及计算机存储介质
CN116483613B (zh) 故障内存条的处理方法及装置、电子设备及存储介质
CN117453036A (zh) 调整服务器中的设备的功耗的方法、系统及装置
CN115599617B (zh) 总线检测方法、装置、服务器及电子设备
US9864669B1 (en) Managing data center resources
CN117992270B (zh) 一种内存资源管理系统、方法、装置、设备及存储介质
CN111083003A (zh) 监控系统及方法、存储介质、处理器
CN117591457B (zh) Pcie扩展盒、服务器、控制数据传输的方法、装置及产品
CN108733186A (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