1. Technical Field
Embodiments of the present disclosure generally relate to data center management, and particularly to a computing device and a method for managing servers in a data center.
2. Description of Related Art
A data center includes a large number of servers, and each server includes a baseboard management controller (BMC). Usually, one of the BMCs is selected to be a master BMC. The master BMC controls the servers to start in a sequence, to reduce power consumption of the data center. The sequence is set according to a starting delay time set in a basic input output system (BIOS) of the BMC of each server. However, it is time-consuming to set the starting delay time in each of the large number of servers. Besides, if the master BMC is non-operational, the other servers cannot be started successfully.
The disclosure, including the accompanying drawings, is illustrated by way of examples and not by way of limitation. It should be noted that references to “an” or “one” embodiment in this disclosure are not necessarily to the same embodiment, and such references mean “at least one.”
In general, the word “module”, as used herein, refers to logic embodied in hardware or firmware, or to a collection of software instructions, written in a programming language. One or more software instructions in the modules may be embedded in hardware, such as in an erasable programmable read only memory (EPROM). The modules described herein may be implemented as either software and/or hardware modules and may be stored in any type of non-transitory computer-readable medium or other storage device. Some non-limiting examples of non-transitory computer-readable media include CDs, DVDs, BLU-RAY, flash memory, and hard disk drives.
In one embodiment, the management unit 10 may include one or more function modules (as shown in
The BMC 21 reads information (e.g., voltage data, electric current data, or electric power data) of the power supply device 22, and controls a power-on operation of the power supply device 22. The BMC 21 may be powered on by an external power source (not shown in
In the embodiment, the BMCs 21 include candidate BMCs and peripheral BMCs. Candidate BMCs defines a group of BMCs of which any one may serve as a master BMC, and one of the candidate BMCs is selected to be a master BMC. Peripheral BMCs are the other BMCs which are not capable of serving as a master BMC. The candidate BMCs which are not selected to be the master BMC and the peripheral BMCs are controlled by the master BMC. The management unit 10 determines a master BMC from all of the candidate BMCs, the master BMC sends instructions to start the servers 20 to all of the peripheral BMCs, and the peripheral BMCs power on corresponding power supply devices 22 according to the instructions, to start corresponding servers 20. If the master BMC is non-operational, the management unit 10 selects another candidate BMC to be a new master BMC.
In the embodiment, each peripheral BMC records a historic average power Pi using data from every time the server 20 starts, and sends a data packet including the historic average power Pi to all of the candidate BMCs. The historic average power Pi is an average value of the power consumed by the server 20 when the server 20 is started. For example, the first time that an peripheral BMC starts the corresponding server 20, the power of the server 20 may be 30 W, and the second time the peripheral BMC starts the server 20, the power of the server 20 may be 50 W, then the historic average power Pi would be (30 W+50 W)/2=40 W.
Each candidate BMC (including the determined master BMC) has a peripheral BMC list (as shown in
In step S10, the update module 100 updates the peripheral BMC list of each candidate BMC, when the candidate BMC receives a data packet from an peripheral BMC.
In step S12, the determination module 200 determines a master BMC from all of the candidate BMCs. In the embodiment, each candidate BMC (including the determined master BMC) further has a master BMC list (as shown in
The master BMC list is a data list, which includes one or more nodes, and each node records information of the candidate BMCs (including the determined master BMC). The information of each candidate BMC includes an IP address of the candidate BMC and a preset identity number (ID, e.g., from “0” to “n”). The master BMC list further includes an index “Master” that points to the node associated with the determined master BMC. In the embodiment, the candidate BMC with the lowest identity number in the master BMC list is determined to be the master BMC. For example, the candidate BMC with an identity number “0” is initially determined to be the master BMC.
In step S14, the control module 300 controls the master BMC to send starting instructions to each peripheral BMC at a specified time interval “T”, according to a preset start sequence. Then each peripheral BMC powers on the corresponding power supply device 22, so that the corresponding server 20 is started. The master BMC further moves the index “Index” in the peripheral BMC list from the node associated with the presently read peripheral BMC to point to the node associated with a newly read peripheral BMC, and sends the information of the newly read peripheral BMC to each candidate BMC. The candidate BMCs then move the index “Index” in the peripheral BMC lists from the node associated with the presently read peripheral BMC to point to the node associated with the newly read peripheral BMC.
In the embodiment, the preset start sequence is set according to the historic average power Pi in the peripheral BMC list. In other embodiments, the preset start sequence may be set according to an ascending numerical ID of each peripheral BMC, for example.
In step S16, the abnormality processing module 400 determines that the master
BMC is non-operational and selects a new master BMC from remaining candidate BMCs, when the candidate BMCs do not receive information of the newly read peripheral BMC from the master BMC within a preset waiting time. In the embodiment, if the master BMC with the identity number “0” is non-operational, the abnormality processing module 400 selects the candidate BMC with the next identity number (“1” in this case) to be the new master BMC.
In the embodiment, the preset waiting time is “3T”. The new master BMC continues to send starting instructions to remaining peripheral BMCs at the specified time interval “T”, according to the preset start sequence. The remaining peripheral BMCs are peripheral BMCs of which the corresponding power supply devices 22 have not been powered on. In other embodiments, the new master BMC also can send starting instructions to all of the peripheral BMCs.
The index “Master” in the master BMC list is moved from the node associated with the non-operational master BMC to point to the node associated with the new master BMC.
In step S18, the starting module 500 powers on the power supply devices 20 corresponding to a present master BMC (the master BMC or the new master BMC) and the candidate BMCs after all of the power supply devices 20 corresponding to the peripheral BMCs have been powered on. In the embodiment, the power supply devices 20 corresponding to the present master BMC and the candidacy BMCs are powered on according to a sequence of the identity number in the master BMC lists at the specified time interval “T”.
Although certain inventive embodiments of the present disclosure have been specifically described, the present disclosure is not to be construed as being limited thereto.
Various changes or modifications may be made to the present disclosure without departing from the scope and spirit of the present disclosure.
Number | Date | Country | Kind |
---|---|---|---|
201210078662.1 | Mar 2012 | CN | national |