CN113867753A - 一种服务器的固件更新方法及系统 - Google Patents
一种服务器的固件更新方法及系统 Download PDFInfo
- Publication number
- CN113867753A CN113867753A CN202110999436.6A CN202110999436A CN113867753A CN 113867753 A CN113867753 A CN 113867753A CN 202110999436 A CN202110999436 A CN 202110999436A CN 113867753 A CN113867753 A CN 113867753A
- Authority
- CN
- China
- Prior art keywords
- firmware
- priority
- updating
- server
- update
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 59
- 238000010200 validation analysis Methods 0.000 claims abstract description 19
- 230000008569 process Effects 0.000 claims abstract description 7
- 230000004044 response Effects 0.000 claims description 18
- 230000000694 effects Effects 0.000 claims description 16
- 230000001419 dependent effect Effects 0.000 claims description 10
- 238000004458 analytical method Methods 0.000 claims description 3
- 230000006870 function Effects 0.000 abstract description 43
- 238000004590 computer program Methods 0.000 description 6
- 230000006872 improvement Effects 0.000 description 4
- 238000007726 management method Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 229920002492 poly(sulfone) Polymers 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
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
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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)
- Stored Programmes (AREA)
Abstract
一种服务器的固件更新方法及系统,方法包括:获取服务器上多个固件更新时的依赖关系及所述多个固件的生效方式;基于所述依赖关系及所述生效方式生成用于多个所述固件的更新策略;按照所述更新策略更新所述服务器的固件。通过本发明提出的一种服务器的固件更新方法,根据固件更新时的生效方式、更新后的相关功能对于其他固件的依赖关系以及更新时长三者作为更新策略的参照条件,对服务器的固件更新顺序以及更新后的行为进行调整,使得在服务器的固件更新任务中只重启一次系统就可实现对多个固件的更新操作,极大的减少了服务器固件更新的流程,并且实现一次重启便可完成固件更新的工作,重启后服务器即可正常工作。
Description
技术领域
本发明涉及计算机领域,具体涉及一种服务器的固件更新方法及系统。
背景技术
随着存储系统越来越复杂,硬件形态也越来越多,存储软件包越来越大,升级时间也响应增加。存储软件包主要包括:系统软件、固件两大部分,固件有很多种,常用的固件有BMC、BIOS、CPLD。BIOS、CPLD这类固件的升级完成,必须将系统冷重启才能生效,因此在现有的固件更新方式中往往存在频繁的系统重启。这样就增加了系统升级生效的时间。并且由于服务器系统重启的时间可能因不同的配置而有所不同,对于不同的配置的服务器在升级时难以保证升级效率的一致性。然而当前通用的解决方案是:通过压缩各个固件的大小来节省固件升级时的安装时间,进而起到减少升级时间的效果。但这种方式的提升有限,甚至不如提升固件的Flash缓存性能或固件处理数据的能力所起到的效果。这导致大部分的固件升级时间用于服务器系统重启过程中的自检消耗上及系统启动加载上。
因此,亟需要一种全新的解决方案,以弥补现有技术的不足。
发明内容
为解决以上问题,本发明提出一种服务器的固件更新方法,包括:
获取服务器上多个固件更新时的依赖关系及所述多个固件的生效方式;
基于所述依赖关系及所述生效方式生成用于多个所述固件的更新策略;
按照所述更新策略更新所述服务器的固件。
在本发明的一些实施方式中,固件包括:BMC固件、BIOS固件以及CPLD固件。
在本发明的一些实施方式中,方法进一步包括:
判断所述固件的生效方式是否为自主复位,并且判断所述固件的功能是否依赖于其他固件;
响应于所述固件的生效方式为自主复位,且所述固件的功能不依赖其他固件,将所述固件的优先级设定为第一优先级。
在本发明的一些实施方式中,方法进一步包括:
响应于所述固件的生效方式为自主复位,且所述固件的功能依赖其他固件,将所述固件的优先级设定为普通优先级。
在本发明的一些实施方式中,方法进一步包括:
响应于所述固件的生效方式为非自主复位,将所述固件优先级设定为普通优先级。
在本发明的一些实施方式中,方法进一步包括:
响应于所述固件的功能被生效方式为自主复位的固件需要,则将功能被生效方式为自主复位的固件需要的所述固件的优先级设定为第一优先级。
在本发明的一些实施方式中,方法进一步包括:
响应于存在多个优先级的固件更新,根据优先级的层次对所述固件进行更新,并且同时更新功能无依赖关系的相同优先级的所述固件。
在本发明的一些实施方式中,方法进一步包括:
获取多个所述固件更新时的数据写入阶段的写入时间;
计算多个所述固件更新时的数据写入阶段的平均时间;
响应于任一所述固件更新时的数据写入阶段的写入时间与所述平均时间之差大于预定值,将所述固件设定为特殊的数据写入优先级。
在本发明的一些实施方式中,方法进一步包括:
响应于任一所述固件的优先级为特殊的数据写入优先级,当其满足数据写入条件时,优先对该固件进行数据写入。
本发明的另一方面还提供了一种服务器固件更新系统,包括:
分析模块,所述分析模块配置用于获取服务器上多个固件更新时的依赖关系及所述多个固件的生效方式;
策略模块,所述策略模块配置用于基于所述依赖关系及所述生效方式生成用于多个所述固件的更新策略;
执行模块,所述执行模块配置用于按照所述更新策略更新所述服务器的固件。
通过本发明提出的一种服务器的固件更新方法,根据固件更新时的生效方式、更新后的相关功能对于其他固件的依赖关系以及更新时长三者作为更新策略的参照条件,对服务器的固件更新顺序以及更新后的行为进行调整,使得在服务器的固件更新任务中只重启一次系统就可实现对多个固件的更新操作,极大的减少了服务器固件更新的流程,并且实现一次重启便可完成固件更新的工作,重启后服务器即可正常工作。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提出的一种服务器固件更新方法的流程图;
图2为本发明提出的一种服务器固件更新方法对应的固件的架构图;
图3为本发明提出的一种服务器固件更新方法的一个实施例的固件更新顺序图;
图4为本发明提出的一种服务器固件更新方法的实施例流程图;
图5为本发明提出的一种服务器固件更新系统的结构图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。
如图1所示,本发明提出一种服务器的固件更新方法,包括:
步骤S1、获取服务器上多个固件更新时的依赖关系及所述多个固件的生效方式;
步骤S2、基于所述依赖关系及所述生效方式生成用于多个所述固件的更新策略;
步骤S3、按照所述更新策略更新所述服务器的固件。
在步骤S1中,在本发明的实施例中,为了精准制定最快的固件更新方案,需要获取每个固件的更新方式以及生效方式,通过更新方式可制定固件的更新方案,通过生效方式可确定:是对该固件立即生效,还是等待重启后统一生效;同时为防止出现某些具备立即生效(或具备自主复位生效)的固件在系统未冷重启之前生效,使得该固件升级后与其他固件不匹配导致的系统崩溃的问题,因此,还需要获取每个固件更新的依赖关系以及生效后的各个固件的各个功能之间的依赖关系,甚至是固件更新的驱动关系(指一个固件的更新需要另一个固件的相关功能来驱动该固件的固件程序安装)。
在步骤S2中,根据上述获取的功能上的依赖关系或者固件更新时的安装方式,以及固件更新的生效方式,根据依赖关系的满足条件制定相应的更新策略,以保证更新后的固件对其他固件的更新不存在阻碍,或者防止在固件更新后无法匹配当前未更新固件的功能而出现的固件崩溃的问题,从固件功能依赖以及生效方式出发制定固件更新的优先级及更新顺序的策略。
在步骤S3中,按照在步骤S2的根据固件功能依赖以及生效方式出发制定固件更新的优先级及更新顺序的策略,依次更新对应顺序的固件,并在所有固件更新完成后重启服务器,使固件的更新生效。
在本发明的一些实施例中,固件包括:BMC固件、BIOS固件以及CPLD固件。
如图2所示,在本实施例中,本发明所公开的一种服务器固件更新方法所涉及的固件类型包括:BMC 2、BIOS(BIOS Flash)3以及CPLD 4。其中BMC 2是一个独立的系统,它不依赖与系统上的其它硬件(比如CPU、内存等),也不依赖与BIOS 3、OS等(但是BMC 2可以与BIOS 3和OS交互,这样可以起到更好的平台管理作用,OS下的系统管理软件可以与BMC 2协同工作以达到更好的管理效果)。BMC 2具备自主复位(即固件更新后自主生效的能力,不需要复位主板或服务器冷重启)。BMC 2主要功能包括:负责存储设备FRU(Field ReplaceUnit)管理,主要包括:主板/接口卡/风扇/电源的在位状态/槽位号,FRU上的温度/电压传感器告警监控、框类型识别、PSU个数冗余、电源PowerGood检测、风扇调速控制,CPLD/BMC/PSU固件升级等等。虽然BMC的功能并不是太强大,但其固件程序往往均不小,并且每个升级的固件程序包都是包含所有功能的新的版本程序,即便是升级了某些个小功能但其固件程序包中仍需要包含所有的功能的代码程序,这是因为现有的BMC的固件更新时无法做到模块化更新的缘故,导致BMC在更新时的耗时可能相对较长。
BIOS(Basic Input Output System)是计算机的基本输入输出系统,是一组固化到计算机内主板上的一个ROM芯片上的程序,与BMC固件程序一样,固件升级时的固件程序往往很大。现有技术中,受制于用于存储BIOS固件程序的flash(ROM芯片)以及flash与BIOS连接的通信接口的协议的带宽都不高(也有通信方式及通信协议过老旧的原因),导致BIOS固件程序升级时的耗时较高,影响服务器固件更新的总体时间。与BMC不同的是由于BISO是位于服务器主板上的设备,无法在服务器主板上其他部件工作状态下复位,仅能通过服务器重启时主板断电服务器重启后才能实现固件生效。BISO的功能主要包括:CPU平台基础配置、初始化、主板PCIe设备扫描、资源预留等。
CPLD 4(Complex Programming logic device),复杂可编程逻辑器件,是一种用户根据各自需要而自行构造逻辑功能的数字集成电路。在服务器中的功能包括:FRU在位/槽位号检测、FRU上下电控制、GPIO扩展、硬件单板类型识别、数据传输。CPLD 4的固件程序相比于BMC 2和BIOS 3固件程序要少很多,并且固件更新时的耗时短。
在本发明中,CPLD和BISO以及BMC 2的功能依赖关系包括:
BMC 2通过CPLD识别的框类型来判断这个框应该配置几个电源。如果CPLD未升级,那么会导致BMC 2框类型识别错误,导致电源个数匹配出错,触发系统告警。
BIOS 3需要CPLD识别单板类型来识别单板管理的PCIe设备资源预留。如果CPLD没有先升级,则新的单板就不能被识别,导致PCIe资源分配有问题,最终导致系统功能出问题。
在本发明的一些实施例中,方法进一步包括:
判断所述固件的生效方式是否为自主复位,并且判断所述固件的功能是否依赖于其他固件;
响应于所述固件的生效方式为自主复位,且所述固件的功能不依赖其他固件,将所述固件的优先级设定为第一优先级。
在本实施例中,本实施例所涉及的固件更新是包括多个固件同时更新的情况。为了安全高效的制定更新策略,需要首先判断固件的生效方式,并再次判断固件更新后的相关功能,以防止在某些情况下更新后的固件的一些功能需要其他固件更新后的新的功能支持,并且当该固件的生效方式为自主复位时,该固件更新后因相关依赖的固件的功能并未更新导致该固件出现卡死的现象。因此在本实施例中,将具备自主复位,且固件的功能不依赖其他固件的固件更新的优先级设定为第一优先级。具体为,如前所述,BMC 2具备自主复位的生效方式,当本次固件更新仅涉及BIOS 3和BMC 2的升级时,则将BMC 2的固件更新的优先级设定为第一优先级。
在本发明的一些实施例中,方法进一步包括:
响应于所述固件的生效方式为自主复位,且所述固件的功能依赖其他固件,将所述固件的优先级设定为普通优先级。
在本实施例中,若某个固件的生效方式为自主复位,则说明该固件具备优先升级的条件并且升级后可通过自主复位使更新的固件程序立即生效,无需重启服务器便可实现固件的更新,这可以节省大量的时间。但当其更新后,某些功能需要其他固件的更新后的一些功能时,则不能使该固件作为第一优先级更新,以防止该固件更新后某些功能无法正常运行,可将其作为普通优先级。具体为,如前所述,BMC 2具备自主复位的生效方式,而此时CPLD也需要更新,CPLD 4更新后添加了框类型识别,BMC 2更新后通过CPLD识别的框类型来判断这个框应该配置几个电源。此时,若将BMC 2设定为第一优先级,对BMC 2执行固件更新,并且BMC 2固件更新后立即生效。如果CPLD未升级,那么会导致BMC 2框类型识别错误,导致系统崩溃。因此BMC 2的固件更新的优先级需要设定为普通优先级。
在本发明的一些实施例中,固件的功能依赖关系不单单是指一个固件的功能需要其他固件的功能支持,还包括其他固件的功能的正常运行需要该固件的某些功能支持。例如上述的BMC 2。BMC 2具备自主复位的生效方式,但CPLD的固件更新却需要BMC 2的支持。因此当CPLD也存在固件更新时,BMC 2虽然具备自主复位方式,但也无法被设定为第一优先级。如果BMC 2更新自主复位后无法驱动CPLD 4的更新,则会出现重大运维事故。因此同样需要将BMC 2设定为普通优先级。
在本发明的一些实施方式中,方法进一步包括:
响应于所述固件的生效方式为非自主复位,将所述固件优先级设定为普通优先级。
在本实施例中,在本次服务器固件升级中,若需要升级的固件都不具备通过自主复位的生效方式,则将所有的固件的优先级均设置为普通优先级。例如,涉及的需要更新的固件为BIOS 3和CPLD,两者均不具备自主复位的生效方式,因此两者只能被设定为普通优先级。
在本发明的一些实施例中,方法进一步包括:
响应于所述固件的功能被生效方式为自主复位的固件需要,则将功能被生效方式为自主复位的固件需要的所述固件的优先级设定为第一优先级。
在本实施例中,若某一固件不具备自主复位的生效方式,但是具备自主复位生效的固件却依赖该固件,为防止具备自主生效的固件更新后无法使用,因此将本该被设定为普通优先级的固件设定为第一优先级,将该固件的更新安排在具备自主复位生效方式的固件之前,并且当具备自主复位生效方式的固件更新后立即重启服务器。
在本发明的一些实施例中,方法进一步包括:
响应于存在多个优先级的固件更新,根据优先级的层次对所述固件进行更新,并且同时更新功能无依赖关系的相同优先级的所述固件。
在本实施例中,当服务器中存在多个固件需要更新时,按照优先级的高低进行逐一更新,当在同一优先级内存在多个固件更新时,可将同一优先级内的固件同时更新。
如图3所示,图3示出了本实施例中服务器对CPLD 4和BIOS 3以及BMC的升级顺序。
在本实施例中,由于BMC 2和CPLD 4同时升级,并且BMC的升级后需要CPLD提供新的FRU在位检测信号,而旧版的CPLD无法提供此功能,因此需要将BMC 2和CPLD 4升级,虽然BMC具备自主复位生效模式,但为防止生效后旧版的CPLD 4功能无法满足导致的BMC报错或服务崩溃,将优先升级CPLD 4。并且,由于BIOS 3不具备自主复位生效的功能,将BIOS和BMC同时升级。若BMC 2先于BIOS 3完成固件更新,则阻止BMC的自主复位,等待BIOS 3的固件程序更新完成之后,由服务器上的操作系统统一进行服务器重启操作。
如图4所示,在本发明的一些实施例中,方法进一步包括:
步骤S100、获取多个所述固件更新时的数据写入阶段的写入时间;
步骤S200、计算多个所述固件更新时的数据写入阶段的平均时间;
步骤S300、响应于任一所述固件更新时的数据写入阶段的写入时间与所述平均时间之差大于预定值,将所述固件设定为特殊的数据写入优先级。
在本实施例中,本发明的一种服务器固件更新方法还提供一种通过时间维度制定固件更新的策略的方式。
在步骤S100中,获取待更新的固件的数据大小,并从数据库查询不同固件的存储器(flash或ROM)的型号以及写入速度。通过固件的数据大小除以对应的写入速度来估算对应的固件在更新时的理论写入时间(因为数据写入时影响速度的因素很多,因此根本无法得到更新一个固件的准确时间,并且即便是相同的固件程序在不同的服务器上的写入时间也无法准确确定)。
在步骤S200-S300中,将本次固件更新的所有固件的理论写入时间求平均值,并且将每个待更新的固件的理论写入时间与平均时间进行比较,若任一一个待写入固件的理论写入时间比平均时间多5分钟,在条件允许的情况下,将所述固件的优先级设定为特殊优先级。
在本发明的一些实施方式中,方法进一步包括:
S400、响应于任一所述固件的优先级为特殊的数据写入优先级,当其满足数据写入条件时,优先对该固件进行数据写入。
在本实施例中,特殊优先级是指在不与其他固件更新冲突情况下具备第一优先级的优先条件,当该固件需要在其他固件先于其自身更新时,则必须等待对应的固件更新完成,其方可享有第一优先级的条件。即当该固件需要满足更新条件时,即可立即被更新。
在本发明的一些实施例中,获取多个所述固件更新时的数据写入阶段的写入时间,还可以通过对服务器既往的固件更新进行监控,比如通过监控固件程序从操作系统的磁盘或内存中转移到对应的固件中的开始时间到接收到固件返回的固件更新完成时间,并将完成时间和开始时间相减获得固件更新时间,再通过固件程序的数据大小除以固件更新时间得到固件更新时的写入速度,并将写入速度保存用于后续的升级时间计算。
实施例
在本实施例中,此次待升级固件如下表:
上表中,主板BIOS 3固件大小为42MB,升级时间8分钟是根据BIOS的flash的写入速度估算所得,生效方式为复位主板生效(即服务器重新启动),BIOS 3需要CPLD 4更新后对硬件单板类型识别,并基于CPLD 4的对硬件单板的识别,进一步对PCIE资源进行分配。
此外,在本实施例中服务器中新加了一些硬件设备,但由于CPLD 4中没有对应的新的硬件设备的具体型号以及识别机制,因此需要对CPLD 4进行升级。此次升级的CPLD 4的固件大小为2M,估算写入时间为3分钟。生效方式与BIOS 3相同均需要服务器重启后才可生效。
BMC 2的主要功能包括存储设备FRU管理类,同样需要CPLD 4检测新加的硬件设备是否为存储设备。如果是存储设备,BMC 2则为新的硬件设备配置电源。此次升级的BMC 2的固件大约32MB左右,升级时间约为6分钟,BMC 2可自主复位,复位后BMC 2重启并从其flash中读取新的固件程序加载并运行。
进一步,在获取到上述信息后,按照本发明的上述方法对上述信息进行判断,首先分析各固件更新后的功能上是否存在依赖关系。
在此需要说明的是,上述信息是通过表格展示,但在实施例的实施中,上述信息则是以对应的数据结构的形式作为输入,例如功能依赖关系,BMC依赖CPLD,则在对应的字段上{“depend”:“CPLD”},如果BMC同时依赖BIOS时,则对应的字段表示为{“depend”:“[BIOS,CPLD]”}。根据本发明上述方法所封装的程序便可识别出BMC 2的功能依赖包括CPLD 4和BISO 3更新后的功能。因此,即便BMC具备自主复位生效的方式,但其依然不能设定为第一优先级,而是设定为普通优先级。
此外,如图2所示,由于CPLD 4的更新需要BMC 2的驱动才能完成更新,则需要将CPLD 4的固件更新优先级高于BMC 2的优先级,因此将CPLD 4的固件更新的优先级设定为第一优先级。
进一步,从BISO的功能依赖关系以及生效方式进行分析,BIOS均不具备上述方法中将其设定为第一优先级的条件。因此BIOS通常设定为普通优先级。
进一步,如图2所述,在对上述固件进行更新升级时,首先通过位于服务器操作系统1的BIOS Upadata Tool和BMC Updata Tool实现对上述固件的更新。具体地,先通过BMCUpdata Tool向BMC发送更新CPLD 4的指令,若BMC 2响应该指令,则返回确认信息,BMCUpdata Tool便将CPLD的固件程序发送到BMC中,BMC则调用相应的CPLD更新程序与CPLD进行通信,并将CPLD固件写入到CPLD对应的flash中,完成对CPLD固件更新。
进一步,在通过BMC 2完成对CPLD 4的更新后,BMC Updata Tool将执行对BMC 2的更新,同时,由于BMC 2和BIOS 3均在同一优先级中,并且两者的固件更新互不影响,因此可将BMC 2和BIOS 3同时更新,即分别调用BIOS Upadata Tool和BMC Updata Tool对BIOS 3和BMC2的固件进行更新即可。
如图5所示,本发明的另一方面还提供了一种服务器固件更新系统8,包括:
分析模块9,所述分析模块9配置用于获取服务器上多个固件更新时的依赖关系及所述多个固件的生效方式;
策略模块10,所述策略模块10配置用于基于所述依赖关系及所述生效方式生成用于多个所述固件的更新策略;
执行模块11,所述执行模块11配置用于按照所述更新策略更新所述服务器的固件。
通过本发明提出的一种服务器的固件更新方法,根据固件更新时的生效方式、更新后的相关功能对于其他固件的依赖关系以及更新时长三者作为更新策略的参照条件,对服务器的固件更新顺序以及更新后的行为进行调整,使得在服务器的固件更新任务中只重启一次系统就可实现对多个固件的更新操作,极大的减少了服务器固件更新的流程,并且实现一次重启便可完成固件更新的工作,重启后服务器即可正常工作。
最后需要说明的是,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(ROM)或随机存储记忆体(RAM)等。所述计算机程序的实施例,可以达到与之对应的前述任意方法实施例相同或者相类似的效果。
此外,典型地,本发明实施例公开所述的装置、设备等可为各种电子终端设备,例如手机、个人数字助理(PDA)、平板电脑(PAD)、智能电视等,也可以是大型终端设备,如服务器等,因此本发明实施例公开的保护范围不应限定为某种特定类型的装置、设备。本发明实施例公开所述的客户端可以是以电子硬件、计算机软件或两者的组合形式应用于上述任意一种电子终端设备中。
此外,根据本发明实施例公开的方法还可以被实现为由CPU执行的计算机程序,该计算机程序可以存储在计算机可读存储介质中。在该计算机程序被CPU执行时,执行本发明实施例公开的方法中限定的上述功能。
此外,上述方法步骤以及系统单元也可以利用控制器以及用于存储使得控制器实现上述步骤或单元功能的计算机程序的计算机可读存储介质实现。
此外,应该明白的是,本文所述的计算机可读存储介质(例如,存储器)可以是易失性存储器或非易失性存储器,或者可以包括易失性存储器和非易失性存储器两者。作为例子而非限制性的,非易失性存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦写可编程ROM(EEPROM)或快闪存储器。易失性存储器可以包括随机存取存储器(RAM),该RAM可以充当外部高速缓存存储器。作为例子而非限制性的,RAM可以以多种形式获得,比如同步RAM(DRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据速率SDRAM(DDR SDRAM)、增强SDRAM(ESDRAM)、同步链路DRAM(SLDRAM)、以及直接Rambus RAM(DRRAM)。所公开的方面的存储设备意在包括但不限于这些和其它合适类型的存储器。
以上是本发明公开的示例性实施例,但是应当注意,在不背离权利要求限定的本发明实施例公开的范围的前提下,可以进行多种改变和修改。根据这里描述的公开实施例的方法权利要求的功能、步骤和/或动作不需以任何特定顺序执行。此外,尽管本发明实施例公开的元素可以以个体形式描述或要求,但除非明确限制为单数,也可以理解为多个。
应当理解的是,在本文中使用的,除非上下文清楚地支持例外情况,单数形式“一个”旨在也包括复数形式。还应当理解的是,在本文中使用的“和/或”是指包括一个或者一个以上相关联地列出的项目的任意和所有可能组合。
上述本发明实施例公开实施例序号仅仅为了描述,不代表实施例的优劣。
本领域技术人员还将明白的是,结合这里的公开所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。为了清楚地说明硬件和软件的这种可互换性,已经就各种示意性组件、方块、模块、电路和步骤的功能对其进行了一般性的描述。这种功能是被实现为软件还是被实现为硬件取决于具体应用以及施加给整个系统的设计约束。本领域技术人员可以针对每种具体应用以各种方式来实现所述的功能,但是这种实现决定不应被解释为导致脱离本发明实施例公开的范围。
结合这里的公开所描述的方法或算法的步骤可以直接包含在硬件中、由处理器执行的软件模块中或这两者的组合中。软件模块可以驻留在RAM存储器、快闪存储器、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移动盘、CD-ROM、或本领域已知的任何其它形式的存储介质中。示例性的存储介质被耦合到处理器,使得处理器能够从该存储介质中读取信息或向该存储介质写入信息。在一个替换方案中,所述存储介质可以与处理器集成在一起。处理器和存储介质可以驻留在ASIC中。ASIC可以驻留在用户终端中。在一个替换方案中,处理器和存储介质可以作为分立组件驻留在用户终端中。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本发明实施例公开的范围(包括权利要求)被限于这些例子;在本发明实施例的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,并存在如上所述的本发明实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本发明实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明实施例的保护范围之内。
Claims (10)
1.一种服务器的固件更新方法,其特征在于,包括:
获取服务器上多个固件更新时的依赖关系及所述多个固件的生效方式;
基于所述依赖关系及所述生效方式生成用于多个所述固件的更新策略;
按照所述更新策略更新所述服务器的固件。
2.根据权利要求1所述的方法,其特征在于,所述固件包括:BMC固件、BIOS固件以及CPLD固件。
3.根据权利要求2所述的方法,其特征在于,进一步包括:
判断所述固件的生效方式是否为自主复位,并且判断所述固件的功能是否依赖于其他固件;
响应于所述固件的生效方式为自主复位,且所述固件的功能不依赖其他固件,将所述固件的优先级设定为第一优先级。
4.根据权利要求3所述的方法,其特征在于,进一步包括:
响应于所述固件的生效方式为自主复位,且所述固件的功能依赖其他固件,将所述固件的优先级设定为普通优先级。
5.根据权利要求3所述的方法,其特征在于,进一步包括:
响应于所述固件的生效方式为非自主复位,将所述固件优先级设定为普通优先级。
6.根据权利要求5所述的方法,其特征在于,进一步包括:
响应于所述固件的功能被生效方式为自主复位的固件需要,则将功能被生效方式为自主复位的固件需要的所述固件的优先级设定为第一优先级。
7.根据权利要求6所述的方法,其特征在于,进一步包括:
响应于存在多个优先级的固件更新,根据优先级的层次对所述固件进行更新,并且同时更新功能无依赖关系的相同优先级的所述固件。
8.根据权利要求3所述的方法,其特征在于,进一步包括:
获取多个所述固件更新时的数据写入阶段的写入时间;
计算多个所述固件更新时的数据写入阶段的平均时间;
响应于任一所述固件更新时的数据写入阶段的写入时间与所述平均时间之差大于预定值,将所述固件设定为特殊的数据写入优先级。
9.根据权利要求8所述的方法,其特征在于,进一步包括:
响应于任一所述固件的优先级为特殊的数据写入优先级,当其满足数据写入条件时,优先对该固件进行数据写入。
10.一种服务器固件更新系统,其特征在于,包括:
分析模块,所述分析模块配置用于获取服务器上多个固件更新时的依赖关系及所述多个固件的生效方式;
策略模块,所述策略模块配置用于基于所述依赖关系及所述生效方式生成用于多个所述固件的更新策略;
执行模块,所述执行模块配置用于按照所述更新策略更新所述服务器的固件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110999436.6A CN113867753B (zh) | 2021-08-29 | 2021-08-29 | 一种服务器的固件更新方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110999436.6A CN113867753B (zh) | 2021-08-29 | 2021-08-29 | 一种服务器的固件更新方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113867753A true CN113867753A (zh) | 2021-12-31 |
CN113867753B CN113867753B (zh) | 2024-01-16 |
Family
ID=78988719
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110999436.6A Active CN113867753B (zh) | 2021-08-29 | 2021-08-29 | 一种服务器的固件更新方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113867753B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102937904A (zh) * | 2012-10-24 | 2013-02-20 | 华为技术有限公司 | 一种多节点固件升级方法和装置 |
CN104679530A (zh) * | 2013-11-26 | 2015-06-03 | 英业达科技有限公司 | 服务器系统与固件更新方法 |
US20190265963A1 (en) * | 2018-02-27 | 2019-08-29 | Ricoh Company, Ltd. | Information processing apparatus and firmware updating method |
US20200026505A1 (en) * | 2016-11-23 | 2020-01-23 | Nutanix, Inc. | Scheduling firmware operations in distributed computing systems |
CN111367544A (zh) * | 2018-12-26 | 2020-07-03 | 美的集团股份有限公司 | 多外设固件升级控制方法、智能设备、固件及电子设备 |
-
2021
- 2021-08-29 CN CN202110999436.6A patent/CN113867753B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102937904A (zh) * | 2012-10-24 | 2013-02-20 | 华为技术有限公司 | 一种多节点固件升级方法和装置 |
CN104679530A (zh) * | 2013-11-26 | 2015-06-03 | 英业达科技有限公司 | 服务器系统与固件更新方法 |
US20200026505A1 (en) * | 2016-11-23 | 2020-01-23 | Nutanix, Inc. | Scheduling firmware operations in distributed computing systems |
US20190265963A1 (en) * | 2018-02-27 | 2019-08-29 | Ricoh Company, Ltd. | Information processing apparatus and firmware updating method |
CN111367544A (zh) * | 2018-12-26 | 2020-07-03 | 美的集团股份有限公司 | 多外设固件升级控制方法、智能设备、固件及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN113867753B (zh) | 2024-01-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101814035B (zh) | 允许快速平台重启的方法和系统 | |
CN107122321B (zh) | 硬件修复方法、硬件修复系统以及计算机可读取存储装置 | |
CN105745617B (zh) | 用于预启动固件更新的选择性功率管理 | |
EP2831722B1 (en) | Method and system for verifying proper operation of a computing device after a system change | |
US7721153B2 (en) | System, method and program product for recovering from a failure | |
US9910664B2 (en) | System and method of online firmware update for baseboard management controller (BMC) devices | |
US8782643B2 (en) | Device and method for controlling communication between BIOS and BMC | |
CN103324495A (zh) | 数据中心服务器开机管理方法及系统 | |
US8935558B2 (en) | Overclocking module, a computer system and a method for overclocking | |
US7194614B2 (en) | Boot swap method for multiple processor computer systems | |
CN110119623A (zh) | 一种利用tpcm实现固件主动度量的可信主板实现方法 | |
CN111338698A (zh) | 一种bios准确引导服务器启动的方法及系统 | |
CN111090546A (zh) | 一种操作系统重启方法、装置、设备及可读存储介质 | |
CN117130672A (zh) | 服务器启动流程控制方法、系统、终端及存储介质 | |
CN106909382B (zh) | 输出不同类型系统启动信息的方法及装置 | |
CN110286953B (zh) | 嵌入式系统的启动方法、装置、嵌入式设备及存储介质 | |
WO2021154200A1 (en) | Firmware corruption recovery | |
CN116501343A (zh) | 一种程序升级方法、电源及计算设备 | |
CN113867753B (zh) | 一种服务器的固件更新方法及系统 | |
CN115129345A (zh) | 一种固件升级方法、装置、设备及存储介质 | |
CN102455919A (zh) | 基本输入输出系统自动最佳化设定方法 | |
KR20070060448A (ko) | 2단계 부트로더를 이용한 시스템 업그레이드 장치 및 방법 | |
CN113377425A (zh) | Bmc固件生成方法和装置、bmc启动方法和装置及存储介质 | |
WO2022050938A1 (en) | Firmware event recovery | |
TWI554876B (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 |