WO2024022212A1 - 配置信息的管理方法、装置及服务器 - Google Patents

配置信息的管理方法、装置及服务器 Download PDF

Info

Publication number
WO2024022212A1
WO2024022212A1 PCT/CN2023/108352 CN2023108352W WO2024022212A1 WO 2024022212 A1 WO2024022212 A1 WO 2024022212A1 CN 2023108352 W CN2023108352 W CN 2023108352W WO 2024022212 A1 WO2024022212 A1 WO 2024022212A1
Authority
WO
WIPO (PCT)
Prior art keywords
configuration information
server
bmc
management device
components
Prior art date
Application number
PCT/CN2023/108352
Other languages
English (en)
French (fr)
Inventor
于飞
吴桦斌
陈莹亮
Original Assignee
华为技术有限公司
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 华为技术有限公司 filed Critical 华为技术有限公司
Publication of WO2024022212A1 publication Critical patent/WO2024022212A1/zh

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
    • 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/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • 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
    • 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

Definitions

  • the present application relates to the field of computer technology, and in particular, to a management method, device and server for configuration information.
  • BIOS basic input output system
  • the current solution is to store the server configuration information in a component of the server, such as in the BMC of the server.
  • a component of the server such as in the BMC of the server.
  • the server's configuration information is stored in the BMC, if the BMC is replaced, the newly replaced BMC will not be able to obtain the server's configuration information, causing the server to fail to start normally.
  • This application provides a configuration information management method, device and server.
  • the method stores the configuration information of the server in both the BMC of the server and the storage space accessible to the BMC, so that the BMC or other components of the server can be replaced.
  • the server can also start normally.
  • a configuration information management method is provided, the method is applied to a server including a management device, and the method is executed by the management device.
  • the method includes: obtaining first configuration information and second configuration information, where the first configuration information is the configuration information of the server stored in the BMC of the server, and the second configuration information is backup data that backs up the configuration information of the server at the first moment. . Verify the consistency of the first configuration information and the second configuration information, and obtain the consistency verification result. Start the server based on the consistency check results.
  • the method provided by this application by storing the configuration information of the server in the BMC of the server and backing up the configuration information in the server, the consistency of the configuration information in the BMC and the backed-up configuration information is verified during the startup phase of the server. consistency, and the server can be started normally based on the consistency check results. Furthermore, when either the server's BMC or the server component used to store the configuration information copy data is replaced, the method provided by this application can prevent the server's BMC from failing to obtain the server's configuration information or obtaining incorrect server configuration information. As a result, the server cannot start normally (or the startup performance is low).
  • the above method before obtaining the first configuration information and the second configuration information, the above method further includes: at the first moment, performing a backup of the server's configuration information, and obtaining the second configuration information. At any time before the server is started this time, the second configuration information is stored in the storage space of the server accessible to the BMC.
  • the purpose of storing server configuration information is achieved in the BMC of the server and the server storage space accessible to the BMC.
  • the storage space of the server accessible to BMC is the storage space of components in the server.
  • the components include basic boards and/or functional components, and the functional components include At least one of storage components, input and output IO components, acceleration components, memory expansion components, cooling components, power supply components, computing components, and management components.
  • the storage space of the components accessible to the BMC is the non-volatile storage medium in the component.
  • the storage space of the server accessible to the BMC is a non-volatile storage medium provided on the server motherboard.
  • the backup data of the server's configuration information By storing the backup data of the server's configuration information in the non-volatile storage media of any one or more components in the new architecture server except the BMC, or by storing the configuration in the non-volatile storage media on the motherboard of the traditional server.
  • the backup data of the information makes it possible that even if the server's BMC is replaced before the server is started (such as repair and replacement), the replaced BMC can still obtain the configuration information stored in the motherboard or components during the server's start-up process. In this way, the BIOS can obtain the configuration information from the BMC to start the server.
  • the above-mentioned starting of the server based on the consistency check result includes: when the above-mentioned consistency check result is that the consistency check of the first configuration information and the second configuration information is successful, the first The configuration information or the second configuration information is determined as the target configuration information. Start the server based on the target configuration information.
  • starting the server based on the consistency check result includes: when the consistency check result is that the consistency check of the first configuration information and the second configuration information fails, based on the preset
  • the rule determines the first configuration information or the second configuration information as the target configuration information.
  • the preset rule is used to indicate a way to determine the configuration information with a higher version in the first configuration information and the second configuration information as the target configuration information, or to determine the method in the first configuration information and the second configuration information based on user instructions.
  • the management device can determine the target configuration information for starting the server based on the consistency check result of the first configuration information and the second configuration information, so that the server can start normally.
  • the above method further includes: updating the configuration information that is different from the target configuration information among the first configuration information and the second configuration information to the target configuration information.
  • the management device determines the target configuration information based on the user instruction.
  • the management device After the device updates the configuration information that is different from the target configuration information stored in the server's BMC or motherboard/component to the target configuration information, the server will be started next time and the server's overall configuration has not been updated before the next start. In this case, the consistency of the first configuration information and the second configuration information can be verified successfully. That is to say, the management device can determine the configuration information specified by the user when starting the server this time as the target configuration information when starting the server next time without obtaining the user's instruction again. Therefore, this possible design can reduce user operations and improve user experience.
  • the above method before verifying the consistency of the first configuration information and the second configuration information, further includes: verifying the integrity of the first configuration information and the integrity of the second configuration information. , obtain the integrity check result. When the integrity check result is successful, an operation of verifying the consistency of the first configuration information and the second configuration information is performed.
  • first configuration information prestored in the server BMC and the second configuration information prestored in the server's motherboard/component may have been illegally modified, for example, maliciously tampered with by a network attacker, or modified by an unauthorized user, etc.
  • first configuration information pre-stored in the BMC and the second configuration information pre-stored in the server motherboard/component are used in situations other than the update and modification of the configuration information when the server normally updates the overall configuration (such as capacity expansion, etc.) has been modified (such as tampering with the content of normally updated configuration information or deleting data in normally updated configuration information, etc.), it can be considered to have been illegally modified.
  • this possible design can perform integrity verification on the first configuration information stored in the BMC and the second configuration information stored in the server's motherboard/component during the startup phase of the server, thereby ensuring that the server's BMC and motherboard /
  • the security of the configuration information pre-stored in the component can ensure that the server is based on configuration information that has not been illegally modified. Complete the normal startup of the server.
  • this application provides a management device, which is applied to a server.
  • the management device is used to execute any of the methods provided in the first aspect.
  • This application can divide the management device into functional modules according to any of the methods provided in the first aspect.
  • each functional module can be divided corresponding to each function, or two or more functions can be integrated into one processing module.
  • this application can divide the management device into an acquisition unit, a verification unit, a startup unit, etc. according to functions.
  • the above-mentioned management device includes: one or more processors and a communication interface, the one or more processors receive or send data through the communication interface, and the one or more processors are configured to The program instructions stored in the memory are called, so that the management device executes any method provided by the first aspect and any possible design manner thereof during the startup phase of the server.
  • the above-mentioned management device is a baseboard management controller BMC of the server.
  • the present application provides a computer-readable storage medium, which includes program instructions.
  • the program instructions When the program instructions are run on a processor, the processor causes the processor to perform any of the possible tasks in the first aspect. Any method provided by the implementation.
  • this application provides a chip system, including: a logic circuit for executing any method provided by the implementation in the first aspect.
  • any device, computer storage medium or chip system provided above can be applied to the corresponding method provided above. Therefore, the beneficial effects it can achieve can be referred to the beneficial effects in the corresponding method. The effect will not be described here.
  • Figure 1 is a schematic diagram of the connection method between the server motherboard and the BMC
  • FIG. 2 is a schematic diagram of another connection method between the server motherboard and the BMC;
  • Figure 3 is a schematic diagram of the hardware structure of a configuration information management device provided by an embodiment of the present application.
  • Figure 4 is a schematic flowchart of a configuration information management method provided by an embodiment of the present application.
  • Figure 5 is a schematic flow chart of another configuration information management method provided by an embodiment of the present application.
  • Figure 6 is a schematic flow chart of yet another configuration information management method provided by an embodiment of the present application.
  • Figure 7 is an architectural schematic diagram of a new architecture server provided by an embodiment of the present application.
  • Figure 8 is a schematic flowchart of yet another configuration information management method provided by an embodiment of the present application.
  • FIG. 9 is a schematic flowchart of yet another configuration information management method provided by an embodiment of the present application.
  • Figure 10 is a logical schematic diagram of a management method for applying the configuration information provided by the embodiment of the present application in a new architecture server provided by the embodiment of the present application;
  • FIG. 11 is a schematic structural diagram of a configuration information management device 110 provided by an embodiment of the present application.
  • BMC is used to monitor and manage hardware systems in computers.
  • BMC can monitor computer hardware systems Monitor the temperature, voltage, etc. of the motherboard, or monitor the working conditions of fans, power supplies, and other hardware in the computer hardware system.
  • BMC can restart the computer hardware system through reset to ensure that the computer hardware system can be restored to a healthy state in time.
  • a system (also called a small system) that is independent of the computer operating system (OS) can be set up in the BMC and generally does not depend on other hardware in the computer (such as central processing unit (CPU), memory, etc. ) and does not depend on the computer's BIOS and OS.
  • BIOS computer operating system
  • BMC can interact with BIOS and OS to better manage computer hardware systems. For example, when BMC and OS system management software work together, they can better manage computer hardware systems.
  • the entity of BMC can be a chip, an integrated circuit, etc.
  • the connection methods between the BMC and the motherboard mainly include the following two forms: plug-in card form and onboard form.
  • the BMC can be connected to the motherboard of the server through an onboard form, or the BMC can be connected to the motherboard of the server through a plug-in card form.
  • Figures 1 and 2 respectively show a schematic diagram of a connection method between a server motherboard and a BMC.
  • the BMC 101 is installed on the mainboard 102 of the server in an onboard form.
  • the BMC 201 is plugged into the motherboard 202 of the server in the form of a plug-in card.
  • BIOS is the most basic software code loaded on the computer hardware system. BIOS is the underlying software program under the OS. It is an abstraction layer between computer hardware and OS. It is generally used to configure hardware parameters to prepare for the operation of the OS (mainly referring to the OS on the computer's main processor). The main functions of the BIOS are power-on, self-test, CPU initialization, memory initialization, detection of input and output devices and bootable devices, and ultimately booting the OS startup of the computer's main processor.
  • BIOS chip used to implement BIOS functions can be called a BIOS chip.
  • this application provides a configuration information management method, which method is applied to servers including management devices.
  • the management device before starting the server this time (such as when the initial configuration of the server is completed), the management device performs a backup operation on the obtained configuration information of the server to implement the BMC in the server and other components in the server (such as the motherboard). or the components described below) for the purpose of backing up server configuration information.
  • the location of the backup server configuration information may be a non-volatile storage medium accessible to any management device in the server.
  • the server's configuration information is stored in both the server's mainboard and BMC.
  • the server after the server is powered on, it only needs to verify the consistency of the configuration information stored in the motherboard and BMC, and then determine the target configuration information in the server configuration information stored in the motherboard and BMC based on the consistency verification results, and then the server It can be started based on the target configuration information.
  • the method provided by this application can start the server normally while ensuring server performance.
  • the method provided by the embodiment of the present application can be applied to a traditional server.
  • the server includes a motherboard and a BMC, and the server's configuration information is pre-stored in the motherboard and BMC.
  • the server is pre-stored in the BMC.
  • first configuration information and the second configuration information please refer to the following and will not be described again here.
  • connection method between the BMC and the motherboard can be a card plug-in method as shown in Figure 2. It should be understood that by executing the method provided by the embodiments of this application, the problem that the BMC cannot obtain server configuration information or obtains incorrect server configuration information, causing the server to fail to start normally, can be avoided.
  • the detailed description of BMC can be found above and will not be repeated here.
  • the above-mentioned motherboard can be understood as integrating multiple electronic components of the server. (also called a device) an integral hardware module. That is, multiple devices of the server are integrated and designed in one hardware module.
  • multiple components of the server may include cooling fans, hard disk backplanes, input/output (IO) interfaces, and the like.
  • Embodiments of the present application also provide a configuration information management device, which can be applied to the above-mentioned traditional server or to the new architecture server described below, without limitation.
  • the management device is used to execute the configuration information management method provided by the embodiment of the present application.
  • the management device may be a BMC provided in the server, or the management device may be any integrated circuit or chip that is integrated in the server and capable of implementing the methods provided in the embodiments of this application, and there is no specific limitation on this. .
  • the management device 30 includes a processor 301 , a memory 302 , a communication interface 303 and a bus 304 .
  • the processor 301, the memory 302, and the communication interface 303 are connected through a bus 304.
  • the processor 301 is the control center of the management device 30 and can be a general-purpose CPU.
  • the processor 301 can also be other general-purpose processors, digital signal processors (digital signal processing, DSP), application-specific integrated circuits (application-specific integrated circuits, ASIC), FPGA, CPLD or other programmable logic devices, MCU, etc.
  • the memory 302 is used to store program instructions or data to be accessed by the application process.
  • the processor 301 can execute the program instructions in the memory 302 to implement the server startup method provided by the embodiment of the present application.
  • Memory 302 includes volatile memory or non-volatile memory, or may include both volatile and non-volatile memory.
  • volatile memory can be read-only memory (ROM), programmable ROM (PROM), erasable programmable read-only memory (erasable PROM, EPROM), electrically erasable memory Except electrically programmable read-only memory (EPROM, EEPROM) or flash memory.
  • Volatile memory can be random access memory (RAM), which is used as an external cache.
  • Non-volatile memory can be storage class memory (SCM), SSD, HDD, etc.
  • SCM storage class memory
  • SSD storage-level memory
  • PCM phase-change memory
  • the memory 302 exists independently of the processor 301.
  • the memory 302 is connected to the processor 301 through the bus 304 and is used to store data, instructions or program codes.
  • the processor 301 calls and executes instructions or program codes stored in the memory 302, it can implement the server startup method provided by the embodiment of the present application.
  • the memory 302 and the processor 301 are integrated together.
  • the communication interface 303 is used to implement communication connections between the management device 30 and other components of the server where the management device 30 is located (the motherboard of the server as shown in Figure 1, or any component of the server, etc.).
  • Bus 304 may be an industry standard architecture (ISA) bus, a peripheral component interconnect (PCI) bus, PCIe, a unified bus (unified bus, UB or Ubus) or an extended industry standard architecture ( extended industry standard architecture, EISA) bus, etc.
  • ISA industry standard architecture
  • PCIe peripheral component interconnect
  • unified bus unified bus
  • UB or Ubus unified bus
  • EISA extended industry standard architecture
  • the bus can be divided into address bus, data bus, control bus, etc. For ease of presentation, only one thick line is used in Figure 3, but it does not mean that there is only one bus or one type of bus.
  • the structure shown in Figure 3 does not constitute a limitation on the management device 30.
  • the management device 30 includes more or fewer components than those shown in Figure 3, or Combining certain parts, or different arrangements of parts.
  • the embodiments of the present application provide Describes how to manage configuration information.
  • Figure 4 shows a schematic flowchart of a configuration information management method provided by an embodiment of the present application.
  • the method can be executed by a management device with the hardware structure shown in Figure 3, and mainly includes the following steps:
  • the management device obtains the configuration information of the server.
  • the configuration information of the server is used to describe the hardware information included in the components in the server, the devices that need to be managed, and their parameter information.
  • the component may be a device or a collection of devices included in the server.
  • the server configuration information includes the number and location of fans in the server, the number and location of hard disk backplanes, and the size of the hard disks that can be connected to the hard disk backplane and other hardware configuration description information.
  • the hard disk backplane is used to set up the hard disk.
  • Fans are used to cool the hardware units in the server.
  • the configuration information may also include topology information and alarm information.
  • the topology information is used to indicate the topological relationship between components or devices included in the components, and the alarm information is used to indicate alarm information of the components or devices included in the components.
  • the management device may obtain configuration information input by the user through an input interface (such as a keyboard, etc.) of the server to describe the current overall configuration of the server.
  • an input interface such as a keyboard, etc.
  • the server's BMC obtains user input through the server's input interface (such as a keyboard, etc.) to describe the server's current hardware configuration. configuration information, and stores the obtained configuration information in its own non-volatile storage medium.
  • the configuration information of the server stored in the BMC is called first configuration information.
  • the management device performs a backup operation on the acquired server configuration information, so as to back up the backup data (or copy data) of the server configuration information in a storage space accessible to the BMC of the server.
  • the management device performs a backup operation on the configuration information of the server to obtain the second configuration information
  • the second configuration information can be stored in the BMC of the server and any storage space accessible to the BMC.
  • the storage space accessible to the BMC can be any non-volatile storage medium provided on the traditional service motherboard, such as EEPROM, flash memory, etc., but is not limited thereto.
  • the process of the management device performing a backup operation on the configuration information of the server is performed when the server is in a startup state.
  • the management device in order to prevent the server from being able to start normally due to the BMC and/or mainboard being replaced during use of the server, can periodically back up the configuration information it obtains to the BMC and/or motherboard. Set in the non-volatile storage medium on the motherboard.
  • the BMC in order to prevent the BMC itself from being replaced during the use of the server and causing the service to fail to start normally, the BMC can periodically back up the configuration information it obtains to the non-volatile memory set on the motherboard. storage medium. Specifically, the BMC periodically writes the copy data of the configuration information it has obtained into the non-volatile storage medium provided on the motherboard.
  • the management device can obtain the configuration information after the server updates the entire configuration. Furthermore, each time the management device obtains the configuration information indicating the updated overall machine configuration of the server, it can back up the obtained configuration information indicating the updated overall machine configuration of the server to the BMC and the non-volatile device provided on the motherboard. storage medium. For example, the management device writes the obtained configuration information indicating the updated overall configuration of the server into the non-volatile storage medium of the BMC and the non-volatile storage medium provided on the motherboard respectively, so as to overwrite the non-volatile storage medium of the BMC. Volatile storage media and non-volatile storage media installed on the motherboard Configuration information originally stored in the quality.
  • the configuration information originally stored in the non-volatile storage medium of the BMC and the non-volatile storage medium provided on the motherboard is the configuration information written to the BMC when the management device last performed a backup operation on the acquired configuration information.
  • Non-volatile storage media and configuration information in the non-volatile storage media provided on the motherboard are the configuration information originally stored in the non-volatile storage medium of the BMC and the non-volatile storage medium provided on the motherboard.
  • the BMC can obtain the configuration information indicating the updated overall machine configuration of the server each time it obtains the configuration information indicating the updated overall machine configuration of the server.
  • the non-volatile storage medium provided on the motherboard to overwrite the configuration information originally stored in the non-volatile storage medium.
  • the management device can obtain the configuration information input by the user indicating the update of the server.
  • the configuration of the server in this update refers to the hardware backplane added to the server in this update compared to the complete server configuration before the update.
  • the configuration information input by the user obtained by the management device and all the configuration information obtained by the management device before this update constitute the configuration information used by the server to indicate the overall configuration of the server after this update. Configuration information.
  • the management device can also obtain the configuration information input by the user indicating the overall configuration of the server after this update, but this is not limited.
  • the configuration information of the server obtained by the management device includes version information, and the version information is used to indicate the version of the configuration information including the version information.
  • version information is used to indicate the version of the configuration information including the version information.
  • different versions of configuration information indicate different overall configurations of the server, and the different overall configurations of the server are included in the use of the server.
  • the server obtains the overall configuration of the server each time it undergoes a complete configuration update. It should also be understood that the higher the version indicated by the version information in the server configuration information, the closer the server update operation corresponding to the configuration information is to the current time.
  • the version information indicated by the version information in the server configuration information is version 1.
  • the initial overall configuration of the server is expanded based on usage requirements (i.e., the overall configuration of the server is updated for the first time)
  • the version information in the configuration information of the expanded server will be the version indicated by the version information. for version 2.
  • the overall configuration obtained after the first update of the server is expanded again based on usage requirements (that is, the overall configuration of the server is updated for the second time)
  • the configuration information of the server after this expansion will be The version indicated by the version information.
  • version 3 is higher than version 2
  • version 2 is higher than version 1.
  • the management device records the time information for obtaining the server configuration information, and the time information is used to indicate the specific time when the management device obtains the configuration information including the time information. It should be understood that the configuration information obtained by the management device at different times indicates different complete configurations of the server, and the different complete configurations of the server are included in the use of the server.
  • the server obtains the complete configuration of the server each time it undergoes a complete configuration update. .
  • the management device obtains the configuration information of the server and records the time information of obtaining the configuration information as time 1.
  • the server expands the initial hardware configuration of the server based on usage requirements (that is, updates the server's server configuration for the first time).
  • the management device obtains the configuration information of the expanded server, The time indicated by the time information recorded in obtaining the configuration information is time 2, and time 2 is later than time 1.
  • the management device obtains the expanded server. After the configuration information is obtained, record the time indicated by the time information for obtaining the configuration information as time 3, and time 3 is later than time 2.
  • the storage space of the BMC-accessible server used to store the second configuration information also records the second configuration information obtained by the management device. 1. Time information of configuration information.
  • Figure 5 shows another management of configuration information provided by an embodiment of the present application.
  • the method can be executed by a management device with the hardware structure shown in Figure 3, and mainly includes the following steps:
  • the management device obtains the first configuration information stored in the BMC of the server, and obtains the second configuration information stored in the mainboard of the server.
  • the management device After the server is powered on, the management device provided in the server is powered on and started. Furthermore, the management device obtains the first configuration information stored in the BMC of the server, and obtains the second configuration information stored in the mainboard of the server.
  • the motherboard of the server is the motherboard in a traditional server.
  • the management device can read the first configuration information stored in the BMC of the server through the communication interface, and read the second configuration information stored in the mainboard of the server through the communication interface, which is not specifically limited.
  • the management device is the BMC of the server, and the BMC reads the first configuration information stored by itself, and reads the second configuration information stored in the server motherboard through its own communication interface, which is not specifically limited.
  • the first configuration information stored by the BMC is the configuration information of the server that the BMC obtains user input and stores in its own non-volatile storage medium.
  • the second configuration information stored in the motherboard of the server is written by the BMC into any non-volatile storage set on the motherboard after performing a backup operation on the obtained configuration information (such as the first configuration information) at the first moment.
  • Configuration information in the media is any moment after the BMC obtains the configuration information input by the user and before the server starts this time, and there is no limit to this.
  • the time of this startup refers to a time when the management device triggers the startup operation of the server after performing at least one backup operation (such as S102) on the acquired configuration information of the server.
  • the first configuration information stored in the BMC and the second configuration information stored in the mainboard of the server are non-transformable configuration information written to the BMC after the management device performs a backup operation on the configuration information input by the user at the first moment.
  • Configuration information in volatile storage media and any non-volatile storage media set on the server motherboard is not limited.
  • the management device verifies the consistency of the first configuration information and the second configuration information, and obtains a consistency verification result.
  • any one of the BMC or motherboard of the server may have been illegally replaced (for example, the BMC or motherboard of the server was replaced without authorization, or a damaged BMC or motherboard was replaced during maintenance of the server), or the BMC or motherboard is stored in the BMC or motherboard.
  • the configuration information was maliciously replaced by the attacker.
  • the configuration information stored in the illegally replaced BMC or mainboard in the server that is, the newly replaced BMC or the configuration information originally stored in the mainboard
  • the configuration information used to indicate the whole machine configuration that is different from the actual whole machine hardware configuration of the server will cause the server to make an error when initializing hardware resources, and then fail to start normally, or cause the server to have low performance after startup. Therefore, during the startup phase of the server, the management device needs to verify the consistency of the first configuration information and the second configuration information, and determine the target configuration information for starting the server based on the consistency verification result.
  • the target configuration information can be considered as configuration information indicating the current real overall configuration of the server.
  • the management device determines whether the first configuration information and the second configuration information are exactly the same, thereby implementing consistency verification of the first configuration information and the second configuration information, and obtaining the consistency verification result.
  • the management device determines that the first configuration information and the second configuration information are exactly the same, which means that the consistency check result of the first configuration information and the second configuration information is successful, the management device executes S203.
  • the management device determines that the first configuration information and the second configuration information are different, it means that the consistency check result of the first configuration information and the second configuration information is failed, and the management device executes S204.
  • the management device may determine whether the first configuration is exactly the same with all configuration items and parameters included in the first configuration information by comparing all configuration items and parameters included in the second configuration information. Whether the information and the second configuration information are exactly the same, thereby achieving consistency verification of the first configuration information and the second configuration information.
  • the management device may determine whether the first configuration information and the second configuration information are exactly the same by determining whether the sizes of the first configuration information and the second configuration information are the same.
  • the management device may be based on an information digest algorithm (message-digest algorithm, MD5) to respectively determine the sizes of the first configuration information and the second configuration information, and then determine whether the sizes of the first configuration information and the second configuration information are the same, to determine the first configuration information and the second configuration information. Whether they are exactly the same, thereby achieving consistency verification of the first configuration information and the second configuration information.
  • MD5 information digest algorithm
  • the management device may calculate the MD5 value of the first configuration information and the MD5 value of the second configuration information based on the MD5 algorithm.
  • the header data of the first configuration information includes the MD5 value of the first configuration information
  • the header data of the second configuration information includes the MD5 value of the second configuration information.
  • the management device reads the MD5 value of the first configuration information from the header data of the first configuration information, and reads the MD5 value of the second configuration information from the header data of the second configuration information.
  • the management device determines that the MD5 value of the first configuration information and the MD5 value of the second configuration information are the same, it determines that the first configuration information and the second configuration information are completely the same.
  • the management device determines that the MD5 value of the first configuration information and the MD5 value of the second configuration information are different, it is determined that the first configuration information and the second configuration information are different.
  • the management control device determines that the consistency check result of the first configuration information and the second configuration information is successful, it determines the first configuration information or the second configuration information as the target configuration information, and starts the server according to the target configuration information.
  • the BMC when the management device is the BMC of the server, the BMC sends the determined target configuration information to the BIOS of the server. Furthermore, the BIOS of the server initializes the hardware resources of the server based on the obtained target configuration information, and further guides the OS startup of the server, thereby completing the startup of the server.
  • the management device when the management device is a chip or integrated circuit independent of the server's BMC, the management device sends the determined target configuration information to the server's BMC. Furthermore, the BIOS of the server obtains the target configuration information from the BIOS of the server, initializes the hardware resources of the server according to the target configuration information, and further guides the OS startup of the server, thereby completing the startup of the server.
  • the management device determines that the consistency check result of the first configuration information and the second configuration information is failed, the first configuration information or the second configuration information is determined as the target configuration information according to the first preset rule, and the target configuration information is determined according to the target configuration information.
  • Configuration information starts the server.
  • the first preset rule may also be called a preset rule, which mainly includes at least one of the following methods:
  • the first way is to determine the target configuration information based on the version.
  • the first method is to determine the configuration information with a higher version among the first configuration information and the second configuration information as the target configuration information.
  • the management device may further read the version information in the first configuration information to determine the version of the first configuration information, and read Get the version information in the second configuration information to determine the version of the second configuration information. Furthermore, the management device determines the configuration information with a higher version among the first configuration information and the second configuration information as the target configuration information.
  • the version information in the configuration information please refer to the relevant description in S102 above, and will not be described again.
  • the second way is to determine the target configuration information based on the update time.
  • the second way is to determine the configuration information of the time information whose update time of the first configuration information and the second configuration information is closer to the current time as the target configuration information.
  • the update time of the first configuration information is the time indicated by the time information recorded when the management device latest obtains the first configuration information
  • the update time of the second configuration information is the latest first time information obtained by the management device for obtaining the second configuration information. The time indicated by the time information recorded when configuring the information.
  • Pre-recorded time information for obtaining the first configuration information is further obtained to determine the time for obtaining the first configuration information as the first time and the update time for obtaining the second configuration information. Furthermore, the management device determines a time closer to the current time among the first time and the update time of the second configuration information, and determines the configuration information corresponding to this time as the target configuration information. For example, the management device determines that the first time is later than the update time of the second configuration information, that is, the first time is closer to the current time than the update time of the second configuration information, so the management device determines the first time corresponding to the first time.
  • the configuration information is determined as target configuration information.
  • the target configuration information is determined based on the first method and the second method
  • the corresponding configuration information indicating the latest updated server configuration among the first configuration information and the second configuration information is determined as the target configuration. information.
  • the third way is to determine the target configuration information based on the indication.
  • the third method is a method of determining the target configuration information from the first configuration information and the second configuration information based on user instructions.
  • the management device further obtains the instruction information input by the user (such as the instruction information input by the user through the input interface (such as a keyboard) of the server where the management device is located. Instruction information), and further, the management device determines the target configuration information according to the configuration information indicated by the instruction information.
  • the configuration information indicated by the indication information is one of the first configuration information or the second configuration information.
  • the server is started according to the target configuration information.
  • the server is started according to the target configuration information.
  • the specific process please refer to the description of S203 and will not be described again.
  • the management device updates the configuration information of the first configuration information and the second configuration information that is different from the target configuration information to the target configuration information.
  • the management device when the management device determines the first configuration information as the target configuration information, the management device instructs the server motherboard to update the second configuration information stored in the non-volatile storage medium provided on the motherboard to the first configuration. information.
  • the management device when the management device is a BMC, the BMC can write the first configuration information stored in its own non-volatile storage medium into the non-volatile storage medium provided on the motherboard through its own communication interface to overwrite the The second configuration information originally stored in the non-volatile storage medium.
  • the management device when the management device is not a BMC, the management device can write the first configuration information obtained in S201 into a non-volatile storage medium provided on the motherboard to overwrite the original configuration information in the non-volatile storage medium. Stored second configuration information.
  • the management device when the management device determines the second configuration information as the target configuration information, the management device instructs the BMC to update the first configuration information stored in the non-volatile storage medium of the BMC to the second configuration information.
  • the BMC when the management device is a BMC, the BMC can use the second configuration information obtained in S201 to overwrite the first configuration information stored in its own non-volatile storage medium.
  • the management device when the management device is not the BMC, the management device can write the second configuration information obtained in S201 into the non-volatile storage medium of the BMC to overwrite the second configuration information originally stored in the non-volatile storage medium. 1. Configuration information.
  • the configuration information used to indicate the overall configuration of the server is pre-stored in both the BMC and the motherboard of the traditional server (such as pre-stored through the method described in S101-S102), so that in the startup phase after the server is powered on , only need to verify the consistency of the configuration information stored in the BMC and the mainboard, and determine the target configuration information in the configuration information stored in the BMC and the mainboard based on the consistency verification results. Furthermore, the server can start normally based on the target configuration information.
  • the method provided by the embodiments of this application can avoid the server's BMC not being able to obtain the server's configuration information or obtaining incorrect server configuration information, causing the server to malfunction.
  • Startup problem or low startup performance problem).
  • the configuration information management method provided by the embodiment of the present application can also manage the BMC and motherboard of the traditional server. Verify the integrity of the configuration information stored in the motherboard.
  • FIG. 6 shows a schematic flowchart of yet another configuration information management method provided by an embodiment of the present application.
  • the method may be executed by a management device having the hardware structure shown in FIG. 3 . After executing the above S201, the management device executes the following steps:
  • the management device verifies the integrity of the first configuration information and the second configuration information, and obtains the integrity verification result.
  • the first configuration information prestored in the BMC and the second configuration information prestored in the mainboard of the server may have been illegally modified, for example, maliciously tampered with by a network attacker, or modified by an unauthorized user.
  • the first configuration information prestored in the BMC and the second configuration information prestored in the server motherboard are used in situations other than the update and modification of the configuration information when the server normally updates the overall configuration (such as capacity expansion, etc.). Modifications (such as tampering with the content of normally updated configuration information or deleting data in normally updated configuration information, etc.) can be considered to have been illegally modified.
  • the management device can perform integrity verification on the first configuration information stored in the BMC and the second configuration information stored in the mainboard of the server.
  • the integrity check of the first configuration information is successful.
  • the integrity check of the first configuration information fails.
  • the management device determines that the second configuration information has not been illegally modified the integrity check of the second configuration information is successful.
  • the integrity check of the second configuration information fails.
  • the management device may determine whether the first configuration information and the second configuration information have been illegally modified through digital signature technology, thereby implementing integrity verification of the first configuration information and the second configuration information respectively.
  • digitally signing the first configuration information means that the encryption end encrypts the summary information of the first configuration information using a private key.
  • the decryption end uses the public key of the encryption end to decrypt the encrypted digest information.
  • the decryption end uses a hash algorithm to generate summary information of the first configuration information.
  • the decryption end compares whether the summary information obtained by public key decryption and the summary information generated by the hash algorithm are the same.
  • the decryption end determines that the digest information obtained by public key decryption is the same as the digest information generated using the hash algorithm, it can be determined that the first configuration information has not been illegally tampered with, that is, the integrity verification of the first configuration information is successful. If the decryption end determines that the digest information obtained by public key decryption is different from the digest information generated using the hash algorithm, it is determined that the first configuration information has been illegally tampered with, that is, the integrity check of the first configuration information fails.
  • the embodiment of the present application does not specifically limit the hash algorithm used to generate the summary information of the configuration information.
  • the management device determines that the integrity of the first configuration information and the integrity of the second configuration information are both successfully verified, indicating that the integrity verification results of the first configuration information and the second configuration information are successful, the management device executes The above S202-S205 will not be described again.
  • the management device determines that the integrity check of any one of the first configuration information and the second configuration information fails (for example, the integrity check of the first configuration information fails, or the integrity check of the second configuration information fails) , indicating that the integrity check result of the first configuration information and the second configuration information is failed, then the management device executes S2012.
  • the management device determines that both the integrity of the first configuration information and the integrity of the second configuration information have failed to be verified, it means that the configuration information stored in the server's BMC and mainboard has been illegally modified.
  • the management device may output alarm information to prompt the user to re-enter the server configuration information to the management device. Furthermore, the management device can re-execute the method described in S102 to perform a backup operation on the obtained configuration information, which will not be described again.
  • the management device determines the configuration information with successful integrity verification among the first configuration information and the second configuration information as the target configuration information, and starts the server according to the target configuration information.
  • the management device determines that the integrity check of the first configuration information is successful but the integrity check of the second configuration information fails, the first configuration information is determined as the target configuration information.
  • the management device determines that the integrity check of the second configuration information is successful but the integrity check of the first configuration information fails, the second configuration information is determined as the target configuration information.
  • the management device may also perform S205, which will not be described again.
  • the management device Based on the method described in Figure 6, the management device also performs integrity verification on the first configuration information and the second configuration information pre-stored in the BMC and mainboard of the traditional server, thereby being able to avoid the configuration information pre-stored in the BMC or mainboard of the traditional server.
  • the BIOS After being illegally modified, the BIOS obtains incorrect configuration information from the BMC (compared to the configuration information indicating the actual configuration of the server) and is unable to start the server normally (or the performance is low after startup).
  • the method provided by this application is also applicable to a new architecture server, which has an innovative peer-to-peer interconnection architecture (which may also be called a new server architecture or a new architecture).
  • a new architecture server which has an innovative peer-to-peer interconnection architecture (which may also be called a new server architecture or a new architecture).
  • the traditional motherboard is split into a basic board (basic computing unit, BCU) and an expansion board (extension unit, EXU).
  • BCU basic computing unit
  • EXU expansion unit
  • the motherboards required for different scenarios are realized through the cooperation of the basic board, expansion board and functional components. specifications and forms supported.
  • the same computing device may include a base board and an expansion board, the same computing device may also include multiple base boards and an expansion board, and the same computing device may also include a base board and multiple expansion boards.
  • the basic board includes a CPU, double data rate (DDR), and related power supplies, providing general computing capabilities and expansion interfaces such as peripheral storage, IO, and acceleration.
  • Basic board support Wait for different series of CPUs.
  • the base board supports heterogeneous processors, that is, the base board can support different types of processors.
  • the base board supports CPUs, application-specific integrated circuits (ASICs), programmable logic devices (programmable logic device (PLD), complex programmable logical device (CPLD), field-programmable gate array (FPGA), general array logic (GAL), system on chip (system on chip (SoC), data processing unit (DPU), software-defined infrastructure (SDI) chip, artificial intelligence (AI) chip, or any combination thereof.
  • ASICs application-specific integrated circuits
  • PLD programmable logic device
  • CPLD complex programmable logical device
  • FPGA field-programmable gate array
  • GAL general array logic
  • SoC system on chip
  • DPU data processing unit
  • SDI software-defined infrastructure
  • AI artificial intelligence
  • this embodiment of the present application provides at least six different forms of basic boards, respectively targeting different computing performance and memory configurations.
  • these six basic boards are temporarily called A1, A2, B1, B2, C1, and C2 respectively.
  • P is used to represent the number of processors
  • P is an integer greater than 0
  • DPC represents a dual in-line memory module per channel (DIMM). Per Channel).
  • the A1 form basic board supports one processor, and each channel is plugged with one DIMM (referred to as 1P1DPC);
  • the A2 form basic board supports one processor, and each channel is plugged with one or two DIMMs (referred to as 1P2DPC or 1P1DPC).
  • the B1 form basic board supports two processors, with one DIMM per channel (referred to as 2P1DPC), or one processor, with one or two DIMMs per channel (referred to as 1P2DPC or 1P1DPC);
  • B2 form The basic board supports two processors, one or two DIMMs per channel (referred to as 2P2DPC or 2P1DPC), or one processor, one or two DIMMs per channel (referred to as 1P2DPC or 1P1DPC);
  • the basic board supports four processors, with one DIMM inserted into each channel (referred to as 4P1DPC), or two processors, with one or two DIMMs inserted into each channel (referred to as 2P2DPC or 2P1DPC);
  • C2 form The basic board supports four processors with one or two DIMMs per channel (referred to as 4P2DPC or 4P1DPC), or two processors with one or two DIMMs per channel (referred to as 2P2DPC or 2P1DPC).
  • the B2 form basic board currently supports 2P2DPC (2P32DIMM) when each CPU has 8 channels of DDR. After the number of CPU memory channels is increased to 12, 2P2DPC (2P48DIMM) will not be possible. Then, the B2 form can support 2P1DPC (2P24DIMM), and 2P2DPC (2P48DIMM) can be implemented in other forms such as C1, because the mounting hole position and base board size are standard and can be directly replaced and installed.
  • the expansion board includes at least one of the BMC, the management system, and the bridge chip (for example, the Platform Controller Hub (PCH) of the Intel system).
  • the expansion board is an extension of the basic board and is used to expand the management interface of the basic board. , and then provide management functions such as equipment, security, energy efficiency, and reliability.
  • the expansion board communicates with the server through high-speed buses such as peripheral component interconnect express (PCIe), memory interconnect (Compute Express Link, CXL), or unified bus (unified bus, UB or Ubus).
  • PCIe peripheral component interconnect express
  • CXL Computer Express Link
  • unified bus unified bus, UB or Ubus
  • the functional components communicate and connect to each other.
  • the specific connection methods between the above-mentioned expansion board and the functional components in the server, and between the basic board and the expansion board include: a soft connection method using cables to realize the above-mentioned connection, or a hard connection method using connectors to realize the above-mentioned connection.
  • a component is a general term for a type of device or equipment.
  • the functional components in the above-mentioned server can include storage components (storage unit, STU), IO components (input output unit, IOU), acceleration components (acceleration unit, ACU), and memory expansion components (memory components) according to the functions implemented.
  • expansion unit (MEU) cooling components, power supply components, computing components, management components, etc. It can be understood that the basic board and expansion board can also be called components of the server.
  • storage components include hard disk backplane, expansion board (Expander), PCIe switch (switch), etc., which expand the system storage and support mechanical hard disk (hard disk drive, HDD)/solid-state drive (SSD)/non- Various media and forms such as volatile high-speed transmission bus (non-volatile memory express, NVMe)/storage class memory (storage class memory, SCM).
  • IO components include Riser and other components, which implement the expansion of system IO and support PCIe standard cards and Open Compute Project (OCP) cards.
  • Acceleration components include risers, carrier boards, accelerator card interconnection switches (switches), etc., which provide system acceleration component expansion and interconnection functions.
  • Memory expansion components include carrier boards, memory expansion chips, dual in-line memory modules (DIMMs), SCM media, etc., which provide the system with the function of expanding memory bandwidth and content capacity.
  • the heat dissipation component is used to dissipate heat from computing equipment or hardware in computing equipment, including a combination of several heat dissipation methods such as air cooling, liquid cooling, or a combination of the two. It should be understood that the structure, type and quantity of the heat dissipation components do not constitute a limitation on the technical solution to be protected by this application.
  • Power supply components used to provide power to other components. Computing components, CPU, memory and other devices that provide general computing capabilities.
  • the new server architecture also implements hardware standardization, including the standardization of basic boards and the standardization of other component interfaces mentioned above.
  • Standardization of basic boards including standardization of dimensions, mounting hole locations, interface electrical characteristics, management interface protocols and parameters, etc.
  • Table 1 is an example of a basic board interface description table provided by this application.
  • the power supply adopts a unified 12V input, and the basic board is converted into various types of required power supplies through DC/DC.
  • this embodiment defines a Flexible I/O interface based on UBC and UBCDD connectors to replace the original PCIe interface.
  • the Flexible I/O interface can be flexibly configured into PCIe/HCCS/SAS/SATA/Ethernet interfaces according to needs.
  • the BCU management interface mainly includes common low-speed maintenance interfaces. interfaces, such as I2C, UART, JTAG and other interfaces, compatible with the management of common processor platforms.
  • EXU In addition to the interface between EXU and BCU, other interfaces are connected to various components through EXU. It is worth noting that this embodiment only defines the functions of these interfaces and does not limit the specific pin layout (PINMAP) method. Any implementation method that can realize this function is within the protection scope of this embodiment.
  • PINMAP pin layout
  • the new server architecture also provides an intelligent management software that implements management object templates according to the standardized requirements of the new server architecture.
  • the management software After the server is powered on, the management software automatically detects components through the standard management bus and obtains the automatic information of the components. Description information, and then creates management object instances based on the management object template, thereby realizing adaptive management of management software, making management software intelligent, and supporting automatic discovery and automatic adaptation of components.
  • the server 70 includes multiple components, including an expansion board 71, a base board 72, a storage component 73, an IO component 74, a cooling component 75, a power supply component 76, an acceleration component 77, a memory expansion component 78, and a BMC 79.
  • the base board 72 , storage component 73 , IO component 74 , heat dissipation component 75 , power supply component 76 , acceleration component 77 , and memory expansion component 78 are respectively interconnected with the expansion board 71
  • the BMC 79 is interconnected with the expansion board 72 .
  • the expansion board 71, the base board 72, the storage component 73, the IO component 74, the cooling component 75, the power supply component 76, the acceleration component 77, and the memory expansion component 78 jointly implement the same functions as those of a traditional server.
  • the following describes the configuration information management method provided by the embodiment of the present application based on the above-mentioned new architecture server and taking the server including multiple components as an example with reference to the accompanying drawings.
  • the components include the above-mentioned basic board, expansion board, and/or the above-mentioned functional components, etc.
  • For detailed description of the configuration information of the server please refer to the relevant description of the configuration information in S101, which will not be described again.
  • the management device executes S101-S102 to pre-store the configuration information of the server in the BMC and at least one component in the new architecture server.
  • the server when the server is the above-mentioned new architecture server, after the management device performs a backup operation on the obtained server configuration information, the copy data of the configuration information can be backed up in the new architecture server in addition to the BMC.
  • the storage space of at least one component such as a non-volatile storage medium provided in the component.
  • the storage space in the at least one component is a storage space accessible by the BMC of the server.
  • the management device not only backs up the copy data of the obtained configuration information in the BMC, but also backs up the storage space of some components in the new architecture server. That is to say, the non-volatile storage medium of each component in the new architecture server stores configuration information backed up by the management device.
  • the management device not only backs up the copy data of the obtained configuration information in the BMC, but also backs up the storage space of each component in the new architecture server. That is to say, the non-volatile storage medium in each component of the new architecture server stores the configuration information of the management device backup.
  • FIG. 8 shows a schematic flowchart of yet another configuration information management method provided by an embodiment of the present application.
  • the method may be executed by a management device having the hardware structure shown in FIG. 3 .
  • the method includes the following steps:
  • the management device obtains the first configuration information stored in the BMC of the new architecture server, and obtains the second configuration information stored in the BMC-accessible storage space of the new architecture server.
  • the storage space accessible to the BMC is the non-volatile storage medium of a component in the new architecture server, then the management device executes based on the obtained first configuration information and the second configuration information stored in the component.
  • the management device executes based on the obtained first configuration information and the second configuration information stored in the component.
  • the component in the new architecture server that stores the second configuration information may be a basic board, an expansion board, or any functional component in the new architecture server, which is not limited in the embodiment of the present application.
  • the storage space accessible to BMC includes the non-volatile storage media of each of the m components in the new architecture server. That is to say, in this case, each of the m components stores the second configuration information.
  • m is an integer greater than 1, and m is less than or equal to the number of all components included in the new architecture server.
  • the m components in the new architecture server are component 1, component 2,..., and component m.
  • Each of the m components stores second configuration information.
  • the configuration information stored in each component is called second configuration information.
  • the second configuration information in different components may be the same configuration information or different configuration information, and this is not limited. It can be understood that taking the new architecture server as Server 1 as an example, when a component in Server 1 is replaced (such as during maintenance) with a component of another server, the configuration information stored in the replaced component will be different from other components in Server 1.
  • the configuration information stored in the components is different.
  • the management device obtains the first configuration information stored in the BMC of the server and obtains the second configuration information stored in each of the above m components, please refer to the description of S201 and will not be described again.
  • the management device verifies the consistency of the first configuration information and m pieces of second configuration information, and obtains a consistency verification result.
  • the management device determines whether the first configuration information and the m second configuration information are exactly the same, thereby achieving Check the consistency of the first configuration information and the m pieces of second configuration information, and obtain a consistency check result.
  • the management device determines that the first configuration information and the m pieces of second configuration information are exactly the same, indicating that the consistency check result of the first configuration information and the m pieces of second configuration information is successful, the management device executes S303.
  • the management device determines that the first configuration information and the m pieces of second configuration information are different, it means that the consistency check result between the first configuration information and the m pieces of second configuration information is failed, and the management device executes S304.
  • the management device determines that the consistency check result between the first configuration information and the m second configuration information is failed, configure the first configuration information or one of the m second configuration information according to the second preset rule.
  • the information is determined as target configuration information, and the server is started according to the target configuration information.
  • the second preset rule mainly includes at least one of the following methods:
  • the third way is to determine the target configuration information based on the indication.
  • the third manner reference may be made to the description of the third manner in S204, which will not be described again.
  • the fourth method is to determine the target configuration information based on the version. Specifically, the fourth way is to determine the configuration information with the highest version among the first configuration information and the m second configuration information as the target configuration information.
  • the management device may further read the version information in the first configuration information to determine the version of the first configuration information, and reading the version information in each of the m second configuration information to determine the version of each second configuration information. Furthermore, the management device determines the configuration information with the highest version among the first configuration information and the m second configuration information as the target configuration information.
  • the fifth way is to determine the target configuration information based on the update time. Specifically, the fifth way is to determine the configuration information of the time information whose update time is closer to the current time of the first configuration information and m second configuration information as the target configuration information.
  • the update time of the first configuration information is the time indicated by the time information recorded when the management device latest obtains the first configuration information.
  • the update time of the second configuration information is The time is the time indicated by the time information recorded when the management device latest obtains the first configuration information for obtaining the second configuration information.
  • the management device further obtains the pre-recorded time information for obtaining the first configuration information to determine the time for obtaining the first configuration information. is the first time, and the update time of each second configuration information is obtained. Furthermore, the management device determines a time closer to the current time among the first time and each update of the second configuration information, and determines the configuration information corresponding to this time as the target configuration information.
  • the management device determines that the first time is later than the update time of m second configuration information, that is, the first time is closer to the current time than the update time of m second configuration information, so the management device will match the first time
  • the corresponding first configuration information is determined as the target configuration information.
  • the sixth way is to determine the target configuration information based on the number of configuration information of the same version.
  • the sixth way is to determine the configuration information with the largest number of identical versions among the first configuration information and the m second configuration information as the target configuration information. For example, after determining that the consistency check result between the first configuration information and the m pieces of second configuration information is failed, the management device further reads the version information in the first configuration information to determine the version of the first configuration information, and The version information in each second configuration information is read to determine the version of each second configuration information. Enter Then, the management device determines the configuration information with the largest number of identical versions among the first configuration information and the second configuration information as the target configuration information.
  • the management device determines that the consistency check result of the first configuration information and the two second configuration information (configuration information 1 and configuration information 2 respectively) is failed, further reading Obtain the version information of the first configuration information to determine that the version of the first configuration information is version 2, and the management device also reads the version information of the configuration information 1 to determine that the version of the configuration information 1 is version 2, and read the configuration version information of information 2 to determine that the version of configuration information 2 is version 3, then the management device determines that the number of configuration information of version 3 is 1 (i.e., configuration information 2), and the number of configuration information of version 2 is 2 (i.e. Including first configuration information and configuration information 1). Therefore, the management device determines the first configuration information or configuration information 1 as the target configuration information.
  • the server is started according to the target configuration information.
  • the server is started according to the target configuration information.
  • the specific process please refer to the description of S203 and will not be described again.
  • the management device updates the configuration information that is different from the target configuration information among the first configuration information and the m second configuration information to the target configuration information.
  • the management device updates the configuration information that is different from the target configuration information among the first configuration information and the above-mentioned m second configuration information to the specific description of the target configuration information. Reference can be made to the description of S205, which will not be described again.
  • configuration information indicating the overall configuration of the server is pre-stored in the BMC and at least one component of the new architecture server, so that in the startup phase after the server is powered on, based on the information stored in the BMC and components
  • the consistency check result of the configuration information can determine the target configuration information.
  • the server can start normally based on the target configuration information. Therefore, when any of the BMC and other components of the new architecture server are replaced, the method provided by the embodiments of this application can avoid the problem caused by the server's BMC not being able to obtain the server's configuration information or obtaining incorrect server configuration information.
  • the server cannot start normally (or the performance is low after startup).
  • the configuration information management method provided by the embodiment of the present application can also manage the new architecture. Verify the integrity of the server's BMC and the pre-stored configuration information in at least one component.
  • FIG. 9 shows a schematic flowchart of yet another configuration information management method provided by an embodiment of the present application.
  • this method can be executed by a management device with the hardware structure shown in Figure 3. After executing the above S301, the control device executes the following steps:
  • the management device verifies the integrity of the first configuration information and the m pieces of second configuration information, and obtains the integrity verification result.
  • the management device performs integrity verification on the first configuration information and each of the m second configuration information, thereby obtaining the integrity verification of the first configuration information and the m second configuration information. test results.
  • the management device verifying each configuration information please refer to the description of verifying the integrity of the first complete machine information in S2011, which will not be described again.
  • the management device When the management device respectively determines that the integrity of each of the first configuration information and the m second configuration information is successfully verified, it determines the integrity verification of the first configuration information and the m second configuration information. The result is success. Furthermore, the control device executes S302-S305.
  • the control device performs S302-S304 for the at least two configuration information, to A consistency check is performed on the at least two pieces of configuration information, and the target configuration information is determined based on the consistency check results of the at least two pieces of configuration information. Further, the control device executes S305 based on the determined target configuration information. No longer.
  • the control device executes S3012.
  • the control device determines that the integrity verification of each of the first configuration information and m second configuration information fails, it means that the BMC of the new architecture server and the configuration information stored in the m components have been illegally modified.
  • the management device may output alarm information to prompt the user to re-enter the configuration information of the new architecture server to the management device.
  • the management device can re-execute the method described in S102 to perform a backup operation on the obtained configuration information, which will not be described again.
  • the control device determines the configuration information with successful integrity verification among the first configuration information and m second configuration information as the target configuration information, and starts the server according to the target configuration information.
  • control device starting the server according to the target configuration information, please refer to the description of S203, which will not be described again.
  • control device may also perform S305.
  • the management device also performs integrity verification on the configuration information pre-stored in the BMC and components of the new architecture server, thereby preventing the configuration information pre-stored in the BMC and other components of the new architecture server from being illegally modified. , causing the BIOS to obtain incorrect configuration information from the BMC (compared to the configuration information indicating the actual configuration of the server) and being unable to start the server normally (or causing low performance after startup).
  • Figure 10 shows a logical diagram of a management method for applying the configuration information provided by the embodiment of the present application in a new architecture server.
  • the hardware layer of the server 100 includes multiple components, including BMC chips, expansion boards, base boards, storage components, IO components, cooling components, power supply components, acceleration components, and storage media of memory expansion components.
  • the core layer of the server 100 includes BMC chips, expansion boards, base boards, storage components, IO components, cooling components, power supply components, acceleration components, and hardware drivers for memory expansion components.
  • the BMC executes the configuration information management method provided by the embodiments of this application.
  • the BMC obtains the configuration information of the server 100 input by the user through the input interface (such as keyboard, etc.) of the server 100 in advance (refer to S101), and backs up the obtained configuration information to each replacement component based on the method described in S102. . For example, after acquiring the configuration information and before starting the server 100 this time, the BMC backs up the acquired configuration information to each replacement component.
  • the configuration information of the server 100 is stored in the BMC and each component of the server 100 .
  • the BMC reads its own stored configuration information, and reads the storage in expansion boards, basic boards, storage components, IO components, cooling components, power supply components, acceleration components, and memory expansion components based on the communication interface. configuration information (refer to S301). Then, the BMC performs complete line verification on each configuration information read (refer to S3011). When only one configuration information among all the configuration information read by the BMC succeeds in the integrity check, the configuration information with successful integrity check is determined as the target configuration information, and the server 100 is started based on the target configuration information (refer to S3012 ).
  • the integrity check of at least two configuration information among all the configuration information read by the BMC is successful, the consistency check of the at least two configuration information is performed, and the consistency check of the at least two configuration information is performed based on the consistency check result.
  • the target configuration information is determined in the information, and the server 100 is started according to the target configuration information (refer to S302-S304).
  • the BMC also updates the configuration information that is different from the target configuration information stored in the BMC and each component to the target configuration information (corresponding to S305).
  • the configuration information mentioned in the above method embodiment includes component management self-description information (component self-description record, CSR) or complete machine self-description information (product self-description record, PSR) at least one.
  • component management self-description information component self-description record, CSR
  • product self-description record, PSR complete machine self-description information
  • the storage format of the above configuration information may be according to the following preset format.
  • the above preset format may also be called a Hardware Self-Description Record (Hardware Self-Description Record, HWSR) format.
  • HWSR Hardware Self-Description Record
  • the component HWSR is the component static storage space, and the fixed bus starting address of the static storage space is 0xAE.
  • the component HWSR format it includes header, electronic label, component self-describing information and extended information, etc.
  • Elable electronic label, the electronic label information of the component board in the server, the space size is fixed at 2KB.
  • OEM1 System Information: Customer-customized area 1, the space size is fixed at 1KB.
  • CSR Component Self-Description Record component self-description information. Vendor+component ID+component type in the CSR Header constitutes the component's unique ID. If a single board contains multiple components, multiple CSR information needs to be defined.
  • the internal use area is a reserved area, extended use, and the internal format is to be defined.
  • the CSR description includes hardware information of server component boards, devices that need to be managed, topology information, alarm information, etc.
  • the CSR header format is shown in Table 3.
  • the CSR description format locates JSON.
  • the JSON file is compressed and written to the corresponding storage space of HWSR.
  • the BMC management software self-discovers, it needs to decompress according to the compression algorithm of the CSR header to obtain the JSON data file.
  • the current default compression algorithm is gzip (GNUzip).
  • the basic hardware properties of the components in the CSR are as shown in Table 4.
  • the CSR physical topology mainly defines the device management topology information of the component, such as the management bus topology, memory topology or in-band bus topology.
  • the component can define the content contained in the CSR data file according to the actual hardware situation.
  • the contents of the CSR physical topology are shown in Table 5.
  • CSR physical objects PhysicalObjects
  • CSR physical objects mainly define components
  • the physical objects within include chips, connectors, buses, CPU slots, IO slots, OCP slots, etc.
  • the content of the CSR physical object is shown in Table 6.
  • the Connectors object defines connectors within the component, including management bus connectors and UBC/UBCDD connectors.
  • the details are shown in Table 8:
  • the ResourceOrder object For example, for the ResourceOrder object, the ResourceOrder object describes the superior resource ownership order of BConnectors. The details are shown in Table 9:
  • the Zone object describes the zone information to which the UB bus connector belongs. Details are shown in Table 10:
  • the Ports object describes the port number of the UB bus connector. Details are shown in Table 11:
  • the Chips object defines connectors within the component, including management bus connectors and UB connectors.
  • the details are shown in Table 12:
  • Register defines the chip register information of the chip. Details are shown in Table 13:
  • the CPU platform object is applied to a basic computing component and defines the computing platform of the component. Details are shown in Table 14:
  • the CPUSlots object is applied to the basic computing component and defines the CPU Socket slot of the component. Details are shown in Table 15:
  • the MemoryChannels object is applied to a basic computing component or a memory component to define the memory channel information of the component. Details are shown in Table 16:
  • the MemorySlots object is applied to the basic computing component or memory component to define the memory slot information of the component.
  • the details are shown in Table 17:
  • the PSUSlots object is used to manage expansion components and define power slot information. Details are shown in Table 18:
  • the OCPSlots object is used to manage extension components and define the OCP network card slot information of the component. Details are shown in Table 19:
  • the PCIePorts object is applied to the basic computing component to define the PCIe Port information of the CPU. Details are shown in Table 20:
  • the DiskSlots object is used to define hard disk slot information. Details are shown in Table 21:
  • the DiskPorts object is used to define hard disk slot information. Details are shown in Table 22:
  • the WiFis object should be used to define the WiFis interface definition provided by the BMC. Details are shown in Table 23:
  • the TypeCs object should be used to define the TypeC interface definition provided by the BMC. Details are shown in Table 24:
  • the SDs object should be used to define SD card slot information. Details are shown in Table 25:
  • the Digitrons object is used to define display digital tube information. Details are shown in Table 26:
  • the HardDiskDraws object is used to define hard disk drawer information. Details are shown in Table 27:
  • the FanSlots object should be used to define fan information. Details are shown in Table 28:
  • CSR logical objects LogicalObjects
  • the CSR logical objects mainly define logical objects related to physical objects within the component, and mainly include monitoring sensor information. Details are shown in Table 29:
  • the DevTest object For example, for the DevTest object, the DevTest object describes the physical device self-test. Details are shown in Table 30:
  • the RefEth object describes the relevant Eth network port. Details are shown in Table 31:
  • the VoltTest object For example, for the VoltTest object, the VoltTest object describes voltage detection. Details are shown in Table 32:
  • the whole machine self-describing information includes the whole machine topology information and the whole machine heat dissipation information.
  • the whole machine can be adaptively managed and maintained after each component is combined into a server.
  • the product description (Product Description) of the PSR can be as shown in Table 33:
  • ComponentTopology complete machine component topology object
  • the information about the component management bus connection topology can be as shown in Table 34:
  • the information of the component UB bus connection topology can be as shown in Table 35:
  • the Configurations object defines the configuration set supported by a certain slot of IEUPCieSlotInfo as shown in Table 38:
  • the expected cable connection relationship configuration of a slot in the CableCheck object definition Configurations can be as shown in Table 39:
  • the Configurations object defines the configuration set supported by a slot of SEUHddSlotInfo as shown in Table 41:
  • the expected cable connection relationship configuration of a slot in the CableCheck object definition Configurations can be as shown in Table 42:
  • the Configurations object defines the configuration set supported by a certain slot of IEUPCieSlotInfo as shown in Table 44:
  • the expected cable connection relationship configuration of a slot in the CableCheck object definition Configurations can be as shown in Table 45:
  • FIG 11 shows a configuration information management provided by an embodiment of the present application.
  • the management device 110 is applied to a server (such as the above-mentioned traditional server or new architecture server), and is used to perform the above-mentioned management method of configuration information, for example, to perform the steps shown in Figure 4, Figure 5, Figure 6, Figure 8 or Figure 9 method.
  • the management device 110 may include an acquisition unit 111, a verification unit 112 and a startup unit 113.
  • the obtaining unit 111 is used to obtain the first configuration information and the second configuration information.
  • the verification unit 112 is used to verify the consistency of the first configuration information and the second configuration information, and obtain the consistency verification result.
  • the starting unit 113 is used to start the server according to the consistency check result.
  • the first configuration information is the configuration information stored in the BMC of the server
  • the second configuration information is the backup data of the server's configuration information at the first moment.
  • the acquisition unit 111 can be used to perform S201
  • the verification unit 112 can be used to perform S202
  • the starting unit 113 can be used to perform S203 or S204.
  • the management device 110 also includes a backup unit 114, configured to backup the configuration information of the server at the first moment before the acquisition unit 111 acquires the first configuration information and the second configuration information, and obtain the second configuration information.
  • the first moment is any moment before the server is started this time, and the second configuration information is stored in the storage space of the server accessible to the BMC.
  • the backup unit 114 may be used to perform S102.
  • the storage space of the server accessible to the BMC is the storage space of server components.
  • the components include basic boards and/or functional components.
  • the functional components include storage components, input and output. At least one of the IO component, acceleration component, memory expansion component, cooling component, power supply component, computing component, and management component.
  • the storage space of the component accessible to the BMC is the non-volatile storage medium in the component.
  • the storage space of the server accessible to the BMC is a non-volatile storage medium provided on the server motherboard.
  • the management device 110 further includes a determining unit 115, configured to, when the above consistency check result is that the consistency check of the first configuration information and the second configuration information is successful, convert the first configuration information or the second configuration information into Determine the target configuration information.
  • the starting unit 113 is specifically used to start the server according to the target configuration information. As an example, in conjunction with FIG. 5 , the determining unit 115 and the starting unit 113 may be used to perform S203.
  • the determining unit 115 is also configured to determine the first configuration information or the second configuration information according to the preset rules when the consistency check result is that the consistency check of the first configuration information and the second configuration information fails.
  • Configure information for the target The preset rule is used to indicate a way to determine the configuration information with a higher version in the first configuration information and the second configuration information as the target configuration information, or to determine the method in the first configuration information and the second configuration information based on user instructions.
  • the starting unit 113 is specifically used to start the server according to the target configuration information. As an example, in conjunction with FIG. 5 , the determining unit 115 and the starting unit 113 may be used to perform S204.
  • the management device 110 also includes an update unit 116, configured to update the configuration information that is different from the target configuration information among the first configuration information and the second configuration information to the target configuration information.
  • the update unit 116 may be used to perform S205.
  • the verification unit 112 is also configured to verify the integrity of the first configuration information and the integrity of the second configuration information before verifying the consistency of the first configuration information and the second configuration information to obtain integrity. Verify the result, and when the integrity verification result is successful, perform an operation of verifying the consistency of the first configuration information and the second configuration information.
  • the verification unit 112 may be used to perform S2011.
  • the functions implemented by the verification unit 112 and the determination unit 115 in the management device 110 can be implemented by the processor 301 in FIG. 3 executing the program code in the memory 302 in FIG. 3 .
  • Get unit 111 The implemented functions can be implemented through the communication interface 303 in Figure 3.
  • the functions implemented by the startup unit 113, the backup unit 114, and the update unit 116 can be implemented by the processor 301 in Figure 3 executing the program code in the memory 302 in Figure 3, and through the communication interface 303 in Figure 3.
  • the computing device has the hardware structure shown in Figure 3.
  • the computing device includes the management device described above.
  • the management device in the computing device can be used to perform the method described in Figure 4, Figure 5, Figure 6 or Figure 7 above, which will not be described again.
  • Embodiments of the present application also provide a computer program product and a computer-readable storage medium for storing the computer program product.
  • the computer program product may include one or more program instructions that, when executed by one or more processors, may provide what is described above with respect to Figure 4, Figure 5, Figure 6, Figure 8 or Figure 9 function or part of a function. Therefore, for example, one or more features of S201 to S205 in FIG. 5 may be performed by one or more instructions in the computer program product.
  • a management device such as described with respect to FIG. 4, FIG. 5, FIG. 6, FIG. 8, or FIG. 9, may be configured to provide, in response to one or more program instructions stored in a computer-readable storage medium. An operation, function, or action.

Abstract

一种配置信息的管理方法,应用于包括管理装置的服务器,包括:管理装置获取第一配置信息和第二配置信息;校验第一配置信息和第二配置信息的一致性,获得一致性校验结果;根据一致性校验结果启动服务器。其中,第一配置信息为服务器的基板管理控制器BMC存储的配置信息,第二配置信息为第一时刻对服务器的配置信息进行备份的备份。该方法通过在服务器的BMC和BMC可访问的存储空间中均存储有服务器的配置信息,从而在BMC或服务器的其他组件被更换,服务器也能够正常启动。

Description

配置信息的管理方法、装置及服务器
本申请要求于2022年07月29日提交国家知识产权局、申请号为202210908371.4、申请名称为“配置信息的管理方法、装置及服务器”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及计算机技术领域,尤其涉及一种配置信息的管理方法、装置及服务器。
背景技术
由于服务器整机的资源分配和管理均依赖于硬件拓扑,因此,服务器整机中每增加一个硬件配置,服务器的基板控制器(baseboard management controller,BMC)和基本输入输出系统(basic input output system,BIOS)通常都需要针对服务器整机的最新硬件配置重新进行适配和开发。
为实现服务器硬件配置和软件设计的解耦,当前的解决方案为将服务器的配置信息存储于服务器的某个组件中,例如存储于服务器的BMC中。然而,当服务器的配置信息存储于BMC中,若BMC被更换,会导致新更换的BMC无法获取到服务器的配置信息,进而导致服务器无法正常启动。
发明内容
本申请提供了一种配置信息的管理方法、装置及服务器,该方法通过在服务器的BMC和BMC可访问的存储空间中均存储有服务器的配置信息,从而在BMC或服务器的其他组件被更换,服务器也能够正常启动。
第一方面,提供了一种配置信息的管理方法,该方法应用于包括管理装置的服务器,该方法由管理装置执行。该方法包括:获取第一配置信息和第二配置信息,其中,第一配置信息为服务器的BMC存储的服务器的配置信息,第二配置信息为第一时刻对服务器的配置信息进行备份的备份数据。校验第一配置信息和第二配置信息的一致性,获得一致性校验结果。根据一致性校验结果启动服务器。
通过本申请提供的方法,通过在服务器的BMC中存储服务器的配置信息,以及在服务器中备份该配置信息,从而在服务器的启动阶段,通过校验BMC中的配置信息和备份的配置信息的一致性,并基于一致性校验结果能够正常启动服务器。进而,当服务器的BMC和用于存储配置信息副本数据的服务器组件中的任一个被更换,通过本申请提供的方法能够避免服务器的BMC获取不到服务器的配置信息或获取到错误的服务器配置信息而导致的服务器无法正常启动的问题(或启动够性能低的问题)。
在一种可能的设计方式中,在上述获取第一配置信息和第二配置信息之前,上述方法还包括:在第一时刻,对服务器的配置信息执行备份,获得第二配置信息,第一时刻为服务器本次启动前的任一时刻,第二配置信息存储在BMC可访问的服务器的存储空间中。
通过该可能的设计方式,在本次启动服务器之前,服务器的BMC和BMC可访问的服务器存储空间中均实现运存服务器配置信息的目的。
在另一种可能的设计方式中,当上述服务器为新架构服务器时,BMC可访问的服务器的存储空间为服务器中组件的存储空间,这里,组件包括基础板和/或功能组件,功能组件包括 存储组件、输入输出IO组件、加速组件、内存扩展组件、散热组件、供电组件、计算组件、管理组件中至少一种,BMC可访问的组件的存储空间为组件中的非易失性存储介质。
在另一种可能的设计方式中,当上述服务器为传统服务器时,BMC可访问的服务器的存储空间为设置于服务器主板上的非易失性存储介质。
通过在新架构服务器中除BMC外的任一个或多个组件的非易失性存储介质中存储服务器的配置信息的备份数据,或者在传统服务器的主板上的非易失性存储介质中存储配置信息的备份数据,使得即使服务器的BMC在服务器本次启动前被更换(如维修更换),而更换后的BMC也可以在服务器的本次启动过程中获取到主板或组件中存储的配置信息,从而BIOS可以从BMC中获取到配置信息以启动服务器。
在另一种可能的设计方式中,上述根据一致性校验结果启动服务器包括:当上述的一致性校验结果为第一配置信息和第二配置信息的一致性校验成功时,将第一配置信息或第二配置信息确定为目标配置信息。根据目标配置信息启动服务器。
在另一种可能的设计方式中,上述根据一致性校验结果启动服务器包括:当上述的一致性校验结果为第一配置信息和第二配置信息的一致性校验失败时,根据预设规则将第一配置信息或第二配置信息确定为目标配置信息。根据目标配置信息启动服务器。其中,预设规则用于指示将第一配置信息和第二配置信息中版本更高的配置信息确定为目标配置信息的方式,或者,基于用户指示在第一配置信息和第二配置信息中确定目标配置信息的方式,或者,将第一配置信息和第二配置信息中记录有距离当前时刻更近的时间信息的配置信息确定为目标配置信息的方式。
通过该两种可能的设计方式,管理装置可以根据第一配置信息和第二配置信息的一致性校验结果确定出用于启动服务器的目标配置信息,从而服务器能够正常启动。
在另一种可能的设计方式中,上述方法还包括:将第一配置信息和第二配置信息中与目标配置信息不同的配置信息,更新为目标配置信息。
通过该可能的设计,当在服务器本次启动时,第一配置信息和第二配置信息的一致性校验结果为失败,且管理装置基于用户指示确定目标配置信息,这种情况下,若管理装置将服务器的BMC或主板/组件中存储的与目标配置信息不同的配置信息更新为目标配置信息后,则在服务器下次启动时,且在下次启动前服务器的整机配置未被更新过的情况下,第一配置信息和第二配置信息的一致性能够校验成功。也就是说,管理装置能够在无需再次获取用户指示的情况下将用户在本次启动服务器时指定的配置信息确定为下次启动服务器时的目标配置信息。从而,该可能的设计能够减少用户的操作,提高用户的体验。
在另一种可能的设计方式中,在上述校验第一配置信息和第二配置信息的一致性之前,上述方法还包括:校验第一配置信息的完整性和第二配置信息的完整性,获得完整性校验结果。当完整性校验结果为成功时,执行校验第一配置信息和第二配置信息的一致性的操作。
由于服务器BMC中预存的第一配置信息和服务器的主板/组件中预存的第二配置信息可能被非法修改过,例如被网络攻击者恶意篡改过,或者被未经许可的用户修改过等。或者可以理解为,BMC中预存的第一配置信息和服务器主板/组件中预存的第二配置信息,在除服务器正常更新整机配置(如扩容等)时对配置信息的更新修改之外的情况中被修改过(如篡改正常更新的配置信息的内容或删除正常更新的配置信息中的数据等),均可以认为是被非法修改过。基于此,该可能的设计能够在服务器的启动阶段,对BMC中存储的第一配置信息和服务器的主板/组件中存储的第二配置信息进行完整性校验,从而能够保证服务器的BMC和主板/组件中预存的配置信息的安全性,进而能够保证服务器基于未被非法修改的配置信息 完成服务器的正常启动。
第二方面,本申请提供了一种管理装置,该管理装置应用于服务器。
在一种可能的设计方式中,该管理装置用于执行上述第一方面提供的任一种方法。本申请可以根据上述第一方面提供的任一种方法,对该管理装置进行功能模块的划分。例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。示例性的,本申请可以按照功能将该管理装置划分为获取单元、校验单元以及启动单元等。上述划分的各个功能模块执行的可能的技术方案和有益效果的描述均可以参考上述第一方面或其相应的可能的设计提供的技术方案,此处不再赘述。
在另一种可能的设计中,上述管理装置包括:一个或多个处理器和通信接口,该一个或多个处理器通过该通信接口接收或发送数据,该一个或多个处理器被配置为调用存储在存储器中的程序指令,以使得该管理装置在服务器的启动阶段执行如第一方面及其任一种可能的设计方式提供的任一种方法。
在另一种可能的设计中,上述管理装置为服务器的基板管理控制器BMC。
第三方面,本申请提供了一种计算机可读存储介质,该计算机可读存储介质包括程序指令,当程序指令在处理器上运行时,使得处理器执行第一方面中的任一种可能的实现方式提供的任一种方法。
第四方面,本申请提供了一种芯片系统,包括:逻辑电路,用于执行第一方面中的实现方式提供的任一种方法。
可以理解的是,上述提供的任一种装置、计算机存储介质或芯片系统等均可以应用于上文所提供的对应的方法,因此,其所能达到的有益效果可参考对应的方法中的有益效果,此处不再赘述。
在本申请中,上述管理装置的名字对设备或功能模块本身不构成限定,在实际实现中,这些设备或功能模块可以以其他名称出现。只要各个设备或功能模块的功能和本申请类似,属于本申请权利要求及其等同技术的范围之内。
附图说明
图1为一种服务器主板和BMC的连接方式的示意图;
图2为另一种服务器主板和BMC的连接方式的示意图;
图3为本申请实施例提供的一种配置信息的管理装置的硬件结构示意图;
图4为本申请实施例提供的一种配置信息的管理方法的流程示意图;
图5为本申请实施例提供的另一种配置信息的管理方法的流程示意图;
图6为本申请实施例提供的又一种配置信息的管理方法的流程示意图;
图7为本申请实施例提供的一种新架构服务器的架构示意图;
图8为本申请实施例提供的又一种配置信息的管理方法的流程示意图;
图9为本申请实施例提供的又一种配置信息的管理方法的流程示意图;
图10为本申请实施例提供的一种在新架构服务器中应用本申请实施例所提供配置信息的管理方法的逻辑示意图;
图11为本申请实施例提供的一种配置信息的管理装置110的结构示意图。
具体实施方式
为了便于理解,首先对本申请实施例中涉及的部分术语或技术进行说明:
1)、BMC
BMC用于对计算机中硬件系统进行监控和管理。例如,BMC可以监控计算机硬件系统 中主板的温度、电压等,或者监控计算机硬件系统中风扇、电源等硬件的工作情况。当计算机的硬件系统出现异常,BMC可以通过复位的方式来重启计算机的硬件系统,以保证计算机硬件系统能及时恢复到健康状态。
BMC中可设置独立于计算机操作系统(operating system,OS)的系统(也可以称为小系统),一般不依赖于计算机中的其他硬件(比如中央处理单元(central processing unit,CPU)、内存等),也不依赖于计算机的BIOS和OS。但是,BMC可以和BIOS、OS进行交互,从而能够实现更好的管理计算机硬件系统。例如,BMC与OS的系统管理软件协同工作时,能够更好的管理计算机硬件系统。
可以理解,BMC的实体可以是芯片、集成电路等。具体实施中BMC与主板连接方式主要包括如下两种形态:插卡形态和板载形态。具体地,BMC可以通过板载形态与服务器的主板连接,或者BMC通过插卡形态与服务器的主板连接。
示例性的,图1和图2分别示出了一种服务器主板和BMC的连接方式的示意图。其中,如图1所示,BMC 101通过板载形态设置于服务器的主板102上。如图2所示,BMC 201通过插卡形态插接在服务器的主板202上。
2)、BIOS
BIOS是加载在计算机硬件系统上的最基本的软件代码。BIOS是在OS之下的底层软件程序,是计算机硬件和OS之间的抽象层,一般用来配置硬件参数,从而为OS(主要是指计算机的主处理器上的OS)运行做准备。BIOS的主要功能是上电、自检、CPU初始化、内存初始化、检测输入输出设备以及可启动设备,并最终引导计算机的主处理器的OS启动等。
可以理解,用于实现BIOS功能的芯片可以称为BIOS芯片。
为了保证服务器中某些组件被更换后服务器依然能够正常启动,本申请提供了一种配置信息的管理方法,该方法应用于包括管理装置的服务器。在该方法中,在本次启动服务器之前(如服务器最初配置完成时),管理装置对获取到的服务器的配置信息执行备份操作,以实现在服务器中的BMC和服务器中的其他组件(如主板或下述的组件)中备份服务器配置信息的目的。其中,备份服务器配置信息的位置可以是服务器中任何一个管理装置可访问的非易失性存储介质。以在服务器的主板中备份服务器的配置信息为例,则服务器本次启动前,服务器的主板和BMC中均存储有服务器的配置信息。这样,在服务器上电后,只需校验主板和BMC所存储的配置信息的一致性,从而根据一致性校验结果在主板和BMC所存储的服务器的配置信息中确定目标配置信息,进而服务器即可基于目标配置信息启动。通过该方法,能够避免由于BMC更换后,服务器中更换后的BMC获取不到服务器配置信息或获取到错误的服务器配置信息而导致的服务器无法正常启动,或启动后性能较低的问题。也就是说,本申请提供的方法能够在保证服务器性能的前提下正常启动服务器。其中,配置信息一致性校验的详细说明可以参考下文方法中的相关描述,这里不作赘述。
作为一种可能的实现方式,本申请实施例提供的方法可以应用于传统服务器中,该服务器包括主板和BMC,且该服务器的主板和BMC中均预存有该服务器的配置信息,如BMC中预存有第一配置信息,主板中预存有第二配置信息。第一配置信息和第二配置信息的详细说明可以参考下文,这里不作赘述。
其中,BMC和主板的连接方式可以为如图2所示的插卡方式。应理解,通过执行本申请实施例提供的方法,能够避免BMC获取不到服务器配置信息或获取到错误的服务器配置信息而导致服务器无法正常启动的问题。BMC的详细说明可以参考上文,这里不再赘述。
另外,上述的主板(也可以称为传统主板)可以理解为集成了服务器的多个电子元器件 (也可以称为器件)的一个整体硬件模块。即服务器的多个器件集成设计在一个硬件模块中。作为示例,服务器的多个器件例如可以包括散热风扇、硬盘背板、输入输出(input/output,IO)接口等。
本申请实施例还提供一种配置信息的管理装置,该管理装置可以应用于上述传统服务器,也可以应用于下文所述的新架构服务器,对此不作限定。该管理装置用于执行本申请实施例提供的配置信息的管理方法。可选的,该管理装置可以是设置于服务器中的BMC,或者,该管理装置可以是任意集成于服务器中、且能够实现本申请实施例所提供方法的集成电路或芯片,对此不作具体限定。
作为示例,参考图3,图3示出了本申请实施例提供的一种配置信息的管理装置的硬件结构示意图。如图3所示,管理装置30包括处理器301、存储器302、通信接口303以及总线304。处理器301、存储器302、通信接口303之间通过总线304连接。
处理器301是管理装置30的控制中心,可以是一个通用CPU,处理器301还可能是其他通用处理器、数字信号处理器(digital signal processing,DSP)、专用集成电路(application-specific integrated circuit,ASIC)、FPGA、CPLD或者其他可编程逻辑器件、MCU等。
存储器302用于存储程序指令或应用进程所要访问的数据,处理器301可以通过执行存储器302中的程序指令,以实现本申请实施例提供的服务器的启动方法。
存储器302包括易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamic random access memory,DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data date SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。非易失性存储器可以是储存级内存(storage class memory,SCM)、SSD、HDD等。其中,储存级内存例如可以是非易失性内存(non-volatile memory,NVM)、相变化内存(phase-change memory,PCM)、持久化内存等。
在一种可能的实现方式中,存储器302独立于处理器301存在。存储器302通过总线304与处理器301相连接,用于存储数据、指令或者程序代码。处理器301调用并执行存储器302中存储的指令或程序代码时,能够实现本申请实施例提供的服务器的启动方法。
在另一种可能的实现方式中,存储器302和处理器301集成在一起。
通信接口303,用于实现管理装置30与管理装置30所在服务器的其他组件(如图1中所示服务器的主板、或者服务器的任一个组件等)的通信连接。
总线304,可以是工业标准体系结构(industry standard architecture,ISA)总线、外部设备互连(peripheral component interconnect,PCI)总线、PCIe、统一总线(unified bus,UB或Ubus)或扩展工业标准体系结构(extended industry standard architecture,EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图3中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
需要指出的是,图3中示出的结构并不构成对管理装置30的限定,除图3所示部件之外,该管理装置30包括比图3所示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合附图,首先基于上述传统服务器的架构,以该服务器的主板上集成了该服务器的多个硬件器件(如散热风扇、硬盘背板、IO接口等)为例,对本申请实施例提供的配置信息的管理方法进行说明。
参考图4,图4示出了本申请实施例提供的一种配置信息的管理方法的流程示意图。示例地,该方法可以由具有图3所示硬件结构的管理装置执行,主要包括以下步骤:
S101、管理装置获取服务器的配置信息。
其中,服务器的配置信息用于描述服务器中组件所包括的硬件信息、需要管理的器件及其参数信息。其中,组件可以是服务器中所包括器件或器件的集合。例如,服务器的配置信息包括服务器中风扇的个数及位置,硬盘背板的数量及位置、以及硬盘背板可以接入的硬盘大小等硬件配置的描述信息。其中,硬盘背板用于设置硬盘。风扇为用于为服务器中的硬件单元降温。可选地,配置信息还可以包括拓扑信息、告警信息。其中,拓扑信息用于指示组件间或组件中所包括的器件间的拓扑关系,告警信息则用于指示组件或组件中所包括的器件的告警信息。
可选的,管理装置可以在最初完成服务器的整机硬件配置后,获取用户通过服务器的输入接口(如键盘等)输入的用于描述服务器当前整机配置的配置信息。
作为示例,以管理装置是服务器的BMC为例,在最初完成服务器的整机硬件配置后,服务器的BMC通过服务器的输入接口(如键盘等)获取用户输入的用于描述服务器当前整机硬件配置的配置信息,并将获取到的配置信息存储于自身的非易失性存储介质中。其中,本申请实施例将BMC中存储的服务器的配置信息称为第一配置信息。
S102、管理装置对获取的服务器配置信息进行备份操作,以将服务器配置信息的备份数据(或称为副本数据)备份于服务器的BMC可访问的存储空间中。
具体的,管理装置对服务器的配置信息执行备份操作,得到第二配置信息,且第二配置信息可以存储于服务器的BMC,以及BMC可访问的任何存储空间中。在传统服务器中,BMC可访问的存储空间可以是设置于传统服务主板上的任一非易失性存储介质,如EEPROM、闪存(flash)等,不限于此。
应理解,管理装置对服务器的配置信息执行备份操作的过程是在服务器的启动状态下进行的。
在一种可能的实现方式中,为避免服务器在使用过程中,服务器的BMC和/或主板被更换而导致服务器无法正常启动,管理装置可以周期性的将自身获取到的配置信息备份至BMC和设置于主板上的非易失性存储介质中。以管理装置是服务器的BMC为例,为避免服务器在使用过程中BMC自身被更换而导致服务无法正常启动,BMC可以周期性的将自身获取到的配置信息备份至设置于主板上的非易失性存储介质中。具体的,BMC周期性的将自身获取到的配置信息的副本数据写入设置于主板上的非易失性存储介质中。
另一种可能的实现方式中,每当服务器的整机配置进行了更新(如对服务器扩容等),管理装置可以获取到服务器更新整机配置后的配置信息。进而,管理装置可以在每次获取到指示服务器更新后的整机配置的配置信息时,将获取到的指示服务器更新后的整机配置的配置信息备份至BMC和设置于主板上的非易失性存储介质中。例如,管理装置将获取到的指示服务器更新后的整机配置的配置信息分别写入BMC的非易失性存储介质和设置于主板上的非易失性存储介质中,以覆盖BMC的非易失性存储介质和设置于主板上的非易失性存储介 质中原本存储的配置信息。其中,BMC的非易失性存储介质和设置于主板上的非易失性存储介质中原本存储的配置信息,即为管理装置上一次对获取到的配置信息执行备份操作时,写入BMC的非易失性存储介质和设置于主板上的非易失性存储介质中的配置信息。
在一些示例中,以管理装置是服务器的BMC为例,BMC可以在每次获取到指示服务器更新后的整机配置的配置信息时,将获取到的指示服务器更新后的整机配置的配置信息写入设置于主板上的非易失性存储介质中,以覆盖该非易失性存储介质中原本存储的配置信息。
可选的,当服务器的整机配置进行了更新(如对服务器扩容等),管理装置可以获取用户输入的指示服务器本次更新的配置信息。以在扩容场景为例,服务器本次更新的配置是指:相较于更新前的服务器整机配置,服务器在本次更新中增加的硬件背板。这样,针对服务器的本次更新,管理装置获取到的用户输入的配置信息和管理装置在本次更新之前所获取的所有配置信息,构成了服务器在本次更新后用于指示服务器整机配置的配置信息。
可选的,当服务器的整机配置进行了更新(如对服务器扩容等),管理装置也可以获取用户输入的指示服务器本次更新后得到的整机配置的配置信息,对此不作限定。
在一些示例中,管理装置获取的服务器的配置信息中包括版本信息,该版本信息用于指示包含该版本信息的配置信息的版本。应理解,不同版本的配置信息,指示服务器的不同整机配置,而服务器的不同整机配置包括在服务器的使用过程中,服务器每经历一次整机配置更新后得到服务器整机配置。还应理解,服务器配置信息中的版本信息指示的版本越高,表示与该配置信息对应的服务器更新操作距离当前时刻越近。
例如,在最初完成服务器的整机硬件配置后,服务器配置信息中的版本信息指示的版本为版本1。在该服务器使用一段时间后,基于使用需求对服务器最初的整机配置进行一次扩容(即第1次更新服务器的整机配置),则本次扩容后的服务器的配置信息中版本信息指示的版本为版本2。类似的,又一段时间后,基于使用需求对服务器第1次更新后得到的整机配置再次进行扩容(即第2次更新服务器的整机配置),则本次扩容后的服务器的配置信息中版本信息指示的版本为版本3。其中,版本3高于版本2,且版本2高于版本1。
在另一些示例中,管理装置记录获取服务器配置信息的时间信息,该时间信息用于指示管理装置获取到包含该时间信息的配置信息的具体时间。应理解,管理装置在不同时间获取的配置信息,指示服务器的不同整机配置,而服务器的不同整机配置包括在服务器的使用过程中,服务器每经历一次整机配置更新后得到服务器整机配置。
例如,在最初完成服务器的整机硬件配置后,管理装置获取服务器的配置信息后记录获取该配置信息的时间信息为时间1。在该服务器使用一段时间后,基于使用需求服务器对最初的整机硬件配置进行一次扩容(即第1次更新服务器的整机配置),则管理装置获取本次扩容后的服务器的配置信息后,记录获取该配置信息的时间信息指示的时间为时间2,且时间2晚于时间1。类似的,在又一段时间后,基于使用需求对服务器第1次更新后得到的整机配置再次进行扩容(即第2次更新服务器的整机配置),则管理装置获取本次扩容后的服务器的配置信息后,记录获取该配置信息的时间信息指示的时间为时间3,且时间3晚于时间2。
应理解,对于管理装置对获取到的第一配置信息执行备份操作后得到的第二配置信息,用于存储该第二配置信息的BMC可访问的服务器的存储空间中,也记录管理装置获取第一配置信息的时间信息。
进而,以服务器中BMC中存储有第一配置信息,以及服务器的主板中存储有第二配置信息为例,参考图5,图5示出了本申请实施例提供的另一种配置信息的管理方法的流程示意图。示例地,该方法可以由具有图3所示硬件结构的管理装置执行,主要包括以下步骤:
S201、管理装置获取服务器的BMC存储的第一配置信息,以及获取服务器的主板存储的第二配置信息。
具体的,在服务器上电后,设置于服务器中的管理装置上电并启动。进而,管理装置获取服务器的BMC存储的第一配置信息,以及获取服务器的主板存储的第二配置信息。这里,服务器的主板为传统服务器中的主板。
可选的,管理装置可以通过通信接口读取服务器的BMC中存储的第一配置信息,以及通过通信接口读取服务器的主板中存储的第二配置信息,对此不作具体限定。
在一些示例中,管理装置为服务器的BMC,则BMC读取自身存储的第一配置信息,以及通过自身的通信接口读取服务器主板中存储的第二配置信息,对此不作具体限定。
可选的,以管理装置是服务器的BMC为例,BMC存储的第一配置信息即为BMC获取用户输入且存储于自身非易失性存储介质中的服务器的配置信息。服务器的主板中存储的第二配置信息,即为BMC在第一时刻对获取到的配置信息(如第一配置信息)执行备份操作后,写入设置于主板上的任一非易失性存储介质中的配置信息。其中,第一时刻是BMC获取到用户输入的配置信息后、服务器本次启动前的任一时刻,对此不作限定。其中,本次启动的时刻是指管理装置对获取到的服务器的配置信息至少执行一次备份操作(如S102)后,触发该服务器启动操作的一个时刻。
可选的,BMC中存储的第一配置信息,以及服务器的主板中存储的第二配置信息,均为管理装置在第一时刻对用户输入的配置信息执行备份操作后,写入BMC的非易失性存储介质和设置于服务器主板上的任一非易失性存储介质中的配置信息,对此不作限定。
S202、管理装置校验第一配置信息和第二配置信息的一致性,获得一致性校验结果。
可以理解,服务器的BMC或主板中的任意一个可能被非法更换过(例如未经授权的更换服务器的BMC或主板,或在维修服务器时更换损坏的BMC或主板),或者,BMC或主板中存储的配置信息被攻击者恶意替换。换句话说,在非正常更新服务器配置信息的情况下,服务器中被非法更换后的BMC或主板中存储的配置信息(即新更换的BMC或主板中自身原本存储的配置信息)指示的整机配置,或者,BMC或主板中被恶意替换过的配置信息指示的整机配置,与服务器真实的整机硬件配置是不同的。而用于指示与服务器真实的整机硬件配置不同的整机配置的配置信息会导致服务器在初始化硬件资源时发生错误错,进而无法正常启动,或导致服务器启动后的性能较低。因此,在服务器的启动阶段,管理装置需要校验第一配置信息和第二配置信息的一致性,并基于一致性校验结果来确定用于启动服务器的目标配置信息。这里,目标配置信息可以认为是指示服务器当前真实整机配置的配置信息。
具体的,管理装置通过确定第一配置信息和第二配置信息是否完全相同,从而实现对第一配置信息和第二配置信息的一致性校验,并获得一致性校验结果。
当管理装置确定第一配置信息和第二配置信息完全相同,即表示第一配置信息和第二配置信息的一致性校验结果为成功,则管理装置执行S203。当管理装置确定第一配置信息和第二配置信息存在不同,则表示第一配置信息和第二配置信息的一致性校验结果为失败,则管理装置执行S204。
可选的,管理装置可以通过全量的对比第一配置信息中所包含的所有配置项及其参数,与第二配置信息中所包含的所有配置项及其参数是否完全相同,来确定第一配置信息和第二配置信息是否完全相同,从而实现对第一配置信息和第二配置信息的一致性校验。
可选的,管理装置可以通过判断第一配置信息和第二配置信息的大小是否一样来确定第一配置信息和第二配置信息是否完全相同。例如,管理装置可以基于信息摘要算法 (message-digest algorithm,MD5)来分别确定第一配置信息与第二配置信息的大小,进而确定第一配置信息和第二配置信息的大小是否一样,以确定第一配置信息和第二配置信息是否完全相同,从而实现对第一配置信息和第二配置信息的一致性校验。
具体的,在一种可能的实现方式中,管理装置可以基于MD5算法分别计算得到第一配置信息的MD5值和第二配置信息的MD5值。在另一种可能的实现方式中,第一配置信息的头部数据中包括第一配置信息的MD5值,第二配置信息的头部数据中包括第二配置信息的MD5值。这样的话,管理装置从第一配置信息的头部数据中读取第一配置信息的MD5值,以及从第二配置信息的头部数据中读取第二配置信息的MD5值。
进而,当管理装置确定第一配置信息的MD5值和第二配置信息的MD5值相同,则确定第一配置信息和第二配置信息是完全相同的。当管理装置确定第一配置信息的MD5值和第二配置信息的MD5值不同,则确定第一配置信息和第二配置信息存在不同。
需要说明的是,上述通过全量比较和MD5算法确定第一配置信息和第二配置信息是否完全相同仅为示例性说明,任意能够确定第一配置信息和第二配置信息是否完全相同的方法都应在本申请实施例的保护范围内。
S203、当管理制装置确定第一配置信息和第二配置信息的一致性校验结果为成功,则将第一配置信息或第二配置信息确定为目标配置信息,并根据目标配置信息启动服务器。
可选的,当管理装置是服务器的BMC时,BMC将确定的目标配置信息发送至服务器的BIOS。进而,服务器的BIOS根据获取到的目标配置信息对服务器的硬件资源进行初始化,并进一步引导服务器的OS启动,进而完成服务器的启动。
可选的,当管理装置是独立于服务器BMC的芯片或集成电路时,则管理装置将确定的目标配置信息发送至服务器的BMC。进而,服务器的BIOS从服务器的BIOS获取目标配置信息,并根据目标配置信息对服务器的硬件资源进行初始化,以及进一步引导服务器的OS启动,进而完成服务器的启动。
S204、当管理装置确定第一配置信息和第二配置信息的一致性校验结果为失败,则根据第一预设规则将第一配置信息或第二配置信息确定为目标配置信息,并根据目标配置信息启动所述服务器。
其中,第一预设规则也可以称为预设规则,主要包括以下方式中至少一种:
第一方式,基于版本确定目标配置信息。
具体的,第一方式为将第一配置信息和第二配置信息中版本更高的配置信息确定为目标配置信息的方式。
作为示例,管理装置在确定第一配置信息和第二配置信息的一致性校验结果为失败后,可以进一步读取第一配置信息中的版本信息,以确定第一配置信息的版本,以及读取第二配置信息中的版本信息,以确定第二配置信息的版本。进而,管理装置将第一配置信息和第二配置信息中版本更高的配置信息,确定为目标配置信息。其中,配置信息中版本信息的详细说明,可以参考上文S102中的相关描述,不再赘述。
第二方式,基于更新时间确定目标配置信息。
具体的,第二方式为将第一配置信息和第二配置信息的更新时间距离当前时刻更近的时间信息的配置信息确定为目标配置信息的方式。其中,第一配置信息的更新时间为管理装置最新获取第一配置信息时记录的时间信息指示的时间,第二配置信息的更新时间为管理装置最新获取的用于得到第二配置信息的第一配置信息时记录的时间信息指示的时间。
作为示例,管理装置在确定第一配置信息和第二配置信息的一致性校验结果为失败后, 进一步获取预先记录的获取第一配置信息的时间信息,以确定获取第一配置信息时间为第一时间,以及获取第二配置信息的更新时间。进而,管理装置在第一时间和第二配置信息的更新时间中确定距离当前时刻更近的时间,并将该时间对应的配置信息确定为目标配置信息。例如,管理装置确定第一时间晚于第二配置信息的更新时间,即相比第二配置信息的更新时间,第一时间距离当前时刻更近,因此管理装置将与第一时间对应的第一配置信息确定为目标配置信息。
可以看出,在基于第一方式和第二方式确定目标配置信息时,均为将第一配置信息和第二配置信息中,指示最新一次更新服务器整机配置后对应的配置信息确定为目标配置信息。
第三方式,基于用于指示确定目标配置信息。
具体的,第三方式为基于用户指示在第一配置信息和第二配置信息中确定目标配置信息的方式。
作为示例,管理装置在确定第一配置信息和第二配置信息的一致性校验结果为失败后,进一步获取用户输入的指示信息(如用户经管理装置所在服务器的输入接口(如键盘)输入的指示信息),进而,管理装置根据指示信息所指示的配置信息确定为目标配置信息。其中,指示信息所指示的配置信息是第一配置信息或第二配置信息中的一个。
进一步的,在管理装置确定目标配置信息后,根据目标配置信息启动服务器。具体过程可以参考S203的描述,不再赘述。
S205(可选的)、管理装置将第一配置信息和第二配置信息中与目标配置信息不同的配置信息,更新为目标配置信息。
可以理解,通过将第一配置信息和第二配置信息中与目标配置信息不同的一个更新为目标配置信息,能够实现将服务器的BMC或主板上所存储的与目标配置信息不同的配置信息,恢复为目标配置信息的目的。这样,当管理装置在S204中是基于第一预设规则确定目标配置信息时,如果管理装置执行S205从而将服务器的BMC或主板上所存储的与目标配置信息不同的配置信息恢复为目标配置信息后,则在服务器下次启动时,且在下次启动前服务器的整机配置未被更新过的情况下,第一配置信息和第二配置信息的一致性能够校验成功。这样,可以节省服务器下次启动时的计算资源,并且,管理装置则无需再次获取用户的指示,即可将用户在本次启动服务器时指定的配置信息确定为下次启动服务器时的目标配置信息。可见,该方案能够减少用户的操作,提高用户的体验。
在一些示例中,当管理装置将第一配置信息确定为目标配置信息时,则管理装置指示服务器主板将设置于主板上的非易失性存储介质中存储的第二配置信息更新为第一配置信息。可选的,当管理装置是BMC时,BMC可以将自身非易失性存储介质中存储的第一配置信息通过自身的通信接口写入设置于主板上的非易失性存储介质中,以覆盖该非易失性存储介质中原先存储的第二配置信息。可选的,当管理装置不是BMC时,管理装置可以将在S201获取到的第一配置信息写入设置于主板上的非易失性存储介质中,以覆盖该非易失性存储介质中原先存储的第二配置信息。
在另一些示例中,当管理装置将第二配置信息确定为目标配置信息时,则管理装置指示BMC将BMC的非易失性存储介质中存储的第一配置信息更新为第二配置信息。可选的,当管理装置是BMC时,BMC可以采用在S201获取到的第二配置信息覆盖自身非易失性存储介质中存储的第一配置信息。可选的,当管理装置不是BMC时,管理装置可以将在S201获取到的第二配置信息写入BMC的非易失性存储介质中,以覆盖该非易失性存储介质中原先存储的第一配置信息。
通过上述S201-S205的方法,通过在传统服务器的BMC和主板中均预存(如通过S101-S102所述方法预存)用于指示服务器整机配置的配置信息,这样在服务器上电后的启动阶段,只需校验BMC和主板所存储的配置信息的一致性,并基于一致性校验结果在BMC和主板所存储的配置信息中确定目标配置信息。进而,服务器能够基于目标配置信息正常启动。从而,当传统服务器的BMC和主板中的任一个被更换,通过本申请实施例提供的方法能够避免服务器的BMC获取不到服务器的配置信息或获取到错误的服务器配置信息而导致的服务器无法正常启动的问题(或启动够性能低的问题)。
在一些可能的实现方式中,为保证传统服务器的BMC和主板中预存的配置信息的安全性,在上述的S202之前,本申请实施例提供的配置信息的管理方法还可以对传统服务器的BMC和主板中存储的配置信息的完整性进行校验。具体的,参考图6,图6示出了本申请实施例提供的又一种配置信息的管理方法的流程示意图。示例地,该方法可以由具有图3所示硬件结构的管理装置执行。管理装置在执行上述的S201后,执行以下步骤:
S2011、管理装置校验第一配置信息和第二配置信息的完整性,获得完整性校验结果。
应理解,BMC中预存的第一配置信息和服务器的主板中预存的第二配置信息可能被非法修改过,例如被网络攻击者恶意篡改过,或者被未经许可的用户修改过等。或者可以理解为,BMC中预存的第一配置信息和服务器主板中预存的第二配置信息,在除服务器正常更新整机配置(如扩容等)时对配置信息的更新修改之外的情况中被修改过(如篡改正常更新的配置信息的内容或删除正常更新的配置信息中的数据等),均可以认为是被非法修改过。基于此,在服务器的启动阶段,管理装置可以对BMC中存储的第一配置信息和服务器的主板中存储的第二配置信息进行完整性校验。
具体的,当管理装置确定第一配置信息未被非法修改过,则第一配置信息的完整性校验成功。当管理装置确定第一配置信息被非法修改过,则第一配置信息的完整性校验失败。类似的,当管理装置确定第二配置信息未被非法修改过,则第二配置信息的完整性校验成功。当管理装置确定第二配置信息被非法修改过,则第二配置信息的完整性校验失败。
可选的,管理装置可以通过数字签名技术分别确定第一配置信息和第二配置信息是否被非法修改过,从而实现分别对第一配置信息和第二配置信息的完整性校验。
以通过数字签名技术对第一配置信息的完整性进行校验为例,对第一配置信息进行数字签名是指是加密端通过私钥对第一配置信息的摘要信息进行加密。解密端使用加密端的公钥解密被加密的摘要信息。并且,解密端采用哈希(hash)算法生成第一配置信息的摘要信息。进而,解密端对比采用公钥解密得到的摘要信息和采用哈希算法生成的摘要信息是否相同。如果解密端确定公钥解密得到的摘要信息和采用哈希算法生成的摘要信息相同,则可以确定第一配置信息在未被非法篡改过,即第一配置信息完整性校验成功。如果解密端确定公钥解密得到的摘要信息和采用哈希算法生成的摘要信息不同,则确定第一配置信息被非法篡改过,即第一配置信息完整性校验失败。其中,本申请实施例对用于生成配置信息的摘要信息的哈希算法不作具体限定。
需要说明,通过数字签名技术校验第一配置信息完整性和第二配置信息完整性的方法仅为示例性说明,任意能够校验第一配置信息完整性和第二配置信息完整性的方法都应在本申请实施例的保护范围内。
进一步地,当管理装置确定第一配置信息的完整性和第二配置信息的完整性均校验成功,表示第一配置信息和第二配置信息的完整性校验结果为成功,则管理装置执行上述的S202-S205,不再赘述。
当管理装置确定第一配置信息和第二配置信息中任一个配置信息的完整性校验失败(如第一配置信息的完整性校验失败,或者,第二配置信息的完整性校验失败),表示第一配置信息和第二配置信息的完整性校验结果为失败,则管理装置执行S2012。
当管理装置确定第一配置信息的完整性和第二配置信息的完整性均校验失败,表示服务器的BMC和主板中存储的配置信息均被非法修改了。这种情况下,管理装置可以输出告警信息,以提示用户重新向管理装置输入服务器的配置信息。进而,管理装置可以重新执行S102所述的方法对获取到的配置信息执行备份操作,不再赘述。
S2012、管理装置将第一配置信息和第二配置信息中完整性校验成功的配置信息确定为目标配置信息,并根据目标配置信息启动所述服务器。
一个示例中,当管理装置确定第一配置信息的完整性校验成功,而第二配置信息的完整性校验失败,则将第一配置信息确定为目标配置信息。
又一个示例中,当管理装置确定第二配置信息的完整性校验成功,而第一配置信息的完整性校验失败,则将第二配置信息确定为目标配置信息。
具体的,管理装置根据目标配置信息启动所述服务器的详细说明,可以参考S203的描述,不再赘述。
可选的,在一些实施方式中,管理装置还可以执行S205,不再赘述。
基于图6所述方法,管理装置还对传统服务器的BMC和主板中均预存的第一配置信息和第二配置信息进行完整性校验,从而能够避免传统服务器的BMC或主板中预存的配置信息被非法修改后,导致BIOS从BMC获取到的错误的配置信息(相比指示服务器真实整机配置的配置信息而言)而无法正常启动服务器的问题(或启动后性能低的问题)。
上文结合附图详细介绍了在传统服务器架构中应用本申请实施例所提供的方法。接下来,以新架构服务器为例再进一步解释本申请实施例提供的配置信息的管理方法。
作为一种可能的实现方式,本申请提供的方法还适用于一种新架构服务器,该服务器具有创新的对等互联架构(也可以称为服务器新架构或新架构)。在该架构中,将传统的主板拆分为基础板(basic computing unit,BCU)和扩展板(extension unit,EXU),通过基础板和扩展板以及功能组件配合来实现对不同场景所需的主板的规格和形态的支持。
此外,同一计算设备中可以包括一个基础板和一个扩展板,同一计算设备也可以包括多个基础板和一个扩展板,同一计算设备还可以包括一个基础板和多个扩展板。基础板包括CPU、双倍数据速率(double data rate,DDR)以及相关电源,提供通用计算能力及外围存储、IO、加速等扩展接口。基础板支持等不同系列的CPU。可选地,基础板支持异构处理器,即基础板可以支持不同类型的处理器,例如,基础板支持CPU,以及专用集成电路(application-specific integrated circuit,ASIC)、可编程逻辑器件(programmable logic device,PLD)、复杂程序逻辑器件(complex programmable logical device,CPLD)、现场可编程门阵列(field-programmable gate array,FPGA)、通用阵列逻辑(generic array logic,GAL)、片上系统(system on chip,SoC)、数据处理单元(data processing unit,DPU)、软件定义架构(software-defined infrastructure,SDI)芯片、人工智能(artificial intelligence,AI)芯片等任意一种处理器或其任意组合。
进一步地,根据业务需求和硬件属性本申请实施例提供了至少6种不同形态的基础板,分别针对不同的计算性能和内存配置。为了方便描述,暂将这6种基础板分别称为A1、A2、B1、B2、C1、和C2。并且,在本实施例中利用“P”表示处理器的个数,P为大于0的整数,“DPC”则表示每个通道双列直插内存模块(dual in-line memory module per channel,DIMM Per  Channel)。例如,A1形态的基础板支持一个处理器,每个通道插一根DIMM(简称为1P1DPC);A2形态的基础板支持一个处理器,每通道插一根或二根DIMM(简称为1P2DPC或1P1DPC);B1形态的基础板支持两个处理器,每通道插一根DIMM(简称为2P1DPC),或者,一个处理器,每通道插一根或二根DIMM(简称为1P2DPC或1P1DPC);B2形态的基础板支持两个处理器,每通道插一根或二根DIMM(简称为2P2DPC或2P1DPC),或者,一个处理器,每通道插一根或两根DIMM(简称为1P2DPC或1P1DPC);C1形态的基础板支持四个处理器,每个通道插一根DIMM(简称为4P1DPC),或者,两个处理器,每通道插一根或两根DIMM(简称为2P2DPC或2P1DPC);C2形态的基础板支持四个处理器,每通道插一根或两根DIMM(简称为4P2DPC或4P1DPC),或者,两个处理器,每通道插一根或两根DIMM(简称为2P2DPC或2P1DPC)。随着技术发展,CPU封装尺寸、内存通道和DIMM数可能变化,但主板的标准尺寸和安装孔位将保持不变,这样能确保基础板更新换代时能够跨代跨系列兼容演进。例如:B2形态的基础板在当前每CPU 8通道DDR时,支持2P2DPC(2P32DIMM)。在CPU内存通道数提升到12以后,将无法实现2P2DPC(2P48DIMM)。那么,B2形态可以支持2P1DPC(2P24DIMM),而2P2DPC(2P48DIMM)可以用C1等其他形态实现,因为安装孔位置和基础板尺寸是标准的,直接更换和安装即可。
扩展板包括BMC和管理系统、桥片(例如,Intel系统的平台路径控制器(Platform Controller Hub,PCH))中的至少一个,扩展板是对基础板的扩展,用于扩展基础板的管理接口,进而提供设备、安全、能效、可靠性等管理功能。
在新架构中,扩展板通过高速串行计算机扩展总线(peripheral component interconnect express,PCIe)、内存互联(Compute Express Link,CXL)、或统一总线(unified bus,UB或Ubus)等高速总线与服务器中的功能组件通信连接互联。具体实施中,上述扩展板与服务器中的功能组件,以及基础板与扩展板的具体连接方式包括:以线缆实现上述连接的软连接方式,或者,以连接器实现上述连接的硬连接方式。
进一步地,组件是一类器件或设备的统称。其中,上述的服务器中的功能组件按照所实现的功能,可以包括存储组件(storage unit,STU)、IO组件(input output unit,IOU)、加速组件(acceleration unit,ACU)、内存扩展组件(memory expansion unit,MEU)、散热组件、供电组件、计算组件、管理组件等。可以理解,基础板、扩展板也可以称为服务器的组件。
其中,存储组件包括硬盘背板、扩展板(Expander)、PCIe交换机(switch)等,为系统存储扩展,支持机械硬盘(hard disk drive,HDD)/固态硬盘(solid-state drive,SSD)/非易失性高速传输总线(non-volatile memory express,NVMe)/存储级内存(storage class memory,SCM)等多种介质、形态。IO组件包括Riser等组件,实现对系统IO的扩展,支持PCIe标卡、开放计算项目(open compute project,OCP)卡。加速组件包括Riser、载板、加速卡互连交换机(switch)等,提供系统加速组件扩展和互连功能。内存扩展组件包括载板、内存扩展芯片、双列直插内存模块(dual in-line memory module,DIMM)、SCM介质等,提供系统扩展内存带宽、内容容量的功能。散热组件,用于对计算设备或计算设备中硬件进行散热,包括风冷散热、液冷散热或二者结合等几种散热方式的组合。应理解的是,散热组件的结构、类型和数量不构成对本申请所要保护技术方案的限定。供电组件,用于为其他组件供电。计算组件,CPU、内存等提供通用计算能力的器件。
管理组件,基板管理控制器等提供设备管理的器件。
此外,为了支持多样性算力和多样性设备,该服务器新架构还实现硬件标准化,包括基础板的标准化和上述的其他组件接口的标准化。
基础板的标准化:包括尺寸、安装孔位、接口电气特性、管理接口协议和参数等标准化。其中,表1为本申请提供的一种基础板接口描述表的示例。
表1
其中,供电采用统一的12V输入,基础板内部通过DC/DC转换成所需要的各类电源。考虑到未来I/O的演进以及不同CPU的差异化,本实施例基于UBC和UBCDD连接器,定义一种Flexible I/O接口,用于替代原有的PCIe接口。所述Flexible I/O接口可以根据需求灵活配置成PCIe/HCCS/SAS/SATA/以太等接口。BCU管理接口主要包括常见的低速维护接 口,例如I2C、UART、JTAG等接口,兼容常见处理器平台的管理。
上述的其他组件接口的标准化:包括扩展板、供电组件、散热组件、存储组件、IO组件、加速组件、内存扩展组件等,对组件的电气接口、管理接口和参数进行标准化,而不定义和约束组件的物理尺寸、安装、位置等,这些将提供广大的创新空间,支持差异化和灵活扩展。组件对外接口除了电源和高速信号,其余低速管理接口定义如下表2(表2为本申请提供的一种组件低速管理接口定义表的示例)所示:
表2
除了EXU与BCU的接口外,其它接口通过EXU与各个组件相连。值得注意的是,本实施例只定义这些接口的功能,不限定具体针布局(PINMAP)方式,任何能够实现该功能的实现方式都在本实施例的保护范围以内。
值得说明的是,上述表1和表2的内容仅为辅助解释本申请的技术方案提供的一种示例,具体实施中,服务器新架构、基础板的接口和上述的其他组件的低速接口均可以分别包括更多或更少的内容。
另一方面,服务器新架构还提供一种实现了智能化管理软件,根据服务器新架构的标准化要求实现管理对象模板,服务器在上电后,管理软件通过标准管理总线自动探测组件并获取组件的自描述信息,再根据管理对象模板创建管理对象实例,从而实现管理软件自适应管理实现管理软件智能化,支持组件自动发现和自动适配。
作为示例,参考图7,图7示出了一种新架构服务器的架构示意图。如图7所示,服务器70包括多个组件,分别为扩展板71、基础板72、存储组件73、IO组件74、散热组件75、供电组件76、加速组件77、内存扩展组件78以及BMC 79。并且,基础板72、存储组件73、IO组件74、散热组件75、供电组件76、加速组件77、以及内存扩展组件78分别与扩展板71互联,BMC 79与扩展板72互联。扩展板71、基础板72、存储组件73、IO组件74、散热组件75、供电组件76、加速组件77、以及内存扩展组件78共同实现的功能与传统服务器的功能相同。
下面结合附图,基于上述新架构服务器,以该服务器中包括多个组件为例对本申请实施例提供的配置信息的管理方法进行说明。其中,组件包括上述的基础板、扩展板、和/或上述的功能组件等,服务器的配置信息的详细说明可以参考S101中配置信息的相关描述,不再赘述。
首先,管理装置执行S101-S102,从而实现在新架构服务器中的BMC和至少一个组件中预存服务器的配置信息。
需要说明,在S102,当服务器是上述的新架构服务器时,管理装置对获取到的服务器配置信息执行备份操作后,可以将配置信息的副本数据除备份于BMC中,还备份于新架构服务器中的至少一个组件的存储空间(如设置于组件中的非易失性存储介质)中。其中,该至少一个组件中的存储空间是服务器的BMC可访问的存储空间。其中,管理装置将获取到的配置信息备份于新架构服务器中的至少一个组件的存储空间的详细说明,可以参考S102中管理装置将获取到的配置信息备份于主板的描述,不再赘述。
在一些示例中,管理装置将获取到配置信息的副本数据除备份于BMC中,还备份于新架构服务器中的部分组件的存储空间。也就是说,新架构服务器中的部分组件中的每个组件的非易失性存储介质中均存储有管理装置备份的配置信息。
在另一些示例中,管理装置将获取到配置信息的副本数据除备份于BMC中,还备份于新架构服务器中的每个组件的存储空间。也就是说,新架构服务器中的每个组件中的非易失性存储介质中均存储有管理装置备份的配置信息。
参考图8,图8示出了本申请实施例提供的又一种配置信息的管理方法的流程示意图。示例地,该方法可以由具有图3所示硬件结构的管理装置执行。该方法包括以下步骤:
S301、管理装置获取新架构服务器的BMC存储的第一配置信息、以及获取新架构服务器中BMC可访问存储空间存储的第二配置信息。
一种可能的情况下,BMC可访问的存储空间是新架构服务器中一个组件的非易失性存储介质,则管理装置基于获取的第一配置信息和该组件中存储的第二配置信息,执行完整性校验、一致性校验、确定目标配置信息以启动服务器的过程,可以参考上文S201-S205所述的方法,不再赘述。
其中,新架构服务器中存储有第二配置信息的的组件可以是新架构服务器中的基础板、扩展板或任一种功能组件,本申请实施例对此不作限定。
另一种可能的情况下,BMC可访问的存储空间包括新架构服务器中m个组件中每个组件的非易失性存储介质。也就是说,在这种情况下,m个组件中每个组件均存储有第二配置信息。其中,m是大于1的整数,且m小于等于新架构服务器中所包括的全部组件的数量。
如图8所示,新架构服务器中的m个组件分别为组件1、组件2、…、以及组件m。其中,该m个组件中的每个组件中均存储有第二配置信息。这里,将每个组件中存储的配置信息均称为第二配置信息,不同组件中的第二配置信息可以是相同的配置信息,也可以是不同的配置信息,对此不作限定。可以理解,以新架构服务器是服务器1为例,当服务器1中的某个组件被更换(如维修时)为另一个服务器的组件,则更换后的组件中存储的配置信息和服务器1中其他组件中存储的配置信息不同。
其中,管理装置获取服务器的BMC存储的第一配置信息、以及获取上述m个组件中每个组件存储的第二配置信息的详细说明,可以参考S201的描述,不再赘述。
S302、管理装置校验第一配置信息和m个第二配置信息的一致性,获得一致性校验结果。
具体的,管理装置通过确定第一配置信息和m个第二配置信息是否完全相同,从而实现 对第一配置信息和该m个第二配置信息的一致性校验,并获得一致性校验结果。
当管理装置确定第一配置信息和该m个第二配置信息完全相同,表示第一配置信息和该m个第二配置信息的一致性校验结果为成功,则管理装置执行S303。当管理装置确定第一配置信息和该m个第二配置信息存在不同,则表示第一配置信息和该m个第二配置信息的一致性校验结果为失败,则管理装置执行S304。
其中,管理装置确定第一配置信息和该m个第二配置信息是否完全相同的具体说明,可以参考S202中管理装置确定第一配置信息和第二配置信息是否完全相同的描述,不再赘述。
S303、当管理装置确定第一配置信息和m个第二配置信息的一致性校验结果为成功,则将第一配置信息或任一个第二配置信息确定为目标配置信息,并根据目标配置信息启动服务器。
其中,S303的详细说明可以参考S203的描述,不再赘述。
S304、当管理装置确定第一配置信息和m个第二配置信息的一致性校验结果为失败,则根据第二预设规则将第一配置信息或该m个第二配置信息中的一个配置信息确定为目标配置信息,并根据目标配置信息启动所述服务器。
其中,第二预设规则主要包括以下方式中至少一种:
第三方式,基于用于指示确定目标配置信息。其中,第三方式的详细说明可以参考S204中对第三方式的描述,不再赘述。
第四方式,基于版本确定目标配置信息。具体的,第四方式为将第一配置信息和m个第二配置信息中版本最更高的配置信息确定为目标配置信息的方式。
作为示例,管理装置在确定第一配置信息和m个第二配置信息的一致性校验结果为失败后,可以进一步读取第一配置信息中的版本信息,以确定第一配置信息的版本,以及读取m个第二配置信息每个第二配置信息中的版本信息,以确定每个第二配置信息的版本。进而,管理装置将第一配置信息和m个第二配置信息中版本最高的配置信息,确定为目标配置信息。
第五方式,基于更新时间确定目标配置信息。具体的,第五方式为将第一配置信息和m个第二配置信息的更新时间距离当前时刻更近的时间信息的配置信息确定为目标配置信息的方式。其中,第一配置信息的更新时间为管理装置最新获取第一配置信息时记录的时间信息指示的时间,对于m个第二配置信息中的任一个第二配置信息,该第二配置信息的更新时间为管理装置最新获取的用于得到该第二配置信息的第一配置信息时记录的时间信息指示的时间。
作为示例,管理装置在确定第一配置信息和m个第二配置信息的一致性校验结果为失败后,进一步获取预先记录的获取第一配置信息的时间信息,以确定获取第一配置信息时间为第一时间,以及获取每个第二配置信息的更新时间。进而,管理装置在第一时间和每个第二配置信息的更新中确定距离当前时刻更近的时间,并将该时间对应的配置信息确定为目标配置信息。例如,管理装置确定第一时间晚于m个第二配置信息的更新时间,即相比m个第二配置信息的更新时间,第一时间距离当前时刻更近,因此管理装置将与第一时间对应的第一配置信息确定为目标配置信息。
第六方式,基于相同版本配置信息的数量确定目标配置信息。
具体的,第六方式为将第一配置信息和m个第二配置信息中相同版本数量最多的配置信息确定为目标配置信息的方式。例如,管理装置在确定第一配置信息和上述m个第二配置信息的一致性校验结果为失败后,进一步读取第一配置信息中的版本信息,以确定第一配置信息的版本,以及读取每个第二配置信息中的版本信息,以确定每个第二配置信息的版本。进 而,管理装置将第一配置信息和该第二配置信息中相同版本数量最多的配置信息,确定为目标配置信息。
作为示例,以m取值为2为例,当管理装置确定第一配置信息和2个第二配置信息(分别为配置信息1和配置信息2)的一致性校验结果为失败后,进一步读取第一配置信息的版本信息,以确定第一配置信息的版本为版2,以及,管理装置还读取配置信息1的版本信息,以确定配置信息1的版本为版本2,以及读取配置信息2的版本信息,以确定配置信息2的版本为版本3,则管理装置确定版本3的配置信息的数量为1个(即配置信息2),版本2的配置信息的数量为2个(即包括第一配置信息和配置信息1)。因此,管理装置将第一配置信息或配置信息1确定为目标配置信息。
进一步的,在管理装置确定目标配置信息后,根据目标配置信息启动服务器。具体过程可以参考S203的描述,不再赘述。
S305、(可选的)、管理装置将第一配置信息和m个第二配置信息中与目标配置信息不同的配置信息,更新为目标配置信息。
其中,管理装置将第一配置信息和上述m个第二配置信息中与目标配置信息不同的配置信息,更新为目标配置信息的具体说明,可以参考S205的描述,不再赘述。
通过上述S301-S305的方法,通过在新架构服务器的BMC和至少一个组件中预存用于指示服务器整机配置的配置信息,这样在服务器上电后的启动阶段,基于BMC和组件中所存储的配置信息的一致性校验结果可以确定出目标配置信息。进而,服务器能够基于目标配置信息正常启动。从而,当新架构服务器的BMC和其他组件中的任一个被更换,通过本申请实施例提供的方法均能够避免服务器的BMC获取不到服务器的配置信息或获取到错误的服务器配置信息而导致的服务器无法正常启动的问题(或启动后性能低的问题)。
在一些可能是实现方式中,为保证新架构服务器的BMC和至少一个组件中均预存的配置信息的安全性,在上述S302之前,本申请实施例提供的配置信息的管理方法还可以对新架构服务器的BMC和至少一个组件中预存的配置信息的完整性进行校验。
具体的,参考图9,图9示出了本申请实施例提供的又一种配置信息的管理方法的流程示意图。示例地,该方法可以由具有图3所示硬件结构的管理装置执行,控制装置在执行上述的S301后,执行以下步骤:
S3011、管理装置校验第一配置信息和m个第二配置信息的完整性,获得完整性校验结果。
具体的,管理装置分别对第一配置信息和m个第二配置信息中的每个第二配置信息进行完整性校验,从而获得第一配置信息和上述m个第二配置信息的完整性校验结果。其中,管理装置校验每个配置信息的详细说明,可以参考S2011对第一整机信息的完整性进行校验的描述,不再赘述。
当管理装置分别确定第一配置信息和m个第二配置信息中的每个第二配置信息的完整性均校验成功,则确定第一配置信息和m个第二配置信息的完整性校验结果为成功。进而,控制装置执行S302-S305。
当管理装置分别确定第一配置信息和m个第二配置信息中的至少两个配置信息的完整性校验成功,这种情况下,控制装置针对该至少两个配置信息执行S302-S304,以对该至少两个配置信息进行一致性校验,并基于该至少两个配置信息的一致性校验结果确定目标配置信息。进一步,控制装置基于确定的目标配置信息执行S305。不再赘述。
当管理装置确定第一配置信息和m个第二配置信息中仅有一个配置信息的完整性校验成 功,则控制装置执行S3012。
当控制装置确定第一配置信息和m个第二配置信息中的每个第二配置信息的完整性均校验失败,表示新架构服务器的BMC和m个组件中存储的配置信息均被非法修改了。这种情况下,管理装置可以输出告警信息,以提示用户重新向管理装置输入新架构服务器的配置信息。进而,管理装置可以重新执行S102所述的方法对获取到的配置信息执行备份操作,不再赘述。
S3012、控制装置将第一配置信息和m个第二配置信息中完整性校验成功的配置信息确定为目标配置信息,并根据目标配置信息启动所述服务器。
具体的,控制装置根据目标配置信息启动所述服务器的详细说明,可以参考S203的描述,不再赘述。
可选的,在一些实施方式中,控制装置还可以执行S305。
基于图9所述方法,管理装置还对新架构服务器的BMC和组件中均预存的配置信息进行完整性校验,从而能够避免新架构服务器的BMC和其他组件中预存的配置信息被非法修改后,导致BIOS从BMC获取到的错误的配置信息(相比指示服务器真实整机配置的配置信息而言)而无法正常启动服务器的问题(或启动后性能低的问题)。
为更清楚的对本申请实施例提供的配置信息的管理方法进行进一步说明,下面以在新架构服务器中应用该方法,且以上述管理装置为新架构服务器中的BMC为例,在逻辑层面对本申请实施例所提供方法进行描述。
参考图10,图10示出了在新架构服务器中应用本申请实施例所提供配置信息的管理方法的逻辑示意图。如图10所示,服务器100的硬件层包括多个组件,分别为BMC芯片、扩展板、基础板、存储组件、IO组件、散热组件、供电组件、加速组件、以及内存扩展组件的存储介质。服务器100的核心层包括BMC芯片、扩展板、基础板、存储组件、IO组件、散热组件、供电组件、加速组件、以及内存扩展组件的硬件驱动。在服务器100的应用层,BMC执行本申请实施例提供的配置信息的管理方法。
其中,BMC预先通过服务器100的输入接口(如键盘等)获取用户输入的服务器100的配置信息(参考S101),并基于S102所述的方法将获取到的配置信息备份至每个替换换组件中。例如,BMC在获取到配置信息之后、且在本次启动服务器100之前的第一时刻,将获取到的配置信息备份至每个替换换组件中。
这样,在本次启动服务器100时,服务器器100的BMC和每个组件中均存储有服务器100的配置信息。在本次服务器100的启动阶段,BMC读取自身存储的配置信息,以及基于通信接口读取扩展板、基础板、存储组件、IO组件、散热组件、供电组件、加速组件以及内存扩展组件中存储的配置信息(参考S301)。然后,BMC对读取到的每个配置信息进行完整行校验(参考S3011)。当BMC读取到的全部配置信息中仅有一个配置信息的完整性校验成功,则将完整性校验成功的配置信息确定为目标配置信息,并根据该目标配置信息启动服务器100(参考S3012)。当BMC读取到的全部配置信息中存在至少两个配置信息的完整性校验成功,则对该至少两个配置信息进行一致性校验,并根据一致性校验结果在该至少两个配置信息中确定目标配置信息,以及根据目标配置信息启动服务器100(参考S302-S304)。可选的,BMC还将BMC和各个组件中存储的与目标配置信息不同的配置信息更新为目标配置信息(对应S305)。
作为一种可能的实现方式,上述方法实施例中所提及的配置信息包括组件管理自描述信息(component self-description record,CSR)或整机自描述信息(product self-description record, PSR)中至少一种。
在一个示例中,上述配置信息的存储格式可以为按照如下预设格式,上述预设格式也可以称为硬件自描述记录(Hardware Self-Description Record,HWSR)格式。其中,组件HWSR是组件静态存储空间,该静态存储空间的固定总线起始地址0xAE。在组件HWSR格式中,包括头部、电子标签、组件自描述信息以及扩展信息等
组件HWSR格式的内部格式如表3所示:
表3



其中,Elable:电子标签,服务器中组件单板的电子标签信息,空间大小固定为2KB。
OEM1(System Information):客户定制化区域1,空间大小固定为1KB。
CSR:Component Self-Description Record组件自描述信息,CSR Header中Vendor+组件ID+组件类型组成组件唯一ID。如果一块单板包含多个组件,则需要定义多个CSR信息。
Internal Use Area:内部使用区域为保留区域,扩展使用,内部格式待定义。
在一些示例中,CSR描述内容包括服务器组件单板的硬件信息、需要管理的器件以及拓扑信息,告警信息等。CSR头部格式见表3。CSR描述格式定位JSON,JSON文件压缩后写入HWSR对应存储空间,BMC管理软件在自发现时,需要根据CSR头部的压缩算法减压,得到JSON数据文件。当前默认压缩算法为gzip(GNUzip)。
下面示例性的对CSR的各个对象进行简单介绍。
示例性的,对于CSR组件属性对象(Component Properties),CSR中组件的基础硬件属性内容如表4所示。
表4

示例性的,对于CSR物理拓扑(PhysicalTopology),CSR物理拓扑主要定义组件的器件管理拓扑信息,比如管理总线拓扑,内存拓扑或者带内总线拓扑,组件可以根据硬件实际情况定义CSR数据文件包含的内容。可选的,CSR物理拓扑的内容如表5所示。
表5
示例性的,对于CSR物理对象(PhysicalObjects),CSR物理对象主要定义组件
内的物理对象,包含芯片、连接器、总线、CPU槽位、IO槽位、OCP槽位等等。可选的,CSR物理对象的内容如表6所示。
表6
示例性的,对于Buses对象定义管理总线类型如表7所示:
表7
示例性的,对于Connectors对象,Connectors对象定义组件内连接器,包含管理总线连接器、UBC/UBCDD连接器。具体如表8所示:
表8


示例性的,对于ResourceOrder对象,ResourceOrder对象描述BConnectors的上级资源归属顺序。具体如表9所示:
表9
示例性的,对于Zone对象,Zone对象描述UB总线连接器所属的区域信息。具体如表10所示:
表10
示例性的,对于Ports对象,Ports对象描述UB总线连接器的端口号。具体如表11所示:
表11
示例性的,对于Chips对象,Chips对象定义组件内连接器,包含管理总线连接器、UB连接器。具体如表12所示:
表12

示例性的,对于Registers对象数组,Register定义了chip的芯片寄存器信息。具体如表13所示:
表13

示例性的,对于CPU平台对象,CPU平台对象应用于基础计算组件,定义组件的计算平台。具体如表14所示:
表14
示例性的,对于CPUSlots对象,CPUSlots对象应用于基础计算组件,定义组件的CPU Socket槽。具体如表15所示:
表15
示例性的,对于MemoryChannels对象,MemoryChannels对象应用于基础计算组件或内存组件,定义组件的内存通道信息。具体如表16所示:
表16
示例性的,对于MemorySlots对象,MemorySlots对象应用于基础计算组件或内存组件,定义组件的内存槽位信息。具体如表17所示:
表17
示例性的,对于PSUSlots对象,PSUSlots对象应用于管理扩展组件,定义电源槽位信息。具体如表18所示:
表18
示例性的,对于OCPSlots对象,OCPSlots对象应用于管理扩展组件,定义组件的OCP网卡槽位信息。具体如表19所示:
表19
示例性的,对于PCIePorts对象,PCIePorts对象应用于基础计算组件,定义CPU的PCIe Port信息。具体如表20所示:
表20
示例性的,对于DiskSlots对象,DiskSlots对象应用于定义硬盘槽位信息。具体如表21所示:
表21

示例性的,对于DiskPorts对象,DiskPorts对象应用于定义硬盘槽位信息。具体如表22所示:
表22
示例性的,对于WiFis对象,WiFis对象应用于定义BMC提供的WiFis接口定义。具体如表23所示:
表23
示例性的,对于TypeCs对象,TypeCs对象应用于定义BMC提供的TypeC接口定义。具体如表24所示:
表24
示例性的,对于SDs对象,SDs对象应用于定义SD卡槽位信息。具体如表25所示:
表25
示例性的,对于Digitrons对象,Digitrons对象应用于定义显示数码管信息。具体如表26所示:
表26
示例性的,对于HardDiskDraws对象,HardDiskDraws对象应用于定义硬盘抽屉信息。具体如表27所示:
表27
示例性的,对于FanSlots对象,FanSlots对象应用于定义风扇信息。具体如表28所示:
表28
示例性的,对于CSR逻辑对象(LogicalObjects),CSR逻辑对象主要定义组件内的与物理对象相关的逻辑对象,主要包含监控传感器信息。具体如表29所示:
表29


示例性的,对于DevTest对象,DevTest对象描述物理设备自检。具体如表30所示:
表30
示例性的,对于RefEth对象,RefEth对象描述相关的Eth网口。具体如表31所示:
表31
示例性的,对于VoltTest对象,VoltTest对象描述电压检测。具体如表32所示:
表32
在另一些示例中,整机自描述信息(PSR)包括整机拓扑信息以及整机散热信息。通过整机信息的自描述,使各组件组合成为一台服务器后整机可自适应管理维护。
示例性的,PSR的整机产品描述(Product Description)可以如表33所示:
表33

下面在示例性的对PSR的整机组件拓扑对象(ComponentTopology)进行简单介绍。
示例性的,对于组件管理总线连接拓扑,组件管理总线连接拓扑的信息可以如表34所示:
表34
示例性的,对于组件UB总线连接拓扑,组件UB总线连接拓扑的信息可以如表35所示:
表35
示例性的,系统内面板槽位与组件连接的对应关系可以如表36所示:
表36

示例性的,系统内面板槽位与IEU组件连接的对应关系可以如表37所示:
表37
示例性的,Configurations对象定义IEUPCIeSlotInfo的某个slot支持的配置集合可以如表38所示:
表38
示例性的,CableCheck对象定义Configurations的某个slot预期的线缆连接关系配置可以如表39所示:
表39
示例性的,系统内面板槽位与SEU组件连接的对应关系可以如表40所示:
表40
示例性的,Configurations对象定义SEUHddSlotInfo的某个slot支持的配置集合可以如表41所示:
表41
示例性的,CableCheck对象定义Configurations的某个slot预期的线缆连接关系配置可以如表42所示:
表42
示例性的,系统内面板槽位与FlexIO灵活插卡连接的对应关系可以如表43所示:
表43
示例性的,Configurations对象定义IEUPCIeSlotInfo的某个slot支持的配置集合可以如表44所示:
表44
示例性的,CableCheck对象定义Configurations的某个slot预期的线缆连接关系配置可以如表45所示:
表45
上文结合附图详细介绍了本申请提供的配置信息的管理方法,下文将结合附图进一步介绍本申请提供的管理装置。
为了实现上述功能,如图11所示,图11示出了本申请实施例提供的一种配置信息的管 理装置110的结构示意图。管理装置110应用于服务器(如上述的传统服务器或新架构服务器),并用于执行上述的配置信息的管理方法,例如用于执行图4、图5、图6、图8或图9所示的方法。其中,管理装置110可以包括获取单元111、校验单元112以及启动单元113。
获取单元111,用于获取第一配置信息和第二配置信息。校验单元112,用于校验第一配置信息和第二配置信息的一致性,获得一致性校验结果。启动单元113,用于根据一致性校验结果启动服务器。其中,第一配置信息为服务器的BMC存储的配置信息,第二配置信息为第一时刻对服务器的配置信息进行备份的备份数据。作为示例,结合图5,获取单元111可以用于执行S201,校验单元112可以用于执行S202,启动单元113可以用于执行S203或S204。
可选的,管理装置110还包括备份单元114,用于在获取单元111获取第一配置信息和第二配置信息之前的第一时刻,对服务器的配置信息执行备份,获得第二配置信息。其中,第一时刻为服务器本次启动前的任一时刻,第二配置信息存储在BMC可访问的服务器的存储空间中。作为示例,结合图4,备份单元114可以用于执行S102。
可选的,当包括管理装置110的服务器为新架构服务器时,BMC可访问的服务器的存储空间为服务器组件的存储空间,组件包括基础板和/或功能组件,功能组件包括存储组件、输入输出IO组件、加速组件、内存扩展组件、散热组件、供电组件、计算组件、管理组件中至少一种,BMC可访问的组件的存储空间为组件中的非易失性存储介质。
可选的,当包括管理装置110的服务器为传统服务器时,BMC可访问的服务器的存储空间为设置于服务器主板上的非易失性存储介质。
可选的,管理装置110还包括确定单元115,用于当上述一致性校验结果为第一配置信息和第二配置信息的一致性校验成功时,将第一配置信息或第二配置信息确定为目标配置信息。启动单元113,具体用于根据目标配置信息启动服务器。作为示例,结合图5,确定单元115和启动单元113可以用于执行S203。
可选的,确定单元115,还用于当一致性校验结果为第一配置信息和第二配置信息的一致性校验失败时,根据预设规则将第一配置信息或第二配置信息确定为目标配置信息。其中,预设规则用于指示将第一配置信息和第二配置信息中版本更高的配置信息确定为目标配置信息的方式,或者,基于用户指示在第一配置信息和第二配置信息中确定目标配置信息的方式,或者,将第一配置信息和第二配置信息中记录有距离当前时刻更近的时间信息的配置信息确定为目标配置信息的方式。启动单元113,具体用于根据目标配置信息启动服务器。作为示例,结合图5,确定单元115和启动单元113可以用于执行S204。
可选的,管理装置110还包括更新单元116,用于将第一配置信息和第二配置信息中与目标配置信息不同的配置信息,更新为目标配置信息。作为示例,结合图5,更新单元116可以用于执行S205。
可选的,校验单元112,还用于在校验第一配置信息和第二配置信息的一致性之前,校验第一配置信息的完整性和第二配置信息的完整性,获得完整性校验结果,并在完整性校验结果为成功时,执行校验第一配置信息和第二配置信息的一致性的操作。作为示例,结合图6,校验单元112可以用于执行S2011。
关于上述可选方式的具体描述可以参见前述的方法实施例,此处不再赘述。此外,上述提供的任一种管理装置110的解释以及有益效果的描述均可参考上述对应的方法实施例,不再赘述。作为示例,结合图3,管理装置110中的校验单元112和确定单元115所实现的功能可以通过图3中的处理器301执行图3中的存储器302中的程序代码实现。获取单元111所 实现的功能可以通过图3中的通信接口303实现。启动单元113、备份单元114以及更新单元116所实现的功能可以通过图3中的处理器301执行图3中的存储器302中的程序代码、以及通过图3中的通信接口303实现。
本申请还提供一种计算机设备。可选的,该计算设备具有图3所示的硬件结构。该计算设备包括上文所述的管理装置,该计算设备中的管理装置可以用于执行上文图4、图5、图6或图7所述的方法,不再赘述。
本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。需要说明的是,图11中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如,还可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
本申请实施例还提供一种计算机程序产品,以及用于存储该计算机程序产品的计算机可读存储介质。该计算机程序产品可以包括一个或多个程序指令,当该一个或多个程序指令被一个或多个处理器运行时可以提供以上针对图4、图5、图6、图8或图9描述的功能或者部分功能。因此,例如,参考图5中S201~S205的一个或多个特征可以由该计算机程序产品中的一个或多个指令来承担。在一些示例中,诸如针对图4、图5、图6、图8或图9描述的管理装置可以被配置为,响应于通过计算机可读存储介质中存储的一个或多个程序指令,提供各种操作、功能、或者动作。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件程序实现时,可以全部或部分地以计算机程序产品的形式来实现。该计算机程序产品包括一个或多个计算机指令。在处理器上执行计算机指令时,全部或部分地产生按照本申请实施例的流程或功能。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (11)

  1. 一种配置信息的管理方法,其特征在于,所述方法应用于包括管理装置的服务器,所述方法由所述管理装置执行,包括:
    获取第一配置信息和第二配置信息,所述第一配置信息为所述服务器的基板管理控制器BMC存储的配置信息,所述第二配置信息为第一时刻对所述服务器的配置信息进行备份的备份数据;
    校验所述第一配置信息和所述第二配置信息的一致性,获得一致性校验结果;
    根据所述一致性校验结果启动所述服务器。
  2. 根据权利要求1所述的方法,其特征在于,在所述获取第一配置信息和第二配置信息之前,所述方法还包括:
    在所述第一时刻,对所述服务器的配置信息执行备份,获得所述第二配置信息,所述第一时刻为所述服务器本次启动前的任一时刻,所述第二配置信息存储在所述BMC可访问的所述服务器的存储空间中。
  3. 根据权利要求2所述的方法,其特征在于,当所述服务器为新架构服务器时,所述BMC可访问的所述服务器的存储空间为所述服务器中组件的存储空间,所述组件包括基础板和/或功能组件,所述功能组件包括存储组件、输入输出IO组件、加速组件、内存扩展组件、散热组件、供电组件、计算组件、管理组件中至少一种,所述BMC可访问的所述组件的存储空间为所述组件中的非易失性存储介质。
  4. 根据权利要求2所述的方法,其特征在于,当所述服务器为传统服务器时,所述BMC可访问的所述服务器的存储空间为设置于所述服务器主板上的非易失性存储介质。
  5. 根据权利要求1至4中任一项所述的方法,其特征在于,所述根据所述一致性校验结果启动所述服务器包括:
    当所述一致性校验结果为所述第一配置信息和所述第二配置信息的一致性校验成功时,将所述第一配置信息或所述第二配置信息确定为目标配置信息;
    根据所述目标配置信息启动所述服务器。
  6. 根据权利要求1至5中任一项所述的方法,其特征在于,所述根据所述一致性校验结果启动所述服务器包括:
    当所述一致性校验结果为所述第一配置信息和所述第二配置信息的一致性校验失败时,根据预设规则将所述第一配置信息或所述第二配置信息确定为所述目标配置信息,其中,所述预设规则用于指示将所述第一配置信息和所述第二配置信息中版本更高的配置信息确定为所述目标配置信息的方式,或者,基于用户指示在所述第一配置信息和所述第二配置信息中确定所述目标配置信息的方式,或者,将所述第一配置信息和所述第二配置信息中记录有距离当前时刻更近的时间信息的配置信息确定为所述目标配置信息的方式;
    根据所述目标配置信息启动所述服务器。
  7. 根据权利要求6所述的方法,其特征在于,所述方法还包括:
    将所述第一配置信息和所述第二配置信息中与所述目标配置信息不同的配置信息,更新为所述目标配置信息。
  8. 根据权利要求1所述的方法,其特征在于,在所述校验所述第一配置信息和所述第二配置信息的一致性之前,所述方法还包括:
    校验所述第一配置信息的完整性和所述第二配置信息的完整性,获得完整性校验结果; 当所述完整性校验结果为成功时,执行所述校验所述第一配置信息和所述第二配置信息的一致性的操作。
  9. 一种配置信息的管理装置,其特征在于,所述管理装置应用于服务器,所述管理装置用于在所述服务器的启动阶段执行如权利要求1-8中任一项所述的方法。
  10. 根据权利要求9所述的装置,其特征在于,所述管理装置为所述服务器的基板管理控制器BMC。
  11. 一种服务器,其特征在于,所述服务器包括多个组件和基板控制器BMC,所述组件包括基础板和/或功能组件,所述功能组件包括存储组件、输入输出IO组件、加速组件、内存扩展组件、散热组件、供电组件、计算组件、管理组件中至少一种;所述BMC中存储有所述服务器的配置信息,所述BMC用于将所述服务器的配置信息备份于所述多个组件的存储空间中,所述BMC还用于在所述服务器的启动阶段执行如权利要求1-8中任一项所述的方法。
PCT/CN2023/108352 2022-02-28 2023-07-20 配置信息的管理方法、装置及服务器 WO2024022212A1 (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN202210186793 2022-02-28
CN202210908371.4A CN116700801A (zh) 2022-02-28 2022-07-29 配置信息的管理方法、装置及服务器
CN202210908371.4 2022-07-29

Publications (1)

Publication Number Publication Date
WO2024022212A1 true WO2024022212A1 (zh) 2024-02-01

Family

ID=87822724

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2023/108352 WO2024022212A1 (zh) 2022-02-28 2023-07-20 配置信息的管理方法、装置及服务器

Country Status (2)

Country Link
CN (2) CN116700747A (zh)
WO (1) WO2024022212A1 (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8812828B2 (en) * 2010-11-16 2014-08-19 Intel Corporation Methods and apparatuses for recovering usage of trusted platform module
CN113064646A (zh) * 2021-03-24 2021-07-02 山东英信计算机技术有限公司 一种bios启动方法、系统及相关装置
CN114328080A (zh) * 2021-11-29 2022-04-12 苏州浪潮智能科技有限公司 一种固件状态检测的方法及装置、电子设备

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8812828B2 (en) * 2010-11-16 2014-08-19 Intel Corporation Methods and apparatuses for recovering usage of trusted platform module
CN113064646A (zh) * 2021-03-24 2021-07-02 山东英信计算机技术有限公司 一种bios启动方法、系统及相关装置
CN114328080A (zh) * 2021-11-29 2022-04-12 苏州浪潮智能科技有限公司 一种固件状态检测的方法及装置、电子设备

Also Published As

Publication number Publication date
CN116700747A (zh) 2023-09-05
CN116700801A (zh) 2023-09-05

Similar Documents

Publication Publication Date Title
US8732285B2 (en) Upgradeable persistent virtual storage
TWI754317B (zh) 用於網路裝置之最佳啟動路徑之方法和系統
US6976058B1 (en) Computer card for storing bootable images and providing remote management functions
US20160328300A1 (en) System and Method for Self-Healing Basic Input/Output System Boot Image and Secure Recovery
US10540501B2 (en) Recovering an information handling system from a secure boot authentication failure
TW201800952A (zh) 機箱管理系統及機箱管理方法
US11334427B2 (en) System and method to reduce address range scrub execution time in non-volatile dual inline memory modules
US10459742B2 (en) System and method for operating system initiated firmware update via UEFI applications
WO2018120200A1 (zh) 一种服务器管理方法和服务器
US11461178B2 (en) System and method to prevent endless machine check error of persistent memory devices
US11429298B2 (en) System and method for tying non-volatile dual inline memory modules to a particular information handling system
US10592393B1 (en) Firmware debug trace capture
US20230140209A1 (en) System and method for secure access to a distributed virtual firmware network drive
US8312215B2 (en) Method and system for resolving configuration conflicts in RAID systems
US10838861B1 (en) Distribution of memory address resources to bus devices in a multi-processor computing system
CN111198832B (zh) 一种处理方法和电子设备
US20230342472A1 (en) Computer System, Trusted Function Component, and Running Method
US11003778B2 (en) System and method for storing operating life history on a non-volatile dual inline memory module
WO2024022212A1 (zh) 配置信息的管理方法、装置及服务器
US20200364040A1 (en) System and Method for Restoring a Previously Functional Firmware Image on a Non-Volatile Dual Inline Memory Module
US9971532B2 (en) GUID partition table based hidden data store system
US11263023B1 (en) System and method for updating host operating system drivers from a management controller
US11354109B1 (en) Firmware updates using updated firmware files in a dedicated firmware volume
US11204704B1 (en) Updating multi-mode DIMM inventory data maintained by a baseboard management controller
US11586536B1 (en) Remote configuration of multi-mode DIMMs through a baseboard management controller

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 23845423

Country of ref document: EP

Kind code of ref document: A1