Method and device for monitoring running state on server and electronic equipment

By deploying the second controller in the server, monitoring the connection status of the first controller and extracting operating information, the problem of low efficiency in monitoring the operating status of server components is solved, and efficient monitoring and fault tolerance are achieved when the BMC management module is abnormal.

CN119336573APending Publication Date: 2025-01-21INSPUR SUZHOU INTELLIGENT TECH CO LTD
View PDF 0 Cites 2 Cited by

Patent Information

Application Number
CN202411388635.3
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-09-30
Publication Date
2025-01-21

AI Technical Summary

Technical Problem

The operating status monitoring efficiency of server components is low, especially when the BMC management module is abnormal, the fault tolerance rate of the entire system is reduced, affecting the stability and flexibility of the server.

Method used

By deploying a second controller in the server, the controller is connected to the target server component to detect the connection status of the first controller, and in the case of disconnection, according to the target monitoring stage and the corresponding monitoring component, extracted from the server extraction from the server to extract Operation information to monitor the operating status of the part.

Benefits of technology

When the BMC management module is disconnected or abnormal, other controllers can be used to monitor the operating status of server components, thereby improving monitoring efficiency and improving the fault tolerance and flexibility of the system.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119336573A_ABST
    Figure CN119336573A_ABST
Patent Text Reader

Abstract

The embodiment of the invention provides a method and device for monitoring the running state on a server and electronic equipment, and the method comprises the steps: detecting the connection state of a first controller on a target server; when it is detected that the connection state is used for indicating disconnection of the first controller on the target server, the current target monitoring stage of the target server is detected; according to the target monitoring stage and a to-be-monitored target part corresponding to the target monitoring stage in the target server part, extracting target operation information of the target part from the target server; and monitoring a target operation state of the target component according to the target operation information. Through the application, the problem that the monitoring efficiency of the running state of the server component is relatively low is solved, and the effect of improving the monitoring efficiency of the running state of the server component is achieved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The embodiments of the present application relate to the field of computers, and in particular, to a method, device and electronic device for monitoring the running status of a server. Background Art

[0002] In the related art, the BMC (Baseboard Management Controller) management module can be used, but not limited to, to manage the server. The BMC management module needs to be configured in the server to enable the server to boot up normally. However, in some models that focus on IO (Input / Output) or storage, the BMC management module has fewer usage scenarios, resulting in redundant costs; and in the limited chassis space, whether the BMC management module is integrated in the motherboard or as a separate plug-in card, the space it occupies will inevitably compromise the peripheral expansion IO, affecting the flexible scalability in high-density servers; in addition, the BMC management module is a required module in ordinary application scenarios, and it cannot be booted without the management module. When an abnormality occurs in the management module (for example, BMC hangs, BMC refresh fails, etc.), the entire system is paralyzed, which reduces the fault tolerance of the entire system. Summary of the invention

[0003] The embodiments of the present application provide a method, device and electronic device for monitoring the operating status of a server, so as to at least solve the problem of low efficiency in monitoring the operating status of server components in the related art.

[0004] According to an embodiment of the present application, a method for monitoring the running status of a server is provided, wherein a target server is configured to monitor the running status of a deployed target server component through a first controller, a second controller is deployed in the target server, the second controller is connected to the target server component, the method is applied to the second controller, and the method comprises: detecting the connection status of the first controller on the target server, wherein the connection status is used to indicate the connection status of the first controller on the target server; in the case where it is detected that the connection status is used to indicate that the connection of the first controller on the target server is disconnected, detecting the target monitoring stage that the target server is currently in, wherein the target monitoring stage comprises a target startup stage of the target server and a target running stage of the target server; extracting target running information of the target component from the target server according to the target monitoring stage and the target component to be monitored corresponding to the target monitoring stage in the target server component; and monitoring the target running status of the target component according to the target running information.

[0005] In an exemplary embodiment, detecting the target monitoring stage that the target server is currently in includes: detecting the target operation process that the target server is currently in, wherein the target operation process includes the target startup process of the target server or the target operation process of the target server; filtering the target monitoring stage from the operation stages included in the target operation process, wherein the target startup stage included in the target startup process includes the target monitoring stage, or the target operation stage included in the target operation process includes the target monitoring stage.

[0006] In an exemplary embodiment, detecting the target operation process that the target server is currently in includes: extracting current operation information of the server, wherein the operation information is used to indicate the target operation currently performed by the server, and the target operation includes a startup operation of the target server or an operation operation of the target server; extracting the target operation process corresponding to the target operation from operations and operation processes with corresponding relationships.

[0007] In an exemplary embodiment, the target monitoring phase is selected from the operation phases included in the target operation process, including: when the target operation phase includes N operation phases, the target monitoring phase is selected from the N operation phases by executing the following steps, wherein N is a positive integer: detecting the Mth operation phase that the target server is currently in, wherein the N operation phases include the Mth operation phase, and M is a positive integer less than or equal to N; and determining the Mth operation phase as the target monitoring phase.

[0008] In an exemplary embodiment, the target operation information of the target component is extracted from the target server according to the target monitoring stage and the target component to be monitored corresponding to the target monitoring stage in the target server component, including: when the target monitoring stage includes the target operation stage of the target server and the target component includes a target bus device of the target server, the operation information of the target bus device is extracted from the target server to obtain the target operation information; when the target monitoring stage includes the target operation stage of the target server and the target component includes a target startup component of the target server, the operation information of the target startup component is extracted from the target server to obtain the target operation information.

