A server peak-shaving power-on method, device, equipment and storage medium

CN115525352BActive Publication Date: 2026-10-30INSPUR SUZHOU INTELLIGENT TECH CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202211208099.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-09-30
Publication Date
2026-10-30
Estimated Expiration
2042-09-30

AI Technical Summary

Technical Problem

通常,服务器运维人员会通过BMC远程给服务器下达开机命令的方式使服务器开机,当一个服务器机房中有许多服务器,运维人员给一批服务器下达开机命令后,多台服务器同时开机极有可能造成“电涌”现象,造成电路损坏

Benefits of technology

[0033]可见,本申请提供了一种服务器错峰上电方法,应用于基板管理控制器,包括:构建BMC分布式网络;其中,所述BMC分布式网络中的各基板管理控制器通过预设通信协议进行通信;在各所述基板管理控制器接收到客户端发送的控制服务器集群中各目标服务器开机的开机命令时,在所述BMC分布式网络中协商各所述目标服务器的开机时序;根据所述开机时序和所述开机命令控制各所述目标服务器依次执行相应的开机操作。由此可知,本申请中的预先构建的BMC分布式网络中的各基板管理控制器在接收到开机命令时,在BMC分布式网络中自动协商各目标服务器的开机时序,从而实现目标服务器的错峰上电,并且能够避免人工设置错峰上电的随机时间,减轻运维系统的负担,保障错峰上电功能的高效性、高可用性。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115525352B_ABST
    Figure CN115525352B_ABST
Patent Text Reader

Abstract

The application discloses a server staggered power-on method and device, equipment and storage medium, and relates to the technical field of computers, which comprises the following steps: constructing a BMC distributed network; wherein each baseboard management controller in the BMC distributed network communicates through a preset communication protocol; when each baseboard management controller receives a start-up command for starting up each target server in a control server cluster sent by a client, negotiating the start-up time sequence of each target server in the BMC distributed network; and controlling each target server to sequentially perform corresponding start-up operations according to the start-up time sequence and the start-up command. When each baseboard management controller in the pre-constructed BMC distributed network in the application receives a start-up command, the start-up time sequence of each target server is automatically negotiated in the BMC distributed network, thereby realizing the staggered power-on of the target server, avoiding manual setting of a random staggered power-on time, reducing the burden of an operation and maintenance system, and guaranteeing the efficiency and high availability of the staggered power-on function.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of computer technology, and in particular to a method, apparatus, device, and storage medium for staggered power-on of a server. Background Technology

[0002] With the development of computer systems and the massive application of the Internet across various industries, the number of servers used is increasing. Remotely controlling server power on / off via a BMC (Baseboard Management Controller) is the most basic, important, and commonly used function of a BMC. Typically, server maintenance personnel issue power-on commands to servers remotely via the BMC. When a server room contains many servers, issuing power-on commands to a batch of servers simultaneously can easily cause a power surge, resulting in circuit damage. However, current traditional BMCs implement a simple off-peak power-on strategy, meaning that after receiving a power-on command, the server does not power on immediately but waits for a random period before powering on. This random period needs to be manually configured within a specific range. Otherwise, if there are too many servers in a server cluster and the random period is too small, a power surge may still occur, damaging the circuit. However, because this random period needs to be manually set based on human experience, incorrect settings can still cause damage to the server and its circuitry. Summary of the Invention

[0003] In view of this, the purpose of this invention is to provide a server off-peak power-on method, apparatus, device, and storage medium, which can avoid manually setting random times for off-peak power-on, reduce the burden on the operation and maintenance system, and ensure the high efficiency and high availability of the off-peak power-on function. The specific solution is as follows:

[0004] In a first aspect, this application discloses a server off-peak power-on method, applied to a baseboard management controller, comprising:

[0005] A BMC distributed network is constructed; wherein, each baseboard management controller in the BMC distributed network communicates with each other through a preset communication protocol;

[0006] When each of the baseboard management controllers receives a power-on command from the client to power on each target server in the control server cluster, the power-on sequence of each target server is negotiated in the BMC distributed network.

[0007] According to the boot sequence and the boot command, each target server is controlled to perform the corresponding boot operation in sequence.

[0008] Optionally, constructing the BMC distributed network includes:

[0009] The BMC distributed network is constructed based on a pre-defined distributed storage and routing algorithm.

