Server startup management method, system and device and storage medium
By timeout detection of the startup of the BIOS during the server startup process and triggering non-blocking interrupts, generating and saving error reports, the problem of low analysis efficiency caused by the server startup process is solved, and efficient fault analysis and diagnosis is achieved.
Patent Information
- Application Number
- CN202411745432.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-29
- Publication Date
- 2025-03-07
AI Technical Summary
The server's BIOS may experience a startup process crash during startup, resulting in a startup timeout. The timeout restart of the watchdog timer will cause the logs in the first scene to be corrupted, the reproduction problem is large, and the analysis efficiency is not high.
During the server startup process, the startup of the basic input and output system is detected in timeout, and the non-blockable interrupt is triggered to the central processor, the BIOS exception handling mechanism is triggered, error information is generated, and the substrate management controller receives and saves this information for subsequent analysis.
Effectively capture and save error reports during server startup, which can reflect the downtime location and the information before and after, thereby improving the efficiency of fault analysis. This solution can be applied regardless of whether the server has set a timeout restart action.
Smart Images

Figure CN119577786A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of servers, and in particular to a server startup management method, system, device and storage medium. Background Art
[0002] When the server's BIOS (Basic Input Output System) is started, there is a probability that the startup process will crash, resulting in a startup timeout. There are two main types of downtime. One is caused by hardware failure. In this case, the CPU (Central Processing Unit) is hung, which usually requires chip manufacturers to analyze and process. The other is caused by software problems, which can be analyzed and processed based on BIOS. In addition, for the second downtime, since the watchdog timer watchdog is turned on during the BIOS startup process to determine whether the startup timeout has occurred, if the watchdog is set to restart after timeout, the log of the first scene when the problem occurs will be destroyed and overwritten after the restart. If analysis is required, it can only be reproduced and the log can be captured again. The workload of the reproduction operation is large, especially for some low-probability problems, which require a lot of time and effort to reproduce the problem at that time. In another case, the watchdog is set not to restart after the timeout, and the first scene can be retained, but in this case, only some basic information will be retained, such as usually only the 80-code information at the time of the downtime is retained, which is not conducive to improving the efficiency of subsequent fault analysis.
[0003] In summary, how to effectively manage the startup of a server and improve the efficiency of subsequent problem solving when a startup process crashes is a technical problem that technical personnel in this field urgently need to solve. Summary of the invention
[0004] The purpose of the present invention is to provide a server startup management method, system, device and storage medium to effectively manage the server startup and improve the efficiency of subsequent problem solving when a startup process crashes.
[0005] In order to solve the above technical problems, the present invention provides the following technical solutions:
[0006] In a first aspect, the present invention provides a server startup management method, which is applied to a baseboard management controller connected to the server, comprising:
[0007] During the server startup process, a timeout detection is performed on the startup of the basic input and output system;
[0008] When it is detected that the basic input and output system starts up timeout, triggering a non-maskable interrupt to the central processing unit in the server, so as to trigger the basic input and output system to execute the exception handling mechanism of the basic input and output system through the non-maskable interrupt;
[0009] Receive and save error information generated by the basic input and output system after executing the exception handling mechanism, which is used to reflect the abnormal startup of the basic input and output system.
[0010] On the other hand, the target general input and output interface of the baseboard management controller is connected to the non-maskable interrupt pin of the central processing unit, and in a default state, the level state of the non-maskable interrupt pin of the central processing unit is a first level state;
[0011] When the basic input and output system startup timeout is detected, a non-maskable interrupt is triggered to the central processing unit in the server, including:
[0012] When it is detected that the basic input and output system starts up timeout, the level state of the non-maskable interrupt pin of the central processing unit in the server is adjusted to a second level state through the target general input and output interface to trigger a non-maskable interrupt to the central processing unit;
[0013] The second level state is opposite to the first level state.
[0014] On the other hand, it also includes:
[0015] After detecting that the basic input and output system startup timeout has occurred, determining whether a timeout restart strategy is enabled;
[0016] If yes, restart the server after a first delay time;
[0017] If not, a first prompt message indicating that the basic input / output system startup has timed out is output to the designated terminal.
[0018] On the other hand, the designated peripheral component quick interconnect device in the baseboard management controller is communicatively connected with the central processing unit in the server, and the server startup management method further includes:
[0019] During the startup of the basic input and output system, memory mapping resources are allocated to the designated peripheral component express interconnect device through the basic input and output system, so that the central processing unit accesses the shared memory in the baseboard management controller through the designated peripheral component express interconnect device;
[0020] Wherein, the shared memory in the baseboard management controller is provided with a system operation status code area, an operation function information area, and a serial port information storage area;
[0021] Receive all system operation status code information of the whole boot process sent by the central processing unit, and store it in the system operation status code area;
[0022] Receiving the downtime function location information sent by the central processing unit, and storing it in the running function information area;
[0023] Receiving and saving error information generated by the basic input / output system after executing the exception handling mechanism, which is used to reflect the abnormal startup of the basic input / output system, includes:
[0024] The error information generated by the basic input / output system after executing the exception handling mechanism and used to reflect the abnormal startup of the basic input / output system is received and stored in the serial port information storage area.
[0025] On the other hand, it also includes:
[0026] Based on the saved error information, determining the debugging location file pointed to by the error information;
[0027] Obtain the debugging location file pointed to by the error message;
[0028] Based on the error information, the content of the target function pointed to by the error information is obtained from the debugging location file, and used as the error content determined by the baseboard management controller through preliminary diagnosis.
[0029] On the other hand, it also includes:
[0030] After receiving and saving the error message generated by the basic input and output system after executing the exception handling mechanism and used to reflect the abnormal startup of the basic input and output system, recording the event in the log;
[0031] The error information is uploaded to a cloud diagnostic model so as to perform fault diagnosis through the cloud diagnostic model.
[0032] On the other hand, it also includes:
[0033] During the booting process of the baseboard management controller itself, a timeout detection is performed;
[0034] When it is detected that the baseboard management controller itself has timed out from starting, generating record information reflecting the abnormality of starting the baseboard management controller through the abnormality processing program of the baseboard management controller itself;
[0035] The record information is stored in a target storage device connected to the baseboard management controller.
[0036] In a second aspect, the present invention provides a server startup management system, comprising:
[0037] A startup timeout detection module is used to perform timeout detection on the startup of the basic input and output system during the startup process of the server;
[0038] an interrupt module, configured to trigger a non-maskable interrupt to a central processing unit in the server when a startup timeout of the basic input / output system is detected, so as to trigger the basic input / output system to execute an exception handling mechanism of the basic input / output system through the non-maskable interrupt;
[0039] The error information receiving module is used to receive and save the error information generated by the basic input and output system after executing the exception handling mechanism, which is used to reflect the abnormal startup of the basic input and output system.
[0040] In a third aspect, the present invention provides a server startup management device, comprising:
[0041] Memory for storing computer programs;
[0042] The processor is used to execute the computer program to implement the steps of the server startup management method as described above.
[0043] In a fourth aspect, the present invention provides a computer-readable storage medium having a computer program stored thereon, and when the computer program is executed by a processor, the steps of the server startup management method as described above are implemented.
[0044] The technical solution provided by the embodiment of the present invention is applied. Considering that the basic input and output system startup timeout is usually an assert downtime, that is, when a certain condition is not met, the code will enter an infinite loop, which is manifested as a system downtime. In view of this situation, considering that the non-maskable interrupt belongs to a kind of interrupt request, it is non-maskable, that is, it cannot be prohibited, and it can be immediately latched by the CPU. After the non-maskable interrupt is triggered to the CPU in the server, the exception mechanism of the BIOS can be effectively triggered. The exception mechanism can generate an error message for reflecting the abnormal startup of the basic input and output system. The error message can not only reflect the information of the downtime location, but also reflect the information before the downtime location. This information is conducive to locating the cause of the downtime problem. And the present application considers that since the server may restart automatically, the non-maskable interrupt is triggered to the central processing unit in the server through the BMC. The error message generated by the exception mechanism is also received and saved by the BMC, so that even if the server is restarted or shut down, the error message will not be lost, that is, regardless of whether the server is set to restart after the timeout, the present application solution can effectively retain the first scene.
[0045] In summary, the present application scheme can effectively manage the startup of the server. When a crash occurs during the startup process, the saved error information can not only reflect the information of the crash location, but also the information before the crash location, which is conducive to improving the efficiency of subsequent problem solving. Regardless of whether the server is set to a timeout restart action, the present application scheme can be applied. BRIEF DESCRIPTION OF THE DRAWINGS
[0046] In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.
[0047] Figure 1 A flowchart of a method for managing the startup of a server provided in accordance with a specific embodiment of the present invention;
[0048] Figure 2 A schematic diagram of the structure of the connection between the BMC and the server in a specific implementation manner of the present invention;
[0049] Figure 3 A schematic diagram of the structure of a server startup management system provided by a specific implementation mode of the present invention;
[0050] Figure 4A schematic diagram of the structure of a server startup management device provided in a specific embodiment of the present invention;
[0051] Figure 5 The present invention is a schematic diagram of the structure of a computer-readable storage medium. DETAILED DESCRIPTION
[0052] The core of the present invention is to provide a server startup management method, system, device and storage medium, which can effectively manage the server startup. When a crash occurs during the startup process, the saved error information can not only reflect the information of the crash location, but also reflect the information before the crash location, which is conducive to improving the efficiency of subsequent problem solving. Regardless of whether the server is set to a timeout restart action, the present application solution can be applied.
[0053] In order to enable those skilled in the art to better understand the scheme of the present invention, the present invention is further described in detail below in conjunction with the accompanying drawings and specific implementation methods. Obviously, the described embodiments are only part of the embodiments of the present invention, rather than all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without making creative work are within the scope of protection of the present invention.
[0054] Please refer to Figure 1 , Figure 1 The present invention provides a flowchart of a server startup management method according to a specific embodiment of the present invention. The server startup management method can be applied to a baseboard management controller connected to the server, and includes the following steps:
[0055] Step S101: During the booting process of the server, a timeout detection is performed on the startup of the basic input and output system.
[0056] During the boot process of the server, the BIOS boot timeout detection is usually implemented through the watchdog program in the BMC. Specifically, after the server is powered on, the BMC can be notified to start the timing of the watchdog program. If the BIOS can be started normally, the BMC can be notified to close the watchdog program after the BIOS boot is completed.
[0057] Step S102: When a BIOS startup timeout is detected, a non-maskable interrupt is triggered to a central processing unit in the server, so as to trigger the BIOS to execute an exception handling mechanism of the BIOS through the non-maskable interrupt.
[0058] A simple way to determine whether the basic input and output system has timed out is to determine whether the total time consumed in the BIOS startup process exceeds a set threshold. If the total time consumed in the BIOS startup process exceeds the set threshold, it can be determined that the basic input and output system has timed out. In addition, in some other implementations, the BIOS startup process is divided into multiple stages, and a corresponding timeout threshold is set for each stage to determine whether the BIOS startup process has timed out.
[0059] BIOS startup timeout is usually caused by assert crash, that is, when a certain condition is not met, the code will enter an infinite loop, which will cause the system to crash. In this regard, the application solution is to trigger the BIOS exception mechanism through the CPU's NMI (Non maskInterrupt).
[0060] Non-maskable interrupts are a type of interrupt request. External non-maskable interrupt requests can notify the CPU of interrupt events such as power failure, bus parity error, etc. through dedicated CPU pins. Internal non-maskable interrupt requests are spontaneously generated inside the CPU, such as memory read and write errors, overflow interrupts, division error interrupts, etc. In this application, external non-maskable interrupts are used, that is, non-maskable interrupts are triggered by the BMC to the CPU.
[0061] Even if the BIOS startup times out due to assert crashes, NMI is non-maskable, that is, it cannot be disabled, and can be latched by the CPU immediately, with a very high priority. When the CPU responds to NMI, the interrupt source does not need to provide an interrupt type code, and the NMI response does not need to execute a bus cycle. Therefore, after the BMC triggers a non-maskable interrupt to the CPU, the non-maskable interrupt can be effectively used to trigger the BIOS to execute its exception mechanism.
[0062] There are many specific implementation methods for the BMC to trigger a non-maskable interrupt to the CPU. For example, a simple method is to change the level state of a related CPU pin.
[0063] In a specific embodiment of the present invention, the target general input and output interface of the baseboard management controller is connected to the non-maskable interrupt pin of the central processing unit, and in a default state, the level state of the non-maskable interrupt pin of the central processing unit is a first level state;
[0064] When a BIOS startup timeout is detected, a non-maskable interrupt is triggered to the CPU in the server, including:
[0065] When a basic input / output system startup timeout is detected, the level state of the non-maskable interrupt pin of the central processing unit in the server is adjusted to a second level state through the target general input / output interface to trigger a non-maskable interrupt to the central processing unit. The second level state is opposite to the first level state.
[0066] In this embodiment, please refer to Figure 2 , which is a structural diagram of the connection between the BMC and the server, a GPIO (General Purpose Input / Output) interface of the BMC can be used as the target general purpose input / output interface described in this implementation mode, connected to the non-maskable interrupt pin of the CPU, and in the default state, the level state of the non-maskable interrupt pin of the central processing unit is the first level state. Generally speaking, the non-maskable interrupt pin of the central processing unit will be pulled down externally, for example, grounded through a resistor, that is, the first level state is generally a low level. After the server is turned on, the BMC can initialize the GPIO interface.
[0067] When a basic input / output system startup timeout is detected, the BMC can adjust the level state of the CPU's non-maskable interrupt pin to a second level state through the target general purpose input / output interface, such as pulling up the GPIO interface in this example, thereby triggering an NMI interrupt to the CPU.
[0068] Step S103: receiving and saving error information generated by the basic input and output system after executing the exception handling mechanism, which is used to reflect the abnormality of the basic input and output system startup.
[0069] The BIOS exception mechanism is an exception handling mechanism of the BIOS. There are many ways to trigger the exception mechanism, including Divide error, Overflow, etc. The present application scheme uses the NMI interrupt to trigger the BIOS exception mechanism.
[0070] The exception mechanism will generate error information to reflect BIOS startup exceptions. The error information can not only reflect the information of the downtime location, but also reflect the information before the downtime location, that is, the error information can point out the context information of the problem at that time, and also point to the specific pdb file, that is, it will point out which module's pdb file may have problems. The pdb file saves debugging and project status information. Using the above information, the debugging configuration of the application can be analyzed, which is conducive to effectively locating the cause of the downtime problem.
[0071] In addition, the present application scheme takes into account that the watchdog may or may not have a timeout restart strategy set. In order to ensure that the error information is not lost, that is, to effectively retain the relevant data of the first scene, the error information is not stored in the server, but is sent to the BMC, which receives and saves the error information. Therefore, regardless of whether the server will time out and restart, even if the server is shut down, the BMC will not shut down, so the received and saved error information will not be lost, so that the relevant data at the time of downtime can be completely saved for subsequent analysis.
[0072] As described above, whether the server will time out and restart or not will not affect the implementation of the solution of the present application. Therefore, in a specific implementation of the present invention, it may also include:
[0073] After detecting that the basic input and output system startup timeout has occurred, determining whether a timeout restart strategy is enabled;
[0074] If yes, restart the server after the first delay time;
[0075] If not, a first prompt message indicating that the basic input and output system startup has timed out is output to the designated terminal.
[0076] This implementation method takes into account that after detecting that the basic input and output system startup timeout has occurred, it can be determined whether the timeout restart strategy is enabled. If the timeout restart strategy is enabled, in order to allow the BMC to have time to complete the reception and storage of relevant data, a delay needs to be set, that is, the first delay duration mentioned above, which is set to 2 minutes, for example. After the first delay duration, the server will be restarted.
[0077] If the timeout restart strategy is not enabled, there is no need to perform a restart operation. Of course, in this implementation mode, the first prompt information indicating the BIOS startup timeout will be output to the designated terminal so that relevant staff can notice the situation in time and then intervene manually. The designated terminal can be, for example, a designated web page, or a mobile phone, computer or other terminal device of the relevant staff.
[0078] In a specific embodiment of the present invention, the designated peripheral component quick interconnect device in the baseboard management controller is communicatively connected with the central processing unit in the server, and the server startup management method may further include:
[0079] During the basic input and output system startup process, memory mapping resources are allocated to the designated peripheral component express interconnect device through the basic input and output system, so that the central processing unit accesses the shared memory in the baseboard management controller through the designated peripheral component express interconnect device;
[0080] The shared memory in the baseboard management controller is provided with a system operation status code area, an operation function information area, and a serial port information storage area;
[0081] Receive all system operation status code information of the entire boot process sent by the central processing unit and store it in the system operation status code area;
[0082] Receive the downtime function location information sent by the central processing unit and store it in the running function information area;
[0083] Receiving and saving error information generated by the basic input and output system after executing the exception handling mechanism, which is used to reflect the abnormal startup of the basic input and output system, including:
[0084] The error message generated by the basic input / output system after executing the exception handling mechanism and used to reflect the abnormality of the basic input / output system startup is received and stored in the serial port information storage area.
[0085] This implementation method takes into account that the BMC needs to receive and save the error information generated by the exception. To achieve this goal, the shared memory of the BMC can be set.
[0086] For details, please refer to Figure 2 , a PCIe (Peripheral Component Interconnect express) device can be selected in the BMC to connect to the CPU, that is, the designated peripheral component interconnect express device described in this embodiment. The designated PCIe device is used as an H2B (HOST to BMC) device. After the server is powered on, the H2B device can be initialized by the BIOS or BMC, that is, the designated peripheral component interconnect express device in this embodiment is initialized.
[0087] During the BIOS startup process, MMIO resources (Memory-Mapped I / O) can be allocated to the specified PCIe device, so that MMIO will be mapped to the shared memory of the BMC itself by the BMC. In other words, the server can access the shared memory of the BMC by accessing the MMIO area of the specified PCIe device. Even if the server is shut down, the information in the shared memory will not be lost because the BMC will not shut down.
[0088] Furthermore, in this implementation, in order to collect more comprehensive information to further facilitate subsequent fault analysis and diagnosis, not only the error message is sent to the BMC for storage, but also the system operation status code information and the downtime function location information are sent.
[0089] The system operation status code information is also called 80-code information. The 80-code information refers to the code expressed in hexadecimal to indicate the current system operation status when the server is started. When the basic input and output system startup timeout is detected, the CPU can write all the 80-code information from the start to the shutdown position into the shared memory of the BMC, that is, write all the 80-code information of the entire startup process into the shared memory of the BMC.
[0090] In addition, it should be noted that in order to effectively distinguish different types of information and facilitate the subsequent work of the staff, this implementation method sets up three different areas in the shared memory of the BMC, namely the system operation status code area, the operation function information area, and the serial port information storage area. For the 80-code information, it is specifically written into the system operation status code area of the BMC shared memory.
[0091] The CPU will also write the location information of the downtime function into the running function information area. The specific downtime function can be simply and clearly determined through the downtime function location information, which is conducive to the subsequent fault analysis and diagnosis. The error information generated by the exception is written into the serial port information storage area.
[0092] In a specific embodiment of the present invention, it may also include:
[0093] Based on the saved error information, determine the debugging location file pointed to by the error information;
[0094] Get the debugging location file pointed to by the error message;
[0095] Based on the error information, the content of the target function pointed to by the error information is obtained from the debugging location file and used as the error content determined by the baseboard management controller through preliminary diagnosis.
[0096] This implementation method takes into account that after the BMC receives and stores the error information, in order to improve the efficiency of subsequent diagnosis and analysis, a preliminary diagnosis can be performed first to obtain a preliminary conclusion, which provides a certain reference for the subsequent work content of the staff.
[0097] Specifically, the error message will specifically point to the pdb file of a certain module, that is, the debug location file, indicating that the crashed function was finally called by the module. Therefore, the BMC can determine the debug location file pointed to by the error message from the error message. Then, the BMC can obtain this debug location file.
[0098] There are many specific implementation methods for obtaining the debug location file pointed to by the error information. For example, in one implementation method, the BMC can be connected to a designated download terminal through a network, and the required debug location file can be downloaded from the download terminal. In another implementation method, when the storage space in the BMC is sufficient, the pdb files of all modules can be stored in the BMC in advance, or the pdb files of some modules with high failure probability can be stored in the BMC, so that if the pdb file currently required is in the BMC local, it can be directly read locally. Compared with the above implementation method of obtaining the debug location file completely by downloading, local reading is faster and more convenient. Further, there are also implementation methods that take into account that obtaining the debug location file is to obtain the content of the target function pointed to by the error information from the debug location file. Therefore, in some implementation methods, in order to further reduce the storage resource consumption of the BMC, for the pdb file of some designated modules, the BMC can select part of the content of the pdb file and store it in the BMC. For example, the content with high failure probability in the pdb file can be stored in the BMC, which will not consume too much storage resources of the BMC and can effectively ensure the efficiency of obtaining the pdb file. If the debugging location file pointed to by the error message is the pdf file, then based on the error message, you can try to obtain the content of the target function pointed to by the error message from the pdf file. If the acquisition is successful, it means that the pdf file in the BMC includes the content of the target function. If the acquisition is unsuccessful, it means that the incomplete pdf file in the BMC does not include the content of the target function. At this time, you can download the complete pdf file from the download end, and then obtain the content of the target function pointed to by the error message from it.
[0099] The error message will not only specifically point to the pdb file of a certain module, but also specifically point to a function in the pdb file through offsets and other methods. This implementation is called the target function pointed to by the error message. Therefore, after the BMC obtains the debug location file pointed to by the error message, it can obtain the content of the target function pointed to by the error message from the debug location file as the error content determined by the BMC through preliminary diagnosis, indicating that the content of the target function is the suspected cause of the fault, which caused the startup timeout this time. The error content is also the preliminary conclusion obtained by the BMC itself, which can provide a reference for the staff's subsequent work.
[0100] In a specific embodiment of the present invention, it may also include:
[0101] After receiving and saving the error message generated by the basic input and output system after executing the exception handling mechanism and used to reflect the abnormality of the basic input and output system startup, the event is recorded in the log;
[0102] The error information is uploaded to the cloud diagnosis model so as to perform fault diagnosis through the cloud diagnosis model.
[0103] This implementation method takes into account that the BMC can only perform preliminary diagnosis due to limited computing resources. If the error information is uploaded to the cloud diagnosis model, it can be trained with a large amount of data in advance so that the cloud diagnosis model can obtain a more accurate diagnosis effect. Therefore, in this implementation method, the error information will be automatically uploaded to the cloud diagnosis model to perform fault diagnosis through the cloud diagnosis model. In addition, it can be understood that in other implementation parties, if the BMC stores other information besides the error information, such as the 80-code information described above and the location information of the downtime function, it can be uploaded to the cloud diagnosis model so that the cloud diagnosis model can achieve more accurate fault diagnosis through more comprehensive information.
[0104] In addition, in this implementation, after receiving and saving the error information, the BMC will record the event in a log, that is, in its own maintenance log, for subsequent reference by staff.
[0105] In a specific embodiment of the present invention, it may also include:
[0106] During the boot process of the baseboard management controller itself, a timeout detection is performed;
[0107] When it is detected that the baseboard management controller itself has timed out from starting, a record information reflecting the abnormality of starting the baseboard management controller is generated through the abnormality processing program of the baseboard management controller itself;
[0108] The recorded information is stored in a target storage device connected to the baseboard management controller.
[0109] This implementation method takes into account that when the BMC itself times out when starting up, relevant information can also be recorded. Specifically, during the startup process of the BMC itself, the startup timeout detection can also be performed through the relevant setting program. If it is detected that the BMC itself has timed out, it is necessary to generate record information reflecting the BMC startup abnormality through the BMC's own exception handling program. Of course, the specific implementation logic of the exception handling program can be designed according to actual needs, and it can effectively generate record information reflecting the BMC startup abnormality. Finally, the record information needs to be stored in a target storage device connected to the baseboard management controller. The target storage device should be a device that will not lose the stored record information even if the BMC is shut down or restarted. For example, in actual applications, a CPLD (Complex Programmable Logic Device) connected to the BMC can be used as the target storage device of this application.
[0110] The technical solution provided by the embodiment of the present invention is applied. Considering that the basic input and output system startup timeout is usually an assert downtime, that is, when a certain condition is not met, the code will enter an infinite loop, which is manifested as a system downtime. In view of this situation, considering that the non-maskable interrupt belongs to a kind of interrupt request, it is non-maskable, that is, it cannot be prohibited, and it can be immediately latched by the CPU. After the non-maskable interrupt is triggered to the CPU in the server, the exception mechanism of the BIOS can be effectively triggered. The exception mechanism can generate an error message for reflecting the abnormal startup of the basic input and output system. The error message can not only reflect the information of the downtime location, but also reflect the information before the downtime location. This information is conducive to locating the cause of the downtime problem. And the present application considers that since the server may restart automatically, the non-maskable interrupt is triggered to the central processing unit in the server through the BMC. The error message generated by the exception mechanism is also received and saved by the BMC, so that even if the server is restarted or shut down, the error message will not be lost, that is, regardless of whether the server is set to restart after the timeout, the present application solution can effectively retain the first scene.
[0111] In summary, the present application scheme can effectively manage the startup of the server. When a crash occurs during the startup process, the saved error information can not only reflect the information of the crash location, but also the information before the crash location, which is conducive to improving the efficiency of subsequent problem solving. Regardless of whether the server is set to a timeout restart action, the present application scheme can be applied.
[0112] Corresponding to the above method embodiment, the embodiment of the present invention further provides a server startup management system, which can be referred to in correspondence with the above.
[0113] See also Figure 3 FIG. 1 is a schematic diagram of a server startup management system in the present invention, comprising:
[0114] The startup timeout detection module 301 is used to perform timeout detection on the startup of the basic input and output system during the startup process of the server;
[0115] The interrupt module 302 is used to trigger a non-maskable interrupt to the central processor in the server when a startup timeout of the basic input and output system is detected, so as to trigger the basic input and output system to execute an exception handling mechanism of the basic input and output system through the non-maskable interrupt;
[0116] The error information receiving module 303 is used to receive and save the error information generated by the basic input and output system after executing the exception handling mechanism, which is used to reflect the abnormality of the basic input and output system startup.
[0117] In a specific embodiment of the present invention, the target general input and output interface of the baseboard management controller is connected to the non-maskable interrupt pin of the central processing unit, and in a default state, the level state of the non-maskable interrupt pin of the central processing unit is a first level state;
[0118] The interrupt module 302 is specifically used for:
[0119] When a basic input / output system startup timeout is detected, the level state of the non-maskable interrupt pin of the central processing unit in the server is adjusted to a second level state through the target general input / output interface to trigger a non-maskable interrupt to the central processing unit. The second level state is opposite to the first level state.
[0120] In a specific embodiment of the present invention, it also includes:
[0121] A timeout restart strategy judgment module is used to judge whether the timeout restart strategy is enabled after detecting that the basic input and output system startup timeout has occurred;
[0122] If yes, a restart execution module is triggered to restart the server after the first delay time;
[0123] If not, the first prompt information output module is triggered to output first prompt information indicating that the basic input and output system startup timeout has occurred to the designated terminal.
[0124] In a specific embodiment of the present invention, the designated peripheral component quick interconnect device in the baseboard management controller is communicatively connected with the central processing unit in the server, and also includes a shared memory configuration module for:
[0125] During the basic input and output system startup process, memory mapping resources are allocated to the designated peripheral component express interconnect device through the basic input and output system, so that the central processing unit accesses the shared memory in the baseboard management controller through the designated peripheral component express interconnect device;
[0126] The shared memory in the baseboard management controller is provided with a system operation status code area, an operation function information area, and a serial port information storage area;
[0127] The system operation status code information receiving module is used to receive all the system operation status code information of the whole boot process sent by the central processing unit and store it in the system operation status code area;
[0128] A downtime function location information receiving module is used to receive the downtime function location information sent by the central processing unit and store it in the running function information area;
[0129] The error information receiving module 303 is specifically used for:
[0130] The error message generated by the basic input / output system after executing the exception handling mechanism and used to reflect the abnormality of the basic input / output system startup is received and stored in the serial port information storage area.
[0131] In a specific embodiment of the present invention, a preliminary diagnosis module is also included for:
[0132] Based on the saved error information, determine the debugging location file pointed to by the error information;
[0133] Get the debugging location file pointed to by the error message;
[0134] Based on the error information, the content of the target function pointed to by the error information is obtained from the debugging location file and used as the error content determined by the baseboard management controller through preliminary diagnosis.
[0135] In a specific embodiment of the present invention, a cloud diagnosis module is also included for:
[0136] After receiving and saving the error message generated by the basic input and output system after executing the exception handling mechanism and used to reflect the abnormality of the basic input and output system startup, the event is recorded in the log;
[0137] The error information is uploaded to the cloud diagnosis model so as to perform fault diagnosis through the cloud diagnosis model.
[0138] In a specific embodiment of the present invention, a baseboard management controller startup management module is also included, which is used to:
[0139] During the boot process of the baseboard management controller itself, a timeout detection is performed;
[0140] When it is detected that the baseboard management controller itself has timed out from starting, a record information reflecting the abnormality of starting the baseboard management controller is generated through the abnormality processing program of the baseboard management controller itself;
[0141] The recorded information is stored in a target storage device connected to the baseboard management controller.
[0142] Corresponding to the above method and system embodiments, an embodiment of the present invention further provides a server startup management device, a computer-readable storage medium, and a computer program product, which can be referred to in correspondence with the above.
[0143] See also Figure 4 As shown, the device may include:
[0144] Memory 401, used for storing computer programs;
[0145] The processor 402 is used to execute a computer program to implement the steps of the server startup management method in any of the above embodiments.
[0146] The computer program product includes a computer program / instruction, and when the computer program / instruction is executed by a processor, the steps of the server startup management method in any of the above embodiments are implemented.
[0147] See also Figure 5 The computer readable storage medium 50 stores a computer program 51, and when the computer program 51 is executed by the processor, the steps of the server startup management method in any of the above embodiments are implemented. The computer readable storage medium 50 mentioned here includes RAM (Random Access Memory), memory, ROM (Read-Only Memory), EEPROM (Electrically Erasable Programmable Read Only Memory), register, hard disk, removable disk, or any other form of storage medium known in the technical field.
[0148] It should also be noted that, in this article, relational terms such as first and second, etc. are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "include", "comprise" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, the elements defined by the statement "comprise a ..." do not exclude the presence of other identical elements in the process, method, article or device including the elements.
[0149] Professionals may further realize that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, computer software or a combination of the two. In order to clearly illustrate the interchangeability of hardware and software, the composition and steps of each example have been generally described in the above description according to the function. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of the present invention. Specific examples are used herein to illustrate the principles and implementation methods of the present invention, and the description of the above embodiments is only used to help understand the technical solution and its core idea of the present invention. It should be pointed out that for ordinary technicians in the technical field, without departing from the principle of the present invention, the present invention can also be improved and modified in a number of ways, and these improvements and modifications also fall within the scope of protection of the present invention.
Claims
1. A server startup management method, characterized in that: Baseboard management controllers used to connect to servers include: During the server startup process, a timeout detection is performed on the startup of the basic input and output system; When it is detected that the basic input and output system starts up timeout, triggering a non-maskable interrupt to the central processing unit in the server, so as to trigger the basic input and output system to execute the exception handling mechanism of the basic input and output system through the non-maskable interrupt; Receive and save error information generated by the basic input and output system after executing the exception handling mechanism, which is used to reflect the abnormal startup of the basic input and output system.
2. The server startup management method according to claim 1, characterized in that: The target general input / output interface of the baseboard management controller is connected to the non-maskable interrupt pin of the central processing unit, and in a default state, the level state of the non-maskable interrupt pin of the central processing unit is a first level state; When the basic input and output system startup timeout is detected, a non-maskable interrupt is triggered to the central processing unit in the server, including: When it is detected that the basic input and output system starts up timeout, the level state of the non-maskable interrupt pin of the central processing unit in the server is adjusted to a second level state through the target general input and output interface to trigger a non-maskable interrupt to the central processing unit; The second level state is opposite to the first level state.
3. The server startup management method according to claim 1, characterized in that: Also includes: After detecting that the basic input and output system startup timeout has occurred, determining whether a timeout restart strategy is enabled; If yes, restart the server after a first delay time; If not, a first prompt message indicating that the basic input / output system startup has timed out is output to the designated terminal.
4. The server startup management method according to claim 1, characterized in that: The designated peripheral component quick interconnect device in the baseboard management controller is communicatively connected with the central processing unit in the server, and the server startup management method further includes: During the startup of the basic input and output system, memory mapping resources are allocated to the designated peripheral component express interconnect device through the basic input and output system, so that the central processing unit accesses the shared memory in the baseboard management controller through the designated peripheral component express interconnect device; Wherein, the shared memory in the baseboard management controller is provided with a system operation status code area, an operation function information area, and a serial port information storage area; Receive all system operation status code information of the whole boot process sent by the central processing unit, and store it in the system operation status code area; Receiving the downtime function location information sent by the central processing unit, and storing it in the running function information area; Receiving and saving error information generated by the basic input / output system after executing the exception handling mechanism, which is used to reflect the abnormal startup of the basic input / output system, includes: The error information generated by the basic input / output system after executing the exception handling mechanism and used to reflect the abnormal startup of the basic input / output system is received and stored in the serial port information storage area.
5. The server startup management method according to claim 1, characterized in that: Also includes: Based on the saved error information, determining the debugging location file pointed to by the error information; Obtain the debugging location file pointed to by the error message; Based on the error information, the content of the target function pointed to by the error information is obtained from the debugging location file, and used as the error content determined by the baseboard management controller through preliminary diagnosis.
6. The server startup management method according to claim 1, characterized in that: Also includes: After receiving and saving the error message generated by the basic input and output system after executing the exception handling mechanism and used to reflect the abnormal startup of the basic input and output system, recording the event in the log; The error information is uploaded to a cloud diagnostic model to perform fault diagnosis through the cloud diagnostic model.
7. The server startup management method according to any one of claims 1 to 6, characterized in that: Also includes: During the booting process of the baseboard management controller itself, performing timeout detection; When it is detected that the baseboard management controller itself has timed out from starting, generating record information reflecting the abnormality of starting the baseboard management controller through the abnormality processing program of the baseboard management controller itself; The record information is stored in a target storage device connected to the baseboard management controller.
8. A server startup management system, characterized in that: include: A startup timeout detection module is used to perform timeout detection on the startup of the basic input and output system during the startup process of the server; an interrupt module, configured to trigger a non-maskable interrupt to a central processing unit in the server when a startup timeout of the basic input / output system is detected, so as to trigger the basic input / output system to execute an exception handling mechanism of the basic input / output system through the non-maskable interrupt; The error information receiving module is used to receive and save the error information generated by the basic input and output system after executing the exception handling mechanism, which is used to reflect the abnormal startup of the basic input and output system.
9. A server startup management device, characterized in that: include: Memory for storing computer programs; A processor is used to execute the computer program to implement the steps of the server startup management method according to any one of claims 1 to 7.
10. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the steps of the server startup management method according to any one of claims 1 to 7 are implemented.
Citation Information
Patent Citations
Server power supply abnormity monitoring method and system and storage medium
CN114816022A
Information processing method and device, electronic equipment and storage medium
CN116679992A
Switching judgment method and device for flash memory of double basic input and output system
CN117032813A
Failure information acquisition method and information processing device
JP2015230521A