[0009] In an exemplary embodiment, an information extraction component is deployed in the second controller, the information extraction component is connected to the target bus device, and the operation information of the target bus device is extracted from the target server to obtain the target operation information, including: detecting the target storage location of the target server for storing the operation information of the target bus device; extracting the data stored in the target storage location by the information extraction component to obtain the target operation information; a third controller is also deployed in the target server, the third controller is connected to the second controller, and the third controller is connected to the target startup component, and the operation information of the target startup component is extracted from the target server to obtain the target operation information, including: receiving the target protocol initiated by the third controller according to the target transmission protocol signal, wherein the second controller and the third controller are configured to transmit a protocol signal according to the target transmission protocol during the target startup process of the target server, the target protocol signal is used to indicate the operation information of the target startup component collected by the third controller, and the third controller is configured to allow the operation information of the target startup component to be extracted during the target startup process; in response to the received target protocol signal, the target protocol signal is parsed to obtain the target operation information; after the target protocol signal is parsed in response to the received target protocol signal to obtain the target operation information, the method further includes: obtaining a candidate information serial port corresponding to the target operation information from the operation information and the serial port having a corresponding relationship, and outputting the target operation information according to the candidate information serial port.

[0010] In an exemplary embodiment, a data serial port is deployed on the second controller, and the outputting of the target operation information according to the candidate information serial port includes: when the candidate information serial port includes P serial ports and the target operation information includes P groups of operation information corresponding to the P serial ports, outputting the i-th group of operation information corresponding to the i-th serial port among the P serial ports by executing the following steps, wherein P is a positive integer, i is a positive integer less than or equal to P, the P groups of operation information include operation information corresponding to P server components, and the target server components include the P server components: randomly selecting a target serial port from the P serial ports; and outputting the operation information corresponding to the target serial port in the P groups of operation information through the data serial port.

[0011] According to another embodiment of the present application, a device for monitoring the running status of a server is provided, wherein the target server is configured to monitor the running status of a deployed target server component through a first controller, a second controller is deployed in the target server, the second controller is connected to the target server component, the device is applied to the second controller, and the device comprises: a first detection module, for detecting the connection status of the first controller on the target server, wherein the connection status is used to indicate the connection status of the first controller on the target server; a second detection module, for detecting the target monitoring stage in which the target server is currently located when it is detected that the connection status indicates that the connection of the first controller on the target server is disconnected, wherein the target monitoring stage comprises a target startup stage of the target server and a target running stage of the target server; an extraction module, for extracting target running information of the target component from the target server according to the target monitoring stage and the target component to be monitored corresponding to the target monitoring stage in the target server component; and a monitoring module, for monitoring the target running status of the target component according to the target running information.

[0012] According to another embodiment of the present application, a computer-readable storage medium is provided, in which a computer program is stored, wherein the computer program is configured to execute the steps of any of the above method embodiments when run.

[0013] According to another embodiment of the present application, an electronic device is provided, including a memory and a processor, wherein the memory stores a computer program, and the processor is configured to run the computer program to execute the steps in any one of the above method embodiments.

[0014] According to another embodiment of the present application, a computer program product is provided, including a computer program, and when the computer program is executed by a processor, the steps in any of the above method embodiments are implemented.

[0015] Through the present application, the server may be but is not limited to being deployed with a controller for monitoring the operating status of the server components. When the controller is disconnected, it can be indicated that the server cannot monitor the operating status of the server components through the control. In this case, the operating status of the server components to be monitored can be determined by other controllers deployed in the server according to the extracted operating information of the server components to be monitored in the current monitoring stage of the server, but is not limited to. In this way, when the controller originally used to monitor the operating status of the server components is disconnected, the operating status of the server components can be monitored by other controllers in the server. Therefore, the problem of low efficiency in monitoring the operating status of the server components can be solved, and the effect of improving the efficiency of monitoring the operating status of the server components can be achieved. BRIEF DESCRIPTION OF THE DRAWINGS

[0016] Figure 1 It is a hardware structure block diagram of a server device of a method for monitoring the running status on a server according to an embodiment of the present application;

[0017] Figure 2 is a flow chart of a method for monitoring the running status on a server according to an embodiment of the present application;

[0018] Figure 3 It is a schematic diagram of an optional CPLD and a PCH communicating according to the ESPI protocol according to an embodiment of the present application;

[0019] Figure 4 is a schematic diagram of an optional monitoring architecture for the running status of a server according to an embodiment of the present application;

[0020] Figure 5 It is a structural block diagram of a device for monitoring the running status of a server according to an embodiment of the present application. DETAILED DESCRIPTION

[0021] The embodiments of the present application will be described in detail below with reference to the accompanying drawings and in combination with the embodiments.

[0022] It should be noted that the terms "first", "second", etc. in the specification and claims of this application and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence.

[0023] The method embodiments provided in the embodiments of the present application can be executed in a server device or a similar computing device. Taking running on a server device as an example, Figure 1 1 is a hardware structure block diagram of a server device of a method for monitoring the running status of a server in an embodiment of the present application. Figure 1 As shown, the server device may include one or more ( Figure 1Only one is shown in the figure) a processor 102 (the processor 102 may include but is not limited to a processing device such as a microprocessor MCU or a programmable logic unit FPGA) and a memory 104 for storing data, wherein the above-mentioned server device may also include a transmission device 106 and an input and output device 108 for communication functions. It can be understood by those skilled in the art that Figure 1 The structure shown is only for illustration and does not limit the structure of the above server device. Figure 1 More or fewer components as shown, or with Figure 1 Different configurations shown.

[0024] The memory 104 can be used to store computer programs, for example, software programs and modules of application software, such as the computer program corresponding to the method for monitoring the running status on the server in the embodiment of the present application. The processor 102 executes various functional applications and data processing by running the computer program stored in the memory 104, that is, to implement the above method. The memory 104 may include a high-speed random access memory, and may also include a non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some instances, the memory 104 may further include a memory remotely arranged relative to the processor 102, and these remote memories may be connected to the server device via a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.

[0025] The transmission device 106 is used to receive or send data via a network. The specific example of the above network may include a wireless network provided by a communication provider of the server device. In one example, the transmission device 106 includes a network adapter (Network Interface Controller, referred to as NIC), which can be connected to other network devices through a base station so as to communicate with the Internet. In one example, the transmission device 106 can be a radio frequency (RF) module, which is used to communicate with the Internet wirelessly.

