CN109684134A - 用于在多个设备间快速部署固件设定的方法及服务器 - Google Patents

用于在多个设备间快速部署固件设定的方法及服务器 Download PDF

Info

Publication number
CN109684134A
CN109684134A CN201811572758.7A CN201811572758A CN109684134A CN 109684134 A CN109684134 A CN 109684134A CN 201811572758 A CN201811572758 A CN 201811572758A CN 109684134 A CN109684134 A CN 109684134A
Authority
CN
China
Prior art keywords
firmware
equipment
set information
server
information
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
CN201811572758.7A
Other languages
English (en)
Other versions
CN109684134B (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.)
Lenovo Beijing Ltd
Original Assignee
Lenovo Beijing 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 Lenovo Beijing Ltd filed Critical Lenovo Beijing Ltd
Priority to CN201811572758.7A priority Critical patent/CN109684134B/zh
Publication of CN109684134A publication Critical patent/CN109684134A/zh
Application granted granted Critical
Publication of CN109684134B publication Critical patent/CN109684134B/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/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/1438Restarting or rejuvenating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • Stored Programmes (AREA)

Abstract

本申请公开了一种用于在多个设备间快速部署固件设定的方法及服务器,该方法包括:第二设备接收来自第一设备的关于第一设备的第一固件设定信息的通知,第一固件设定信息存储在第一设备的基板管理控制器中;第二设备响应于通知判断是否重新启动;如果第二设备确定重新启动,则利用从第一设备接收的第一固件设定信息生成用于第二设备的第二固件设定信息。由于第二设备可以从第一设备的基板管理控制器中获取存储的第一固件设定信息,这使得获取方式更为灵活,而且可以随时对第二设备的固件进行设定。此外,由于第二设备无需对第一固件设定信息进行大的更改或者根本无需做修改,因此可以快速的对其固件进行设定,有效提高设备部署效率。

Description