[0010] Optionally, when each of the baseboard management controllers receives a power-on command from the client to power on each target server in the control server cluster, negotiating the power-on sequence of each target server in the BMC distributed network includes:

[0011] When any baseboard management controller in the BMC distributed network receives a power-on command from the client to power on each target server in the control server cluster, it sends a query command to other baseboard management controllers in the BMC distributed network to query out the other baseboard management controllers that received the power-on command, and records the corresponding query results in the target memory to obtain the corresponding target record data.

[0012] The target recording data is sent to other baseboard management controllers so that the other baseboard management controllers can determine whether the target recording data is consistent with the data they have recorded and receive a corresponding confirmation message;

[0013] After receiving the confirmation message returned by the other baseboard management controllers, the power-on sequence of the other baseboard management controllers controlling the power-on of each target server is negotiated according to the size of the corresponding identifier number of each of the other baseboard management controllers.

[0014] Optionally, controlling each of the target servers to sequentially execute corresponding boot operations according to the boot sequence and the boot command includes:

[0015] When a target baseboard management controller in the BMC distributed network controls a target server in the server cluster to power on, it monitors whether another target baseboard management controller determined according to the power-on sequence receives the power-on message sent by the target baseboard management controller within a first preset time.

[0016] If it is detected that the other target baseboard management controller receives the power-on message sent by the first target baseboard management controller within the first preset time, then after waiting for the second preset time, the other target baseboard management controller controls the other target server to perform the corresponding power-on operation according to the power-on command.

[0017] If it is detected that the other target baseboard management controller does not receive the power-on message sent by the first target baseboard management controller within the first preset time, then the other target baseboard management controller directly controls the other target server to perform the corresponding power-on operation according to the power-on command.

[0018] Optionally, the server staggered power-on method further includes:

[0019] The monitoring results are obtained by monitoring whether any new servers are coming online in the server cluster.

[0020] Based on the monitoring results, it is determined whether to update the routing table corresponding to each baseboard management controller in the BMC distributed network; the routing table is a routing table that records the correspondence between the identifier number and IPv4 address of the baseboard management controller.

[0021] Optionally, determining whether to update the routing table corresponding to each of the baseboard management controllers in the BMC distributed network based on the monitoring results includes:

[0022] If the monitoring results indicate that a new server has come online in the server cluster, then each baseboard management controller in the BMC distributed network updates its corresponding routing table when it receives the online message of the new server.

[0023] Optionally, controlling each of the target servers to sequentially execute corresponding boot operations according to the boot sequence and the boot command includes:

[0024] According to the power-on sequence and the power-on command, and through the GPIO interface integrated on the baseboard management controller, each target server is controlled to perform the corresponding power-on operation in sequence.

[0025] Secondly, this application discloses a server off-peak power-on device, applied to a baseboard management controller, comprising:

[0026] A network construction module is used to construct a BMC distributed network; wherein, each baseboard management controller in the BMC distributed network communicates with each other through a preset communication protocol;

[0027] The timing negotiation module is used to negotiate the power-on timing of each target server in the BMC distributed network when each of the baseboard management controllers receives a power-on command sent by the client to power on each target server in the control server cluster.

[0028] The power-on control module is used to control each of the target servers to perform corresponding power-on operations in sequence according to the power-on timing and the power-on command.

[0029] Thirdly, this application discloses an electronic device, including:

[0030] Memory, used to store computer programs;

[0031] A processor is configured to execute the computer program to implement the steps of the aforementioned disclosed server off-peak power-on method.

[0032] Fourthly, this application discloses a computer-readable storage medium for storing a computer program; wherein, when the computer program is executed by a processor, it implements the steps of the aforementioned disclosed server off-peak power-on method.

[0033] As can be seen, this application provides a method for staggered power-on of servers, applied to a baseboard management controller, comprising: constructing a BMC distributed network; wherein, each baseboard management controller in the BMC distributed network communicates through a preset communication protocol; when each baseboard management controller receives a power-on command from a client to power on each target server in the control server cluster, it negotiates the power-on sequence of each target server in the BMC distributed network; and controls each target server to sequentially perform corresponding power-on operations according to the power-on sequence and the power-on command. Therefore, it can be seen that when each baseboard management controller in the pre-constructed BMC distributed network receives a power-on command, it automatically negotiates the power-on sequence of each target server in the BMC distributed network, thereby achieving staggered power-on of the target servers, avoiding the need for manually setting random times for staggered power-on, reducing the burden on the operation and maintenance system, and ensuring the high efficiency and high availability of the staggered power-on function. Attached Figure Description