[0026] In this embodiment, a method for monitoring the running status of a server is provided. A target server is configured to monitor the running status of a deployed target server component through a first controller. A second controller is deployed in the target server. The second controller is connected to the target server component. The method is applied to the second controller. Figure 2 is a flow chart of a method for monitoring the running status on a server according to an embodiment of the present application, such as Figure 2 As shown, the process includes the following steps:

[0027] Step S202 detects the connection status of the first controller on the target server, wherein the connection status is used to indicate the connection status of the first controller on the target server;

[0028] Step S204, in the case where it is detected that the connection state indicates that the connection of the first controller on the target server is disconnected, detecting the target monitoring phase that the target server is currently in, wherein the target monitoring phase includes a target startup phase of the target server and a target operation phase of the target server;

[0029] Step S206, extracting target operation information of the target component from the target server according to the target monitoring stage and the target component to be monitored corresponding to the target monitoring stage in the target server component;

[0030] Step S208: monitor the target operating state of the target component according to the target operating information.

[0031] Through the above steps, the server may be but is not limited to being deployed with a controller for monitoring the operating status of the server components. When the controller is disconnected, it can be indicated that the server cannot monitor the operating status of the server components through the control. In this case, the operating status of the server components to be monitored can be determined by other controllers deployed in the server, but is not limited to, according to the extracted operating information of the server components to be monitored in the current monitoring stage of the server. In this way, when the controller originally used to monitor the operating status of the server components is disconnected, the operating status of the server components can be monitored by other controllers in the server. Therefore, the problem of low efficiency in monitoring the operating status of the server components can be solved, and the effect of improving the efficiency of monitoring the operating status of the server components can be achieved.

[0032] In the technical solution provided in the above step S202, the connection status may be but is not limited to being used to indicate that the first controller is connected or disconnected, or the connection status may be but is not limited to being used to indicate that the first controller is not configured in the server, the first controller is configured in the server, and so on.

[0033] Optionally, in this embodiment, the target server component may include but is not limited to server components deployed in the server that may need to monitor the operating status. For example, the target server component may include but is not limited to bus devices, processors, etc. deployed in the server.

[0034] Optionally, in this embodiment, the server may be configured to monitor the operating status of the deployed server components through a first controller, the first controller may include but is not limited to a BMC deployed in the server, the server may be configured to cooperate with a central processing unit (CPU) through a platform controller (PCH) to perform input and output management, and the PCH chip may exchange data and control with network chips, audio chips and various interfaces through different buses, thereby providing support and communication for these components. The platform management is mainly based on the BMC management module, and the main functions of the BMCC management module may include but are not limited to:

[0035] ① Platform status management and monitoring: Use BMC to monitor the platform's operating status, such as temperature and power consumption, and record logs to provide debug auxiliary files.

[0036] ② Remote management and power management: BMC allows administrators to remotely access the server through the network for configuration and control without physical contact with the server. BMC has a power control function that can remotely turn on and off and restart the server to improve the availability and stability of the server.

[0037] ③UI interface: BMC is used to implement the output of related interfaces such as UART (Universal Asynchronous Receiver / Transmitter) and VGA (Video Graphics Array). Taking VGA as an example, BMC completes the PCIE-VGA protocol conversion to achieve image output.

[0038] Optionally, in this embodiment, the second controller includes a CPLD (Complex Programmable logic device) or an FPGA (Field Programmable Gate Array) deployed in the server, etc.

[0039] Optionally, in this embodiment, the first controller may be, but is not limited to, set to a pluggable state, and may be, but is not limited to, detecting the connection state of the first controller by detecting whether the first controller is in place. For example, when it is detected that the first controller is not in place, determining the connection state of the first controller is used to indicate that the connection of the first controller is disconnected; when it is detected that the first controller is in place, determining the connection state of the first controller is used to indicate that the connection of the first controller is not disconnected.

[0040] In the technical solution provided in the above step S204, when it is detected that the connection status is used to indicate that the connection of the first controller on the target server is not disconnected, the above method also includes: initiating a target negotiation request to the first controller, wherein the target negotiation request is used to request monitoring of the operating status of the target server component through the target controller, the target controller is the first controller or the second controller, and the operating status of the target server component is monitored through the target controller.

[0041] Optionally, in this embodiment, the monitoring phase of the operating status of the server components on the server may include, but is not limited to, a startup phase of the server and an operation phase of the server.

[0042] Optionally, in this embodiment, when it is detected that the connection status is used to indicate that the connection of the first controller on the target server is not disconnected, the first controller and the second controller may, but is not limited to, negotiate, and the first controller or the second controller may monitor the operating status of the target server components.

[0043] As an optional example, a switching component is deployed on the server, and the switching component is connected to the first controller and the second controller respectively. When it is detected that the connection state indicates that the connection of the first controller on the target server is not disconnected, and the target controller includes the second controller, the switching component may be used to switch to the second controller to monitor the operation state of the target server component, but is not limited to the switching component. For example, the switching component may include, but is not limited to, an arbitration component or a series resistor, etc.

[0044] In an exemplary embodiment, the target monitoring stage that the target server is currently in can be detected in the following manner but is not limited to: detecting the target operation process that the target server is currently in, wherein the target operation process includes the target startup process of the target server or the target operation process of the target server; filtering the target monitoring stage from the operation stages included in the target operation process, wherein the target startup stage included in the target startup process includes the target monitoring stage, or the target operation stage included in the target operation process includes the target monitoring stage.

[0045] Optionally, in this embodiment, the target startup process may be but not limited to including one or more startup phases, the target operation process may be but not limited to including one or more operation phases, the target monitoring phase may be but not limited to including one or more startup phases in the target startup phase, or the target monitoring phase may be but not limited to including one or more operation phases in the target operation phase.