用于在多个设备间快速部署固件设定的方法及服务器
技术领域
本申请涉及电子技术领域,特别涉及一种用于在多个设备间快速部署 固件设定的方法及服务器。
背景技术
在用户场景上,常常需要将对一台服务器的固件的设定套入其他数十 台甚至数百台相同的机型上,例如,对一台服务器的固件(如服务器的 BIOS,即基本输入输出系统)进行设定,将将对该台服务器的固件的设定 套入其他相同的服务器中。
现有的技术方案中,可以通过用来设定及维护服务器的集成工具 -OneCli(OneClick一键设定)工具对多个服务器的BMC(基板管理控制 器)进行设定,固件在POST(PowerOn Self Test,上电自检)的后期通过 UCM(unified configuration manager统一配置管理器)的功能来检测对BMC 的设定有没有变化,如果有变化的话,则同步后重启系统。该方案的缺点 是,需要等很长的时间,只能在到达上电自检(POST)后期时才检查,才 会完成对多个服务器的部署。
另外,还可以利用AMISDEDOS/AMISDEWIN工具(美国公司用于在 DOS系统下存取固件设定的工具/美国公司用于在WIN系统下存取固件设 定的工具)在操作系统下直接通过固件把设定值存储在NVRAM (non-volatile RAM非易失性随机访问存储器)。该方案的缺点是, AMISDEDOS/AMISDEWIN工具必须在runtime(运行时刻)环境下使用, 然后操作系统重启后可以利用NVRAM中的该设定值。
上述的方案中,均不能在上电自检整个阶段来快速的部署服务器,效 率低下。
申请内容
本申请实施例的目的在于提供一种用于在多个设备间快速部署固件设 定的方法及服务器,该方法及相应服务器能够在上电自检的整个阶段快速 部署,方便对服务器进行部署。
为了解决上述技术问题,本申请的实施例采用了如下技术方案:一种 用于在多个设备间快速部署固件设定的方法,包括:
第二设备接收来自第一设备的关于所述第一设备的第一固件设定信息 的通知,所述第一固件设定信息存储在所述第一设备的基板管理控制器中;
所述第二设备响应于所述通知判断是否重新启动;
如果所述第二设备确定重新启动,则利用从所述第一设备接收的所述 第一固件设定信息生成用于所述第二设备的第二固件设定信息。
作为优选,所述的第二设备接收来自第一设备的关于所述第一设备的 第一固件设定信息的通知包括:
通过所述第二设备的基板管理控制器或预设工具从所述第一设备的基 板管理控制器接收所述第一固件设定信息,并将相应的接收信息发送给所 述第二设备的固件;
将接收的第一固件设定信息存储在预设存储空间中。
作为优选,所述的利用从所述第一设备接收的所述第一固件设定信息 生成用于所述第二设备的第二固件设定信息包括:
当所述第二设备的固件在进行定点检查过程中检测到确定重启信息 时,在所述第二设备的固件的第一启动阶段读取所述第一固件设定信息;
在所述第二设备的固件的第二启动阶段,将所述第一固件设定信息写 入所述第二设备的固件中;
根据所述第一固件设定信息生成所述第二固件设定信息。
作为优选,所述方法还包括:
当所述第二设备的固件获取到所述第二固件设定信息后发送反馈信息 至所述第二设备的基板管理控制器,以避免再次接收到所述通知。
作为优选,所述第一固件设定信息包括固件版本信息。
作为优选,所述第一固件设定信息包括所述第一设备的固件的初始设 定数据与当前设定数据之间的差异数据。
本申请实施例还提供了一种服务器,包括:
通信模块,其配置为接收来自第一设备的关于所述第一设备的第一固 件设定信息的通知,所述第一固件设定信息存储在所述第一设备的基板管 理控制器中;
处理模块,其配置为响应于所述通知判断是否重新启动,如果所述服 务器确定重新启动,则利用从所述第一设备接收的所述第一固件设定信息 生成用于所述服务器的第二固件设定信息。
作为优选,所述通信模块进一步配置为:
通过所述服务器的基板管理控制器或预设工具从所述第一设备的基板 管理控制器接收所述第一固件设定信息,并将相应的接收信息发送给所述 服务器的固件;
将接收的第一固件设定信息存储在预设存储空间中。
作为优选,所述处理模块进一步配置为:
当所述服务器的固件在进行定点检查过程中检测到确定重启信息时, 在所述服务器的固件的第一启动阶段读取所述第一固件设定信息;
在所述服务器的固件的第二启动阶段,将所述第一固件设定信息写入 所述服务器的固件中;
根据所述第一固件设定信息生成所述第二固件设定信息。
作为优选,所述第一固件设定信息包括所述第一设备的固件的初始设 定数据与当前设定数据之间的差异数据。
本申请实施例的有益效果在于:由于第二设备可以从第一设备的基板 管理控制器中获取存储的第一固件设定信息,这使得获取方式更为灵活, 可以通过网络或其他中介完成获取操作,也并不是必须在第二设备的特定 时间段内完成(如无需被限定在第二设备的上电自检的后期),而是可以在 任何时间,随时对第二设备的固件进行设定,设定方式更为灵活。此外, 由于第二设备无需对第一固件设定信息进行大的更改或者根本无需做任何数据修改,因此第二设备可以基于第一固件设定信息而快速的对其固件进 行设定,有效提高设备部署效率,特别是在第二设备的数量众多时更加能 够体现出上述优势。
附图说明
图1示出了本申请实施例的用于在多个设备间快速部署固件设定的方 法的流程图;
图2示出了本申请实施例的图1中步骤S1的一个具体实施例的流程图;
图3示出了本申请实施例的图1中步骤S3的一个具体实施例的流程图;
图4示出了本申请实施例的服务器的结构示意图。
具体实施方式
此处参考附图描述本申请的各种方案以及特征。
应理解的是,可以对此处申请的实施例做出各种修改。因此,上述说 明书不应该视为限制,而仅是作为实施例的范例。本领域的技术人员将想 到在本申请的范围和精神内的其他修改。
包含在说明书中并构成说明书的一部分的附图示出了本申请的实施 例,并且与上面给出的对本申请的大致描述以及下面给出的对实施例的详 细描述一起用于解释本申请的原理。
通过下面参照附图对给定为非限制性实例的实施例的优选形式的描 述,本申请的这些和其它特性将会变得显而易见。
还应当理解,尽管已经参照一些具体实例对本申请进行了描述,但本 领域技术人员能够确定地实现本申请的很多其它等效形式,它们具有如权 利要求所述的特征并因此都位于借此所限定的保护范围内。
当结合附图时,鉴于以下详细说明,本申请的上述和其他方面、特征 和优势将变得更为显而易见。
此后参照附图描述本申请的具体实施例;然而,应当理解,所公开的 实施例仅仅是本申请的实例,其可采用多种方式实施。熟知和/或重复的功 能和结构并未详细描述以避免不必要或多余的细节使得本申请模糊不清。 因此,本文所公开的具体的结构性和功能性细节并非意在限定,而是仅仅 作为权利要求的基础和代表性基础用于教导本领域技术人员以实质上任意 合适的详细结构多样地使用本申请。
本说明书可使用词组“在一种实施例中”、“在另一个实施例中”、“在 又一实施例中”或“在其他实施例中”,其均可指代根据本申请的相同或不 同实施例中的一个或多个。
本申请实施例提供了一种用于在多个设备间快速部署固件设定的方 法,上述设备可以是服务器等电子设备,该设备具有固件(如该设备的基 本输入输出系统,BIOS),如图1所示,该方法包括以下步骤:
S1,第二设备接收来自第一设备的关于第一设备的第一固件设定信息 的通知,第一固件设定信息存储在第一设备的基板管理控制器中。第一固 件设定信息为针对第一设备的相应固件的设定信息,以供第一设备使用, 其可以包括第一设备所使用的担任着整个系统基础的、底层工作的软件或 数据,如当第一设备是第一服务器,其固件为BIOS时,该第一固件设定 信息是该第一服务器最重要的基本输入输出的程序、开机后自检程序和系 统自启动程序,它可从CMOS中读写系统设置的具体信息,其主要功能是 为第一服务器提供底层的、直接的硬件设置和控制。该第一固件设定信息 可以存储在第一设备的基板管理控制器(BMC)中,以便第一设备可以灵 活的将该第一固件设定信息发送至第二设备,而无需第一设备再重新从其 固件中获取该第一固件设定信息,并再利用BMC配合进行发送。第二设备为不同于第一设备的电子设备,如第二设备是与第一服务器相同类型的 第二服务器,其也具有固件而且该第二设备的固件可以使用第一设备的固 件的第一固件设定信息,在第二设备的固件需要更新或者需要重新设定时, 可以接收第一设备发出的第一固件设定信息的通知,以便对第二设备的固 件进行更新或者重新设定。
S2,第二设备响应于通知判断是否重新启动。第二设备接收到通知后, 可以依据用户的设定规定而判断是否重新启动系统,如预设规定可以是每 当接收到通知后便立即重新启动,或者预设规定可以是在接收到通知后, 判断是否有重要任务正在运行,如果有则等待运行完毕后在进行重新启动。 在一个实施例中,第二设备可以基于其操作系统利用相应的预设软件或驱 动来响应上述通知,并判断是否需要将第二设备进行重新启动。
S3,如果第二设备确定重新启动,则利用从第一设备接收的第一固件 设定信息生成用于第二设备的第二固件设定信息。具体来说,第二设备可 以直接利用第一固件设定信息,或者利用第一固件设定信息的主要数据来 生成第二固件设定信息,如第二设备与第一设备为同一类型或相似类型的 服务器,则第二设备可以利用第一设备的第一固件设定信息生成自己的固 件所需要的第二固件设定信息(当然可以根据实际需要不对第一固件设定 信息进行更改,也可以对第一固件设定信息进行局部的更改)。举例说明, 一个实施例中,第二设备可以通过网络或其他媒介直接过间接的接收该第 一固件设定信息,并将获取到的第一固件设定信息直接写入到第二设备的 固件中使之成为第二固件设定信息;另一个实施例中,当第二设备获取到 第一固件设定信息后,对第一固件设定信息进行了局部的数据修改,如仅 对第一固件设定信息进行打补丁操作,或者仅根据更新前后的差异信息对部分内容进行修改,或者仅修改写入日期便形成第二固件设定信息等。
本方法中,由于第二设备可以从第一设备的基板管理控制器中获取存 储的第一固件设定信息,这使得获取方式更为灵活,可以通过网络或其他 中介完成获取操作,也并不是必须在第二设备的特定时间段内完成(如无 需被限定在第二设备的上电自检的后期)。而是可以在任何时间,随时对第 二设备的固件进行设定,设定方式更为灵活。此外,由于第二设备无需对 第一固件设定信息进行大的更改或者根本无需做任何数据修改,因此第二 设备可以基于第一固件设定信息而快速的对其固件进行设定,有效提高设 备部署效率,特别是在第二设备的数量众多时更加能够体现出上述优势。
在本申请的一个实施例中,如图2所示,所述的第二设备接收来自第 一设备的关于第一设备的第一固件设定信息的通知的步骤包括以下步骤:
S11,通过第二设备的基板管理控制器或预设工具从第一设备的基板管 理控制器接收第一固件设定信息,并将相应的接收信息发送给第二设备的 固件。基板管理控制器是一个专门的服务处理机,他可以对设备进行固件 升级、查看设备硬件等操作。而预设工具可以是用户自定义工具能够用于 将第一设备的第一固件设定信息通过直接或间接的发送给第二设备。本实 施中,由于基板管理控制器或预设工具可以不受时间段的限制并且具有灵 活传送数据的优势,因此第二设备可以在任何时间方便的获取到第一固件 设定信息,此外,第二设备的基板管理控制器或预设工具可以将相应的接 收信息发送给第二设备的固件(如BIOS),以使该固件获知已经获取到了 第一固件设定信息,该固件可以进行随后的设定操作,如第二设备的BIOS 可以通知操作系统对第二设备进行重启操作。在另一个实施例中,第二设 备的基板管理控制器或预设工具还可以将上述的接收信息发送给其他预设软件,如Runtime等软件,使其对第二设备进行重启或其他操作。
S12,将接收的第一固件设定信息存储在预设存储空间中。预设存储空 间可以是用户根据实际使用需要来设定的一个或多个空间。在一个实施例 中,该预设存储空间可以是至少以下一种:第二设备的基板管理控制器的 存储空间,第二设备的BIOS的NVRAM,或者是与第二设备连接的外部 空间。至于选择哪种存储形式(包括混合存储形式),可以根据需要设定在 此不做限定。
在本申请的一个实施例中,如图3所示,所述的利用从第一设备接收 的第一固件设定信息生成用于第二设备的第二固件设定信息的步骤包括以 下步骤:
S31,当第二设备的固件在进行定点检查过程中检测到确定重启信息 时,在第二设备的固件的第一启动阶段读取第一固件设定信息;
S32,在第二设备的固件的第二启动阶段,将第一固件设定信息写入第 二设备的固件中;
S33,根据第一固件设定信息生成第二固件设定信息。
具体来说,第二设备确定要重新启动后,会对相关联的数据或标识位 等信息进行更改。第二设备的固件要对上述信息进行定点检查,即逐步查 看该固件所关联的数据、进程或标识位是否被修改,如果检测到上述信息 中具有确定重启信息(该确定重启信息可用于表征需要第二设备立即重 启),则会驱使第二设备立即重启。举例说明,当第二设备为服务器,其固 件为BIOS时,BIOS在做定点检查时,如在PEI NVRAM Service Ready以 后发现BIOS又被调用过,则会立即驱使第二设备重启。在第二设备的固 件的第一启动阶段读取第一固件设定信息,即可以在第一启动阶段从预设 存储空间中读取第一固件设定信息,在一个实施例中,第一固件设定信息 包括第一设备的固件的初始设定数据与当前设定数据之间的差异数据,初 始设定数据被存储到了第二设备的BIOS的NVRAM中,差异数据被存储 到了第二设备的BMC中。读取第一固件设定信息时,可分别从上述两个 存储空间读取初始设定数据和差异数据。在第二设备的固件的第二启动阶 段,将初始设定数据和差异数据写入到第二设备的固件中,并根据差异数 据对初始设定数据进行更改,当然如果没有差异数据即不需要对初始设定 数据进行更改,便能够形成适用于第二设备的固件的第二固件设定信息。 例如可以在BIOS的DXE阶段或者BDS阶段(在DXE/BDS NVRAM Service Ready以后),将差异数据从BMC中抓取到BIOS的NVRAM中,并根据 差异数据对存储到BIOS的NVRAM中的初始设定数据进行更改,以形成 第二固件设定信息。
在本申请的一个实施例中,所述方法还包括以下步骤:当第二设备的 固件获取到第二固件设定信息后发送反馈信息至第二设备的基板管理控制 器,以避免再次接收到通知。
具体来说,第二设备的固件获取到第二固件设定信息后,在一定时间 段内便无需再次对第二固件设定信息进行更新或其他修改操作,第二设备 的固件则将表征已经获取了第二固件设定信息的反馈信息发送给基板管理 控制器(BMC),使得第二设备的基板管理控制器不再向第一设备的基板 管理控制器获取第一固件设定信息,或者使得第二设备的基板管理控制器 通知预设工具不再向第一设备的基板管理控制器获取第一固件设定信息。 避免了对第二设备的固件做出相同的更新或写入操作,节省了系统资源。
在本申请的一个实施例中,第一固件设定信息包括固件版本信息。举 例说明,当第一设备和第二设备是服务器,相应的固件为其各自的BIOS 时,第一固件设定信息包括BIOS的版本信息,这样便使用户能够根据版 本信息获知第一固件设定信息是否满足自己的需要,以便决定是否对第二 设备的BIOS进行数据更新或者写入的操作,避免了用户在不知情的情况 下对第二设备的BIOS进行降低版本的数据操作。
此外,在本申请的一个实施例中,第一固件设定信息包括第一设备的 固件的初始设定数据与当前设定数据之间的差异数据。结合上述内容进行 说明,初始设定数据为第一设备的固件原始使用的数据,如第一设备的 BIOS的1.0版本的第一数据,而差异数据是第二设备的固件需要写入或更 新的数据,如第二设备的BIOS的2.0版本的第二数据,而差异数据即为第 一数据与第二数据之间的差异数据,使得通过该差异数据和初始设定数据 便能够得到上述的第二数据,即第二固件设定信息,从而提高了生成第二 固件设定信息的效率。
本申请实施例还提供了一种服务器,该服务器具有固件,如基本输入 输出系统(BIOS),如图4所示,该服务器包括:
通信模块,其配置为接收来自第一设备的关于第一设备的第一固件设 定信息的通知,所述第一固件设定信息存储在所述第一设备的基板管理控 制器中。第一固件设定信息为针对第一设备的相应固件的设定信息,以供 第一设备使用,其可以包括第一设备所使用的担任着整个系统基础的、底 层工作的软件或数据,如当第一设备的固件为BIOS时,该第一固件设定 信息是该第一设备最重要的基本输入输出的程序、开机后自检程序和系统自启动程序,它可从CMOS中读写系统设置的具体信息,其主要功能是为 第一设备提供底层的、直接的硬件设置和控制。该第一固件设定信息可以 存储在第一设备的基板管理控制器(BMC)中,以便第一设备可以灵活的 将该第一固件设定信息发送至服务器,而无需第一设备再重新从其固件中 获取该第一固件设定信息,并再利用BMC配合进行发送。服务器为不同 于第一设备的电子设备,如服务器是与第一设备相同类型的设备,其也具 有固件而且该服务器的固件可以使用第一设备的固件的第一固件设定信 息,在服务器的固件需要更新或者需要重新设定时,通信模块可以接收第 一设备发出的第一固件设定信息的通知,以便对服务器的固件进行更新或 者重新设定。
处理模块,其配置为响应于通知判断是否重新启动,如果服务器确定 重新启动,则利用从第一设备接收的第一固件设定信息生成用于服务器的 第二固件设定信息。服务器接收到通知后,处理模块可以依据用户的设定 规定而判断是否重新启动系统,如预设规定可以是每当接收到通知后便立 即重新启动,或者预设规定可以是在接收到通知后,判断是否有重要任务 正在运行,如果有则等待运行完毕后在进行重新启动。在一个实施例中,服务器可以基于其操作系统利用相应的预设软件或驱动来响应上述通知, 并判断是否需要将服务器进行重新启动。处理模块可以直接利用第一固件 设定信息,或者利用第一固件设定信息的主要数据来生成第二固件设定信 息,如服务器与第一设备为同一类型或相似类型的服务器,则处理模块可 以利用第一设备的第一固件设定信息生成自己的固件所需要的第二固件设 定信息(当然可以根据实际需要不对第一固件设定信息进行更改,也可以对第一固件设定信息进行局部的更改)。举例说明,一个实施例中,服务器 可以通过网络或其他媒介直接过间接的接收该第一固件设定信息,并将获 取到的第一固件设定信息直接写入到服务器的固件中使之成为第二固件设 定信息;另一个实施例中,当服务器获取到第一固件设定信息后,对第一 固件设定信息进行了局部的数据修改,如仅对第一固件设定信息进行打补 丁操作,或者仅根据更新前后的差异信息对部分内容进行修改,或者仅修 改写入日期便形成第二固件设定信息等。
对于本实施例中的该服务器,由于服务器可以从第一设备的基板管理 控制器中获取存储的第一固件设定信息,这使得获取方式更为灵活,可以 通过网络或其他中介完成获取操作,也并不是必须在服务器的特定时间段 内完成(如无需被限定在服务器的上电自检的后期)。而是可以在任何时间, 随时对服务器的固件进行设定,设定方式更为灵活。此外,由于服务器无 需对第一固件设定信息进行大的更改或者根本无需做任何数据修改,因此 服务器可以基于第一固件设定信息而快速的对其固件进行设定,有效提高 设备部署效率,特别是在服务器的数量众多时更加能够体现出上述优势。
在本申请的一个实施例中,通信模块进一步配置为:通过服务器的基 板管理控制器或预设工具从第一设备的基板管理控制器接收第一固件设定 信息,并将相应的接收信息发送给服务器的固件;将接收的第一固件设定 信息存储在预设存储空间中。
基板管理控制器是一个专门的服务处理机,他可以对设备进行固件升 级、查看设备硬件等操作。而预设工具可以是用户自定义工具能够用于将 第一设备的第一固件设定信息通过直接或间接的发送给服务器。本实施中, 由于基板管理控制器或预设工具可以不受时间段的限制并且具有灵活传送 数据的优势,因此通信模块可以在任何时间方便的获取到第一固件设定信 息,此外,服务器的基板管理控制器或预设工具可以将相应的接收信息发 送给服务器的固件(如BIOS),以使该固件获知已经获取到了第一固件设 定信息,该固件可以进行随后的设定操作,如服务器的BIOS可以通知操 作系统对服务器进行重启操作。在另一个实施例中,通信模块还可以通过 基板管理控制器或预设工具将上述的接收信息发送给其他预设软件,如 Runtime等软件,使其对服务器进行重启或其他操作。
预设存储空间可以是用户根据实际使用需要来设定的一个或多个空 间。在一个实施例中,该预设存储空间可以是至少以下一种:服务器的基 板管理控制器的存储空间,服务器的BIOS的NVRAM,或者是与服务器 连接的外部空间。至于选择哪种存储形式(包括混合存储形式),可以根据 需要设定在此不做限定。
在本申请的一个实施例中,处理模块进一步配置为:
当服务器的固件在进行定点检查过程中检测到确定重启信息时,在服 务器的固件的第一启动阶段读取第一固件设定信息;
在服务器的固件的第二启动阶段,将第一固件设定信息写入服务器的 固件中;
根据第一固件设定信息生成第二固件设定信息。
具体来说,服务器确定要重新启动后,会对相关联的数据或标识位等 信息进行更改。服务器的固件要对上述信息进行定点检查,即逐步查看该 固件所关联的数据、进程或标识位是否被修改,如果检测到上述信息中具 有确定重启信息(该确定重启信息可用于表征需要服务器立即重启),则处 理模块会驱使服务器立即重启。举例说明,当服务器固件为BIOS时,BIOS 在做定点检查时,如在PEI NVRAM Service Ready以后发现BIOS又被调 用过,则处理模块会立即驱使服务器重启。在服务器的固件的第一启动阶 段读取第一固件设定信息,即可以在第一启动阶段从预设存储空间中读取 第一固件设定信息,在一个实施例中,第一固件设定信息包括第一设备的 固件的初始设定数据与当前设定数据之间的差异数据,初始设定数据被存 储到了服务器的BIOS的NVRAM中,差异数据被存储到了服务器的BMC 中。处理模块读取第一固件设定信息时,可分别从上述两个存储空间读取 初始设定数据和差异数据。处理模块在服务器的固件的第二启动阶段,将 初始设定数据和差异数据写入到服务器的固件中,并根据差异数据对初始 设定数据进行更改,当然如果没有差异数据即不需要对初始设定数据进行 更改,便能够形成适用于服务器的固件的第二固件设定信息。例如可以在 BIOS的DXE阶段或者BDS阶段(在DXE/BDS NVRAM Service Ready以 后),将差异数据从BMC中抓取到BIOS的NVRAM中,并根据差异数据 对存储到BIOS的NVRAM中的初始设定数据进行更改,以形成第二固件 设定信息。
在本申请的一个实施例中,处理模块进一步配置为:当服务器的固件 获取到第二固件设定信息后发送反馈信息至服务器的基板管理控制器,以 避免再次接收到通知。
具体来说,服务器的固件获取到第二固件设定信息后,在一定时间段 内便无需再次对第二固件设定信息进行更新或其他修改操作,服务器的固 件则将表征已经获取了第二固件设定信息的反馈信息发送给基板管理控制 器(BMC),使得服务器的基板管理控制器不再向第一设备的基板管理控 制器获取第一固件设定信息,或者使得服务器的基板管理控制器通知预设 工具不再向第一设备的基板管理控制器获取第一固件设定信息。避免了对 服务器的固件做出相同的更新或写入操作,节省了系统资源。
在本申请的一个实施例中,第一固件设定信息包括固件版本信息。举 例说明,当第一设备与服务器的固件为其各自的BIOS时,第一固件设定 信息包括BIOS的版本信息,这样便使用户能够根据版本信息获知第一固 件设定信息是否满足自己的需要,以便决定是否对服务器的BIOS进行数 据更新或者写入的操作,避免了用户在不知情的情况下对服务器的BIOS 进行降低版本的数据操作。
此外,在本申请的一个实施例中,第一固件设定信息包括第一设备的 固件的初始设定数据与当前设定数据之间的差异数据。结合上述内容进行 说明,初始设定数据为第一设备的固件原始使用的数据,如第一设备的 BIOS的1.0版本的第一数据,而差异数据是服务器的固件需要写入或更新 的数据,如服务器的BIOS的2.0版本的第二数据,而差异数据即为第一数 据与第二数据之间的差异数据,使得通过该差异数据和初始设定数据便能 够得到上述的第二数据,即第二固件设定信息,从而提高了生成第二固件 设定信息的效率。
以上实施例仅为本申请的示例性实施例,不用于限制本申请,本申请 的保护范围由权利要求书限定。本领域技术人员可以在本申请的实质和保 护范围内,对本申请做出各种修改或等同替换,这种修改或等同替换也应 视为落在本申请的保护范围内。