[0034] To more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on the provided drawings without creative effort.

[0035] Figure 1 This application discloses a flowchart of a server staggered power-on method.

[0036] Figure 2 This application discloses a specific method for staggered power-on of a server.

[0037] Figure 3 This application discloses a specific method for staggered power-on of a server.

[0038] Figure 4 This is a schematic diagram of a server peak-shaving power-on device disclosed in this application;

[0039] Figure 5 This is a schematic diagram of the structure of each BMC in a BMC distributed network disclosed in this application;

[0040] Figure 6 This is a structural diagram of an electronic device disclosed in this application. Detailed Implementation

[0041] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.

[0042] Currently, server maintenance personnel remotely issue power-on commands to servers via BMC (Block Controller) to power them on. When a server room contains many servers, issuing power-on commands to a batch of servers simultaneously can easily cause power surges, damaging circuits. However, current traditional BMCs implement simple off-peak power-on strategies, meaning that after receiving a power-on command, they do not immediately power on the server but wait for a random time before powering it on. This random time needs to be manually configured within a specific range. Otherwise, if there are too many servers in a server cluster or the random time range is too small, power surges may still occur, damaging the circuits. However, since this random time range relies on human experience for manual setting, incorrect settings can still cause damage to servers and circuits. Therefore, this application provides a server off-peak power-on solution that avoids manually setting the random time for off-peak power-on, reducing the burden on the maintenance system, and ensuring the efficiency and high availability of the off-peak power-on function.

[0043] This invention discloses a method for staggered power-on of servers, see [link to relevant documentation]. Figure 1 As shown, applied to a baseboard management controller, the method includes:

[0044] Step S11: Construct a BMC distributed network; wherein, each baseboard management controller in the BMC distributed network communicates through a preset communication protocol.

[0045] In this embodiment, a BMC distributed network is constructed. Specifically, the BMC distributed network is constructed based on a preset distributed storage and routing algorithm. For example, the BMC distributed network is constructed based on the Kademlia algorithm. Each baseboard management controller (BMC) in the BMC distributed network communicates with each other through a preset communication protocol. For example, the BMCs communicate with each other through a local area network. The preset communication protocol can be the general HTTP (Hypertext Transfer Protocol) or other custom communication protocol stacks.

[0046] In this embodiment, it is also possible to monitor whether a new server has come online in the server cluster and obtain corresponding monitoring results; based on the monitoring results, it is determined whether to update the routing table corresponding to each of the baseboard management controllers in the BMC distributed network; the routing table is a routing table that records the correspondence between the identifier number and IPv4 address of the baseboard management controller. If the monitoring result indicates that a new server has come online in the server cluster, the routing table corresponding to each baseboard management controller is updated when the baseboard management controller in the BMC distributed network receives the online message of the new server. Understandably, when a new server comes online in the server cluster, the BMC distributed network can transmit the online message of the new server to each baseboard management controller node. Each baseboard management controller node can then update its routing table in a timely manner. In other words, each baseboard management controller in the BMC distributed network maintains a global routing table that records the correspondence between BMC IDs and IPv4 values. The ID of each baseboard management controller node in the BMC distributed network can be 160 bits. Furthermore, each baseboard management controller node periodically accesses each node in its own routing table. If it finds an inaccessible node, it determines that the inaccessible node is offline and deletes the node from the routing table.

[0047] For example, when the baseboard management controllers in the BMC distributed network communicate via an IPv4 network and the ID of each baseboard management controller node is 4 bits, the correspondence between the BMC ID and IPv4 recorded in the routing table is shown in Table 1:

[0048] 0000 192.168.0.6 0001 192.168.0.11 0010 192.168.0.7 0011 192.168.0.5 …… ……

[0049] Step S12: When each of the baseboard management controllers receives a power-on command from the client to power on each target server in the control server cluster, the power-on sequence of each target server is negotiated in the BMC distributed network.

[0050] In this embodiment, when each of the baseboard management controllers in the BMC distributed network receives a power-on command from the client to power on each target server in the control server cluster, the power-on sequence of each target server is negotiated. That is, the power-on time of each target server is determined to avoid simultaneous power-on of target servers in the server cluster that have received power-on commands at the same time.

[0051] Step S13: Control each target server to perform the corresponding boot operation in sequence according to the boot sequence and the boot command.