[0046] Through the embodiments of the present application, the stages to be monitored may include but are not limited to the stages included in the current operation process of the server. It can be understood that this method monitors the stage currently running on the server, thereby improving the real-time performance of the determined target monitoring stage.

[0047] In an exemplary embodiment, the target operation process that the target server is currently in can be detected in the following manner but is not limited to: extracting current operation information of the server, wherein the operation information is used to indicate the target operation currently executed by the server, and the target operation includes a startup operation of the target server or an operation operation of the target server; extracting the target operation process corresponding to the target operation from operations and operation processes having a corresponding relationship.

[0048] Optionally, in this embodiment, the startup operation may include but is not limited to operations that the target server needs to perform during the target startup process, and the running operation may include but is not limited to operations that the target server needs to perform during the target running process. The operations performed by the target server are different in different running processes. For example, the operations that the target server needs to perform during the startup process are different from the operations that the target server needs to perform during the running process.

[0049] Through the embodiments of the present application, the current operation process of the server is determined based on the operations currently being executed by the server. It can be understood that these operations are operations being executed in real time on the server. In this way, the current operation process of the server can be accurately located, thereby improving the accuracy of determining the current operation process of the server.

[0050] In an exemplary embodiment, the target monitoring phase can be filtered from the operating phases included in the target operating process in the following manner but is not limited to: when the target operating phase includes N operating phases, the target monitoring phase is filtered from the N operating phases by executing the following steps, wherein N is a positive integer: detecting the Mth operating phase that the target server is currently in, wherein the N operating phases include the Mth operating phase, and M is a positive integer less than or equal to N; and determining the Mth operating phase as the target monitoring phase.

[0051] Optionally, in this embodiment, the target monitoring phase can also be screened from the operating phases included in the target operating process in the following manner but is not limited to: the Mth operating phase and the M+sth operating phase are determined as the target monitoring phase, where s is a positive integer and M+s is less than or equal to N.

[0052] In the technical solution provided in the above step S206, the target monitoring stage may be but is not limited to corresponding to a group of server components that need to be monitored (for example, one or more server components), and the server components that need to be monitored corresponding to different monitoring stages may be but are not limited to being different. For example, the server components that need to be monitored during the startup phase of the server may be but are not limited to being different from the server components that need to be monitored during the operation phase of the server.

[0053] In an exemplary embodiment, the target operation information of the target component can be extracted from the target server according to the target monitoring stage and the target component to be monitored corresponding to the target monitoring stage in the target server component, but is not limited to, in the following manner: when the target monitoring stage includes the target operation stage of the target server and the target component includes the target bus device of the target server, the operation information of the target bus device is extracted from the target server to obtain the target operation information; when the target monitoring stage includes the target operation stage of the target server and the target component includes the target startup component of the target server, the operation information of the target startup component is extracted from the target server to obtain the target operation information.

[0054] Optionally, in this embodiment, the target bus device may include but is not limited to devices supporting the target bus protocol, for example, the target bus protocol may include but is not limited to I2C (Inter-Integrated Circuit, integrated circuit bus), PCIE (peripheral component interconnect express, a high-speed serial computer expansion bus standard), etc., and the target bus device may include but is not limited to I2C bus devices, etc.

[0055] Optionally, in this embodiment, the target startup component may include but is not limited to server components participating in the startup process of the server, such as BIOS (Basic Input Output System), smart network card, etc.

[0056] In this way, when the server is unable to monitor the operating status of server components through the BMC, the operating status of server components involved in the server startup process can be monitored through the second controller, thereby improving the probability of the server successfully completing the startup process. By monitoring the operating status of server components involved in the operation of the server through the second controller, the stability of the server operation is improved.

[0057] In an exemplary embodiment, an information extraction component is deployed in the second controller, and the information extraction component is connected to the target bus device. The operation information of the target bus device can be extracted from the target server in the following manners, but not limited to, to obtain the target operation information, including: detecting a target storage location of the target server for storing the operation information of the target bus device; extracting data stored in the target storage location by the information extraction component to obtain the target operation information; a third controller is also deployed in the target server, and the third controller is connected to the second controller, and the third controller is connected to the target startup component. The operation information of the target startup component can be extracted from the target server in the following manners, but not limited to, to obtain the target operation information: receiving the target transmission signal transmitted by the third controller according to the target transmission signal, and the target operation information is obtained. The target protocol signal initiated by the protocol, wherein the second controller and the third controller are configured to transmit the protocol signal according to the target transmission protocol during the target startup process of the target server, the target protocol signal is used to indicate the operation information of the target startup component collected by the third controller, and the third controller is configured to allow the operation information of the target startup component to be extracted during the target startup process; in response to the received target protocol signal, the target protocol signal is parsed to obtain the target operation information; after the target protocol signal is parsed in response to the received target protocol signal to obtain the target operation information, the above method also includes: obtaining a candidate information serial port corresponding to the target operation information from the operation information and the serial port having a corresponding relationship, and outputting the target operation information according to the candidate information serial port.

[0058] Optionally, in this embodiment, the third controller may include, but is not limited to, a PCH (Platform Controller Hub) deployed in the server or other controllers, etc. The target transmission protocol may include, but is not limited to, an ESPI (Enhanced Serial Peripheral Interface) protocol or HTTP (Hypertext Transfer Protocol), etc.

[0059] The interaction process between the second controller and the third controller in the embodiment of the present application can be explained and illustrated by taking, but not limited to, the target transmission protocol including the ESPI protocol, the second controller including the CPLD, and the third controller including the PCH as an example, which can be applied to, but not limited to, the embodiment of the present application.