Claims (10)

1.一种用于在多个设备间快速部署固件设定的方法,包括:
第二设备接收来自第一设备的关于所述第一设备的第一固件设定信息的通知,所述第一固件设定信息存储在所述第一设备的基板管理控制器中;
所述第二设备响应于所述通知判断是否重新启动;
如果所述第二设备确定重新启动,则利用从所述第一设备接收的所述第一固件设定信息生成用于所述第二设备的第二固件设定信息。
2.根据权利要求1所述的用于在多个设备间快速部署固件设定的方法,所述的第二设备接收来自第一设备的关于所述第一设备的第一固件设定信息的通知包括:
通过所述第二设备的基板管理控制器或预设工具从所述第一设备的基板管理控制器接收所述第一固件设定信息,并将相应的接收信息发送给所述第二设备的固件;
将接收的第一固件设定信息存储在预设存储空间中。
3.根据权利要求1所述的用于在多个设备间快速部署固件设定的方法,所述的利用从所述第一设备接收的所述第一固件设定信息生成用于所述第二设备的第二固件设定信息包括:
当所述第二设备的固件在进行定点检查过程中检测到确定重启信息时,在所述第二设备的固件的第一启动阶段读取所述第一固件设定信息;
在所述第二设备的固件的第二启动阶段,将所述第一固件设定信息写入所述第二设备的固件中;
根据所述第一固件设定信息生成所述第二固件设定信息。
4.根据权利要求1所述的用于在多个设备间快速部署固件设定的方法,所述方法还包括:
当所述第二设备的固件获取到所述第二固件设定信息后发送反馈信息至所述第二设备的基板管理控制器,以避免再次接收到所述通知。
5.根据权利要求1所述的用于在多个设备间快速部署固件设定的方法,所述第一固件设定信息包括固件版本信息。
6.根据权利要求1所述的用于在多个设备间快速部署固件设定的方法,所述第一固件设定信息包括所述第一设备的固件的初始设定数据与当前设定数据之间的差异数据。
7.一种服务器,包括:
通信模块,其配置为接收来自第一设备的关于所述第一设备的第一固件设定信息的通知,所述第一固件设定信息存储在所述第一设备的基板管理控制器中;
处理模块,其配置为响应于所述通知判断是否重新启动,如果所述服务器确定重新启动,则利用从所述第一设备接收的所述第一固件设定信息生成用于所述服务器的第二固件设定信息。
8.根据权利要求7所述的服务器,所述通信模块进一步配置为:
通过所述服务器的基板管理控制器或预设工具从所述第一设备的基板管理控制器接收所述第一固件设定信息,并将相应的接收信息发送给所述服务器的固件;
将接收的第一固件设定信息存储在预设存储空间中。
9.根据权利要求7所述的服务器,所述处理模块进一步配置为:
当所述服务器的固件在进行定点检查过程中检测到确定重启信息时,在所述服务器的固件的第一启动阶段读取所述第一固件设定信息;
在所述服务器的固件的第二启动阶段,将所述第一固件设定信息写入所述服务器的固件中;
根据所述第一固件设定信息生成所述第二固件设定信息。
10.根据权利要求7所述的服务器,所述第一固件设定信息包括所述第一设备的固件的初始设定数据与当前设定数据之间的差异数据。
CN201811572758.7A 2018-12-21 2018-12-21 用于在多个设备间快速部署固件设定的方法及服务器 Active CN109684134B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811572758.7A CN109684134B (zh) 2018-12-21 2018-12-21 用于在多个设备间快速部署固件设定的方法及服务器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811572758.7A CN109684134B (zh) 2018-12-21 2018-12-21 用于在多个设备间快速部署固件设定的方法及服务器