[0052] In this embodiment, when each of the baseboard management controllers receives a power-on command from the client to power on each target server in the control server cluster, after negotiating the power-on sequence of each target server in the BMC distributed network, the baseboard management controllers can control each target server to perform the corresponding power-on operation sequentially according to the power-on sequence and the power-on command. Specifically, based on the power-on sequence and the power-on command, the baseboard management controller controls each target server to perform the corresponding power-on operation sequentially through the GPIO (General-purpose input / output) interface integrated on the baseboard management controller. That is, the power-on of the target server is controlled by pulling up or down the GPIO interface according to the power-on sequence.

[0053] As can be seen, when each baseboard management controller in the pre-built BMC distributed network in this application embodiment receives a power-on command, it automatically negotiates the power-on sequence of each target server in the BMC distributed network, thereby realizing the staggered power-on of the target servers and avoiding the need to manually set the random time of staggered power-on, reducing the burden on the operation and maintenance system, and ensuring the high efficiency and high availability of the staggered power-on function.

[0054] See Figure 2 As shown, this embodiment of the invention discloses a specific method for staggered power-on of a server, applied to a baseboard management controller. Compared with the previous embodiment, this embodiment further explains and optimizes the technical solution.

[0055] Step S21: Construct a BMC distributed network; wherein, each baseboard management controller in the BMC distributed network communicates through a preset communication protocol.

[0056] Step S22: When any baseboard management controller in the BMC distributed network receives a power-on command from the client to power on each target server in the control server cluster, it sends a query command to other baseboard management controllers in the BMC distributed network to query out the other baseboard management controllers that received the power-on command, and records the corresponding query results in the target memory to obtain the corresponding target record data.

[0057] In this embodiment, when any baseboard management controller in the BMC distributed network receives a power-on command from a client to power on each target server in the control server cluster, it sends a query command to other baseboard management controllers in the BMC distributed network to query which other baseboard management controllers have also received the power-on command, and records the corresponding query results in the target memory to obtain the corresponding target record data. It can be understood that when a baseboard management controller in the BMC distributed network receives a power-on command, it simultaneously sends a query command to other baseboard management controller nodes in the BMC distributed network to query which baseboard management controller nodes have also received the power-on command, and records the corresponding query results in the target memory.

[0058] Step S23: Send the target recording data to other substrate management controllers so that the other substrate management controllers can determine whether the target recording data is consistent with the data they have recorded and obtain the corresponding confirmation message.

[0059] In this embodiment, the baseboard management control node that sends the query command to other baseboard management control nodes in the BMC distributed network also sends its own recorded target data to the other baseboard management control nodes so that the other baseboard management control nodes can determine whether the target data is consistent with their own recorded data and obtain a corresponding confirmation message. That is, it confirms whether the records of other baseboard management controllers that also received the power-on command are consistent with the records of the baseboard management controller that received the power-on command.

[0060] Step S24: After receiving the confirmation message returned by the other baseboard management controllers, negotiate the power-on sequence of the other baseboard management controllers controlling the power-on of each target server according to the size of the corresponding identifier number of each of the other baseboard management controllers.

[0061] In this embodiment, after the other baseboard management controllers determine whether the target recorded data is consistent with their own recorded data and receive the corresponding confirmation message, they will return the confirmation message to the baseboard management controller that sent the query command. That is, after receiving the confirmation message returned by the other baseboard management controllers, the baseboard management controller that sent the query command negotiates the power-on sequence of the other baseboard management controllers controlling the power-on of each target server according to the size of the corresponding ID number of each of the other baseboard management controllers. In other words, the baseboard management controllers that simultaneously receive the power-on command in the BMC distributed network power on sequentially according to their ID size. It should be noted that it is permissible for some baseboard management controller nodes not to reply with the corresponding confirmation message, as this has little impact on the overall circuit.

[0062] Step S25: Control each target server to perform the corresponding boot operation in sequence according to the boot sequence and the boot command.

[0063] For details regarding steps S21 and S25, please refer to the corresponding content disclosed in the foregoing embodiments, which will not be repeated here.

[0064] As can be seen, when each baseboard management controller in the pre-built BMC distributed network in this application embodiment receives a power-on command, it automatically negotiates the power-on sequence of each target server in the BMC distributed network, thereby realizing the staggered power-on of the target servers and avoiding the need to manually set the random time of staggered power-on, reducing the burden on the operation and maintenance system, and ensuring the high efficiency and high availability of the staggered power-on function.