[0060] ESPI is a new generation bus interface launched by Intel in 2016. It is designed to replace LPC. The eSPI bus is modified from the SPI bus. In Intel's Eagle Stream platform design, ESPI needs to participate in the platform boot sequence. Figure 3 FIG. 1 is a schematic diagram of an optional CPLD and a PCH communicating according to the ESPI protocol according to an embodiment of the present application, such as Figure 3 As shown, EC (equivalent to CPLD) can, but is not limited to, initiate protocol signals to PCH according to the ESPI protocol (for example, deassert rsmrst# signal, SLAVE_BOOT_LOAD_DONE VW signal, deassert SUS_ACK#VW signal, etc.), or receive protocol signals initiated by PCH according to the ESPI protocol (for example, deassert eSPI_reset# signal, Link Initialization (w / default settings) signal, Enable VW Channel (max 8VW count) signal, Enable OOB Channel (max MPS: 64B) signal, config eSPI link (speed / IO modes etc.) based on softstraps signal, VW, OOB Channel optimization (based on soft straps) signal, Enable Flash Channel init signal, deassert SUS_WARN#VW signal, VWs with resetvalues ​​signal, deassert SUS_ACK#VW signal, deassert SLP_S5#VW signal, deassert SLP_S4#VW signal, deassert SLP_S3#VW signal, deassert SLP_A / LAN / WLAN#VWs signal, deassert SUS_STAT#VW signal, deassert PLTRST#VW signal, and configure Peripheral Channel signal, etc.).

[0061] Compared with the related technology, the boot sequence communication needs to be carried out through BMC and PCH. BMC parses the system serial port through ESPI signal. CPLD only acts as ESPI device and does not communicate with the uplink. After receiving ESPI, it parses the post information and lights up the system 80port (port) to indicate the system operation status.

[0062] Through the embodiment of the present application, the CPLD parses the system serial port through the ESPI sent by the PCH, and the CPLD outputs a serial port to the physical serial port of the system, wherein the internal logic of the CPLD performs serial port switching, and performs logical processing through specific instructions input by the user, and finally realizes the multiplexing of a physical serial port in the system.

[0063] It should be noted that the process of power-on timing communication between CPLD and PCH in the embodiment of the present application is similar to the process of power-on timing communication between BMC and PCH, and this application will not go into details.

[0064] Optionally, in this embodiment, the target storage location used by the target server to store the operating information of the target bus device can be detected in the following manner but is not limited to: filtering the target storage location corresponding to the target server from the candidate storage locations included in the target server, wherein the candidate storage location is a storage location that stores the operating information of the target server components.

[0065] Optionally, in this embodiment, the candidate information serial port may include but is not limited to a physical interface deployed on the server, and the candidate information serial port may be used but is not limited to outputting the extracted operation information. For example, the candidate information serial port may include but is not limited to a system serial port or a smart network card serial port, etc.

[0066] Through the embodiments of the present application, the server supports a BMC management module or a non-BMC management module, supports users to modify the configuration according to actual conditions, improves the flexibility and compatibility of the entire system, and when the BMC management module is not used, the server can be selectively replaced with an OCP (Open Compute Project) network card, a Raid card, a hard disk backplane, etc., to improve the flexibility and high-density design of the entire system.

[0067] In an exemplary embodiment, a data serial port is deployed on the second controller, and the target operating information can be output according to the candidate information serial port in the following manner, but not limited to: when the candidate information serial port includes P serial ports and the target operating information includes P groups of operating information corresponding to the P serial ports, the i-th group of operating information corresponding to the i-th serial port among the P serial ports is output by executing the following steps, wherein P is a positive integer, i is a positive integer less than or equal to P, the P groups of operating information include operating information corresponding to P server components, and the target server components include the P server components: randomly select a target serial port from the P serial ports; and output the operating information corresponding to the target serial port in the P groups of operating information through the data serial port.

[0068] Optionally, in this embodiment, the target serial port can also be screened out from the P serial ports in the following manner, but not limited to: the target serial port whose serial port priority is greater than or equal to the priority threshold is screened out from the P serial port priorities corresponding to the P serial ports, wherein the serial port priority corresponding to the serial port is determined according to the amount of data required to be transmitted by the serial port. The larger the amount of data required to be transmitted, the higher the serial port priority corresponding to the serial port.

[0069] In this way, the larger the amount of data, the higher the priority of the corresponding serial port. It can be understood that the higher the priority, the more important the data to be transmitted. In this way, the more important data can be transmitted first.

[0070] In the technical solution provided in the above step S208, the target operating state of the target component can be monitored according to the target operating information in the following manner but is not limited to: extracting the target operating parameters carried in the target operating information, and when the target operating parameters are greater than or equal to the operating parameter threshold, determining that the target operating state of the target component is abnormal operation; when the target operating parameters are less than the operating parameter threshold, determining that the target operating state of the target component is normal operation.

[0071] Optionally, in this embodiment, a data output serial port is deployed on the second controller, and after monitoring the target operating state of the target component according to the target operating information, the method further includes: outputting the target operating state through the data output serial port.

[0072] In order to better understand the implementation process of the method for monitoring the running status of the server in the embodiment of the present application, the implementation process of the method for monitoring the running status of the server in the embodiment of the present application is explained and illustrated below in combination with optional embodiments, which can be applicable to but not limited to the embodiment of the present application.

[0073] Figure 4 is a schematic diagram of an optional monitoring architecture for the running status of a server according to an embodiment of the present application, such as Figure 4 As shown, the server is deployed with PCH, central processing unit CPU, CPLD and BMC. PCH / CPLD / BMC are the three main chips that jointly complete the platform management, logic control and peripheral IO interface output of the server system. The CPLD code is stored in the storage area inside the chip. PCH and BMC are external Flash chips (for example, DDR) for storing firmware information. The server is also deployed with I2C devices. CPLD is connected to PCH and then to BMC. BMC is connected to I2C devices. PCH is connected to CPU, BIOS and USB respectively.

