Server remote in-band management system, method, computer equipment and storage media
By constructing execution, interaction, and control modules and leveraging the remote interaction capabilities of the baseboard management controller, the problems of missing out-of-band management information and low in-band management efficiency were solved, thus achieving efficient remote server management.
Patent Information
- Application Number
- CN202310478756.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-04-28
- Publication Date
- 2025-10-31
- Estimated Expiration
- 2043-04-28
AI Technical Summary
Among existing server management methods, out-of-band management is convenient but lacks information and cannot complete some business tasks, while in-band management is inefficient and difficult to achieve large-scale remote management.
By constructing execution, interaction, and control modules, and leveraging the remote interaction capabilities of the baseboard management controller, remote in-band management can be achieved. Combined with data connectivity between the network and physical layers, management efficiency can be improved and operation and maintenance costs can be reduced.
It enables large-scale remote in-band management, improving server management efficiency and reducing operation and maintenance costs.
Smart Images

Figure CN116506284B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of server management technology, and in particular to a server remote in-band management system, method, computer device, and storage medium. Background Technology
[0002] In recent years, cloud computing, high-performance computing, and AI (Artificial Intelligence) have been hot research and application areas in the internet field. The market is flooded with related products, such as various cloud platforms, high-computing-power platforms, and the recently popular "chatgpt" (ChatGenerative Pre-trained Transformer, an AI-driven natural language processing tool). The popularity of these concepts has also brought a crucial hardware product in the computer industry into the public eye: the server. Servers carry massive computing resources, providing operational support for software and platforms. For server manufacturers today, improving server performance is undoubtedly a key focus of research and development, but how to efficiently manage servers is also a question worth considering. Server management is mainly divided into out-of-band management and in-band management methods. These two methods overlap in some capabilities but each has its own advantages. Currently, most manufacturers tend to manage servers out-of-band because this method is convenient and relatively simple to implement. However, since out-of-band management is entirely remote and relies on the BMC (Baseboard Management Controller) for network layer interaction with the server, it has significant limitations. First, the server hardware information obtained through the BMC is often incomplete or inaccurate. Second, some tasks, such as system installation, board upgrades, hardware testing, and storage management, cannot be completed solely through the BMC. Therefore, server management must involve in-band management. However, in-band management also has significant drawbacks because it involves one-to-one physical layer interaction with the server, making it difficult to achieve large-scale and remote management. Existing in-band management methods mostly involve the manufacturer's server maintenance engineers performing individual management offline, which is inefficient and risky. Summary of the Invention
[0003] Therefore, it is necessary to provide a server remote in-band management system, method, computer equipment, and storage medium to address the aforementioned technical problems.
[0004] On the one hand, a server remote in-band management system is provided, the system including an execution module, an interaction module, and a control module:
[0005] The control module is used to construct an execution module based on the target server management task type;
[0006] The interaction module is used to distribute the execution module to the target server, issue management work execution instructions to the execution module, and store the execution logs obtained by the execution module during the execution process;
[0007] The control module is also used to unload the execution module, stop the connection with the interaction module, acquire and analyze the execution log reported by the execution module to the interaction module, and extract key data from the execution log when it reads the execution progress completion signal and does not receive a heartbeat signal from the target server within a preset time.
[0008] In one embodiment, the interaction module further includes: the interaction module is a baseboard management controller sharing unit, which is divided according to a preset ratio to obtain n control bits and m data bits, where n and m are both positive numbers.
[0009] In one embodiment, the system further includes: the execution module comprises a control directory unit, an execution directory unit, and a resource directory unit; the control directory unit is used to store scripts that continuously send heartbeat signals to the control device, work scripts for controlling workflows, and workflow control files; the execution directory unit is used to store files that directly execute and complete individual management tasks; and the resource directory unit is used to store files required for management tasks.
[0010] In one embodiment, the control module further includes a preparation unit, an execution control unit, and an analysis unit: the preparation unit is used to construct the execution module and initialize the interaction module; the execution control unit is used to control the execution process of the execution module; and the analysis unit is used to read the execution logs during the execution process of the execution module, analyze and process the execution logs based on the management task type, and extract key data from the execution logs.
[0011] On the other hand, a method for remote in-band management of a server is provided, the method comprising:
[0012] Based on the target server's management task type, a corresponding execution module is constructed, the execution module is packaged into the target carrier, and sent to the target server;
[0013] Upon receiving a signal from the target carrier, the interaction module is initialized, the target carrier is remotely mounted to the target server using the baseboard management controller, and the target server power is restarted to guide the target server into the target carrier.
[0014] Upon receiving a successful entry result, the heartbeat signal script and the work script in the execution module are automatically executed based on the process control file;
[0015] During script execution, execution logs are sent to the interaction module at intervals based on the execution time of the target execution node. After the execution process is completed, the control module reads and analyzes the execution logs to extract key data.
[0016] In one embodiment, the method further includes: before sending execution logs to the interaction module at intervals based on the execution time of the target execution node, the method further includes: comparing the number of data bits with the amount of execution logs; when the amount of execution logs is greater than the number of data bits, sending the execution logs to the interaction module in batches based on the number of data bits; in response to detecting that the execution logs of the target batch have been sent, using the control module to read the execution logs received by the interaction module, and sending the next batch of execution logs.
[0017] In one embodiment, the method further includes: the criteria for determining the end of the execution process include: in response to detecting that all execution nodes have been completed, sending an execution progress completion signal and terminating the heartbeat signal script; the control module determines that the execution process has ended when it reads the execution progress completion signal and does not receive a heartbeat signal from the target server within a preset time.
[0018] In one embodiment, the method further includes: in response to detecting that the execution process has ended, unloading the execution module using the control module, stopping the connection between the control module and the interaction module, merging the read execution logs, and extracting key data from them.
[0019] In another aspect, a computer device is provided, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the computer program to perform the following steps:
[0020] Based on the target server's management task type, a corresponding execution module is constructed, the execution module is packaged into the target carrier, and sent to the target server;
[0021] Upon receiving a signal from the target carrier, the interaction module is initialized, the target carrier is remotely mounted to the target server using the baseboard management controller, and the target server power is restarted to guide the target server into the target carrier.
[0022] Upon receiving a successful entry result, the heartbeat signal script and the work script in the execution module are automatically executed based on the process control file;
[0023] During script execution, execution logs are sent to the interaction module at intervals based on the execution time of the target execution node. After the execution process is completed, the control module reads and analyzes the execution logs to extract key data.
[0024] In another aspect, a computer-readable storage medium is provided having a computer program stored thereon, which, when executed by a processor, performs the following steps:
[0025] Based on the target server's management task type, a corresponding execution module is constructed, the execution module is packaged into the target carrier, and sent to the target server;
[0026] Upon receiving a signal from the target carrier, the interaction module is initialized, the target carrier is remotely mounted to the target server using the baseboard management controller, and the target server power is restarted to guide the target server into the target carrier.
[0027] Upon receiving a successful entry result, the heartbeat signal script and the work script in the execution module are automatically executed based on the process control file;
[0028] During script execution, execution logs are sent to the interaction module at intervals based on the execution time of the target execution node. After the execution process is completed, the control module reads and analyzes the execution logs to extract key data.
[0029] The aforementioned remote in-band management system, method, computer equipment, and storage medium for servers include an execution module, an interaction module, and a control module. The control module constructs the execution module based on the target server's management task type. The interaction module distributes the execution module to the target server and issues management task execution instructions to the execution module, storing the execution logs obtained by the execution module during execution. When the control module reads an execution progress completion signal and does not receive a heartbeat signal from the target server within a preset time, it unloads the execution module, stops the connection with the interaction module, acquires and analyzes the execution logs reported by the execution module to the interaction module, and extracts key data from the execution logs. This application utilizes the remote interaction capability of the baseboard management controller in out-of-band management to interact with the medium actually performing in-band management, establishing data connectivity between the network layer and the server physical layer. Based on this, large-scale, remote in-band management is achieved, improving the efficiency of server in-band management to a certain extent and reducing server operation and maintenance costs. Attached Figure Description
[0030] Figure 1 This is a block diagram of the server remote in-band management system in one embodiment;
[0031] Figure 2 This is another structural block diagram of a server remote in-band management system in one embodiment;
[0032] Figure 3 This is a schematic diagram of the execution module composition of a server remote in-band management system in one embodiment;
[0033] Figure 4 This is a schematic diagram of the board upgrade process of a server remote in-band management system in one embodiment;
[0034] Figure 5 This is a flowchart illustrating a server remote in-band management method in one embodiment;
[0035] Figure 6 This is an internal structural diagram of a computer device in one embodiment. Detailed Implementation
[0036] To make the objectives, technical solutions, and advantages of this application clearer, the technical solutions in the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments in this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.
[0037] It should be understood that, in the description of this application, unless the context explicitly requires it, words such as "including" or "comprising" throughout the specification should be interpreted as including rather than exclusive or exhaustive; that is, meaning "including but not limited to".
[0038] It should also be understood that the terms "first," "second," etc., are used for descriptive purposes only and should not be construed as indicating or implying relative importance. Furthermore, in the description of this application, unless otherwise stated, "a plurality of" means two or more.
[0039] It should be noted that the terms "S1," "S2," etc., are used only for descriptive purposes and do not specifically refer to the order or sequence, nor are they intended to limit this application. They are merely for the convenience of describing the method of this application and should not be construed as indicating the sequential order of the steps. Furthermore, the technical solutions of the various embodiments can be combined with each other, but this must be based on the ability of those skilled in the art to implement them. When the combination of technical solutions is contradictory or impossible to implement, it should be considered that such a combination of technical solutions does not exist and is not within the scope of protection claimed in this application.
[0040] Example 1: In one example, as Figures 1-4As shown, a server remote in-band management system is provided. The system includes an execution module, an interaction module, and a control module. Specifically:
[0041] The control module is used to construct an execution module based on the target server management task type.
[0042] It should be noted that a control module, provided as software or a management platform, needs to meet the following requirements: It must be able to stably and quickly access and interact with the BMC of a large number of servers; it must be able to automatically build different execution modules and control the execution process based on management tasks; and it must be able to effectively analyze and process the logs reported by the execution modules. Different management tasks require different objectives to extract key data from the logs. For example, system installation might only require extracting a success or failure indicator, while board upgrades require extracting information such as board model, new / old version, and whether the upgrade was successful or failed. Specifically, the control module is mainly responsible for controlling the entire management work of the system, including three units: a preparation unit, an execution control unit, and an analysis unit. The preparation unit needs to complete the construction of the execution modules, and the structure of the execution modules varies depending on the server management tasks. The resources required by the execution modules also vary. For example, for system installation, the execution module needs sufficient storage space and the image file used during installation, while for board upgrades, upgrade tools and firmware upgrades are required. In the execution control unit, to achieve large-scale and remote server management, the system utilizes an out-of-band management function of the BMC (Baseboard Management Controller), called remote mounting, to distribute the execution modules built by the preparation unit to various servers. At the same time, it operates the shared BMC unit of each server, informing the execution modules of the management tasks to be performed, continuously interacting with the execution modules, and storing the data during the execution process. In the analysis unit, when the control module receives the end signal of the execution module, it merges all the stored data for analysis and processing. In order to prevent the execution modules from continuing to occupy server resources, it also needs to unload the execution modules from the servers.
[0043] Furthermore, the execution module is built upon the control module and exists in the form of a Linux system liveCD. This refers to the module that actually performs server management tasks. The carrier of this module is called a liveCD, which is a bootable Linux system image. When it is distributed to the target server, the target server automatically boots into the system. The preparation unit of the control module packages the execution modules corresponding to each management task into this liveCD. After the system starts, the execution modules that need to perform their tasks will start. For example, the tasks to be performed may include the following: "reading control signals in the shared area," "executing management tasks (which may be some programs or scripts)," "reading execution logs and manipulating the shared area to write data," and "continuously writing the progress of the task and its own status to the shared area." To accomplish these tasks... The execution module includes a control directory unit, an execution directory unit, and a resource directory unit. The execution directory unit stores files that directly execute and complete single management tasks, such as firmware flashing scripts and applications. The resource directory unit stores files required for management tasks, such as images, firmware packages, and tools. The contents of these two directory units vary depending on the management task. The control directory unit stores relatively fixed files: a "heartbeat" script that continuously sends signals to the control module, a "work" script that controls the workflow, and a flow control file (flowline.yml). The flowline.yml file is generated by the control module when building the execution module and specifies the tasks the execution module needs to perform, which scripts need to be executed for each task, and what additional configurations are required during execution. Figure 3 The diagram illustrates the composition of an execution module.
[0044] The interaction module is used to distribute the execution module to the target server, issue management work execution instructions to the execution module, and store the execution logs obtained by the execution module during the execution process.
[0045] It should be noted that the interaction module, as the foundation of this system, provides a module for data exchange, namely the Baseboard Management Controller Shared Unit, or BMC Shared Area. The Baseboard Management Controller refers to a miniature, independent system running on a server and connected to an external network, capable of performing some basic storage and control functions of a normal system. The Baseboard Management Controller Shared Unit refers to a storage unit on the Baseboard Management Controller, approximately a few MB in size. The key to this small area is that server administrators can interact with it through the network layer, and the server itself can also interact with it through the physical layer. The data stored in the Baseboard Management Controller Shared Unit consists of a large amount of hexadecimal data. The system is composed of control bits and data bits, which are responsible for controlling the workflow and storing the work data, respectively. Specifically, the unused space in the BMC is allocated and the shared unit of the baseboard management controller is divided according to a preset ratio to obtain n control bits and m data bits, where n and m are both positive numbers and are fixed to serve the interaction between the control module and the execution module. For example, the space allocated in this application is 1000 bits, of which the first 100 bits are control bits and the last 900 bits are data bits. Both the control module and the execution module can operate the data in this area through the ipmitool tool (an IPMI platform management tool that can be used in the command line under the Linux system).
[0046] The control module is also used to unload the execution module, stop the connection with the interaction module, acquire and analyze the execution log reported by the execution module to the interaction module, and extract key data from the execution log when it reads the execution progress completion signal and does not receive a heartbeat signal from the target server within a preset time.
[0047] Specifically, such as Figure 4 As shown in the figure, this embodiment takes the "board upgrade" management task as an example, and its specific implementation process is as follows:
[0048] (1) The control module unpacks the liveCD image, first generates the flowline.yml file according to the management work type, then copies the control directory unit, execution directory unit, resource directory unit, configuration file, script, tool, and firmware package required by the execution module to a fixed location in the image, and repackages the image.
[0049] (2) The control module first initializes the interaction module (at this time, all values in the shared area are 0xff (hexadecimal representation)) to clear the old data and restore the state. Then, the liveCD is remotely mounted to the server through the BMC, and the server power is restarted to guide it into the execution module.
[0050] (3) After the server restarts and enters the liveCD, an rc.local script will be executed automatically. This script will start two scripts in the execution module control directory. One is the "heartbeat" script, which modifies the value of control bit 01 every few seconds, incrementing from 0x00 to inform the control module that the execution module is currently "active". The other is the "work" script, which reads the list of work to be executed in the flowline.yml file, determines that a board upgrade is required, and sets the value of control bit 02 to 0x01 to inform the control module that the board upgrade process is about to begin. At the same time, it executes the upgrade script in the configuration directory unit as specified in the flowline.yml file and reads the execution log output of the script.
[0051] (4) Each time the execution module completes an execution node, it updates the progress value of control bit 03 and reports the execution log to the interaction module. The log reporting process is as follows: the value of control bit 04 is set to 0x00 to lock the control bit and prevent simultaneous operations from causing process chaos. At this time, the control module can only read and cannot modify the value of the control bit. Because there are only 900 data bits, when the log volume is too large, it needs to be written in multiple times. Therefore, when actually writing the log, the execution module first sets control bit 05 to the number of times to be written and control bit 06 to the current number of times to be written. Then it starts writing 900 bits of data. After each writing, the execution module sets the value of control bit 04 to 0x01 to inform the control module that it can read the data at this time. At the same time, it locks itself and waits for the control module to complete the reading. Then it sets control bit 04 back to 0xff and performs the next operation. In addition, for more complex management tasks, such as if the system needs to be restarted in the middle of the execution, the control bit 07 can be modified to record the current number of restarts to distinguish them.
[0052] (5) When all execution nodes are completed, the execution module operation control bit 03 sets the progress to 100, and then stops the "heartbeat" script. After the control module reads that the progress is completed and can no longer receive "heartbeats", it determines that the execution process has ended. The control module unloads the execution module, stops the connection with the interaction module, and then merges the relevant data of the read execution logs and extracts the key data.
[0053] The aforementioned control bits refer to the control bits in the shared unit of the baseboard management controller. Each control bit can be used to record different parameters, such as progress value, current start count, etc. Additionally, the control module corresponds to... Figures 1-4 The control device and execution module in the middle correspond to Figures 1-4 The execution device and the corresponding interaction module in the middle. Figures 1-4 Interactive devices in the environment.
[0054] In the aforementioned remote in-band management system for servers, the system includes an execution module, an interaction module, and a control module. The control module constructs the execution module based on the target server's management task type. The interaction module distributes the execution module to the target server and issues management task execution instructions to the execution module, storing the execution logs obtained by the execution module during execution. When the control module reads the execution progress completion signal and does not receive a heartbeat signal from the target server within a preset time, it unloads the execution module, stops the connection with the interaction module, acquires and analyzes the execution logs reported by the execution module to the interaction module, and extracts key data from the execution logs. This application utilizes the remote interaction capability of the baseboard management controller in out-of-band management to interact with the medium actually performing in-band management, connecting the network layer and the server physical layer for data communication. Based on this, large-scale, remote in-band management is achieved, which improves the efficiency of server in-band management to a certain extent and reduces the cost of server operation and maintenance.
[0055] It should be understood that, although Figure 1-4 The steps in the flowchart are shown sequentially as indicated by the arrows, but these steps are not necessarily executed in the order indicated by the arrows. Unless otherwise specified herein, there is no strict order in which these steps are executed, and they can be performed in other orders. Figure 1-4 At least some of the steps in the process may include multiple sub-steps or multiple stages. These sub-steps or stages are not necessarily completed at the same time, but can be executed at different times. The execution order of these sub-steps or stages is not necessarily sequential, but can be executed in turn or alternately with other steps or at least some of the sub-steps or stages of other steps.
[0056] Example 2: In one example, as Figure 5 As shown, a method for remote in-band management of a server is provided, the specific steps of which include:
[0057] S1: Based on the target server management task type, construct the corresponding execution module, package the execution module into the target carrier, and send it to the target server.
[0058] It should be noted that the target server management tasks can include system installation, board upgrades, etc., and the target carrier refers to a liveCD, which is a CD image that can be directly booted into a usable Linux system.
[0059] S2: In response to receiving a signal from the target carrier, initialize the interaction module, use the baseboard management controller to remotely mount the received target carrier to the target server, and restart the target server power to guide the target server into the target carrier;
[0060] S3: In response to receiving a successful entry result, automatically execute the heartbeat signal script and work script in the execution module based on the process control file;
[0061] S4: During the script execution process, execution logs are sent to the interaction module at intervals based on the execution time of the target execution node, so that the control module can read and analyze the execution logs and extract key data after the execution process is completed.
[0062] In some implementations, before sending execution logs to the interaction module at intervals based on the execution time of the target execution node, the method further includes:
[0063] Compare the number of data bits with the amount of execution logs;
[0064] When the execution log volume is greater than the number of data bits, the execution log is sent to the interaction module in batches based on the number of data bits. For example, when the number of data bits is 900, the execution log volume is greater than 900. When it is 3000, the execution log needs to be sent to the interaction module in 4 batches. The first three batches are 900 bits each, and the fourth batch is 300 bits each.
[0065] In response to the detection that the execution logs of the target batch have been sent, the control module reads the execution logs received by the interaction module and sends the execution logs of the next batch.
[0066] In some implementations, the criteria for determining the end of the execution process include:
[0067] Upon detecting that all execution nodes have completed, an execution progress completion signal is sent, and the heartbeat signal script is terminated;
[0068] When the control module reads the execution progress completion signal and does not receive a heartbeat signal from the target server within a preset time, it determines that the execution process has ended.
[0069] In some implementations, in response to detecting the end of the execution process, the control module unloads the execution module, stops the connection between the control module and the interaction module, merges the read execution logs, and extracts key data from them.
[0070] Specific limitations regarding the remote in-band management method for servers can be found in the limitations of the remote in-band management system for servers mentioned above, and will not be repeated here. It should be understood that, although... Figure 5The steps in the flowchart are shown sequentially as indicated by the arrows, but these steps are not necessarily executed in the order indicated by the arrows. Unless otherwise specified herein, there is no strict order in which these steps are executed, and they can be performed in other orders. Figure 5 At least some of the steps in the process may include multiple sub-steps or multiple stages. These sub-steps or stages are not necessarily completed at the same time, but can be executed at different times. The execution order of these sub-steps or stages is not necessarily sequential, but can be executed in turn or alternately with other steps or at least some of the sub-steps or stages of other steps.
[0071] Example 3: In one embodiment, a computer device is provided, which may be a terminal, and its internal structure diagram may be as follows. Figure 6 As shown, the computer device includes a processor, memory, network interface, display screen, and input devices connected via a system bus. The processor provides computing and control capabilities. The memory includes non-volatile storage media and internal memory. The non-volatile storage media stores the operating system and computer programs. The internal memory provides an environment for the operation of the operating system and computer programs stored in the non-volatile storage media. The network interface is used to communicate with external terminals via a network connection. When the computer program is executed by the processor, it implements a remote in-band management method for a server. The display screen can be an LCD screen or an e-ink display screen. The input devices can be a touch layer covering the display screen, buttons, a trackball, or a touchpad mounted on the computer device casing, or an external keyboard, touchpad, or mouse.
[0072] Those skilled in the art will understand that Figure 6 The structure shown is merely a block diagram of a portion of the structure related to the present application and does not constitute a limitation on the computer device to which the present application is applied. Specific computer devices may include more or fewer components than those shown in the figure, or combine certain components, or have different component arrangements.
[0073] In one embodiment, a computer device is provided, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the computer program to perform the following steps:
[0074] S1: Based on the target server's management task type, construct the corresponding execution module, package the execution module into the target carrier, and send it to the target server;
[0075] S2: In response to receiving a signal from the target carrier, initialize the interaction module, use the baseboard management controller to remotely mount the received target carrier to the target server, and restart the target server power to guide the target server into the target carrier;
[0076] S3: In response to receiving a successful entry result, automatically execute the heartbeat signal script and work script in the execution module based on the process control file;
[0077] S4: During the script execution process, execution logs are sent to the interaction module at intervals based on the execution time of the target execution node, so that the control module can read and analyze the execution logs and extract key data after the execution process is completed.
[0078] In one embodiment, the processor, when executing a computer program, also performs the following steps:
[0079] Compare the number of data bits with the amount of execution logs;
[0080] When the execution log volume is greater than the number of data bits, the execution log is sent to the interaction module in batches based on the number of data bits.
[0081] In response to the detection that the execution logs of the target batch have been sent, the control module reads the execution logs received by the interaction module and sends the execution logs of the next batch.
[0082] In one embodiment, the processor, when executing a computer program, also performs the following steps:
[0083] Upon detecting that all execution nodes have completed, an execution progress completion signal is sent, and the heartbeat signal script is terminated;
[0084] When the control module reads the execution progress completion signal and does not receive a heartbeat signal from the target server within a preset time, it determines that the execution process has ended.
[0085] In one embodiment, the processor, when executing a computer program, also performs the following steps:
[0086] In response to the detection that the execution process has ended, the control module unloads the execution module, stops the connection between the control module and the interaction module, merges the read execution logs, and extracts key data from them.
[0087] Example 4: In one embodiment, a computer-readable storage medium is provided, on which a computer program is stored, which, when executed by a processor, performs the following steps:
[0088] S1: Based on the target server's management task type, construct the corresponding execution module, package the execution module into the target carrier, and send it to the target server;
[0089] S2: In response to receiving a signal from the target carrier, initialize the interaction module, use the baseboard management controller to remotely mount the received target carrier to the target server, and restart the target server power to guide the target server into the target carrier;
[0090] S3: In response to receiving a successful entry result, automatically execute the heartbeat signal script and work script in the execution module based on the process control file;
[0091] S4: During the script execution process, execution logs are sent to the interaction module at intervals based on the execution time of the target execution node, so that the control module can read and analyze the execution logs and extract key data after the execution process is completed.
[0092] In one embodiment, when the computer program is executed by a processor, it further performs the following steps:
[0093] Compare the number of data bits with the amount of execution logs;
[0094] When the execution log volume is greater than the number of data bits, the execution log is sent to the interaction module in batches based on the number of data bits.
[0095] In response to the detection that the execution logs of the target batch have been sent, the control module reads the execution logs received by the interaction module and sends the execution logs of the next batch.
[0096] In one embodiment, when the computer program is executed by a processor, it further performs the following steps:
[0097] Upon detecting that all execution nodes have completed, an execution progress completion signal is sent, and the heartbeat signal script is terminated;
[0098] When the control module reads the execution progress completion signal and does not receive a heartbeat signal from the target server within a preset time, it determines that the execution process has ended.
[0099] In one embodiment, when the computer program is executed by a processor, it further performs the following steps:
[0100] In response to the detection that the execution process has ended, the control module unloads the execution module, stops the connection between the control module and the interaction module, merges the read execution logs, and extracts key data from them.
[0101] Those skilled in the art will understand that all or part of the processes in the methods of the above embodiments can be implemented by a computer program instructing related hardware. The computer program can be stored in a non-volatile computer-readable storage medium, and when executed, it can include the processes of the embodiments of the above methods. Any references to memory, storage, databases, or other media used in the embodiments provided in this application can include non-volatile and / or volatile memory. Non-volatile memory can include read-only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), or flash memory. Volatile memory can include random access memory (RAM) or external cache memory. By way of illustration and not limitation, RAM is available in various forms, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), dual data rate SDRAM (DDRSDRAM), enhanced SDRAM (ESDRAM), synchronous link DRAM (SLDRAM), Rambus direct RAM (RDRAM), direct memory bus dynamic RAM (DRDRAM), and memory bus dynamic RAM (RDRAM), etc.
[0102] The technical features of the above embodiments can be combined in any way. For the sake of brevity, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.
[0103] The embodiments described above are merely examples of several implementation methods of this application, and while the descriptions are relatively specific and detailed, they should not be construed as limiting the scope of the invention patent. It should be noted that those skilled in the art can make various modifications and improvements without departing from the concept of this application, and these all fall within the protection scope of this application.
Claims
1. A server remote in-band management system, the system comprising an execution module, an interaction module, and a control module, characterized in that: The control module is used to construct an execution module based on the target server management task type; The interaction module is used to distribute the execution module to the target server, issue management work execution instructions to the execution module, and store the execution logs obtained by the execution module during the execution process; The control module is also used to unload the execution module, stop the connection with the interaction module, acquire and analyze the execution log reported by the execution module to the interaction module, and extract key data from the execution log when it reads the execution progress completion signal and does not receive the heartbeat signal sent by the target server within a preset time. The interaction module is a baseboard management controller sharing unit. The baseboard management controller sharing unit is divided according to a preset ratio to obtain n control bits and m data bits, where n and m are both positive numbers. The data stored in the baseboard management controller sharing unit includes multiple hexadecimal numbers. The multiple hexadecimal numbers are divided into control bits and data bits, which are responsible for controlling the workflow and saving the work data, respectively.
2. The server remote in-band management system according to claim 1, characterized in that, The execution module includes a control directory unit, an execution directory unit, and a resource directory unit: The control directory unit is used to store scripts that continuously send heartbeat signals to the control device, work scripts for controlling the workflow, and workflow control files; The execution directory unit is used to store files that are directly executed and complete a single management task; The resource directory unit is used to store the files required for management work.
3. The server remote in-band management system according to claim 1, characterized in that, The control module includes a preparation unit, an execution control unit, and an analysis unit. The preparation unit is used to construct the execution module and initialize the interaction module; The execution control unit is used to control the execution process of the execution module; The analysis unit is used to read the execution log during the execution of the execution module, analyze and process the execution log based on the management task type, and extract key data from the execution log.
4. A server remote in-band management method applied to a server remote in-band management system as described in any one of claims 1-3, characterized in that, The method includes: Based on the target server's management task type, a corresponding execution module is constructed, the execution module is packaged into the target carrier, and sent to the target server; Upon receiving a signal from the target carrier, the interaction module is initialized, the target carrier is remotely mounted to the target server using the baseboard management controller, and the target server power is restarted to guide the target server into the target carrier. Upon receiving a successful entry result, the heartbeat signal script and the work script in the execution module are automatically executed based on the process control file; During script execution, execution logs are sent to the interaction module at intervals based on the execution time of the target execution node. After the execution process is completed, the control module reads and analyzes the execution logs to extract key data.
5. The server remote in-band management method according to claim 4, characterized in that, Before sending execution logs to the interaction module at intervals based on the execution time of the target execution node, the method further includes: Compare the number of data bits with the amount of execution logs; When the execution log volume is greater than the number of data bits, the execution log is sent to the interaction module in batches based on the number of data bits; When it is detected that the execution logs of the target batch have been sent, the control module reads the execution logs received by the interaction module and sends the execution logs of the next batch.
6. The server remote in-band management method according to claim 4, characterized in that, The criteria for determining the end of the execution process include: Upon detecting that all execution nodes have completed, an execution progress completion signal is sent, and the heartbeat signal script is terminated; When the control module reads the execution progress completion signal and does not receive a heartbeat signal from the target server within a preset time, it determines that the execution process has ended.
7. The server remote in-band management method according to claim 6, characterized in that, In response to the detection that the execution process has ended, the control module unloads the execution module, stops the connection between the control module and the interaction module, merges the read execution logs, and extracts key data from them.
8. A computer 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, it implements the steps of the method according to any one of claims 4 to 7.
9. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, it implements the steps of the method according to any one of claims 4 to 7.
Citation Information
Patent Citations
System installation method, device and system, equipment and storage medium
CN110971689A
Server fault processing method and device, storage medium and electronic equipment
CN111694719A