[0065] See Figure 3 As shown, this embodiment of the invention discloses a specific method for staggered power-on of a server, applied to a baseboard management controller. Compared with the previous embodiment, this embodiment further explains and optimizes the technical solution.

[0066] Step S31: Construct a BMC distributed network; wherein, each baseboard management controller in the BMC distributed network communicates through a preset communication protocol.

[0067] Step S32: When each of the baseboard management controllers receives a power-on command from the client to power on each target server in the control server cluster, the power-on sequence of each target server is negotiated in the BMC distributed network.

[0068] Step S33: After a target baseboard management controller in the BMC distributed network controls a target server in the server cluster to power on, monitor whether another target baseboard management controller determined according to the power-on sequence receives the power-on message sent by the target baseboard management controller within a first preset time.

[0069] In this embodiment, after a target baseboard management controller in the BMC distributed network controls the power-on of a target server in the server cluster, it monitors whether another target baseboard management controller, determined according to the power-on timing, receives a power-on message sent by the first target baseboard management controller within a first preset time period. In other words, after a target baseboard management controller in the BMC distributed network controls the power-on of a target server in the server cluster, it monitors whether the first target baseboard management controller sends a power-on message indicating that the target server is powered on within the first preset time period.

[0070] Step S34: If it is detected that the other target baseboard management controller receives the power-on message sent by the first target baseboard management controller within the first preset time, then after waiting for the second preset time, the other target baseboard management controller controls the other target server to perform the corresponding power-on operation according to the power-on command.

[0071] In this embodiment, when monitoring whether another target substrate management controller, determined according to the power-on timing sequence, receives a power-on message sent by the first target substrate management controller within a first preset time period, if it is detected that the other target substrate management controller receives the power-on message sent by the first target substrate management controller within the first preset time period, then after waiting for a second preset time period, the other target substrate management controller controls the other target server to perform a corresponding power-on operation according to the power-on command. That is, if it is detected that the first target substrate management controller has sent a power-on message indicating that the first target server is powered on within the first preset time period, then after waiting for a second preset time period, the other target substrate management controller controls the other target server to perform a corresponding power-on operation according to the power-on command.

[0072] Step S35: If it is detected that the other target baseboard management controller does not receive the power-on message sent by the first target baseboard management controller within the first preset time, then the other target server is directly controlled by the other target baseboard management controller to perform the corresponding power-on operation according to the power-on command.

[0073] In this embodiment, when monitoring whether another target substrate management controller, determined according to the power-on timing, receives a power-on message from the first target substrate management controller within a first preset time period, if it is detected that the other target substrate management controller has not received the power-on message from the first target substrate management controller within the first preset time period, then the other target substrate management controller directly controls the other target server to perform the corresponding power-on operation according to the power-on command. In other words, if it is detected that the first substrate management controller has not sent a power-on message indicating that the first target server is powered on within the first preset time period, the other target substrate management controller can directly control the other target server to perform the power-on operation according to the power-on command.

[0074] For example, after BMC node ID 0000 confirms the consistency of its recorded data and powers on a target server, it sends a power-on message to other BMC nodes indicating that the target server has been successfully powered on. Node ID 0001 receives this message, waits 2 seconds, and then powers on another target server, and so on. If node ID 0000 fails to send the power-on message indicating successful power-on of a target server within 20 seconds, node ID 0001 will stop waiting and power on another target server.

[0075] For details regarding steps S31 to S32, please refer to the corresponding content disclosed in the foregoing embodiments, which will not be repeated here.

[0076] As can be seen, when each baseboard management controller in the pre-built BMC distributed network in this application embodiment receives a power-on command, it automatically negotiates the power-on sequence of each target server in the BMC distributed network, thereby realizing the staggered power-on of the target servers and avoiding the need to manually set the random time of staggered power-on, reducing the burden on the operation and maintenance system, and ensuring the high efficiency and high availability of the staggered power-on function.

[0077] Accordingly, this application also discloses a server off-peak power-on device, applied to a baseboard management controller, see [link to relevant documentation]. Figure 4 As shown, the device includes:

[0078] Network construction module 11 is used to construct a BMC distributed network; wherein, each baseboard management controller in the BMC distributed network communicates through a preset communication protocol;