[0074] The embodiment of the present application uses the entire BMC and peripheral design circuits (the part enclosed by the dotted line may include but is not limited to PCIE slot, BMC, I2C device, DDR connected to BMC, BMC FW (Firmware) and Buffer, and VGA connected to Buffer) as a common optional management module, and users can choose to use this module or not according to their actual needs. When the BMC management module is not used, the chassis can be selectively replaced with an OCP network card, a Raid card, a hard disk backplane, etc., to improve the flexibility and high-density design of the entire system. The running state on the server in the embodiment of the present application can be achieved in the following ways, but is not limited to.

[0075] ① Platform status monitoring and management: In the server in the related technology, the BMC monitors and manages the I2C devices of the entire system through I2C, which mainly include temperature sensors, storage chips that support reading and writing, VR (Virtual Reality) chips, etc., and through the embodiment of the present application, the status monitoring and management of this part of the platform is completed by the CPLD (equivalent to the second controller), and the CPLD calls the I2C module (equivalent to the information extraction component) as the I2Cmaster (master device) to access the device and read information. It should be noted that if the BMC needs to be designed as an optional module, the CPLD and BMC can be designed as I2C dual masters, switched through the I2C arbitration device (equivalent to the arbitration device), or switched through the series resistance colay (equivalent to the arbitration device).

[0076] ②PCH hangs ESPI device: Compared with the related art, BMC and CPLD are ESPI downlink devices of PCH, BMC communicates with PCH for boot sequence, parses the system serial port through ESPI, CPLD only acts as ESPI device, does not communicate with uplink, parses post information after receiving ESPI, and lights up the system 80port to indicate the system operation status. Through the embodiment of the present application, BMC is an optional module, and CPLD is used as ESPI device to communicate the ESPI protocol part. The code of this part of CPLD can be implemented by Verilog but is not limited to it.

[0077] ③ System serial port design: Compared with the related art, the serial port is generally output by BMC, and CPLD realizes logical switching. The specific implementation method is: BMC parses the system serial port through ESPI sent by PCH, and transmits the BMC serial port, system serial port, and optional smart network card serial port to CPLD. CPLD outputs one serial port to the physical serial port of the system, wherein the internal logic of CPLD performs serial port switching, and performs logical processing through specific instructions input by the user, and finally realizes the multiplexing of a physical serial port in the system; through the embodiment of the present application, after BMC is used as an optional module, the action of parsing the serial port needs to be transplanted into CPLD, BMC is no longer used as ESPI device, CPLD parses the system serial port through ESPI sent by PCH, and the serial port of BMC itself, the smart network card serial port, etc. are used as optional modules. CPLD inputs multiple serial ports and performs logical switching, and finally realizes the multiplexing of a physical serial port (for example, SYS URAT deployed on CPLD) in the system.

[0078] ④ Design of VGA part: Since BMC itself supports VGA or HDMI display, the corresponding interface of BMC is generally connected and then connected to VGA through buffer. In this system, if the BMC module is used, it is displayed through BMC-VGA. If the BMC module is not used, the graphics card is used to connect to the PCIE Slot of the CPU for display.

[0079] ⑤CPLD serial port design: add a physical interface of the CPLD serial port (for example, CPLDURAT deployed on the CPLD) to indicate the system operation status. The serial port is mainly implemented in the CPLD code. According to the actual needs of the user, the system timing operation status or ESPI communication status is output on the serial port to indicate the working stage of the system, which is of great significance in debugging.

[0080] Through the embodiment of the present application, a server architecture with an optional BMC management module is proposed. The embodiment of the present application is based on the X86 server of the Intel Eagle Stream platform. Theoretically, it can be extended to other platforms or service providers. By adopting the embodiment of the present application, a server architecture with an optional BMC management module can be designed. Under this architecture, users can flexibly select and match according to their actual usage scenarios, thereby improving the compatibility and flexibility of the entire system and improving product competitiveness.

[0081] Through the description of the above implementation methods, those skilled in the art can clearly understand that the method according to the above embodiment can be implemented by means of software plus a necessary general hardware platform, and of course by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of the present application, or the part that contributes to the prior art, can be embodied in the form of a software product, which is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk), and includes a number of instructions for a terminal device (which can be a mobile phone, computer, server, or network device, etc.) to execute the methods described in each embodiment of the present application.

[0082] In the present embodiment, a monitoring device for the running status of a server is also provided, and the device is used to implement the above-mentioned embodiments and preferred implementation modes, and the descriptions that have been made are not repeated here. As used below, the term "module" can implement a combination of software and / or hardware of a predetermined function. Although the devices described in the following embodiments are preferably implemented in software, the implementation of hardware, or a combination of software and hardware, is also possible and conceivable.

[0083] In this embodiment, a device for monitoring the running status of a server is also provided. The target server is configured to monitor the running status of a deployed target server component through a first controller. A second controller is deployed in the target server. The second controller is connected to the target server component. The device is applied to the second controller. Figure 5 is a structural block diagram of a monitoring device for the running status on a server according to an embodiment of the present application, such as Figure 5 As shown, the device comprises:

[0084] A first detection module 502, configured to detect a connection status of the first controller on the target server, wherein the connection status is used to indicate a connection status of the first controller on the target server;

[0085] A second detection module 504 is used to detect the target monitoring stage currently in which the target server is located when it is detected that the connection state indicates that the connection of the first controller on the target server is disconnected, wherein the target monitoring stage includes a target startup stage of the target server and a target operation stage of the target server;

[0086] An extraction module 506 is used to extract target operation information of the target component from the target server according to the target monitoring stage and the target component to be monitored corresponding to the target monitoring stage in the target server component;

[0087] The monitoring module 508 is used to monitor the target operating state of the target component according to the target operating information.

