CN107391186A - 一种刷新电源供给单元固件的方法、装置及系统 - Google Patents
一种刷新电源供给单元固件的方法、装置及系统 Download PDFInfo
- Publication number
- CN107391186A CN107391186A CN201710571922.1A CN201710571922A CN107391186A CN 107391186 A CN107391186 A CN 107391186A CN 201710571922 A CN201710571922 A CN 201710571922A CN 107391186 A CN107391186 A CN 107391186A
- Authority
- CN
- China
- Prior art keywords
- rmc
- firmware
- refreshing
- psu
- instruction
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/654—Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明提供了一种刷新电源供给单元固件的方法、装置及系统,该方法包括:获取至少一个远程管理控制器RMC的IP地址,其中,每一个所述RMC与待刷新的至少一个电源供给单元PSU相连;向所述至少一个RMC中的每一个所述RMC上存储待刷新固件;根据所述至少一个RMC中第i个RMC的IP地址,向所述第i个RMC发送刷新指令,所述刷新指令用于指示所述第i个RMC利用所述待刷新固件对相连的所述至少一个PSU进行固件刷新,其中i为正整数。该装置包括:获取单元、存储单元和刷新单元。该系统包括:上述刷新电源供给单元固件的装置、至少一个RMC和至少一个PSU。本方案能够提高对PSU进行固件刷新的效率。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种刷新电源供给单元固件的方法、装置及系统。
背景技术
服务器作为一种具有较高存储能力、计算能力以及可靠性和稳定性的计算机,被广泛应用于生产、生活中的各个领域,比如通信、军事、医院等。为了获得足够的计算能力和存储能力,服务器通常以集群的形式进行应用,比如在一个机房中布置多个机架式机柜,每个机架式机柜上部署多个服务器。
电源供给单元(Power Supply Unit,PSU)用于为服务器供电,每一个机架式机柜中都包括有多个PSU,以为各个服务器提供冗余的供电模式,保证各个服务器供电的稳定性。为了保证各个PSU能够正常工作,需要定期对PSU的固件进行刷新。
目前,在对PSU的固件进行刷新时,将PSU从机柜中拆卸出来,利用专用治具完成固件刷新。
针对目前对PSU固件进行刷新的方法,需要将PSU从机柜中拆卸出来,需要耗费较长的时间,导致对PSU进行固件刷新的效率较低。
发明内容
本发明实施例提供了一种刷新电源供给单元固件的方法、装置及系统,能够提高对PSU进行固件刷新的效率。
第一方面,本发明实施例提供了一种刷新电源供给单元固件的方法,包括:
获取至少一个远程管理控制器RMC的IP地址,其中,每一个所述RMC与待刷新的至少一个电源供给单元PSU相连;
向所述至少一个RMC中的每一个所述RMC上存储待刷新固件;
根据所述至少一个RMC中第i个RMC的IP地址,向所述第i个RMC发送刷新指令,所述刷新指令用于指示所述第i个RMC利用所述待刷新固件对相连的所述至少一个PSU进行固件刷新,其中i为正整数。
可选地,所述向所述第i个RMC发送刷新指令,包括:
针对与所述第i个RMC相连的所述至少一个PSU中的每一个PSU,均执行:
向所述第i个RMC发送第一刷新指令,所述第一刷新指令用于指示所述第i个RMC对所述PSU进行第一次固件刷新;
如果接收到来自所述第i个RMC的第一次刷新失败信息,向所述第i个RMC发送第二刷新指令,所述第二刷新指令用于指示所述第i个RMC对所述PSU进行第二次固件刷新;
如果接收到来自所述第i个RMC的第二次刷新失败信息,向所述第i个RMC发送刷新终止指令,所述刷新终止指令用于指示所述第i个RMC停止对相连的所述至少一个PSU进行固件刷新。
可选地,在所述向所述第i个RMC发送第一刷新指令之前,进一步包括:
向所述第i个RMC发送断电指令,所述断电指令用于指示所述第i个RMC将所述PSU关闭。
可选地,在所述向所述第i个RMC发送刷新指令之后,进一步包括:
将与所述第i个RMC相连的所述至少一个PSU的固件刷新结果记录到预先创建的固件刷新日志中。
第二方面,本发明实施例还提供了一种刷新电源供给单元固件的装置,包括:获取单元、存储单元和刷新单元;
所述获取单元,用于获取至少一个远程管理控制器RMC的IP地址,其中,每一个所述RMC与待刷新的至少一个电源供给单元PSU相连;
所述存储单元,用于向所述至少一个RMC中的每一个所述RMC上存储待刷新固件;
所述刷新单元,用于根据所述至少一个RMC中第i个RMC的IP地址,向所述第i个RMC发送刷新指令,所述刷新指令用于指示所述第i个RMC利用所述存储单元存储的所述待刷新固件对相连的所述至少一个各个所述PSU进行固件刷新,其中i为正整数。
可选地,
所述刷新单元,用于针对与所述第i个RMC相连的所述至少一个PSU中的每一个PSU,执行如下操作:
向所述第i个RMC发送第一刷新指令,所述第一刷新指令用于指示所述第i个RMC对所述PSU进行第一次固件刷新;
如果接收到来自所述第i个RMC的第一次刷新失败信息,向所述第i个RMC发送第二刷新指令,所述第二刷新指令用于指示所述第i个RMC对所述PSU进行第二次固件刷新;
如果接收到来自所述第i个RMC的第二次刷新失败信息,向所述第i个RMC发送刷新终止指令,所述刷新终止指令用于指示所述第i个RMC停止对相连的所述至少一个PSU进行固件刷新。
可选地,
所述刷新单元,进一步用于在向所述第i个RMC发送刷新指令之前,向所述第i个RMC发送断电指令,所述断电指令用于指示所述第i个RMC将所述PSU关闭。
可选地,
所述刷新单元,进一步用于将与所述第i个RMC相连的所述至少一个PSU的固件刷新结果记录到预先创建的固件刷新日志中。
第三方面,本发明实施例还提供了一种刷新电源供给单元固件的系统,包括:上述第二方面提供的任意一种所述的刷新电源供给单元固件的装置、至少一个RMC和至少一个PSU,其中,每一个所述RMC与至少一个所述PSU相连;
每一个所述RMC,用于存储所述刷新电源供给单元固件的装置发送的所述待刷新固件,并根据所述刷新电源供给单元固件的装置发送的所述刷新指令,利用所述待刷新固件对相连的至少一个所述PSU进行固件刷新。
可选地,
每一个所述RMC,用于针对相连的每一个所述PSU,均执行如下操作:
根据所述刷新电源供给单元固件的装置发送的第一刷新指令,对所述PSU进行第一固件刷新;
当所述PSU的第一固件刷新失败时,向所述刷新电源供给单元固件的装置发送第一次刷新失败信息,并根据所述刷新电源供给单元固件的装置发送的第二刷新指令对所述PSU进行第二次固件刷新;
当所述PSU的第二次固件刷新失败时,向所述刷新电源供给单元固件的装置发送第二次刷新失败信息,并根据所述刷新电源供给单元固件的装置发送的刷新终止指令,停止对相连的至少一个所述PSU进行固件刷新。
本发明实施例提供的刷新电源供给单元固件的方法、装置及系统,在需要对PSU的固件进行刷新时,获取与待刷新PSU相连的各个RMC的IP地址,并向各个RMC上存储待刷新固件,根据各个RMC的IP地址向各个RMC发送刷新指令后,使得每一个RMC利用已存储的待刷新固件对相连的各个PSU进行固件刷新。由此可见,在对PSU进行固件刷新时,直接通过与PSU相连的RMC对PSU的固件进行更新,由于无需将PSU从机柜中拆卸出来,节省了单个PSU拆卸和安装的时间,从而可以提高对PSU进行固件更新的效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一个实施例提供的一种刷新电源供给单元固件的方法流程图;
图2是本发明一个实施例提供的一种刷新电源供给单元固件的装置所在设备的示意图;
图3是本发明一个实施例提供的一种刷新电源供给单元固件的装置示意图;
图4是本发明一个实施例提供的一种刷新电源供给单元固件的系统示意图;
图5是本发明一个实施例提供的另一种刷新电源供给单元固件的方法流程图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明实施例提供了一种刷新电源供给单元固件的方法,该方法可以包括以下步骤:
步骤101:获取至少一个远程管理控制器RMC的IP地址,其中,每一个所述RMC与待刷新的至少一个电源供给单元PSU相连;
步骤102:向所述至少一个RMC中的每一个所述RMC上存储待刷新固件;
步骤103:根据所述至少一个RMC中第i个RMC的IP地址,向所述第i个RMC发送刷新指令,所述刷新指令用于指示所述第i个RMC利用所述待刷新固件对相连的所述至少一个PSU进行固件刷新,其中i为正整数。
本发明实施例提供了一种刷新电源供给单元固件的方法,在需要对PSU的固件进行刷新时,获取与待刷新PSU相连的各个RMC的IP地址,并向各个RMC上存储待刷新固件,根据各个RMC的IP地址向各个RMC发送刷新指令后,使得每一个RMC利用已存储的待刷新固件对相连的各个PSU进行固件刷新。由此可见,在对PSU进行固件刷新时,直接通过与PSU相连的RMC对PSU的固件进行更新,由于无需将PSU从机柜中拆卸出来,节省了单个PSU拆卸和安装的时间,从而可以提高对PSU进行固件更新的效率。
可选地,如图1所示,
针对与第i个RMC相连的每一个PSU,通过向该RMC发送刷新指令,可以使该RMC对该PSU进行固件刷新,具体地过程可以包括:
S1:向第i个RMC发送第一刷新指令,使第i个RMC对该PSU进行第一次固件刷新;
S2:如果接收到第i个RMC发送的第一刷刷新失败信息,则向第i个RMC发送第二刷新指令,使第i个RMC对该PSU进行第二次固件刷新;
S3:如果接收到第i个RMC发送的第二次刷新失败信息,则向第i个RMC发送刷新终止指令,使第i个RMC停止对与其相连的各个PSU进行固件刷新。
由于RMC与PSU之间的通信通过电源管理总线(Power Management Bus,PMBus)协议实现,电源管理总线协议除了传输RMC向PSU发送的待刷新固件和固件刷新指令外,还需要传输其他的电源管理指令。因此,RMC在对PSU进行固件刷新时,可能会由于电源管理总线协议不稳定导致固件刷新失败,为了保证对PSU进行固件刷新的成功率,在第一次固件刷新失败后对同一PSU进行第二次固件刷新。但是,如果两次固件刷新均没有成功,则可能是由于RMC或PSU的其他故障导致的,此时使RMC停止对相连的PSU进行固件刷新,保证PSU供电的稳定性。
需要说明的是,在实际业务实现过程中,可以根据PMBus协议的稳定性确定对每个PSU进行固件刷新的次数。比如,在PMBus协议的稳定型较差时,可以对同一PSU进行3次固件刷新的尝试,如果3次固件刷新均失败再停止对该PSU所在机柜内所有PSU的固件进行刷新。
可选地,在向第i个RMC发送第一刷新指令之前,首先向第i个RMC发送断电指令,使第i个RMC将当前待刷新固件的PSU关闭。即在一个RMC对任意一个PSU进行第一次固件刷新之前,向该RMC发送断电指令,以使该RMC将该PSU关闭,使得该PSU停止输出电流。
由于PSU工作过程中固件会存在逻辑运算过程,如果在PSU工作过程中对其进行固件刷新,可能会由于逻辑运算错误导致刷新失败。因此,在对一个PSU进行固件刷新之前,首先将该PSU关闭,提升对该PSU进行固件刷新过程中的稳定性,保证对PSU进行固件刷新的成功率。
可选地,如图1所示,
步骤103中向第i个RMC发送刷新指令之后,第i个RMC开始对相连的PSU进行固件刷新,从此时开始,将第i个RMC对每一个PSU进行固件刷新的结果记录到预先创建的固件刷新日志中。
将对各个PSU进行固件刷新的结果记录到固件刷新日志中,通过固件刷新日志可以确定各个PSU是否固件刷新成功,可以对固件刷新失败的PSU进行进一步的处理,提高该刷新电源供给单元固件的方法的易用性。
针对上述对PSU进行固件刷新的方法,在向第i个RMC发送刷新指令时,可以同时向多个RMC发送刷新指令,即i可以是1、2、3……等正整数中的一个或多个,从而可以实现同时对连接于不同RMC上的多个PSU进行固件刷新,从而进一步提高对PSU进行固件刷新的效率。
如图2、图3所示,本发明实施例提供了一种刷新电源供给单元固件的装置。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。从硬件层面而言,如图2所示,为本发明实施例提供的刷新电源供给单元固件的装置所在设备的一种硬件结构图,除了图3所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的设备通常还可以包括其他硬件,如负责处理报文的转发芯片等等。以软件实现为例,如图3所示,作为一个逻辑意义上的装置,是通过其所在设备的CPU将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。本实施例提供的刷新电源供给单元固件的装置,包括:获取单元301、存储单元302和刷新单元303;
获取单元301,用于获取至少一个远程管理控制器RMC的IP地址,其中,每一个RMC与待刷新的至少一个电源供给单元PSU相连;
存储单元302,用于向至少一个RMC中的每一个RMC上存储待刷新固件;
刷新单元303,用于根据获取单元301获取到的至少一个RMC中第i个RMC的IP地址,向第i个RMC发送刷新指令,刷新指令用于指示第i个RMC利用存储单元302存储的待刷新固件对相连的至少一个各个PSU进行固件刷新,其中i为正整数。
可选地,
刷新单元303,用于针对与第i个RMC相连的至少一个PSU中的每一个PSU,执行如下操作:
向第i个RMC发送第一刷新指令,第一刷新指令用于指示第i个RMC对PSU进行第一次固件刷新;
如果接收到来自第i个RMC的第一次刷新失败信息,向第i个RMC发送第二刷新指令,第二刷新指令用于指示第i个RMC对PSU进行第二次固件刷新;
如果接收到来自第i个RMC的第二次刷新失败信息,向第i个RMC发送刷新终止指令,刷新终止指令用于指示第i个RMC停止对相连的至少一个PSU进行固件刷新。
可选地,如图3所示,
刷新单元303,进一步用于在向第i个RMC发送刷新指令之前,向第i个RMC发送断电指令,断电指令用于指示第i个RMC将PSU关闭。
可选地,如图3所示,
刷新单元,进一步用于将与第i个RMC相连的至少一个PSU的固件刷新结果记录到预先创建的固件刷新日志中。
上述装置内的各单元之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
如图4所示,本发明一个实施例通过了一种刷新电源供给单元固件的系统,包括:上述实施例提供的任意一种刷新电源供给单元固件的装置401、至少一个RMC402和至少一个PSU403,其中,每一个所述RMC402与至少一个所述PSU403相连;
每一个所述RMC402,用于存储所述刷新电源供给单元固件的装置401发送的所述待刷新固件,并根据所述刷新电源供给单元固件的装置401发送的所述刷新指令,利用所述待刷新固件对相连的至少一个所述PSU403进行固件刷新。
可选地,如图4所示,
每一个RMC402,用于针对相连的每一个所述PSU403,均执行如下操作:
根据所述刷新电源供给单元固件的装置401发送的第一刷新指令,对所述PSU403进行第一固件刷新;
当所述PSU403的第一固件刷新失败时,向所述刷新电源供给单元固件的装置401发送第一次刷新失败信息,并根据所述刷新电源供给单元固件的装置401发送的第二刷新指令对所述PSU403进行第二次固件刷新;
当所述PSU403的第二次固件刷新失败时,向所述刷新电源供给单元固件的装置401发送第二次刷新失败信息,并根据所述刷新电源供给单元固件的装置401发送的刷新终止指令,停止对相连的至少一个所述PSU403进行固件刷新。
下面结合上述实施例提供的刷新电源供给单元固件的系统,对本发明实施例提供的刷新电源供给单元固件的方法作进一步详细说明,如图5所示,该方法可以包括以下步骤:
步骤501:获取与待刷新PSU相连的至少一个RMC的IP地址。
在本发明一个实施例中,在需要对PSU的固件进行刷新时,分别确定与每一个PSU相连的RMC,其中同一个RMC可以与多个待刷新的PSU相连,而每一个PSU进与一个RMC相连。获取确定出的各个RMC的IP地址。
例如,现需要对一个机房A中的所有的PSU进行固件刷新,该机房A中共包括有10个机架式机柜,每一个机架式机柜上部署有10个PSU和1个RMC。确定10个机架式机柜中的10个RMC分别为RMC1至RMC10。其中,同一机架式机柜中的10个PSU均与该机架式机柜中的1个RMC相连。分别获取RMC1至RMC10的IP地址。
步骤502:向各个RMC中存储待刷新固件。
在本发明一个实施例中,在获取到各个RMC的IP地址后,根据各个RMC的IP地址,分别向各个RMC中存储待刷新固件。
例如,机房A中各个PSU的原有固件版本为版本1,现需要将各个PSU的固件刷新至版本2,则分别在RMC1至RMC10上存储版本2的固件。
步骤503:根据IP地址分别向各个RMC发送刷新指令。
在本发明一个实施例中,根据各个RMC的IP地址,分别向各个RMC发送刷新指令。
例如,根据RMC1的IP地址,向RMC1发送刷新指令;根据RMC2的IP地址,向RMC2发送刷新指令。采用相同的方法,分别对RMC3至RMC10发送刷新指令。
步骤504:每一个RMC根据刷新指令对相连的PSU进行排序。
在本发明一个实施例中,针对每一个RMC,该RMC在接收到刷新指令后,对相连的各个PSU进行排序,以便于对相连的各个PSU的固件进行依次刷新。
例如,RMC1在接收到刷新指令后,对相连的10个PSU进行排序,排序结果为PSU11至PSU110;RMC2在接收到刷新指令后,对相连的10个PSU进行排序,排序结果为PSU21至PSU210。
步骤505:每一个RMC,根据排序结果确定当前PSU,并将当前PSU关闭。
在本发明一个实施例中,针对每一个RMC,在完成对相连的各个PSU进行排序后,根据排序结果依次对各个相连的PSU进行固件刷新。根据排序结果依次将各个PSU确定为当前PSU,直至排序结果的最后一个PSU。针对任意一个待刷新的当前PSU,RMC根据接收到的断电指令,将该当前PSU关闭,使当前PSU停止输出电流。
例如,根据对PSU进行排序的结果,RMC1现需要对PSU11进行固件刷新,RMC1首先将RMC11关闭,使RMC11停止输出电流。
步骤506:利用待刷新固件对当前PSU进行第一次固件刷新。
在本发明一个实施例中,RMC利用步骤502中存储的待刷新固件,对当前PSU进行固件刷新。
例如,RMC1利用其上存储的版本2的固件,通过刷新工具PSU Flash对PSU11进行第一次固件刷新。
步骤507:判断当前PSU的第一次固件刷新是否成功,如果是,执行步骤505,否则执行步骤508。
在本发明一个实施例中,RMC对当前PSU进行第一次固件刷新后,将当前PSU的固件版本与待刷新固件的版本进行对比,如果当前PSU的固件版本与待刷新固件的版本相同,说明对当前PSU进行的第一次固件刷新成功,相应地执行步骤505,按照PSU排序结果对下一个PSU进行第一次固件刷新;如果当前PSU的固件版本与待刷新固件的版本不相同,说明对当前PSU进行的第一次固件刷新失败,相应地执行步骤508。
例如,在RMC1对PSU11进行第一次固件刷新后,如果PSU11的固件版本为版本2,说明对PSU11进行的第一次固件刷新成功,相应地执行步骤505,使RMC1对PSU12进行第一次固件刷新;如果PSU11的固件版本仍为版本1,说明对PSU11进行的第一次固件刷新失败,相应地执行步骤508。
步骤508:利用待刷新固件对当前PSU进行第二次固件刷新。
在本发明一个实施例中,当判断对当前PSU进行的第一次固件刷新失败后,再次利用步骤502中存储的待刷新固件,对当前PSU进行第二次固件刷新。
例如,RMC1利用其上存储的版本2的固件,通过刷新工具PSU Flash对PSU11进行第二次固件刷新。
步骤509:判断当前PSU的第二次固件刷新是否成功,如果是,执行步骤505,否则执行步骤510。
在本发明一个实施例中,RMC对当前PSU进行第二次固件刷新后,将当前PSU的固件版本与待刷新固件的版本进行对比,如果当前PSU的股价版本与待刷新固件的版本相同,说明对当前PSU进行的第二次固件刷新成功,相应地执行步骤505,按照PSU排序结果对下一个PSU进行第一次固件刷新;如果当前PSU的固件版本与待刷新固件的版本不相同,说明对当前PSU进行的第二次固件刷新失败,相应地执行步骤510。
例如,在RMC1对PSU11进行第二次固件刷新后,如果PSU11的固件版本为版本2,说明对PSU11进行的第二次固件刷新成功,相应地执行步骤505,使RMC1对PSU12进行第一次固件刷新;如果PSU11的固件版本仍为版本1,说明对PSU11进行的第二次固件刷新失败,相应地执行步骤510。
步骤510:使当前RMC停止对相连PSU进行固件刷新。
在本发明一个实施例中,当一个RMC对相连的一个PSU进行两次固件刷新均失败后,使该RMC停止对剩余PSU进行固件刷新。
例如,在确定RMC1对RMC11进行的第二次固件刷新失败后,使RMC1停止对与其相连的PSU11至PSU110进行固件刷新。
本发明实施例还提供了一种可读介质,在所述可读介质上存储有执行指令,当存储控制器的处理器执行所述执行指令时,所述存储控制器执行上述各实施例提供的刷新电源供给单元固件的方法。
本发明实施例还提供了一种存储控制器,包括:处理器、存储器和总线;
所述存储器用于存储执行指令,所述处理器与所述存储器通过所述总线连接,当所述存储控制器运行时,所述处理器执行所述存储器存储的所述执行指令,以使所述存储控制器执行上述各实施例提供的刷新电源供给单元固件的方法。
在本发明一个实施例中,用于将待刷新固件存储到各个RMC上的执行指令,可以包括以下内容:
在本发明一个实施例中,用于使RMC对PSU的固件进行刷新的执行指令,可以包括以下内容:
本发明各个实施例提供的刷新电源供给单元固件的方法、装置及系统,至少具有如下有益效果:
1、在本发明实施例中,由于在同一个机柜中,一个RMC与多个PSU相连,在需要对PSU的固件进行刷新时,获取与待刷新PSU相连的各个RMC的IP地址,并向各个RMC上存储待刷新固件,根据各个RMC的IP地址向各个RMC发送刷新指令后,使得每一个RMC利用已存储的待刷新固件对相连的各个PSU进行固件刷新。由此可见,通过向与PSU相连的RMC发送刷新指令,通过RMC对PSU进行固件刷新,可以同时对连接在不同RMC上的多个PSU进行固件刷新,从而在对大量PSU进行固件刷新时,可以提升整体的刷新效率。
2、在本发明实施例中,RMC在对PSU进行固件刷新时,可能会由于电源管理总线协议不稳定导致固件刷新失败,为了保证对PSU进行固件刷新的成功率,在第一次固件刷新失败后对同一PSU进行第二次固件刷新。但是,如果两次固件刷新均没有成功,则可能是由于RMC或PSU的其他故障导致的,此时使RMC停止对相连的PSU进行固件刷新,保证PSU供电的稳定性。
3、在本发明实施例中,由于PSU工作过程中固件会存在逻辑运算过程,如果在PSU工作过程中对其进行固件刷新,可能会由于逻辑运算错误导致刷新失败。因此,在对一个PSU进行固件刷新之前,首先将该PSU关闭,提升对该PSU进行固件刷新过程中的稳定性,保证对PSU进行固件刷新的成功率。
4、在本发明实施例中,对PSU固件进行刷新的方法可以通过部署于控制端的刷新脚本实现,其中,控制端可以是能够与RMC通信的个人电脑、虚拟机等。而刷新脚本可以通过expect语言编写,基于expect语言简洁的特性,方便该刷新电源供给单元固件的方法的实现。
需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个〃····〃”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储在计算机可读取的存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质中。
最后需要说明的是:以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (10)
1.一种刷新电源供给单元固件的方法,其特征在于,包括:
获取至少一个远程管理控制器RMC的IP地址,其中,每一个所述RMC与待刷新的至少一个电源供给单元PSU相连;
向所述至少一个RMC中的每一个所述RMC上存储待刷新固件;
根据所述至少一个RMC中第i个RMC的IP地址,向所述第i个RMC发送刷新指令,所述刷新指令用于指示所述第i个RMC利用所述待刷新固件对相连的所述至少一个PSU进行固件刷新,其中i为正整数。
2.根据权利要求1所述的方法,其特征在于,所述向所述第i个RMC发送刷新指令,包括:
针对与所述第i个RMC相连的所述至少一个PSU中的每一个PSU,均执行:
向所述第i个RMC发送第一刷新指令,所述第一刷新指令用于指示所述第i个RMC对所述PSU进行第一次固件刷新;
如果接收到来自所述第i个RMC的第一次刷新失败信息,向所述第i个RMC发送第二刷新指令,所述第二刷新指令用于指示所述第i个RMC对所述PSU进行第二次固件刷新;
如果接收到来自所述第i个RMC的第二次刷新失败信息,向所述第i个RMC发送刷新终止指令,所述刷新终止指令用于指示所述第i个RMC停止对相连的所述至少一个PSU进行固件刷新。
3.根据权利要求2所述的方法,其特征在于,在所述向所述第i个RMC发送第一刷新指令之前,进一步包括:
向所述第i个RMC发送断电指令,所述断电指令用于指示所述第i个RMC将所述PSU关闭。
4.根据权利要求1至3中任一所述的方法,其特征在于,在所述向所述第i个RMC发送刷新指令之后,进一步包括:
将与所述第i个RMC相连的所述至少一个PSU的固件刷新结果记录到预先创建的固件刷新日志中。
5.一种刷新电源供给单元固件的装置,其特征在于,包括:获取单元、存储单元和刷新单元;
所述获取单元,用于获取至少一个远程管理控制器RMC的IP地址,其中,每一个所述RMC与待刷新的至少一个电源供给单元PSU相连;
所述存储单元,用于向所述至少一个RMC中的每一个所述RMC上存储待刷新固件;
所述刷新单元,用于根据所述至少一个RMC中第i个RMC的IP地址,向所述第i个RMC发送刷新指令,所述刷新指令用于指示所述第i个RMC利用所述存储单元存储的所述待刷新固件对相连的所述至少一个各个所述PSU进行固件刷新,其中i为正整数。
6.根据权利要求5所述的装置,其特征在于,
所述刷新单元,用于针对与所述第i个RMC相连的所述至少一个PSU中的每一个PSU,执行如下操作:
向所述第i个RMC发送第一刷新指令,所述第一刷新指令用于指示所述第i个RMC对所述PSU进行第一次固件刷新;
如果接收到来自所述第i个RMC的第一次刷新失败信息,向所述第i个RMC发送第二刷新指令,所述第二刷新指令用于指示所述第i个RMC对所述PSU进行第二次固件刷新;
如果接收到来自所述第i个RMC的第二次刷新失败信息,向所述第i个RMC发送刷新终止指令,所述刷新终止指令用于指示所述第i个RMC停止对相连的所述至少一个PSU进行固件刷新。
7.根据权利要求6所述的装置,其特征在于,
所述刷新单元,进一步用于在向所述第i个RMC发送刷新指令之前,向所述第i个RMC发送断电指令,所述断电指令用于指示所述第i个RMC将所述PSU关闭。
8.根据权利要求5至7中任一所述的装置,其特征在于,
所述刷新单元,进一步用于将与所述第i个RMC相连的所述至少一个PSU的固件刷新结果记录到预先创建的固件刷新日志中。
9.一种刷新电源供给单元固件的系统,其特征在于,包括:权利要求5至8中任一所述的PSU刷新电源供给单元固件的装置、至少一个RMC和至少一个PSU,其中,每一个所述RMC与至少一个所述PSU相连;
每一个所述RMC,用于存储所述刷新电源供给单元固件的装置发送的所述待刷新固件,并根据所述刷新电源供给单元固件的装置发送的所述刷新指令,利用所述待刷新固件对相连的至少一个所述PSU进行固件刷新。
10.根据权利要求9所述的系统,其特征在于,
每一个所述RMC,用于针对相连的每一个所述PSU,均执行如下操作:
根据所述刷新电源供给单元固件的装置发送的第一刷新指令,对所述PSU进行第一固件刷新;
当所述PSU的第一固件刷新失败时,向所述刷新电源供给单元固件的装置发送第一次刷新失败信息,并根据所述刷新电源供给单元固件的装置发送的第二刷新指令对所述PSU进行第二次固件刷新;
当所述PSU的第二次固件刷新失败时,向所述刷新电源供给单元固件的装置发送第二次刷新失败信息,并根据所述刷新电源供给单元固件的装置发送的刷新终止指令,停止对相连的至少一个所述PSU进行固件刷新。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710571922.1A CN107391186A (zh) | 2017-07-13 | 2017-07-13 | 一种刷新电源供给单元固件的方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710571922.1A CN107391186A (zh) | 2017-07-13 | 2017-07-13 | 一种刷新电源供给单元固件的方法、装置及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107391186A true CN107391186A (zh) | 2017-11-24 |
Family
ID=60339580
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710571922.1A Pending CN107391186A (zh) | 2017-07-13 | 2017-07-13 | 一种刷新电源供给单元固件的方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107391186A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109284118A (zh) * | 2018-09-27 | 2019-01-29 | 郑州云海信息技术有限公司 | 一种固件刷新方法、系统、电子设备及计算机可读存储介质 |
US11016750B2 (en) * | 2019-03-13 | 2021-05-25 | Microsoft Technology Licensing, Llc | Firmware update system |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103488494A (zh) * | 2013-08-12 | 2014-01-01 | 浪潮电子信息产业股份有限公司 | 一种刀片服务器多固件同步更新升级方法 |
CN104375860A (zh) * | 2014-10-30 | 2015-02-25 | 浪潮电子信息产业股份有限公司 | 一种对高密度机柜节点bmc批量刷新的方法 |
CN106547592A (zh) * | 2016-11-04 | 2017-03-29 | 郑州云海信息技术有限公司 | 一种实现新型云服务器电源软件在线更新的设计方法 |
CN106815054A (zh) * | 2017-01-25 | 2017-06-09 | 郑州云海信息技术有限公司 | 一种刷新bmc固件的方法及装置 |
-
2017
- 2017-07-13 CN CN201710571922.1A patent/CN107391186A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103488494A (zh) * | 2013-08-12 | 2014-01-01 | 浪潮电子信息产业股份有限公司 | 一种刀片服务器多固件同步更新升级方法 |
CN104375860A (zh) * | 2014-10-30 | 2015-02-25 | 浪潮电子信息产业股份有限公司 | 一种对高密度机柜节点bmc批量刷新的方法 |
CN106547592A (zh) * | 2016-11-04 | 2017-03-29 | 郑州云海信息技术有限公司 | 一种实现新型云服务器电源软件在线更新的设计方法 |
CN106815054A (zh) * | 2017-01-25 | 2017-06-09 | 郑州云海信息技术有限公司 | 一种刷新bmc固件的方法及装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109284118A (zh) * | 2018-09-27 | 2019-01-29 | 郑州云海信息技术有限公司 | 一种固件刷新方法、系统、电子设备及计算机可读存储介质 |
US11016750B2 (en) * | 2019-03-13 | 2021-05-25 | Microsoft Technology Licensing, Llc | Firmware update system |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108566290A (zh) | 服务配置管理方法、系统、存储介质和服务器 | |
CN104850394B (zh) | 分布式应用程序的管理方法和分布式系统 | |
CN109657007A (zh) | 基于异步提交的数据库数据同步并行执行方法及设备 | |
CN110908837B (zh) | 应用程序异常处理方法、装置、电子设备及存储介质 | |
WO2024113726A1 (zh) | 一种磁盘阵列重构任务加速方法、系统、存储介质及设备 | |
CN103200199A (zh) | 一种带外数据采集系统 | |
CN104077199A (zh) | 基于共享磁盘的高可用集群的隔离方法和系统 | |
CN107391186A (zh) | 一种刷新电源供给单元固件的方法、装置及系统 | |
CN108205482B (zh) | 文件挂载恢复方法 | |
WO2020233001A1 (zh) | 双控构架分布式存储系统、数据读取方法、装置和存储介质 | |
US20200394085A1 (en) | Smart contract information redirect to updated version of smart contract | |
CN107368404A (zh) | 一种审计管理方法及系统 | |
CN107402843A (zh) | 数据库损坏的恢复方法、装置和设备 | |
CN107479889A (zh) | 一种批量刷新cpld的方法 | |
CN102725746A (zh) | 对分布式计算机系统中内存的管理方法和装置 | |
CN109507991A (zh) | 一种双轴伺服控制平台调试系统及方法 | |
CN105068760B (zh) | 数据存储方法、数据存储装置和存储设备 | |
CN111176749B (zh) | 一种高性能计算集群关闭方法与装置 | |
CN104038566A (zh) | 一种虚拟交换设备地址学习的方法、装置及系统 | |
CN106708445A (zh) | 链路选择方法及装置 | |
CN107145209A (zh) | 一种机柜服务器的电源管理方法及装置 | |
CN111522726A (zh) | 用于实现多虚拟机操作实时录屏审计的方法、系统、电子设备及存储介质 | |
CN107436826B (zh) | 一种冷数据处理方法及终端 | |
Engelmann et al. | Symmetric active/active high availability for high-performance computing system services: Accomplishments and limitations | |
CN109240725A (zh) | 一种更新bios后dmi同步信息不被更新的方法及系统 |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20171124 |