Method for reducing starting time of server
By storing IPMI commands after the server starts the BMC for the first time and quickly starting it at subsequent startup, Host is powered on in advance, solving the problem of long startup time of the existing server and improving the server's startup efficiency.
Patent Information
- Application Number
- CN202411596442.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-11
- Publication Date
- 2025-02-28
AI Technical Summary
During the startup process of the existing server, the BMC out-of-band system is powered on first, and the HOST system is powered on and then powered on and started the HOST system after the BMC is ready to be OK, resulting in a long startup process and the server startup time cannot be effectively reduced.
After the BMC is started for the first time, IPMI commands are stored and quickly started according to the stored data during subsequent startup. The server system controls Host to power on in advance to achieve parallel startup.
The server startup time is reduced, and the Host is powered up in advance through the fast startup process, thereby improving the server startup efficiency.
Smart Images

Figure CN119536828A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of servers, and in particular to a method for reducing server startup time. Background Art
[0002] At present, with the development of network technology, in order to better execute instructions, corresponding servers will be set up. Servers are specific IT devices that provide computing power and run software applications in a network environment. They provide computing or application services for other clients (such as personal computers, smart phones, ATM machines and other terminal devices) in the network. Generally speaking, servers have the ability to respond to service requests, provide services, and guarantee services. Compared with ordinary computers, servers have high-speed CPU computing power; long-term reliable operation capabilities; powerful I / O data throughput capabilities and high scalability. As an electronic device, the internal structure of the server is very complex. The main components of the server are: CPU, memory, chipset, I / O devices, storage, peripherals, regulators, power supplies and cooling systems.
[0003] The server startup process is as follows: step 1, hardware self-check, step 2, loading the boot program, step 3, operating system kernel startup, step 4, starting system services, and step 5, application startup.
[0004] The current server design has a BMC out-of-band system and a HOST system. The BMC out-of-band system is powered on first, and the HOST system is powered on and started after the BMC is ready. The entire startup process is a serial startup process. The specific startup process is: first power on through the BMC, then the BMC is started at this time, and then the BMC system is entered. Then the IPMI service is ready, and then the Host is controlled to power on, and then the Host is powered on, and then the BIOS is started, and then it is initialized, and then the IPMI is ready, and then communicates with the BMC, and finally the OS is loaded to start the server. The main reason for this design is that the HOST system depends on the IPMI service after the BMC system is started. However, this serial startup process in which the BMC out-of-band system is powered on first, and the BMC is ready, and then the HOST system is powered on and started, as a whole, no matter how many times the server is started, the entire server startup time is long. For this reason, we propose a method to reduce the server startup time. Summary of the invention
[0005] The object of the present invention is to provide a method for reducing the startup time of a server. By starting the BMC for the first time, the server performs a normal startup process, and the entire normal startup process of the server is a serial startup, so that an IPMI command is stored. When the BMC is not started for the first time, the server performs a fast startup process, and the server fast startup process is a parallel startup, that is, the Host is controlled to be powered on in advance, thereby reducing the startup time of the server.
[0006] To achieve the above object, the present invention provides the following technical solution: a method for reducing server startup time, comprising the following specific steps:
[0007] Step 1: Power on through BMC. At this time, BMC starts, and then the server system determines whether this BMC is started for the first time. If this BMC startup is the first time, the server will start the normal process. If this BMC startup is not the first time, the server will enter the fast startup process.
[0008] Step 2: When this BMC startup is not the first startup, the server enters the quick startup process. The specific steps for the server to enter the quick startup process are: the server system controls the Host to power on, and then the Host is powered on while the other side enters the BMC system, and then enters the IPMI business preparation process until the IPMI business preparation process is ready. The server system then determines whether the BMC is started for the first time. When it is determined that it is not the first time to start the BMC, it returns to controlling the Host to power on. The Host is powered on, and then the BIOS is started. Then the server system starts to initialize, and at this time, it enters the IPMI preparation process, that is, before IPMIOK and after IPMIOK. When IPMIOK, the OS is loaded, and the server quick startup is completed.
[0009] Step 3: When the BMC is started for the first time, the server performs a normal startup process. The specific steps of the server's normal startup process are: the server system enters the BMC system, and then the IPMI service is prepared until the IPMI service preparation is OK. Then the server system determines again whether it is the first time to start the BMC. When the server system determines that it is the first time to start the BMC, the server system starts to control the Host to power on, and then the Host is powered on, and then the BIOS is started, and then the server is initialized, and then it comes to the IPMI preparation process, that is, before IPMIOK and after IPMIOK. When IPMIOK, the OS is loaded, and the server is started normally.
[0010] Preferably, after entering IPMIOK, the server system will send an IPMI command, and then the server system will accept the IPMI command and then store the command in the storage area.
[0011] Preferably, the server system will send an IPMI command before and after entering IPMIOK. When sending the IPMI command fails, the server system will search for the command from the storage area, thereby obtaining the data stored in the last BMC startup according to the command.
[0012] Preferably, when the BMC is started for the first time, the Host will not be powered on in advance, but will be powered on after waiting for the IPMI service to be ready. When the BMC is not started for the first time, the Host will be powered on in advance.
[0013] Preferably, when the BMC is started for the first time, the BMC and IPMI are OK when the Host starts up. At this time, when the Host sends an IPMI command, some IPMI command data before the BMC and IPMI OK when the server starts quickly next time will be stored in the Flash of the BIOS. At the next startup, if the BMC and IPMI are not ready, the IPMI command data will be obtained from the Flash.
[0014] Preferably, when the BMC starts Flag for the first time, the Flag information is stored in a non-volatile medium, and the default value is 0, indicating the first start. When the BMC starts for the first time, the Flag is changed to 1, indicating that the BMC has been started once and it is not the first start.
[0015] Preferably, when the Flag version is upgraded, the BMC is upgraded or the BIOS is upgraded, the Flag will be reset to 0.
[0016] Preferably, when the BMC is started for the first time, it will decide the timing of controlling the Host to power on according to the Flag stored in the non-volatile medium whether it is the first startup. If it is the first startup, the normal startup process of the server is carried out, and the Host is powered on after the IPMI service is prepared OK. If it is not the first startup, the Host is controlled to power on after the BMC is started, thereby powering on the Host.
[0017] Preferably, the data header information portion of the iIPMI command storage area is a Header, which contains 256 bytes and describes the version number of the data area, the size of the data area, and the checksum of the data area.
[0018] Preferably, each command in the data area requires 256*2 bytes, wherein the first 256 bytes are used to store the sending command data, and the last 256 bytes are used to store the corresponding data corresponding to the sending command.
[0019] Technical effects and advantages of the present invention:
[0020] (1) Power on the BMC, then start the BMC. Then the server system will determine whether this BMC startup is the first startup. If it is not the first startup, the server will directly enter the fast startup process. At this time, the server system controls the host to power on. Then, while the host is powered on, the other side enters the BMC system, and then enters the IPMI service preparation process until the IPMI service preparation process is ready. Then the server system determines whether it is the first time to start the BMC. If it is not the first time to start the BMC, it returns to controlling the host to power on. The host is powered on, and then the BIOS starts. Then the server system starts to initialize. At this time, it is accompanied by entering the IPMI preparation process, that is, before IPMIOK and after IPMIOK. After IPMIOK, the OS is loaded. At this time, the server fast startup is completed. When the BMC is started for the first time, the server is in the normal startup process. The entire server normal startup process is serial startup. When it is not the first time to start the BMC, the server is in the fast startup process. The server fast startup process is parallel startup, that is, the host will be controlled to power on in advance, thereby reducing the server startup time.
[0021] (2) After the BMC is started for the first time, after IPMIOK, an IPMI command will be sent and stored in the storage area of the server, so that when the BMC is not started for the first time later, the IPMI command will be sent before IPMIOK. Then, when the sending of the IPMI command fails, it can be known that this is not the first time the BMC is started. Then, the IPMI command will be searched from the storage area, and the data stored in the last startup of the BMC will be obtained according to the IPMI command, so as to reduce the time of server startup;
[0022] (3) When the Host is started for the first time through the BMC, the BMC and IPMI are already OK when the Host starts up. At this time, when the Host sends the IPMI command, it will store some IPMI command data before the BMC and IPMIOK when the next BMC is started and the server is quickly started into the BIOS Flash. At the next startup, if the BMC and IPMI are not ready, the IPMI command data will be obtained from the Flash. By storing some IPMI command data before the BMC and IPMIOK when the next BMC is started and the server is quickly started into the BIOS Flash in advance, it is convenient to directly obtain the IPMI command data from the Flash next time, thereby facilitating the rapid startup of the server. BRIEF DESCRIPTION OF THE DRAWINGS
[0023] Figure 1 It is a schematic diagram of the process of the present invention.
[0024] Figure 2It is a schematic diagram of the IPMIOK front process of the present invention.
[0025] Figure 3 It is a schematic diagram of the post-IPMIOK process of the present invention.
[0026] Figure 4 This is a schematic diagram of data storage in the IPMI command storage area of the present invention. DETAILED DESCRIPTION
[0027] The following will be combined with the drawings in the embodiments of the present invention to clearly and completely describe the technical solutions in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.
[0028] The present invention provides Figure 1-4 A method for reducing server startup time is shown, comprising the following specific steps: the first step is to power on through the BMC, at which time the BMC is started, and then the server system will determine whether this BMC is started for the first time. When this BMC startup is the first time, the server performs a normal startup process, and when this BMC startup is not the first time, the server enters a fast startup process; the second step is that when this BMC startup is not the first time, the server enters the fast startup process, and the specific steps for the server to enter the fast startup process are: the server system controls the Host to power on, and then while the Host is powered on, the other side enters the BMC system, and then enters the IPMI business preparation process, until the IPMI business preparation process is ready, and then the server system determines whether the BMC is started for the first time. When it is determined that it is not the first time to start the BMC, it returns to controlling the Host to power on, the Host is powered on, and then the BIO S starts, and then the server system starts to initialize. At this time, it enters the IPMI preparation process, that is, before IPMIOK and after IPMIOK. When IPMIOK, the OS is loaded, and the server quick startup is completed at this time; the third step, when the BMC startup is the first startup, the server performs a normal startup process. The specific steps of the server normal startup process are: the server system enters the BMC system, and then the IPMI service is prepared until the IPMI service preparation is OK. Then the server system determines again whether the BMC is started for the first time. When the server system determines that it is the first time to start the BMC, the server system starts to control the Host to power on, and then the Host is powered on, and then the BIOS is started, and then the server is initialized, and then comes to the IPMI preparation process, that is, before IPMIOK and after IPMIOK. When IPMIOK, the OS is loaded, and the server normal startup is completed at this time.
[0029] It should be further explained that after entering IPMIOK, the server system will send IPMI commands, and then the server system will accept the IPMI commands and store the commands in the storage area; for example, when the BMC is started for the first time, after IPMIOK, the IPMI commands will be sent and stored in the storage area of the server, so that when the BMC is not started for the first time later, these IPMI commands can be searched and used before IPMIOK.
[0030] Furthermore, before and after entering IPMIOK, the server system will send an IPMI command. When sending the IPMI command fails, the server system will search for this command from the storage area, thereby obtaining the data stored in the last BMC startup based on the command. Each time the BMC is started, whether it is the first time or not, an IPMI command will be sent. Then, when sending the IPMI command fails, it can be known that this is not the first time the BMC is started, and then the server system will search for this IPMI command from the storage area, thereby obtaining the data stored in the last BMC startup based on this IPMI command.
[0031] It should be noted that when the BMC is started for the first time, the Host will not be powered on in advance, but will wait until the IPMI service is ready before powering on. When the BMC is not started for the first time, the Host will be powered on in advance. When the BMC is started for the first time, the server is in the normal startup process, and the entire server normal startup process is serial startup. When the BMC is not started for the first time, the server is in the fast startup process, and the server fast startup process is parallel startup, that is, the Host will be controlled to power on in advance.
[0032] Furthermore, when the BMC is started for the first time, the BMC and IPMI are already OK when the Host starts up. At this time, when the Host sends the IPMI command, some IPMI command data before BMC and IPMIOK when the next BMC is started and the server is quickly started will be stored in the BIOS Flash. At the next startup, if the BMC and IPMI are not ready, the IPMI command data will be obtained from the Flash. By storing some IPMI command data before BMC and IPMIOK when the next BMC is started and the server is quickly started in the BIOS Flash in advance, it is convenient to directly obtain the IPMI command data from the Flash next time, thereby facilitating the rapid startup of the server.
[0033] Furthermore, when the BMC starts the Flag for the first time, the Flag information is stored in a non-volatile medium, and the default value is 0, indicating the first startup. When the BMC starts for the first time, the Flag is changed to 1, indicating that it has been started once and the BMC is not started for the first time; the Flag information is stored in a non-volatile medium, such as Flash. When the BMC is started for the first time, the default value is 0, indicating the first startup. When the BMC is not started for the first time, the Flag is automatically changed to 1, indicating that it is not the first startup.
[0034] Furthermore, when the Flag version is upgraded, the BMC is upgraded, or the BIOS is upgraded, the Flag will be reset to 0.
[0035] Furthermore, when the BMC is started for the first time, the timing of controlling the power-on of the Host will be determined according to the Flag stored in the non-volatile medium whether it is the first time to start. If it is the first time to start, the normal startup process of the server is performed, and the Host is powered on after the IPMI service is prepared. If it is not the first time to start, the Host is controlled to be powered on after the BMC is started, so that the Host is powered on. Through the first normal startup of the BMC, the storage area stores the IPMI instructions, and then when the BMC is started again later, the Host is controlled to be powered on in advance, and the Host is powered on in advance, thereby reducing the startup time of the server; when the BMC is started for the first time, the timing of controlling the power-on of the Host will be determined according to the Flag stored in the non-volatile medium whether it is the first time to start. If it is the first time to start, the Flag stored in the non-volatile medium is the first time to start, and the normal startup process of the server is performed again. After the IPMI service is prepared, the Host is powered on. If it is not the first time to start, the Flag stored in the non-volatile medium is not the first time to start, then after the BMC is started, the Host is controlled to be powered on, so that the Host is powered on.
[0036] The first BMC starts normally, and the storage area stores the IPMI command. Then, when the BMC is started again, the Host is powered on in advance, and the Host is powered on in advance, thereby reducing the startup time of the server.
[0037] Furthermore, the data header information part of the IPMI command storage area is the Header, which contains 256 bytes, describing the version number of the data area, the size of the data area, and the checksum of the data area; each command in the data area requires 256*2 bytes, of which the first 256 bytes are used to store the sending command data, and the last 256 bytes are used to store the corresponding data corresponding to the sending command.
[0038] Working principle of the present invention:
[0039] Power on through BMC, then BMC starts, then the server system will determine whether this BMC startup is the first startup. If it is not the first startup, the server directly enters the fast startup process. At this time, the server system controls the Host to power on, and then one side of the Host is powered on, while the other side enters the BMC system, and then enters the IPMI business preparation process until the IPMI business preparation process is ready. Then the server system determines whether it is the first time to start the BMC. If it is determined that it is not the first time to start the BMC, it returns to controlling the Host to power on, the Host is powered on, and then the BIOS starts, and then the server system starts to initialize, and at this time it is accompanied by entering the IPMI preparation process, that is, before IPMIOK and after IPMIOK. When IPMIOK, the OS is loaded, and the server fast startup is completed.
[0040] When the server system determines that the BMC is started for the first time, the server enters the normal startup process, enters the BMC system at this time, and then the IPMI service is prepared until the IPMI service preparation is OK. Then the server system determines again whether it is the first time to start the BMC. When the server system determines that it is the first time to start the BMC, the server system starts to control the Host to power on, and then the Host is powered on, and then the BIOS is started, and then the server is initialized, and then it comes to the IPMI preparation process, that is, before IPMIOK and after IPMIOK. When IPMIOK, the OS is loaded, and the server is started normally.
[0041] In the present invention: BMC (Baseboard Management Controller) is an out-of-band management system;
[0042] Host is a system that starts the operating system and executes business;
[0043] IPMI (Intelligent Platform Management Interface) is an intelligent platform management interface.
[0044] Finally, it should be noted that the above is only a preferred embodiment of the present invention and is not intended to limit the present invention. Although the present invention has been described in detail with reference to the aforementioned embodiments, it is still possible for those skilled in the art to modify the technical solutions described in the aforementioned embodiments or to make equivalent substitutions for some of the technical features therein. Any modifications, equivalent substitutions, improvements, etc. made within the spirit and principles of the present invention should be included in the protection scope of the present invention.
Claims
1. A method for reducing server startup time, characterized in that: The specific steps include: Step 1: Power on through BMC. At this time, BMC starts, and then the server system determines whether this BMC is started for the first time. If this BMC startup is the first time, the server will start the normal process. If this BMC startup is not the first time, the server will enter the fast startup process. Step 2: When this BMC startup is not the first startup, the server enters the quick startup process. The specific steps for the server to enter the quick startup process are: the server system controls the Host to power on, and then the Host is powered on while the other side enters the BMC system, and then enters the IPMI business preparation process until the IPMI business preparation process is ready. The server system then determines whether the BMC is started for the first time. When it is determined that it is not the first time to start the BMC, it returns to controlling the Host to power on. The Host is powered on, and then the BIOS is started. Then the server system starts to initialize, and at this time, it enters the IPMI preparation process, that is, before IPMIOK and after IPMIOK. When IPMIOK, the OS is loaded, and the server quick startup is completed. Step 3: When the BMC is started for the first time, the server performs a normal startup process. The specific steps of the server's normal startup process are: the server system enters the BMC system, and then the IPMI service is prepared until the IPMI service preparation is OK. Then the server system determines again whether it is the first time to start the BMC. When the server system determines that it is the first time to start the BMC, the server system starts to control the Host to power on, and then the Host is powered on, and then the BIOS is started, and then the server is initialized, and then it comes to the IPMI preparation process, that is, before IPMIOK and after IPMIOK. When IPMIOK, the OS is loaded, and the server is started normally.
2. A method for reducing server startup time according to claim 1, characterized in that: After entering IPMIOK, the server system will send an IPMI command, and then the server system will accept the IPMI command and then store the command in the storage area.
3. A method for reducing server startup time according to claim 2, characterized in that: The server system will send an IPMI command before and after entering IPMIOK. When sending the IPMI command fails, the server system will search for the command from the storage area, thereby obtaining the data stored in the last BMC startup according to the command.
4. A method for reducing server startup time according to claim 1, characterized in that: When the BMC is started for the first time, the Host will not be powered on in advance, but will be powered on after waiting for the IPMI service to be ready. When the BMC is not started for the first time, the Host will be powered on in advance.
5. A method for reducing server startup time according to claim 1, characterized in that: When the BMC is started for the first time, the BMC and IPMI are OK when the Host starts up. At this time, when the Host sends the IPMI command, some IPMI command data before the BMC and IPMI OK when the server starts quickly will be stored in the BIOS Flash. At the next startup, if the BMC and IPMI are not ready, the IPMI command data will be obtained from the Flash.
6. A method for reducing server startup time according to claim 1, characterized in that: When the BMC starts the Flag for the first time, the Flag information is stored in a non-volatile medium, and the default value is 0, indicating the first start. When the BMC starts the Flag for the first time, the Flag is changed to 1, indicating that the BMC has been started once and it is not the first start.
7. A method for reducing server startup time according to claim 6, characterized in that: When the Flag version is upgraded, the BMC is upgraded, or the BIOS is upgraded, the Flag will be reset to 0.
8. A method for reducing server startup time according to claim 7, characterized in that: When the BMC is started for the first time, it will decide the timing of controlling the power-on of the Host according to the flag stored in the non-volatile medium whether it is the first startup. If it is the first startup, the normal startup process of the server is carried out, and the Host is powered on after the IPMI service is prepared. If it is not the first startup, the Host is controlled to power on after the BMC is started, thereby powering on the Host.
9. A method for reducing server startup time according to claim 1, characterized in that: The data header information portion of the iIPMI command storage area is Header, which contains 256 bytes and describes the version number, size and checksum of the data area.
10. A method for reducing server startup time according to claim 9, characterized in that: Each command in the data area requires 256*2 bytes, wherein the first 256 bytes are used to store the sending command data, and the last 256 bytes are used to store the corresponding data corresponding to the sending command.