[0088] Through the embodiment of the present application, the server may be, but is not limited to, deployed with a controller for monitoring the operating status of the server components. When the controller is disconnected, it can be indicated that the server cannot monitor the operating status of the server components through the control. In such a case, the operating status of the server components to be monitored can be determined by, but is not limited to, other controllers deployed in the server according to the extracted operating information of the server components to be monitored in the current monitoring stage of the server. In this way, when the controller originally used to monitor the operating status of the server components is disconnected, the operating status of the server components can be monitored by other controllers in the server. Therefore, the problem of low efficiency in monitoring the operating status of the server components can be solved, and the effect of improving the efficiency of monitoring the operating status of the server components can be achieved.

[0089] In an exemplary embodiment, the second detection module includes:

[0090] A detection unit, configured to detect a target operation process currently in which the target server is in, wherein the target operation process includes a target startup process of the target server or a target operation process of the target server;

[0091] A screening unit is used to screen the target monitoring phase from the running phases included in the target running process, wherein the target startup phase included in the target startup process includes the target monitoring phase, or the target running phase included in the target running process includes the target monitoring phase.

[0092] In an exemplary embodiment, the detection unit is used to:

[0093] Extracting current operation information of the server, wherein the operation information is used to indicate a target operation currently executed by the server, and the target operation includes a startup operation of the target server or a running operation of the target server;

[0094] The target running process corresponding to the target operation is extracted from operations and running processes having a corresponding relationship.

[0095] In an exemplary embodiment, the screening unit is used to:

[0096] In the case where the target operation phase includes N operation phases, the target monitoring phase is filtered out from the N operation phases by performing the following steps, where N is a positive integer:

[0097] Detecting the Mth operation stage that the target server is currently in, wherein the N operation stages include the Mth operation stage, and M is a positive integer less than or equal to N;

[0098] The Mth operation phase is determined as the target monitoring phase.

[0099] In an exemplary embodiment, the extraction module includes:

[0100] A first extraction unit is used to extract the operation information of the target bus device from the target server to obtain the target operation information when the target monitoring stage includes the target operation stage of the target server and the target component includes the target bus device of the target server;

[0101] The second extraction unit is used to extract the operation information of the target startup component from the target server to obtain the target operation information when the target monitoring stage includes the target operation stage of the target server and the target component includes the target startup component of the target server.

[0102] In an exemplary embodiment, an information extraction component is deployed in the second controller, the information extraction component is connected to the target bus device, and the first extraction unit is used to: detect a target storage location of the target server for storing the operation information of the target bus device; extract the data stored in the target storage location through the information extraction component to obtain the target operation information;

[0103] The target server is further provided with a third controller, the third controller is connected to the second controller, the third controller is connected to the target startup component, the second extraction unit is used to: receive a target protocol signal initiated by the third controller according to the target transmission protocol, wherein the second controller and the third controller are configured to transmit a protocol signal according to the target transmission protocol during the target startup process of the target server, the target protocol signal is used to indicate the operation information of the target startup component collected by the third controller, and the third controller is configured to allow the operation information of the target startup component to be extracted during the target startup process; in response to the received target protocol signal, parse the target protocol signal to obtain the target operation information;

[0104] The device also includes: an acquisition module, which is used to parse the target protocol signal in response to the received target protocol signal to obtain the target operation information, and then obtain the candidate information serial port corresponding to the target operation information from the operation information and serial port with a corresponding relationship; an output module, which is used to output the target operation information according to the candidate information serial port.

[0105] In an exemplary embodiment, a data serial port is deployed on the second controller, and the output module is used to: when the candidate information serial ports include P serial ports and the target operation information includes P groups of operation information corresponding to the P serial ports, output the i-th group of operation information corresponding to the i-th serial port among the P serial ports by performing the following steps, wherein P is a positive integer, i is a positive integer less than or equal to P, the P groups of operation information include operation information corresponding to P server components, and the target server components include the P server components:

[0106] Randomly select a target serial port from the P serial ports;

[0107] The operation information corresponding to the target serial port in the P group operation information is output through the data serial port.

[0108] It should be noted that the above modules can be implemented by software or hardware. For the latter, it can be implemented in the following ways, but not limited to: the above modules are all located in the same processor; or the above modules are located in different processors in any combination.

[0109] An embodiment of the present application further provides a computer-readable storage medium, in which a computer program is stored, wherein the computer program is configured to execute the steps of any of the above method embodiments when running.

[0110] In an exemplary embodiment, the computer-readable storage medium may include, but is not limited to, various media that can store computer programs, such as a USB flash drive, a read-only memory (ROM), a random access memory (RAM), a mobile hard disk, a magnetic disk or an optical disk.

[0111] An embodiment of the present application further provides an electronic device, including a memory and a processor, wherein a computer program is stored in the memory, and the processor is configured to run the computer program to execute the steps in any one of the above method embodiments.

[0112] In an exemplary embodiment, the electronic device may further include a transmission device and an input / output device, wherein the transmission device is connected to the processor, and the input / output device is connected to the processor.

[0113] An embodiment of the present application further provides a computer program product, which includes a computer program. When the computer program is executed by a processor, the steps in any one of the above method embodiments are implemented.

[0114] An embodiment of the present application further provides another computer program product, including a non-volatile computer-readable storage medium, wherein the non-volatile computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the steps in any of the above method embodiments are implemented.

[0115] An embodiment of the present application also provides a computer program, which includes computer instructions stored in a computer-readable storage medium; a processor of a computer device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, so that the computer device performs the steps in any one of the above method embodiments.

[0116] For specific examples in this embodiment, reference may be made to the examples described in the above embodiments and exemplary implementation modes, and this embodiment will not be described in detail herein.

[0117] Obviously, those skilled in the art should understand that the above modules or steps of the present application can be implemented by a general computing device, they can be concentrated on a single computing device, or distributed on a network composed of multiple computing devices, they can be implemented by a program code executable by a computing device, so that they can be stored in a storage device and executed by the computing device, and in some cases, the steps shown or described can be executed in a different order from that herein, or they can be made into individual integrated circuit modules, or multiple modules or steps therein can be made into a single integrated circuit module for implementation. Thus, the present application is not limited to any specific combination of hardware and software.