Publications (2)

Publication Number Publication Date
CN109684134A true CN109684134A (zh) 2019-04-26
CN109684134B CN109684134B (zh) 2021-07-16

Family

ID=66188870

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811572758.7A Active CN109684134B (zh) 2018-12-21 2018-12-21 用于在多个设备间快速部署固件设定的方法及服务器

Country Status (1)

Country Link
CN (1) CN109684134B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113220358A (zh) * 2021-04-25 2021-08-06 山东英信计算机技术有限公司 一种多平台bios信息存储方法、系统及介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130254527A1 (en) * 2012-03-20 2013-09-26 Hon Hai Precision Industry Co., Ltd. Bios firmware updating method and electronic device
CN107066305A (zh) * 2017-05-11 2017-08-18 北京百度网讯科技有限公司 用于更新服务器的服务器固件的方法和装置以及服务器
CN107729038A (zh) * 2017-11-27 2018-02-23 英业达科技有限公司 固件更新方法及可更新固件的基板管理控制器

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130254527A1 (en) * 2012-03-20 2013-09-26 Hon Hai Precision Industry Co., Ltd. Bios firmware updating method and electronic device
CN107066305A (zh) * 2017-05-11 2017-08-18 北京百度网讯科技有限公司 用于更新服务器的服务器固件的方法和装置以及服务器
CN107729038A (zh) * 2017-11-27 2018-02-23 英业达科技有限公司 固件更新方法及可更新固件的基板管理控制器

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113220358A (zh) * 2021-04-25 2021-08-06 山东英信计算机技术有限公司 一种多平台bios信息存储方法、系统及介质
CN113220358B (zh) * 2021-04-25 2023-08-08 山东英信计算机技术有限公司 一种多平台bios信息存储方法、系统及介质