[0079] The timing negotiation module 12 is used to negotiate the power-on timing of each target server in the BMC distributed network when each of the baseboard management controllers receives a power-on command sent by the client to power on each target server in the control server cluster.

[0080] The power-on control module 13 is used to control each of the target servers to perform corresponding power-on operations in sequence according to the power-on timing and the power-on command.

[0081] As can be seen from the above, when each baseboard management controller in the pre-built BMC distributed network in the embodiments of this application receives the power-on command, it automatically negotiates the power-on sequence of each target server in the BMC distributed network, thereby realizing the staggered power-on of the target servers, and avoiding the need to manually set the random time of staggered power-on, reducing the burden on the operation and maintenance system, and ensuring the high efficiency and high availability of the staggered power-on function.

[0082] In some specific embodiments, the network construction module 11 may specifically include:

[0083] The network construction unit is used to build the BMC distributed network based on a preset distributed storage and routing algorithm.

[0084] In some specific embodiments, the timing negotiation module 12 may specifically include:

[0085] The query module is used to send a query command to other baseboard management controllers in the BMC distributed network when any baseboard management controller in the BMC distributed network receives a power-on command from the client to power on each target server in the control server cluster. The query command is used to query other baseboard management controllers that have received the power-on command and record the corresponding query results in the target memory to obtain the corresponding target record data.

[0086] The data transmission module is used to send the target recording data to other baseboard management controllers so that the other baseboard management controllers can determine whether the target recording data is consistent with their own recorded data and obtain a corresponding confirmation message;

[0087] The message receiving module is used to negotiate the power-on sequence of the other baseboard management controllers controlling the power-on of each target server based on the size of the identifier number corresponding to each of the other baseboard management controllers after receiving the confirmation message returned by the other baseboard management controllers.

[0088] In some specific embodiments, the power-on control module 13 may specifically include:

[0089] The first monitoring module is used to monitor whether another target baseboard management controller, determined according to the power-on sequence, receives the power-on message sent by the target baseboard management controller within a first preset time after a target baseboard management controller in the BMC distributed network controls a target server in the server cluster to power on.

[0090] The first control module is used to, when it detects that the other target baseboard management controller receives the power-on message sent by the other target baseboard management controller within the first preset time, wait for a second preset time and then control the other target baseboard management controller to perform the corresponding power-on operation according to the power-on command.

[0091] The second control module is used to directly control the other target server to perform the corresponding power-on operation according to the power-on command by the other target baseboard management controller when it is detected that the other target baseboard management controller has not received the power-on message sent by the first target baseboard management controller within the first preset time.

[0092] In some specific embodiments, the server off-peak power-on device may specifically include:

[0093] The second monitoring module is used to monitor whether any new servers are coming online in the server cluster and obtain corresponding monitoring results.

[0094] The routing table update module is used to determine whether to update the routing table corresponding to each of the baseboard management controllers in the BMC distributed network based on the monitoring results; the routing table is a routing table that records the correspondence between the identifier number and IPv4 address of the baseboard management controller.

[0095] In some specific embodiments, the routing table update module may specifically include:

[0096] The routing table update unit is used to update the routing table corresponding to each of the baseboard management controllers in the BMC distributed network when the monitoring result indicates that a new server has come online in the server cluster.

[0097] In some specific embodiments, the power-on control module 13 may specifically include:

[0098] The power-on control unit is used to control each of the target servers to perform corresponding power-on operations sequentially according to the power-on sequence and the power-on command, and through the GPIO interface integrated on the baseboard management controller.

[0099] For example, such as Figure 5 As shown, each BMC in the BMC distributed network may include a power-on / off control module, a timing negotiation module, a Kademlia distributed networking module, and a communication module. The power-on / off control module is the program module for controlling the power-on and power-off of the BMC. The communication module is the out-of-band management channel module of the BMC, typically a network. The Kademlia distributed networking module is the module that implements the Kademlia algorithm. The timing negotiation module is the module that negotiates the power-on / off timing when BMC nodes receive power-on / off commands. In other words, the distributed peak-shifting power-on / off function can be achieved through the cooperation of the power-on / off control module, the timing negotiation module, the Kademlia distributed networking module, and the communication module. The power-on / off control module and the communication module are traditional BMC built-in modules; their external interfaces can be modified for use in the technical solution of this application. The Kademlia distributed networking module and the timing negotiation module can be made into universal modules, and they can also be easily reused by modifying their external interfaces.