[0118] The above description is only the preferred embodiment of the present application and is not intended to limit the present application. For those skilled in the art, the present application may have various modifications and variations. Any modification, equivalent replacement, improvement, etc. made within the principles of the present application shall be included in the protection scope of the present application.

Claims

1. A method for monitoring the running status of a server, characterized in that: The target server is configured to monitor the operating status of the deployed target server component through a first controller, a second controller is deployed in the target server, the second controller is connected to the target server component, the method is applied to the second controller, and the method includes: Detecting a connection status of the first controller on the target server, wherein the connection status is used to indicate a connection status of the first controller on the target server; In a case where it is detected that the connection state indicates that the connection of the first controller on the target server is disconnected, detecting a target monitoring phase that the target server is currently in, wherein the target monitoring phase includes a target startup phase of the target server and a target operation phase of the target server; Extracting target operation information of the target component from the target server according to the target monitoring stage and the target component to be monitored corresponding to the target monitoring stage in the target server component; A target operating state of the target component is monitored according to the target operating information.

2. The method according to claim 1, characterized in that The detecting that the target server is currently in the target monitoring phase includes: Detecting a target running process that the target server is currently in, wherein the target running process includes a target startup process of the target server or a target running process of the target server; The target monitoring phase is filtered from the operation phases included in the target operation process, wherein the target startup phase included in the target startup process includes the target monitoring phase, or the target operation phase included in the target operation process includes the target monitoring phase.

3. The method according to claim 2, characterized in that The detecting the target operation process currently in which the target server is located comprises: Extracting current operation information of the server, wherein the operation information is used to indicate a target operation currently executed by the server, and the target operation includes a startup operation of the target server or a running operation of the target server; The target running process corresponding to the target operation is extracted from operations and running processes having a corresponding relationship.

4. The method according to claim 2, characterized in that: The step of selecting the target monitoring phase from the operation phases included in the target operation process includes: In the case where the target operation phase includes N operation phases, the target monitoring phase is filtered out from the N operation phases by performing the following steps, where N is a positive integer: Detecting the Mth operation stage that the target server is currently in, wherein the N operation stages include the Mth operation stage, and M is a positive integer less than or equal to N; The Mth operation phase is determined as the target monitoring phase.

5. The method according to claim 1, characterized in that The step of extracting target operation information of the target component from the target server according to the target monitoring stage and the target component to be monitored corresponding to the target monitoring stage in the target server component includes: In a case where the target monitoring phase includes a target operation phase of the target server and the target component includes a target bus device of the target server, extracting operation information of the target bus device from the target server to obtain the target operation information; When the target monitoring phase includes the target operation phase of the target server and the target component includes the target startup component of the target server, the operation information of the target startup component is extracted from the target server to obtain the target operation information.

6. The method according to claim 5, characterized in that The second controller is provided with an information extraction component, the information extraction component is connected to the target bus device, and the operation information of the target bus device is extracted from the target server to obtain the target operation information, including: detecting a target storage location of the target server for storing the operation information of the target bus device; extracting data stored in the target storage location by the information extraction component to obtain the target operation information; The target server is also deployed with a third controller, the third controller is connected to the second controller, the third controller is connected to the target startup component, the extraction of the operation information of the target startup component from the target server to obtain the target operation information includes: receiving a target protocol signal initiated by the third controller according to a target transmission protocol, wherein the second controller and the third controller are configured to transmit a protocol signal according to the target transmission protocol during the target startup process of the target server, the target protocol signal is used to indicate the operation information of the target startup component collected by the third controller, and the third controller is configured to allow the extraction of the operation information of the target startup component during the target startup process; in response to the received target protocol signal, parsing the target protocol signal to obtain the target operation information; After parsing the target protocol signal in response to the received target protocol signal and obtaining the target operation information, the method further includes: acquiring a candidate information serial port corresponding to the target operation information from the operation information and serial ports having a corresponding relationship, and outputting the target operation information according to the candidate information serial port.

7. The method according to claim 6, characterized in that The second controller is provided with a data serial port, and the outputting the target operation information according to the candidate information serial port includes: when the candidate information serial port includes P serial ports and the target operation information includes P groups of operation information corresponding to the P serial ports, outputting the i-th group of operation information corresponding to the i-th serial port among the P serial ports by executing the following steps, wherein P is a positive integer, i is a positive integer less than or equal to P, the P groups of operation information include operation information corresponding to P server components, and the target server components include the P server components: Randomly select a target serial port from the P serial ports; The operation information corresponding to the target serial port in the P group operation information is output through the data serial port.

8. A device for monitoring the running status of a server, characterized in that: The target server is configured to monitor the operating status of the deployed target server component through a first controller, a second controller is deployed in the target server, the second controller is connected to the target server component, the device is applied to the second controller, and the device includes: A first detection module, used to detect a connection status of the first controller on the target server, wherein the connection status is used to indicate a connection status of the first controller on the target server; A second detection module is used to detect the target monitoring stage currently in which the target server is located when it is detected that the connection state indicates that the connection of the first controller on the target server is disconnected, wherein the target monitoring stage includes a target startup stage of the target server and a target operation stage of the target server; An extraction module, configured to extract target operation information of the target component from the target server according to the target monitoring stage and the target component to be monitored corresponding to the target monitoring stage in the target server component; A monitoring module is used to monitor the target operating state of the target component according to the target operating information.

9. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, wherein the computer program implements the steps of the method described in any one of claims 1 to 7 when executed by a processor.

10. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that: When the processor executes the computer program, the steps of the method described in any one of claims 1 to 7 are implemented.

Citation Information

Cited By

  • Equipment testing system and method, computer equipment and storage medium

    CN120216273A

  • Equipment testing system, method, computer equipment and storage medium

    CN120216273B