Also Published As

Publication number Publication date
CN109684134B (zh) 2021-07-16

Similar Documents

Publication Publication Date Title
US6988193B2 (en) System and method for creating a definition for a target device based on an architecture configuration of the target device at a boot server
US8924917B2 (en) Methods and apparatus for storing and transmitting historical configuration data associated with information technology assets
US9386079B2 (en) Method and system of virtual desktop infrastructure deployment studio
US8151258B2 (en) Managing software patches
US20090083420A1 (en) Method and Apparatus for Automatically Conducting Hardware Inventories of Computers in a Network
US20080126439A1 (en) Change verification in a configuration management database
US8234486B2 (en) Managing reboot operations
KR20160014629A (ko) 업데이트에 대한 기지의 의존관계를 관리하는 기법
US10474491B2 (en) Method and apparatus for managing cloud server in cloud environment
CN109240754B (zh) 一种配置bios启动项的逻辑器件及方法、系统
CN104765621A (zh) 一种在集群节点中部署程序的方法和系统
US20210042148A1 (en) Dynamic insertion of variablized secrets in a pipeline integration system
US11403113B2 (en) Server with system setting data synchronization function
CN109684134A (zh) 用于在多个设备间快速部署固件设定的方法及服务器
CN113377487B (zh) 管理虚拟机升级的方法、设备和计算机程序产品
US11159610B2 (en) Cluster formation offload using remote access controller group manager
US20240160425A1 (en) Deployment of management features using containerized service on management device and application thereof
US20150212866A1 (en) Management system for service of multiple operating environments, and methods thereof
CN108984356A (zh) 一种it产品测试方法及装置
CN101452390B (zh) 网络引导方法及系统、系统引导方法及装置
CN113268253A (zh) 一种分布式数据库部署方法及相关设备
US20240036958A1 (en) Information processing apparatus, information processing method, program, and information processing system
CN109254782A (zh) 操作系统安装方法和装置
CN114153472A (zh) 裸金属服务器部署方法、装置、电子设备及存储介质
CN115543354A (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