[0100] Furthermore, embodiments of this application also provide an electronic device. Figure 6 This is a structural diagram of an electronic device 20 according to an exemplary embodiment. The content of the diagram should not be construed as limiting the scope of this application.

[0101] Figure 6 This is a schematic diagram of the structure of an electronic device 20 provided in an embodiment of this application. Specifically, the electronic device 20 may include: at least one processor 21, at least one memory 22, a power supply 23, a communication interface 24, an input / output interface 25, and a communication bus 26. The memory 22 stores a computer program, which is loaded and executed by the processor 21 to implement the relevant steps in the server off-peak power-on method disclosed in any of the foregoing embodiments. Alternatively, the electronic device 20 in this embodiment may specifically be a computer.

[0102] In this embodiment, the power supply 23 is used to provide operating voltage for each hardware device on the electronic device 20; the communication interface 24 can create a data transmission channel between the electronic device 20 and external devices, and the communication protocol it follows can be any communication protocol applicable to the technical solution of this application, and is not specifically limited here; the input / output interface 25 is used to acquire external input data or output data to the outside world, and its specific interface type can be selected according to specific application needs, and is not specifically limited here.

[0103] In addition, the memory 22, as a carrier for resource storage, can be a read-only memory, random access memory, disk or optical disk, etc. The resources stored thereon can include operating system 221, computer program 222, etc., and the storage method can be temporary storage or permanent storage.

[0104] The operating system 221 is used to manage and control the various hardware devices on the electronic device 20 and the computer program 222, which may be Windows Server, Netware, Unix, Linux, etc. In addition to including a computer program capable of performing the server off-peak power-on method executed by the electronic device 20 as disclosed in any of the foregoing embodiments, the computer program 222 may further include a computer program capable of performing other specific tasks.

[0105] Furthermore, embodiments of this application also disclose a computer-readable storage medium storing a computer program. When the computer program is loaded and executed by a processor, it implements the server off-peak power-on method steps disclosed in any of the foregoing embodiments.

[0106] The various embodiments in this specification are described in a progressive manner, with each embodiment focusing on its differences from other embodiments. Similar or identical parts between embodiments can be referred to interchangeably. For the apparatus disclosed in the embodiments, since it corresponds to the method disclosed in the embodiments, the description is relatively simple; relevant parts can be referred to in the method section.

[0107] Finally, it should be noted that in this document, relational terms such as "first" and "second" are used only to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.

[0108] The above provides a detailed description of a server off-peak power-on method, apparatus, device, and storage medium provided by the present invention. Specific examples have been used to illustrate the principles and implementation methods of the present invention. The descriptions of the above embodiments are only for the purpose of helping to understand the method and core ideas of the present invention. At the same time, for those skilled in the art, there will be changes in the specific implementation methods and application scope based on the ideas of the present invention. Therefore, the content of this specification should not be construed as a limitation of the present invention.

Claims

1. A method for staggered power-on of a server, characterized in that, Applications to baseboard management controllers include: A BMC distributed network is constructed; wherein, each baseboard management controller in the BMC distributed network communicates through a preset communication protocol; the preset protocol includes Hypertext Transfer Protocol and other custom communication protocol stacks; When each of the baseboard management controllers receives a power-on command from the client to power on each target server in the control server cluster, the power-on sequence of each target server is negotiated in the BMC distributed network. According to the boot sequence and the boot command, each of the target servers is controlled to perform the corresponding boot operation in sequence; Constructing a BMC distributed network includes: building a BMC distributed network based on a preset distributed storage and routing algorithm; the preset distributed storage and routing algorithm is the Kademlia algorithm; When each baseboard management controller receives a power-on command from the client to power on each target server in the control server cluster, the power-on sequence of each target server is negotiated in the BMC distributed network. This includes: when any baseboard management controller in the BMC distributed network receives a power-on command from the client to power on each target server in the control server cluster, it sends a query command to other baseboard management controllers in the BMC distributed network to query other baseboard management controllers that received the power-on command, and records the corresponding query results in the target memory to obtain the corresponding target record data; it sends the target record data to other baseboard management controllers so that the other baseboard management controllers can determine whether the target record data is consistent with the data they have recorded and obtain the corresponding confirmation message; after receiving the confirmation message returned by other baseboard management controllers, the power-on sequence of each target server controlled by the other baseboard management controllers is negotiated according to the size of the corresponding identifier number of each baseboard management controller. Based on the power-on sequence and power-on command, the system controls each target server to perform corresponding power-on operations sequentially, including: when a target baseboard management controller in the BMC distributed network controls the power-on of a target server in the server cluster, it monitors whether another target baseboard management controller, determined according to the power-on sequence, receives a power-on message sent by the first target baseboard management controller within a first preset time; if the other target baseboard management controller receives a power-on message sent by the first target baseboard management controller within the first preset time, it waits for a second preset time and then controls the other target server to perform the corresponding power-on operation according to the power-on command; if the other target baseboard management controller does not receive a power-on message sent by the first target baseboard management controller within the first preset time, it directly controls the other target server to perform the corresponding power-on operation according to the power-on command.

