Server diagnostic method, device, electronic device, and storage medium
By integrating diagnostic tools in BMC's Flash storage space and target storage space, combining UEFI and BMC communication, the problem of server diagnostic tool capacity limitation is solved, and efficient diagnosis in different environments is achieved, cost reduction and remote operation is supported.
Patent Information
- Application Number
- CN202211210135.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-09-30
- Publication Date
- 2025-08-29
- Estimated Expiration
- 2042-09-30
AI Technical Summary
Due to Flash capacity limitations, existing server diagnostic tools cannot accommodate complex tools, resulting in increased costs.
Integrate diagnostic tools into BMC's Flash storage space and/or target storage space, communicate with BMC through UEFI, and select the integrated location and usage of the diagnostic toolset according to the server environment, including BMC firmware, SD card or RAM memory.
Performing server diagnostics in different diagnostic environments saves the cost of replacing large-capacity Flash, supports the integration and update of complex tool sets, and meets the needs of unattended scenarios.
Smart Images

Figure CN115525491B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of servers, and in particular to a server diagnosis method, device, electronic equipment and storage medium. Background Art
[0002] When problems arise during server motherboard testing or server deployment, it's necessary to diagnose the server's hardware status, peripherals, and network environment. This environment typically doesn't have an operating system installed, so a specialized diagnostic solution is required.
[0003] Currently, diagnostics are typically performed using specialized diagnostic tools developed for the UEFI environment. For example, UEFI in typical personal computers provides such a program, which can be accessed via a hotkey during the boot process to diagnose the computer's memory, hard drive, and other parameters. Alternatively, a diskless system can be booted by mounting an operating system image via a USB flash drive, network, or BMC, and executing the diagnostic program within the operating system.
[0004] However, the diagnostic tools in current diagnostic solutions need to be integrated into UEFI. Due to Flash capacity limitations, they can usually only accommodate smaller tools. To accommodate more complex tools, larger-capacity Flash needs to be replaced, which increases costs. Summary of the Invention
[0005] The present invention provides a server diagnostic method, device, electronic device and storage medium to address the above-mentioned defects in the prior art, integrate diagnostic tools into the Flash storage space and / or target storage space of the BMC or the target storage space, and enable server diagnosis in different diagnostic environments.
[0006] The present invention provides a server diagnosis method, which is applied to a server, wherein the server includes a unified extensible firmware interface UEFI and a baseboard management controller BMC, and the method includes:
[0007] The UEFI requests the BMC to confirm a target diagnostic tool;
[0008] Based on the server environment, the UEFI runs the target diagnostic tool to perform server diagnosis;
[0009] The target diagnostic tool is identified from a diagnostic tool set, and the diagnostic tool set is integrated into the Flash storage space and / or the target storage space of the BMC.
[0010] According to a server diagnostic method provided by the present invention, the integration method of the diagnostic tool set includes:
[0011] In the case that the Flash storage space of the BMC is sufficient, the diagnostic tool set is integrated into the BMC firmware;
[0012] Based on the synchronous release of the BMC firmware, the diagnostic tool set is refreshed and integrated into the Flash storage space.
[0013] According to a server diagnostic method provided by the present invention, the integration method of the diagnostic tool set includes:
[0014] When the Flash storage space of the BMC is insufficient, uploading a diagnostic tool to the BMC via the network;
[0015] The BMC forms the received diagnostic tools into the diagnostic tool set, and integrates the diagnostic tool set into an SD card or a memory.
[0016] According to a server diagnostic method provided by the present invention, before the UEFI sends a request to the BMC, the method further includes:
[0017] When the host is started, a communication connection between the UEFI and the BMC is established through the intelligent platform management interface IPMI, and the UEFI queries and confirms the status of the diagnostic tool set.
[0018] According to a server diagnostic method provided by the present invention, before the UEFI sends a request to the BMC, the method further includes:
[0019] Receiving an IPMI instruction sent by a user to the BMC via a network, and setting a startup option based on the user's input, wherein the startup option is used to execute the diagnostic tool the next time the diagnostic tool is started;
[0020] Execute host startup and establish a communication connection between the UEFI and the BMC through IPMI;
[0021] The UEFI queries the startup options to confirm the status of the diagnostic toolset.
[0022] According to a server diagnostic method provided by the present invention, the UEFI requests the BMC to confirm a target diagnostic tool, including:
[0023] The UEFI sends a request to the BMC;
[0024] The BMC determines an integrated location of the diagnostic toolset based on the request, and returns the diagnostic toolset in the integrated location to the UEFI;
[0025] The UEFI confirms the target diagnostic tool based on the diagnostic tool set returned by the BMC.
[0026] According to a server diagnostic method provided by the present invention, confirming the diagnostic tool set based on the integrated location and returning the diagnostic tool set to the UEFI includes:
[0027] In a case where a diagnostic toolset exists in the target storage space, the diagnostic toolset in the target storage space is returned to the UEFI.
[0028] According to a server diagnostic method provided by the present invention, confirming the diagnostic tool set based on the integrated location and returning the diagnostic tool set to the UEFI includes:
[0029] In a case where the diagnostic tool set does not exist in the target storage space, the diagnostic tool set in the Flash storage space of the BMC is returned to the UEFI.
[0030] According to a server diagnosis method provided by the present invention, based on the server environment, the UEFI runs the target diagnostic tool to perform server diagnosis, including:
[0031] In the case where the server environment is UEFI, the UEFI directly loads and runs the target diagnostic tool in the virtual memory disk to perform server diagnosis;
[0032] In a case where the server environment is an OS output system, the UEFI creates a virtual memory disk, and saves the environment of the OS output system and the target diagnostic tool to the virtual memory disk;
[0033] Create a startup item and set it as this startup, load and run the target diagnostic tool in the virtual memory disk to perform server diagnosis.
[0034] The present invention further provides a server diagnostic device, which is applied to a server, wherein the server includes a unified extensible firmware interface UEFI and a baseboard management controller BMC, and the server diagnostic device includes:
[0035] a request module, configured to enable the UEFI to request the BMC to confirm a target diagnostic tool;
[0036] A diagnostic module, configured to enable the UEFI to run the target diagnostic tool to perform server diagnosis based on the server environment;
[0037] The target diagnostic tool is identified from a diagnostic tool set, and the diagnostic tool set is integrated into the Flash storage space and / or the target storage space of the BMC.
[0038] The present invention also provides an electronic device, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein when the processor executes the program, any of the server diagnostic methods described above is implemented.
[0039] The present invention also provides a non-transitory computer-readable storage medium having a computer program stored thereon, which implements any of the above-mentioned server diagnostic methods when executed by a processor.
[0040] The present invention also provides a computer program product, comprising a computer program, wherein when the computer program is executed by a processor, the server diagnosis method described above is implemented.
[0041] The server diagnostic method, apparatus, electronic device, and storage medium provided by the present invention request confirmation of a target diagnostic tool from the BMC via UEFI. Based on the server environment, UEFI then runs the target diagnostic tool to perform server diagnostics. The target diagnostic tool is identified from a diagnostic tool set integrated into the BMC firmware or target storage space. By integrating the diagnostic tool into the BMC's Flash storage space and / or the target storage space, or within the target storage space, the present invention enables server diagnostics in various diagnostic environments. BRIEF DESCRIPTION OF THE DRAWINGS
[0042] In order to more clearly illustrate the technical solutions in the present invention or the prior art, a brief introduction is given below to the drawings required for use in the embodiments or the description of the prior art. Obviously, the drawings described below are some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.
[0043] Figure 1 It is a flow chart of the server diagnosis method provided by the present invention;
[0044] Figure 2 is a schematic diagram of server interaction of the server diagnostic method provided by the present invention;
[0045] Figure 3 It is a structural diagram of the server diagnostic device provided by the present invention;
[0046] Figure 4 It is a structural schematic diagram of the electronic device provided by the present invention. DETAILED DESCRIPTION
[0047] To make the objectives, technical solutions, and advantages of the present invention more clear, the technical solutions of the present invention will be clearly and completely described below in conjunction with the accompanying drawings. Obviously, the embodiments described are only some of the embodiments of the present invention, not all of them. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without making creative efforts shall fall within the scope of protection of the present invention.
[0048] Reference Figure 1 The present invention provides a server diagnostic method, which is applied to a server, wherein the server includes a unified extensible firmware interface UEFI and a baseboard management controller BMC, and the method includes:
[0049] Step 110: The UEFI requests the BMC to confirm a target diagnostic tool.
[0050] Step 120: Based on the server environment, the UEFI runs the target diagnostic tool to perform server diagnosis;
[0051] The target diagnostic tool is identified from a diagnostic tool set, and the diagnostic tool set is integrated into the Flash storage space and / or the target storage space of the BMC.
[0052] First of all, it should be noted that the execution subject of the server diagnostic method provided by the present invention can be an electronic device, a component in an electronic device, an integrated circuit, or a chip. The electronic device can be a mobile electronic device or a non-mobile electronic device. For example, the mobile electronic device can be a mobile phone, a tablet computer, a laptop computer, a PDA, an ultra-mobile personal computer (UMPC), a netbook or a personal digital assistant (PDA), etc., and the non-mobile electronic device can be a server, a network attached storage (NAS) or a personal computer (PC), etc., which is not specifically limited by the present invention. The following describes in detail the various steps of the present invention by using a computer to execute the server diagnostic method provided by the present invention.
[0053] The server in this embodiment includes at least a unified extensible firmware interface UEFI and a baseboard management controller BMC.
[0054] The Unified Extensible Firmware Interface (UEFI) is a personal computer system specification that defines the software interface between the operating system and system firmware, serving as an alternative to BIOS. The UEFI is responsible for the power-on self-test (POST), communicating with the operating system, and providing an interface between the operating system and the hardware.
[0055] The baseboard management controller (BMC) can perform firmware upgrades, check machine devices, and other operations on the machine when the machine is not turned on.
[0056] In step 110, UEFI requests BMC to confirm the target diagnostic tool. In other words, UEFI confirms that a diagnostic tool is used to perform server diagnosis, which requires BMC confirmation.
[0057] This can be reflected in that, when the host is started, the UEFI sends a request to the BMC on-site to obtain the diagnostic tool to be executed.
[0058] It can also be reflected in that the user sends a request to the BMC through remote control of UEFI to obtain the diagnostic tool to be executed.
[0059] In step 120, it is determined whether the server environment is a UEFI environment or another environment, such as a Basic Input / Output System (BIOS) environment, such as a Windows environment or a Linux environment.
[0060] After confirming the server environment, run the target diagnostic tool through UEFI to perform server diagnostics. The target diagnostic tool is used differently in different server environments. For example, if the server environment is a UEFI environment, the diagnostic tool can be directly loaded and performed through UEFI. If the server is in another environment, a virtual memory disk Ramdisk can be created, and the diagnostic tool set and the OS system (Output System) environment can be saved to the Ramdisk and then loaded and performed through UEFI.
[0061] The server diagnostic method provided by an embodiment of the present invention uses UEFI to request confirmation of a target diagnostic tool from the BMC. Based on the server environment, UEFI then runs the target diagnostic tool to perform server diagnostics. The target diagnostic tool is identified from a diagnostic tool set integrated into the BMC firmware or target storage space. By integrating the diagnostic tool into the BMC's Flash storage space and / or the target storage space, or within the target storage space, the present invention enables server diagnostics in various diagnostic environments.
[0062] In one embodiment, the diagnostic tool set integration method includes:
[0063] In the case that the Flash storage space of the BMC is sufficient, the diagnostic tool set is integrated into the BMC firmware;
[0064] Based on the synchronous release of the BMC firmware, the diagnostic tool set is refreshed and integrated into the Flash storage space.
[0065] It can be understood that this example provides one implementation method of the integrated diagnostic tool set.
[0066] In this embodiment, the integration of the diagnostic tool set is determined based on the BMC's Flash storage space. If the BMC's Flash storage space is sufficient, the diagnostic tool set can be integrated into the BMC FW image. As the BMC FW is updated, the diagnostic tool set is refreshed to the BMC's Flash storage space.
[0067] In one embodiment, the diagnostic tool set integration method includes:
[0068] When the Flash storage space of the BMC is insufficient, uploading a diagnostic tool to the BMC via the network;
[0069] The BMC forms the received diagnostic tools into the diagnostic tool set, and integrates the diagnostic tool set into an SD card or a memory.
[0070] Specifically, this example provides a second implementation method for integrating a diagnostic tool set.
[0071] In this embodiment, the integration of the diagnostic toolset is determined based on the BMC's Flash storage space. If the BMC's Flash storage space is insufficient to accommodate the diagnostic toolset, but the diagnostic toolset is still available during BMC operation, the diagnostic toolset can be uploaded to the BMC via the network. After receiving the uploaded diagnostic toolset, the BMC integrates it into the target storage space, which can include an SD card or RAM.
[0072] The server diagnostic methods provided in this and the previous embodiments integrate the diagnostic toolset into the BMC's Flash storage space, an SD card, and RAM memory, respectively. This allows for flexible selection of the integration location based on the available Flash storage space. Therefore, when a more complex diagnostic toolset is needed, there's no need to replace the Flash memory with a larger capacity, thus saving costs. Furthermore, storing the diagnostic toolset in the SD card and RAM memory facilitates updates and upgrades.
[0073] In one embodiment, before the UEFI sends the request to the BMC, the method further includes:
[0074] When the host is started, a communication connection between the UEFI and the BMC is established through the intelligent platform management interface IPMI, and the UEFI queries and confirms the status of the diagnostic tool set.
[0075] It can be understood that this embodiment provides an implementation method for starting the host on-site and establishing a connection between the UEFI and the BMC.
[0076] In this embodiment, the user can establish a communication connection between UEFI and BMC through IPMI when the host is started, and then query and confirm the status of the diagnostic toolset through UEFI, that is, determine whether there is a diagnostic toolset available for selection.
[0077] IPMI (Intelligent Platform Management Interface) can span different operating systems, firmware, and hardware platforms, and can intelligently monitor, control, and automatically report the operating status of a large number of servers to reduce server system costs.
[0078] In one embodiment, before the UEFI sends the request to the BMC, the method further includes:
[0079] Receiving an IPMI instruction sent by a user to the BMC via a network, and setting a startup option based on the user's input, wherein the startup option is used to execute the diagnostic tool the next time the diagnostic tool is started;
[0080] Execute host startup and establish a communication connection between the UEFI and the BMC through IPMI;
[0081] The UEFI queries the startup options to confirm the status of the diagnostic toolset.
[0082] It can be understood that this embodiment provides an implementation method for remotely starting a host through a network and establishing a connection between UEFI and BMC.
[0083] First, the BMC receives the IPMI command sent by the user, sets the startup options in the BMC according to the user's input, and confirms that the diagnostic tool will be executed at the next startup.
[0084] Secondly, the host boots up and, after receiving the IPMI instruction, the BMC establishes communication with the UEFI.
[0085] Furthermore, UEFI queries the boot options to determine and confirm whether a diagnostic tool set is available for selection.
[0086] The server diagnostic method provided in this embodiment and the previous embodiment starts and establishes a communication connection through on-site and remote control of the host, so there are more options for server diagnosis, and remote control is more convenient for users to operate. Therefore, the deployment, execution, operation, and update of the diagnostic tool set can all be performed remotely in batches, which can meet the needs of unattended scenarios.
[0087] In one embodiment, the UEFI requests the BMC to confirm a target diagnostic tool, including:
[0088] The UEFI sends a request to the BMC;
[0089] The BMC determines an integrated location of the diagnostic toolset based on the request, and returns the diagnostic toolset in the integrated location to the UEFI;
[0090] The UEFI confirms the target diagnostic tool based on the diagnostic tool set returned by the BMC.
[0091] It can be understood that this embodiment provides a method for confirming a target diagnostic toolset.
[0092] First, UEFI needs to send a request to the BMC. The request is used to make the BMC confirm that UEFI needs a diagnostic toolset to perform server diagnosis, and to select a target diagnostic tool corresponding to the request from the diagnostic toolset.
[0093] After receiving the request, the BMC needs to confirm the integration location of the diagnostic toolset. As described in the above embodiment, the diagnostic toolset can be integrated into the flash storage space, SD card, or RAM storage. After confirming the integration location, the diagnostic toolset is confirmed and returned to the UEFI for selection.
[0094] Finally, UEFI can confirm the target diagnostic tool from the returned diagnostic tool set based on the startup item selected by the user or the input command to diagnose the server.
[0095] It should be noted that, in a specific application scenario, the default integration location of the diagnostic tool set is the Flash storage space, and the integration location of the updated diagnostic tool set is the SD card or RAM memory.
[0096] The server diagnostic method provided in this embodiment confirms that the integrated location of the diagnostic toolset corresponds to the diagnostic toolset, and then returns the diagnostic toolset to UEFI. UEFI confirms the target diagnostic tool to perform server diagnosis based on the user's input options, thereby meeting various different needs and selecting diagnostic toolsets in different integrated locations for server diagnosis.
[0097] In one embodiment, confirming the diagnostic toolset based on the integrated location and returning the diagnostic toolset to the UEFI includes:
[0098] In a case where a diagnostic toolset exists in the target storage space, the diagnostic toolset in the target storage space is returned to the UEFI.
[0099] In a case where the diagnostic tool set does not exist in the target storage space, the diagnostic tool set in the Flash storage space of the BMC is returned to the UEFI.
[0100] It is understood that this embodiment uses the target storage space (SD card or RAM storage space) as the preferred diagnostic tool set for execution. That is, when the diagnostic tool set is integrated into the SD card or RAM storage space, the diagnostic tool set in the SD card or RAM storage space is returned; when the diagnostic tool set is not integrated into the SD card or RAM storage space, the diagnostic tool set in the BMC's Flash storage space is returned.
[0101] The server diagnostic method provided in this embodiment sets the priority of the diagnostic tool set selection, and gives priority to the diagnostic tool set in the SD card or RAM storage space. Since the diagnostic tool set in the SD card or RAM storage space can be continuously updated, the updated diagnostic tool set can be given priority for server diagnosis. The diagnostic tool selection can be carried out according to the server system upgrade, thereby improving the server diagnosis efficiency.
[0102] In one embodiment, based on the server environment, the UEFI runs the target diagnostic tool to perform server diagnosis, including:
[0103] In the case where the server environment is UEFI, the UEFI directly loads and runs the target diagnostic tool in the virtual memory disk to perform server diagnosis;
[0104] In a case where the server environment is an OS output system, the UEFI creates a virtual memory disk, and saves the environment of the OS output system and the target diagnostic tool to the virtual memory disk;
[0105] Create a startup item and set it as this startup, load and run the target diagnostic tool in the virtual memory disk to perform server diagnosis.
[0106] It can be understood that this embodiment provides an implementation method for confirming how UEFI performs diagnosis according to a service environment.
[0107] After confirming the server environment, you need to run the target diagnostic tool through UEFI to perform server diagnostics. The target diagnostic tool can be used in different ways depending on the server environment, including two different methods.
[0108] 1. If the server environment is UEFI, you can directly load the diagnostic tool and perform diagnosis through UEFI.
[0109] 2. If the server is in another environment, you can create a virtual memory disk Ramdisk, save the diagnostic tool set and the OS system (Output System) environment to the Ramdisk, and then load the diagnostic tool through UEFI to perform diagnosis.
[0110] For example, for tools in a Windows environment, you can boot the WinPE environment, and for tools in a Linux environment, you can boot LiveOS.
[0111] The server diagnostic method provided by the embodiment of the present invention performs server diagnostics by using UEFI to execute diagnostic tools in different ways under different service environments. This embodiment has only minimal dependence on the server's hardware environment and can be used in various diagnostic scenarios of the server.
[0112] Reference Figure 2 , Figure 2 A server interaction diagram of the server diagnostic method provided by the present invention is provided, which includes: a host 210, a BMC module 220, a Flash storage space 230, and an SD card / memory 240.
[0113] Host 210 and BMC module 220 are connected via an LPC bus or eSPI bus, establishing communication based on PCIe. BMC module 220 connects to the outside world via a network. Flash storage space 230 includes UEFI tools, an OS environment, tool 1, and an OS environment, tool 2. SD card / memory 240 also includes UEFI tools, an OS environment, tool 1, and an OS environment, tool 2.
[0114] The Flash storage space 230 is a default diagnostic tool set, and the SD card / memory 240 is an updated diagnostic tool set.
[0115] The server diagnostic device provided by the present invention is described below. The server diagnostic device described below and the server diagnostic method described above can be referenced to each other.
[0116] Reference Figure 3 The present invention provides a server diagnostic device, which is applied to a server. The server includes a unified extensible firmware interface UEFI and a baseboard management controller BMC. The server diagnostic device includes:
[0117] A request module 310 is configured to enable the UEFI to request the BMC to confirm a target diagnostic tool;
[0118] The diagnostic module 320 is configured to enable the UEFI to run the target diagnostic tool to perform server diagnosis based on the server environment;
[0119] The target diagnostic tool is identified from a diagnostic tool set, and the diagnostic tool set is integrated into the Flash storage space and / or the target storage space of the BMC.
[0120] The server in this embodiment includes at least a unified extensible firmware interface UEFI and a baseboard management controller BMC.
[0121] The Unified Extensible Firmware Interface (UEFI) is a personal computer system specification that defines the software interface between the operating system and system firmware, serving as an alternative to BIOS. The UEFI is responsible for the power-on self-test (POST), communicating with the operating system, and providing an interface between the operating system and the hardware.
[0122] The baseboard management controller (BMC) can perform firmware upgrades, check machine devices, and other operations on the machine when the machine is not turned on.
[0123] In the request module 310, the UEFI requests the BMC to confirm the target diagnostic tool. In other words, the UEFI confirms that the server diagnosis should be performed using a certain diagnostic tool, which requires confirmation from the BMC.
[0124] This can be reflected in that, when the host is started, the UEFI sends a request to the BMC on-site to obtain the diagnostic tool to be executed.
[0125] It can also be reflected in that the user sends a request to the BMC through remote control of UEFI to obtain the diagnostic tool to be executed.
[0126] In the diagnosis module 320, it is determined whether the server environment is a UEFI environment or another environment, such as a Basic Input / Output System (BIOS) environment, such as a Windows environment or a Linux environment.
[0127] After confirming the server environment, run the target diagnostic tool through UEFI to perform server diagnostics. The target diagnostic tool is used differently in different server environments. For example, if the server environment is a UEFI environment, the diagnostic tool can be directly loaded and performed through UEFI. If the server is in another environment, a virtual memory disk Ramdisk can be created, and the diagnostic tool set and the OS system (Output System) environment can be saved to the Ramdisk and then loaded and performed through UEFI.
[0128] The server diagnostic device provided by an embodiment of the present invention requests the BMC to confirm a target diagnostic tool through UEFI. Based on the server environment, UEFI then runs the target diagnostic tool to perform server diagnostics. The target diagnostic tool is identified from a diagnostic tool set integrated into the BMC firmware or target storage space. By integrating the diagnostic tool into the BMC's Flash storage space and / or the target storage space, or within the target storage space, the present invention enables server diagnostics in various diagnostic environments.
[0129] In one embodiment, the diagnostic tool set integration method includes:
[0130] In the case that the Flash storage space of the BMC is sufficient, the diagnostic tool set is integrated into the BMC firmware;
[0131] Based on the synchronous release of the BMC firmware, the diagnostic tool set is refreshed and integrated into the Flash storage space.
[0132] It can be understood that this example provides one implementation method of the integrated diagnostic tool set.
[0133] In this embodiment, the integration of the diagnostic tool set is determined based on the BMC's Flash storage space. If the BMC's Flash storage space is sufficient, the diagnostic tool set can be integrated into the BMC FW image. As the BMC FW is updated, the diagnostic tool set is refreshed to the BMC's Flash storage space.
[0134] In one embodiment, the diagnostic tool set integration method includes:
[0135] When the Flash storage space of the BMC is insufficient, uploading a diagnostic tool to the BMC via the network;
[0136] The BMC forms the received diagnostic tools into the diagnostic tool set, and integrates the diagnostic tool set into an SD card or a memory.
[0137] Specifically, this example provides a second implementation method for integrating a diagnostic tool set.
[0138] In this embodiment, the integration of the diagnostic toolset is determined based on the BMC's Flash storage space. If the BMC's Flash storage space is insufficient to accommodate the diagnostic toolset, but the diagnostic toolset is still available during BMC operation, the diagnostic toolset can be uploaded to the BMC via the network. After receiving the uploaded diagnostic toolset, the BMC integrates it into the target storage space, which can include an SD card or RAM.
[0139] The server diagnostic device provided in this embodiment and the previous embodiment integrates the diagnostic toolset into the BMC's Flash storage space, an SD card, and RAM memory, respectively. This allows for flexible selection of the integration location based on the available Flash storage space. Therefore, when a more complex diagnostic toolset is needed, there's no need to replace the Flash memory with a larger capacity, thus saving costs. Furthermore, storing the diagnostic toolset in the SD card and RAM memory facilitates updates and upgrades.
[0140] In one embodiment, the device further comprises a field control module, wherein the field control module is configured to:
[0141] When the host is started, a communication connection between the UEFI and the BMC is established through the intelligent platform management interface IPMI, and the UEFI queries and confirms the status of the diagnostic tool set.
[0142] It can be understood that this embodiment provides an implementation method for starting the host on-site and establishing a connection between the UEFI and the BMC.
[0143] In this embodiment, the user can establish a communication connection between UEFI and BMC through IPMI when the host is started, and then query and confirm the status of the diagnostic toolset through UEFI, that is, determine whether there is a diagnostic toolset available for selection.
[0144] IPMI (Intelligent Platform Management Interface) can span different operating systems, firmware, and hardware platforms, and can intelligently monitor, control, and automatically report the operating status of a large number of servers to reduce server system costs.
[0145] In one embodiment, the device further comprises a remote control module, wherein the remote control module is configured to:
[0146] Receiving an IPMI instruction sent by a user to the BMC via a network, and setting a startup option based on the user's input, wherein the startup option is used to execute the diagnostic tool the next time the diagnostic tool is started;
[0147] Execute host startup and establish a communication connection between the UEFI and the BMC through IPMI;
[0148] The UEFI queries the startup options to confirm the status of the diagnostic toolset.
[0149] It can be understood that this embodiment provides an implementation method for remotely starting a host through a network and establishing a connection between UEFI and BMC.
[0150] First, the BMC receives the IPMI command sent by the user, sets the startup options in the BMC according to the user's input, and confirms that the diagnostic tool will be executed at the next startup.
[0151] Secondly, the host boots up and, after receiving the IPMI instruction, the BMC establishes communication with the UEFI.
[0152] Furthermore, UEFI queries the boot options to determine and confirm whether a diagnostic tool set is available for selection.
[0153] The server diagnostic device provided in this embodiment and the previous embodiment starts and establishes a communication connection through on-site and remote control of the host, so there are more options for server diagnosis, and remote control is more convenient for users to operate. Therefore, the deployment, execution, operation, and update of the diagnostic tool set can all be performed remotely in batches, which can meet the needs of unattended scenarios.
[0154] In one embodiment, the request module is specifically configured to:
[0155] The UEFI sends a request to the BMC;
[0156] The BMC determines an integrated location of the diagnostic toolset based on the request, and returns the diagnostic toolset in the integrated location to the UEFI;
[0157] The UEFI confirms the target diagnostic tool based on the diagnostic tool set returned by the BMC.
[0158] It can be understood that this embodiment provides a method for confirming a target diagnostic toolset.
[0159] First, UEFI needs to send a request to the BMC. The request is used to make the BMC confirm that UEFI needs a diagnostic toolset to perform server diagnosis, and to select a target diagnostic tool corresponding to the request from the diagnostic toolset.
[0160] After receiving the request, the BMC needs to confirm the integration location of the diagnostic toolset. As described in the above embodiment, the diagnostic toolset can be integrated into the flash storage space, SD card, or RAM storage. After confirming the integration location, the diagnostic toolset is confirmed and returned to the UEFI for selection.
[0161] Finally, UEFI can confirm the target diagnostic tool from the returned diagnostic tool set based on the startup item selected by the user or the input command to diagnose the server.
[0162] It should be noted that, in a specific application scenario, the default integration location of the diagnostic tool set is the Flash storage space, and the integration location of the updated diagnostic tool set is the SD card or RAM memory.
[0163] The server diagnostic device provided in this embodiment confirms that the integrated location of the diagnostic tool set corresponds to the diagnostic tool set, and then returns the diagnostic tool set to UEFI. UEFI confirms the target diagnostic tool to perform server diagnosis based on the user's input options, thereby meeting various different needs and selecting diagnostic tool sets in different integrated locations for server diagnosis.
[0164] In one embodiment, the request module is specifically configured to:
[0165] In a case where a diagnostic toolset exists in the target storage space, the diagnostic toolset in the target storage space is returned to the UEFI.
[0166] In one embodiment, the request module is specifically configured to:
[0167] In a case where the diagnostic tool set does not exist in the target storage space, the diagnostic tool set in the Flash storage space of the BMC is returned to the UEFI.
[0168] It is understood that this embodiment uses the target storage space (SD card or RAM storage space) as the preferred diagnostic tool set for execution. That is, when the diagnostic tool set is integrated into the SD card or RAM storage space, the diagnostic tool set in the SD card or RAM storage space is returned; when the diagnostic tool set is not integrated into the SD card or RAM storage space, the diagnostic tool set in the BMC's Flash storage space is returned.
[0169] The server diagnostic device provided in this embodiment sets the priority of the diagnostic tool set selection and gives priority to the diagnostic tool set in the SD card or RAM storage space. Since the diagnostic tool set in the SD card or RAM storage space can be continuously updated, the updated diagnostic tool set can be given priority for server diagnosis. The diagnostic tool selection can be carried out according to the server system upgrade, thereby improving the server diagnosis efficiency.
[0170] In one embodiment, the diagnostic module is specifically configured to:
[0171] In the case where the server environment is UEFI, the UEFI directly loads and runs the target diagnostic tool in the virtual memory disk to perform server diagnosis;
[0172] In a case where the server environment is an OS output system, the UEFI creates a virtual memory disk, and saves the environment of the OS output system and the target diagnostic tool to the virtual memory disk;
[0173] Create a startup item and set it as this startup, load and run the target diagnostic tool in the virtual memory disk to perform server diagnosis.
[0174] It can be understood that this embodiment provides an implementation method for confirming how UEFI performs diagnosis according to a service environment.
[0175] After confirming the server environment, you need to run the target diagnostic tool through UEFI to perform server diagnostics. The target diagnostic tool can be used in different ways depending on the server environment, including two different methods.
[0176] 1. If the server environment is UEFI, you can directly load the diagnostic tool and perform diagnosis through UEFI.
[0177] 2. If the server is in another environment, you can create a virtual memory disk Ramdisk, save the diagnostic tool set and the OS system (Output System) environment to the Ramdisk, and then load the diagnostic tool through UEFI to perform diagnosis.
[0178] For example, for tools in a Windows environment, you can boot the WinPE environment, and for tools in a Linux environment, you can boot LiveOS.
[0179] The server diagnostic device provided by the embodiment of the present invention performs server diagnosis by using UEFI to execute diagnostic tools in different ways under different service environments. This embodiment has only minimal dependence on the server's hardware environment and can be used in various diagnostic scenarios of the server.
[0180] Figure 4 An example of a physical structure diagram of an electronic device is shown below. Figure 4 As shown, the electronic device may include: a processor 410, a communication interface 420, a memory 430, and a communication bus 440, wherein the processor 410, the communication interface 420, and the memory 430 communicate with each other via the communication bus 440. The processor 410 may call the logic instructions in the memory 430 to execute the server diagnosis method, which includes:
[0181] The UEFI requests the BMC to confirm a target diagnostic tool;
[0182] Based on the server environment, the UEFI runs the target diagnostic tool to perform server diagnosis;
[0183] The target diagnostic tool is identified from a diagnostic tool set, and the diagnostic tool set is integrated into the Flash storage space and / or the target storage space of the BMC.
[0184] In addition, the logic instructions in the above-mentioned memory 430 can be implemented in the form of a software functional unit and can be stored in a computer-readable storage medium when sold or used as an independent product. Based on this understanding, the technical solution of the present invention, or the part that contributes to the prior art, or the part of the technical solution, can be embodied in the form of a software product. The computer software product is stored in a storage medium and includes several instructions for enabling a computer device (which can be a personal computer, a server, or a network device, etc.) to perform all or part of the steps of the method described in each embodiment of the present invention. The aforementioned storage medium includes: various media that can store program codes, such as a USB flash drive, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk.
[0185] In another aspect, the present invention further provides a computer program product, comprising a computer program. The computer program may be stored on a non-transitory computer-readable storage medium. When the computer program is executed by a processor, the computer can perform the server diagnostic method provided by each of the above methods, the method comprising:
[0186] The UEFI requests the BMC to confirm a target diagnostic tool;
[0187] Based on the server environment, the UEFI runs the target diagnostic tool to perform server diagnosis;
[0188] The target diagnostic tool is identified from a diagnostic tool set, and the diagnostic tool set is integrated into the Flash storage space and / or the target storage space of the BMC.
[0189] In another aspect, the present invention further provides a non-transitory computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, is implemented to perform the server diagnostic method provided by the above methods, the method comprising:
[0190] The UEFI requests the BMC to confirm a target diagnostic tool;
[0191] Based on the server environment, the UEFI runs the target diagnostic tool to perform server diagnosis;
[0192] The target diagnostic tool is identified from a diagnostic tool set, and the diagnostic tool set is integrated into the Flash storage space and / or the target storage space of the BMC.
[0193] The device embodiments described above are merely illustrative. The units described as separate components may or may not be physically separate, and the components shown as units may or may not be physical units, i.e., they may be located in one location or distributed across multiple network units. Some or all of the modules may be selected based on actual needs to achieve the objectives of the present embodiment. Persons of ordinary skill in the art will be able to understand and implement the present invention without inventive effort.
[0194] Through the description of the above embodiments, those skilled in the art can clearly understand that each embodiment can be implemented by means of software plus a necessary general hardware platform, or of course, by hardware. Based on this understanding, the essence of the above technical solution or the part that contributes to the existing technology can be embodied in the form of a software product. The computer software product can be stored in a computer-readable storage medium, such as ROM / RAM, a magnetic disk, an optical disk, etc., and includes a number of instructions for enabling a computer device (which can be a personal computer, a server, or a network device, etc.) to execute the methods described in each embodiment or certain parts of the embodiments.
[0195] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, rather than to limit it. Although the present invention has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or make equivalent replacements for some of the technical features therein. However, these modifications or replacements do not deviate the essence of the corresponding technical solutions from the spirit and scope of the technical solutions of the various embodiments of the present invention.
Claims
1. A server diagnostic method, characterized in that: Applied to a server, the server including a unified extensible firmware interface UEFI and a baseboard management controller BMC, the method comprising: The UEFI requests the BMC to confirm a target diagnostic tool; Based on the server environment, the UEFI runs the target diagnostic tool to perform server diagnosis; The target diagnostic tool is identified from a diagnostic tool set, and the diagnostic tool set is integrated into the Flash storage space and / or the target storage space of the BMC; The UEFI requests the BMC to confirm a target diagnostic tool, including: The UEFI sends a request to the BMC; The BMC determines an integrated location of the diagnostic toolset based on the request, and returns the diagnostic toolset in the integrated location to the UEFI; The UEFI confirms the target diagnostic tool based on the diagnostic tool set returned by the BMC; Based on the server environment, the UEFI runs the target diagnostic tool to perform server diagnosis, including: In the case where the server environment is UEFI, the UEFI directly loads and runs the target diagnostic tool in the virtual memory disk to perform server diagnosis; In a case where the server environment is an OS output system, the UEFI creates a virtual memory disk, and saves the environment of the OS output system and the target diagnostic tool to the virtual memory disk; Create a startup item and set it as this startup, load and run the target diagnostic tool in the virtual memory disk to perform server diagnosis.
2. The server diagnosis method according to claim 1, wherein: The integration method of the diagnostic toolset includes: In the case that the Flash storage space of the BMC is sufficient, the diagnostic tool set is integrated into the BMC firmware; Based on the synchronous release of the BMC firmware, the diagnostic tool set is refreshed and integrated into the Flash storage space.
3. The server diagnosis method according to claim 1, wherein: The integration method of the diagnostic toolset includes: When the Flash storage space of the BMC is insufficient, uploading a diagnostic tool to the BMC via the network; The BMC forms the received diagnostic tools into the diagnostic tool set, and integrates the diagnostic tool set into an SD card or a memory.
4. The server diagnosis method according to claim 1, wherein: Before the UEFI sends the request to the BMC, the method further includes: When the host is started, a communication connection between the UEFI and the BMC is established through the intelligent platform management interface IPMI, and the UEFI queries and confirms the status of the diagnostic tool set.
5. The server diagnosis method according to claim 1, wherein: Before the UEFI sends the request to the BMC, the method further includes: Receiving an IPMI instruction sent by a user to the BMC via a network, and setting a startup option based on the user's input, wherein the startup option is used to execute the diagnostic tool the next time the diagnostic tool is started; Execute host startup and establish a communication connection between the UEFI and the BMC through IPMI; The UEFI queries the startup options to confirm the status of the diagnostic toolset.
6. The server diagnosis method according to claim 1, wherein: The confirming the diagnostic toolset based on the integrated location and returning the diagnostic toolset to the UEFI includes: In a case where a diagnostic toolset exists in the target storage space, the diagnostic toolset in the target storage space is returned to the UEFI.
7. The server diagnosis method according to claim 1, wherein: The confirming the diagnostic toolset based on the integrated location and returning the diagnostic toolset to the UEFI includes: In a case where the diagnostic tool set does not exist in the target storage space, the diagnostic tool set in the Flash storage space of the BMC is returned to the UEFI.
8. A server diagnostic device, characterized in that: Applied to a server, the server including a unified extensible firmware interface UEFI and a baseboard management controller BMC, the server diagnostic device including: a request module, configured to enable the UEFI to request the BMC to confirm a target diagnostic tool; A diagnostic module, configured to enable the UEFI to run the target diagnostic tool to perform server diagnosis based on the server environment; The target diagnostic tool is identified from a diagnostic tool set, and the diagnostic tool set is integrated into the Flash storage space and / or the target storage space of the BMC; The UEFI requests the BMC to confirm a target diagnostic tool, including: The UEFI sends a request to the BMC; The BMC determines an integrated location of the diagnostic toolset based on the request, and returns the diagnostic toolset in the integrated location to the UEFI; The UEFI confirms the target diagnostic tool based on the diagnostic tool set returned by the BMC; Based on the server environment, the UEFI runs the target diagnostic tool to perform server diagnosis, including: In the case where the server environment is UEFI, the UEFI directly loads and runs the target diagnostic tool in the virtual memory disk to perform server diagnosis; In a case where the server environment is an OS output system, the UEFI creates a virtual memory disk, and saves the environment of the OS output system and the target diagnostic tool to the virtual memory disk; Create a startup item and set it as this startup, load and run the target diagnostic tool in the virtual memory disk to perform server diagnosis.
9. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein: When the processor executes the program, the server diagnosis method according to any one of claims 1 to 7 is implemented.
10. A non-transitory computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the server diagnosis method according to any one of claims 1 to 7 is implemented.
Citation Information
Patent Citations
Server fault diagnosis system and method
CN106371958A
Diagnosis method and apparatus of servers, and machine readable storage medium
CN107544879A