2. The server staggered power-on method according to claim 1, characterized in that, Also includes: The monitoring results are obtained by monitoring whether any new servers are coming online in the server cluster. Based on the monitoring results, it is determined whether to update the routing table corresponding to each baseboard management controller in the BMC distributed network; the routing table is a routing table that records the correspondence between the identifier number and IPv4 address of the baseboard management controller.

3. The server staggered power-on method according to claim 2, characterized in that, The step of determining whether to update the routing table corresponding to each baseboard management controller in the BMC distributed network based on the monitoring results includes: If the monitoring results indicate that a new server has come online in the server cluster, then each baseboard management controller in the BMC distributed network updates its corresponding routing table when it receives the online message of the new server.

4. The server off-peak power-on method according to claim 3, characterized in that, The step of controlling each target server to sequentially execute corresponding boot operations according to the boot sequence and the boot command includes: According to the power-on sequence and the power-on command, and through the GPIO interface integrated on the baseboard management controller, each target server is controlled to perform the corresponding power-on operation in sequence.

5. A server off-peak power-on device, characterized in that, Applications to baseboard management controllers include: A network construction module is used to construct a BMC distributed network; wherein, each baseboard management controller in the BMC distributed network communicates with each other through a preset communication protocol; The timing negotiation module is used to negotiate the power-on timing of each target server in the BMC distributed network when each of the baseboard management controllers receives a power-on command sent by the client to power on each target server in the control server cluster. The power-on control module is used to control each of the target servers to perform corresponding power-on operations in sequence according to the power-on timing and the power-on command. Constructing a BMC distributed network includes: building a BMC distributed network based on a preset distributed storage and routing algorithm; the preset distributed storage and routing algorithm is the Kademlia algorithm; When each baseboard management controller receives a power-on command from the client to power on each target server in the control server cluster, the power-on sequence of each target server is negotiated in the BMC distributed network. This includes: when any baseboard management controller in the BMC distributed network receives a power-on command from the client to power on each target server in the control server cluster, it sends a query command to other baseboard management controllers in the BMC distributed network to query other baseboard management controllers that received the power-on command, and records the corresponding query results in the target memory to obtain the corresponding target record data; it sends the target record data to other baseboard management controllers so that the other baseboard management controllers can determine whether the target record data is consistent with the data they have recorded and obtain the corresponding confirmation message; after receiving the confirmation message returned by other baseboard management controllers, the power-on sequence of each target server controlled by the other baseboard management controllers is negotiated according to the size of the corresponding identifier number of each baseboard management controller. Based on the power-on sequence and power-on command, the system controls each target server to perform corresponding power-on operations sequentially, including: when a target baseboard management controller in the BMC distributed network controls the power-on of a target server in the server cluster, it monitors whether another target baseboard management controller, determined according to the power-on sequence, receives a power-on message sent by the first target baseboard management controller within a first preset time; if the other target baseboard management controller receives a power-on message sent by the first target baseboard management controller within the first preset time, it waits for a second preset time and then controls the other target server to perform the corresponding power-on operation according to the power-on command; if the other target baseboard management controller does not receive a power-on message sent by the first target baseboard management controller within the first preset time, it directly controls the other target server to perform the corresponding power-on operation according to the power-on command.

6. An electronic device, characterized in that, include: Memory, used to store computer programs; A processor for executing the computer program to implement the steps of the server off-peak power-on method as described in any one of claims 1 to 4.

7. A computer-readable storage medium, characterized in that, Used to store computer programs; wherein, when executed by a processor, the computer programs implement the steps of the server off-peak power-on method as described in any one of claims 1 to 4.

Citation Information

Patent Citations

  • Control method, server and control terminal

    CN112947733A