Multi-node server management method, electronic device and computer program product
By determining the master node and slave node according to the slot number of the node card slot in a multi-node server, and using the management controller of the master node for the whole machine to manage, the cost and complexity of adding centralized management chips in the prior art is solved, and efficient and low-cost server management is achieved.
Patent Information
- Application Number
- CN202411721979.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-27
- Publication Date
- 2025-04-01
AI Technical Summary
The existing multi-node server management method requires the addition of separate centralized management chips to the server, which increases costs, is complex in development and design, and is difficult to implement.
By obtaining the slot number of each node, determining the master node and slave node, and using the master node's management controller for the whole machine to manage, avoiding the need to increase the centralized management chip.
It realizes efficient management of multi-node servers, reduces development costs and implementation difficulties, and simplifies management processes.
Smart Images

Figure CN119739505A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of computer technology, and in particular to a multi-node server management method, electronic equipment and computer program product. Background Art
[0002] A multi-node server is a server form, each node is equivalent to an independent server, and multiple server nodes share a chassis, fan or power supply. In the related art, multi-node server management usually uses a two-level management architecture of centralized management and node management. Centralized management requires the deployment of a centralized management module, which implements fan management, power management and node management. Node management is only responsible for the management of this node, and each node reports its node information to the centralized management module. The related art requires adding a separate centralized management chip to the multi-node server for multi-node server management, which not only increases the cost, but also the development and design of the centralized management chip is complex and difficult to implement. Summary of the invention
[0003] In view of this, an embodiment of the present invention provides a multi-node server management method, an electronic device, and a computer program product.
[0004] The technical solution of the embodiment of the present invention is achieved as follows:
[0005] In one aspect, an embodiment of the present invention provides a multi-node server management method, the method comprising:
[0006] Obtaining a slot number of a card slot where each node of a multi-node server is located, the multi-node server comprising a plurality of nodes, each node comprising a management controller, a chassis of the multi-node server comprising a plurality of card slots, and the slot number representing an identifier of the card slot where the corresponding node is located;
[0007] Based on the slot number of each node, the master node of all nodes is determined, and all nodes except the master node are slave nodes;
[0008] The multi-node server is managed based on the management controller of the master node.
[0009] In the above solution, determining the master node of all nodes based on the slot information of each node includes:
[0010] Get the preset master node configuration information table;
[0011] Determine whether there is configured master node information in the preset master node configuration information table;
[0012] If the preset master node configuration information table contains configured master node information, determining the master node based on the preset master node configuration information table;
[0013] If the master node information is not configured in the preset master node configuration information table, the master node is determined based on the default master node configuration information.
[0014] In the above solution, the determining the master node based on the preset master node configuration information table includes:
[0015] The preset master node configuration information table is configured with preset slot number sequence information, and the master node is determined based on the preset slot number sequence information.
[0016] In the above solution, the determining of the master node based on the default master node configuration information includes:
[0017] According to the size of the slot number of each node, the node with the smallest slot number is determined as the master node.
[0018] In the above solution, the method further includes:
[0019] Receive heartbeat signals from each node;
[0020] Correspondingly, the method of determining the master node of all nodes based on the slot number of each node includes:
[0021] Based on the heartbeat signal and slot number of each node, the master node of all nodes is determined.
[0022] In the above solution, after determining the master node of all nodes, the method further includes:
[0023] Regularly detect the heartbeat signals of all nodes;
[0024] If the heartbeat signal of the master node is abnormal, the master node of all nodes is re-determined based on the heartbeat signal and slot number of each node.
[0025] In the above solution, after re-determining the master nodes of all nodes, the method further includes:
[0026] If it is detected that the heartbeat signal of the original master node has returned to normal, the master node will not be switched again.
[0027] In the above solution, after determining the master node of all nodes, the method further includes:
[0028] Send the master node information and slave node information to all nodes.
[0029] In the above solution, the method further includes:
[0030] If a new node is detected, determine whether there is a master node when the new node is added;
[0031] If there is no master node when adding a new node, the master node is determined based on the slot numbers of all nodes;
[0032] If there is a master node when a new node is added, the new node is determined as a slave node.
[0033] In the above solution, the management controller based on the master node manages the multi-node server, including:
[0034] Receive temperature data sent by all slave nodes;
[0035] Forwarding the temperature data sent by all slave nodes to the master node;
[0036] Receiving fan speed information sent by the management controller of the master node, wherein the management controller of the master node is used to determine the fan speed information based on the temperature data of each slave node;
[0037] The fan speed of the fan in the server chassis is adjusted based on the fan speed information.
[0038] In the above solution, the management controller based on the master node manages the multi-node server, including:
[0039] Receive power consumption data sent by all slave nodes;
[0040] Forward the power consumption data sent by all slave nodes to the master node;
[0041] Receiving a power supply working mode sent by the management controller of the master node, wherein the management controller of the master node is used to determine the power supply working mode based on the power consumption data of each slave node;
[0042] The operating mode of the power supply in the server chassis is adjusted based on the power supply operating mode.
[0043] On the other hand, an embodiment of the present application further provides a multi-node server management device, the device comprising:
[0044] An acquisition module, used to acquire a slot number of a card slot where each node of a multi-node server is located, the multi-node server includes a plurality of nodes, each node includes a management controller, a chassis of the multi-node server includes a plurality of card slots, and the slot number represents an identifier of the card slot where the corresponding node is located;
[0045] A determination module, used to determine the master node of all nodes based on the slot number of each node, and all nodes except the master node are slave nodes;
[0046] A management module is used to manage the multi-node server based on the management controller of the master node.
[0047] On the other hand, an embodiment of the present application further provides a computer program product, including a computer program, which, when executed by a processor, implements the steps of the above-mentioned multi-node server management method.
[0048] On the other hand, an embodiment of the present invention provides an electronic device, including a processor and a memory, which are interconnected, wherein the memory is used to store a computer program, the computer program includes program instructions, and the processor is configured to call the program instructions to execute the steps of the multi-node server management method provided by the embodiment of the present invention.
[0049] On the other hand, an embodiment of the present invention provides a computer-readable storage medium, including: the computer-readable storage medium stores a computer program. When the computer program is executed by a processor, the steps of the multi-node server management method provided in the embodiment of the present invention are implemented.
[0050] The embodiment of the present application obtains the slot number of the slot where each node of the multi-node server is located. The multi-node server includes multiple nodes, each node includes a management controller, and the chassis of the multi-node server includes multiple slots. The slot number represents the identifier of the slot where the corresponding node is located. Based on the slot number of each node, the master node of all nodes is determined, and the nodes other than the master node are all slave nodes. The multi-node server is managed based on the management controller of the master node. The embodiment of the present application adopts a master-slave management method to manage the multi-node server as a whole. The multi-node server is divided into a master node and multiple slave nodes. The master node is determined according to the slot number of the slot where each node is located. The multi-node server is managed as a whole through the management controller of the master node, which utilizes the resources of the management controller of the master node. There is no need to add a separate centralized management chip to the multi-node server, which saves development costs and is simple to implement. BRIEF DESCRIPTION OF THE DRAWINGS
[0051] Figure 1 is a schematic diagram of a multi-node management architecture provided by an embodiment of the present invention;
[0052] Figure 2 It is a schematic diagram of an implementation flow of a multi-node server management method provided by an embodiment of the present invention;
[0053] Figure 3 This is a structural block diagram of a multi-node server provided by an embodiment of the present invention;
[0054] Figure 4 This is a single-node BMC management block diagram provided by an embodiment of the present invention;
[0055] Figure 5 This is a schematic block diagram of a master-slave node BMC management provided by an embodiment of the present invention;
[0056] Figure 6 This is a flow chart of a master-slave node confirmation mechanism provided by an embodiment of the present invention;
[0057] Figure 7 is a schematic diagram of an electronic device provided by an embodiment of the present invention. DETAILED DESCRIPTION
[0058] The following will be combined with the drawings in the embodiments of the present invention to clearly and completely describe the technical solutions in the embodiments of the present invention. Obviously, the described embodiments are part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.
[0059] A multi-node server is a server form in which each node is equivalent to an independent server with its own processor, memory, storage and network interface. Multiple server nodes share a chassis, fan or power supply. For example, a blade server is a multi-node server.
[0060] The Baseboard Management Controller (BMC) is a chip or circuit board located on the server motherboard. The BMC is an independent system under the host server system. This independent system has its own processor and memory. Even if the host hardware or operating system crashes or is shut down, the host system can still be managed by the BMC system. It is used as a server remote management and monitoring tool.
[0061] The BMC controller has the following functions:
[0062] Device information management: records detailed information about the server, including model, manufacturer, date, production and technical information of each component, chassis information, motherboard information, etc., as well as BMC information itself, such as server host name, Internet Protocol Address (IP), BMC firmware version, etc.
[0063] Server status monitoring and management: Detect the temperature, voltage and other health status of each server component (such as processor, memory, hard disk, fan, chassis, etc.). At the same time, adjust the fan speed in real time according to the conditions of each temperature collection point to ensure that the server does not overheat and control the overall power consumption within a reasonable range. If any abnormality occurs in a single board component, the BMC will report the information to the upper-level network management in a timely manner through various industry-wide specifications such as Simple Network Management Protocol (SNMP), Simple Mail Transfer Protocol (SMTP), and Redfish protocol.
[0064] Remote control management of servers: including server power on / off, restart, maintenance, firmware update, system installation and other operations.
[0065] Maintenance management: including log management, user management, Basic Input Output System (BIOS) management, alarm management, etc.
[0066] Each node on a multi-node server has its own BMC. The management of multi-node servers usually uses a two-level management architecture of centralized management and node management, such as Figure 1 As shown, Figure 1 It is a multi-node management architecture commonly used in related technologies. Figure 1 The architecture shown includes Node 1 BMC to Node 4 BMC, Figure 1 This is just an example, and more node BMCs can be included. Centralized management requires the deployment of a centralized management module, which implements fan management, power management, and node management. Node management is only responsible for the management of this node, and each node reports its node information to the centralized management module.
[0067] The related technology requires adding a separate centralized management chip to the multi-node server to manage the multi-node server, which not only increases the cost, but also the development and design of the centralized management chip is complex, the functional integration is high, and the implementation is difficult.
[0068] In view of the shortcomings of the above-mentioned related technologies, an embodiment of the present invention provides a multi-node server management method. In order to illustrate the technical solution of the present invention, a specific embodiment is used for description below.
[0069] refer to Figure 2 , Figure 2 1 is a schematic diagram of an implementation flow of a multi-node server management method provided by an embodiment of the present invention. The multi-node server management method includes:
[0070] S201, obtaining a slot number of a card slot where each node of a multi-node server is located, the multi-node server includes a plurality of nodes, each node includes a management controller, a chassis of the multi-node server includes a plurality of card slots, and the slot number represents an identifier of a card slot where a corresponding node is located.
[0071] The embodiment of the present application can be applied in a multi-node server, which can be deployed in a chassis in a computer room. The multi-node server is composed of multiple computing nodes, and each computing node is provided with a management controller (such as BMC) of the node, which is responsible for managing the hardware in the node. The chassis of the multi-node server includes multiple card slots, and each node is connected to the multi-node server through the card slot, and the number of nodes of the multi-node server can be expanded through the card slot. After the node is connected to the card slot, the node BMC can obtain the corresponding slot number, and the slot number of each node is unique.
[0072] like Figure 3 As shown, Figure 3 This is a structural block diagram of a multi-node server. Taking 4 computing nodes as an example, a server chassis has 4 computing nodes, which are defined as sled-1, sled-2, sled-3, and sled-4 respectively. The 4 computing nodes share the chassis's fan (FAN) and power supply (PSU).
[0073] like Figure 4 As shown in the figure, for single-node management, each computing node is equipped with a BMC of the node, which is responsible for managing the components within the node, including the central processing unit (CPU), memory, hard disk, network card, graphics processing unit (GPU) / neural processing unit (NPU) and other components.
[0074] S202, based on the slot number of each node, determine the master node of all nodes, and all nodes except the master node are slave nodes.
[0075] For the management of a multi-node server, the embodiment of the present application adopts a master-slave management method to divide the multi-node server into a master node and multiple slave nodes. The embodiment of the present application determines the master node of all nodes based on the slot number of each node. For example, the node where the slot number is set can be determined as the master node, and the other nodes can be set as slave nodes. For example, according to the order of the card slots in the chassis, the node corresponding to the first card slot can be determined as the master node, and the other nodes can be set as slave nodes.
[0076] S203: Manage the multi-node server based on the management controller of the master node.
[0077] For example, the BMC of the master node is used to manage multi-node servers, including obtaining temperature and power consumption information of the slave nodes and managing the power supply and fans of the entire machine.
[0078] The execution subject of the embodiment of the present application may be a complex programmable logic device (CPLD), which may be placed on a chassis backplane or adapter board of a multi-node server. All nodes may communicate with the CPLD.
[0079] The embodiment of the present application obtains the slot number of the slot where each node of the multi-node server is located. The multi-node server includes multiple nodes, each node includes a management controller, and the chassis of the multi-node server includes multiple slots. The slot number represents the identifier of the slot where the corresponding node is located. Based on the slot number of each node, the master node of all nodes is determined, and the nodes other than the master node are all slave nodes. The multi-node server is managed based on the management controller of the master node. The embodiment of the present application adopts a master-slave management method to manage the multi-node server as a whole. The multi-node server is divided into a master node and multiple slave nodes. The master node is determined according to the slot number of the slot where each node is located. The multi-node server is managed as a whole through the management controller of the master node, which utilizes the resources of the management controller of the master node. There is no need to add a separate centralized management chip to the multi-node server, which saves development costs and is simple to implement.
[0080] In one embodiment, determining the master node of all nodes based on the slot information of each node includes:
[0081] Get the preset master node configuration information table;
[0082] Determine whether there is configured master node information in the preset master node configuration information table;
[0083] If the preset master node configuration information table contains configured master node information, determining the master node based on the preset master node configuration information table;
[0084] If the master node information is not configured in the preset master node configuration information table, the master node is determined based on the default master node configuration information.
[0085] The preset master node configuration information table is used to store the master node information set by the user. The user can configure the master node configuration information table according to business needs, and the user can specify the master node in the master node configuration information table. If the master node information is configured in the master node configuration information table, the master node is set according to the configured master node information. If the master node information is not configured in the master node configuration information table, the master node is determined according to the default rule.
[0086] In one embodiment, determining the master node based on the preset master node configuration information table includes:
[0087] The preset master node configuration information table is configured with preset slot number sequence information, and the master node is determined based on the preset slot number sequence information.
[0088] For example, if the user configures the slot number sequence information in the master node configuration information table, and the slot number sequence information is 4-2-3-1, then the node in the card slot with slot number 4 is preferentially set as the master node.
[0089] When setting the master node, you need to ensure that there is a node connected to the card slot of the selected slot number. If not, you need to postpone to the next slot number according to the slot number sequence information, such as slot number 2.
[0090] In one embodiment, determining the master node based on default master node configuration information includes:
[0091] According to the size of the slot number of each node, the node with the smallest slot number is determined as the master node.
[0092] In a chassis, the slot numbers of the card slots usually increase in sequence from 0 or 1, and the size increases by 1 each time. The default master node configuration information sets the master node in the order of the slot numbers of all nodes from small to large.
[0093] Similarly, when setting the master node, you need to ensure that there is a node connected to the slot number you selected. If not, skip the slot number and reselect the master node based on the slot number size of all nodes.
[0094] In one embodiment, the method further comprises:
[0095] Receive heartbeat signals from each node;
[0096] Correspondingly, the method of determining the master node of all nodes based on the slot number of each node includes:
[0097] Based on the heartbeat signal and slot number of each node, the master node of all nodes is determined.
[0098] Among them, the heartbeat signal and slot number sent by the BMC of all nodes can be received. Through the heartbeat signal, it can be determined whether the corresponding node BMC is online. If it is not online, the node does not participate in determining the master node.
[0099] Only nodes with normal BMC heartbeat signals can participate in determining the master node by slot number.
[0100] In one embodiment, after determining the master nodes of all nodes, the method further includes:
[0101] Regularly detect the heartbeat signals of all nodes;
[0102] If the heartbeat signal of the master node is abnormal, the master node of all nodes is re-determined based on the heartbeat signal and slot number of each node.
[0103] For example, the BMC heartbeat signal, slot number and master-slave information of all nodes are detected at preset time intervals. If the BMC heartbeat signal of the master node is abnormal, the master node needs to be re-determined. The new master node can also be determined according to the preset master node configuration information table. If the preset master node configuration information table does not configure the master node information, the node with the smallest slot number is determined as the master node according to the size of the slot number. Among them, only the node with normal heartbeat signal participates in determining the master node.
[0104] In one embodiment, after re-determining the master nodes of all nodes, the method further includes:
[0105] If it is detected that the heartbeat signal of the original master node has returned to normal, the master node will not be switched again.
[0106] For example, take 4 computing nodes as an example, which are defined as sled-1, sled-2, sled-3, and sled-4. The numbers represent the slot numbers of the nodes. The slot number sequence information in the preset master node configuration information table is sled-2, sled-4, sled-1, and sled3. Sled-2 is set as the master node first. If the heartbeat signal of sled-2 is detected to be abnormal, sled-4 will be promoted to the master node. To prevent the master-slave switching of nodes from being too frequent, when the master node is switched to sled-4, the system will continue to use sled-4 as the master node even after sled-2 returns to normal.
[0107] If the default configuration is used, sled-1 is the master node by default, in ascending order of slot numbers. If an abnormal heartbeat signal of sled-1 is detected, sled-2 will be promoted to the master node. Similarly, to prevent the master-slave switch from being too frequent, when the master node is switched to sled-2, the system will continue to use sled-2 as the master node even after sled-1 returns to normal.
[0108] In one embodiment, after determining the master nodes of all nodes, the method further includes:
[0109] Send the master node information and slave node information to all nodes.
[0110] The identity information of all nodes is sent to each node, and the master node can start to manage the entire machine.
[0111] In one embodiment, the method further comprises:
[0112] If a new node is detected, determine whether there is a master node when the new node is added;
[0113] If there is no master node when adding a new node, the master node is determined based on the slot numbers of all nodes;
[0114] If there is a master node when a new node is added, the new node is determined as a slave node.
[0115] For example, if a new node is detected in the chassis, if it is an external configuration method, the new node will be added to the preset master node configuration information table. If there is no master node when the new node is added, the master node will be reconfigured according to the external configuration mechanism; if there is a master node when the new node is added, the new node will be configured as a slave node. If it is a default configuration method, if there is no master node when the new node is added, the master node will be reconfigured according to the default configuration mechanism; if there is a master node when the new node is added, the new node will be configured as a slave node.
[0116] The fan and power management mechanism of the whole machine is as follows: the temperature and power consumption data of the slave node is transmitted to the CPLD, and the CPLD transmits it to the master node. The master node BMC collects the temperature and power consumption information, automatically controls the fan speed and power supply working mode according to the control strategy, and performs fan and power supply control through the CPLD.
[0117] In one embodiment, the management controller based on the master node manages the multi-node server, including:
[0118] Receive temperature data sent by all slave nodes;
[0119] Forwarding the temperature data sent by all slave nodes to the master node;
[0120] Receiving fan speed information sent by the management controller of the master node, wherein the management controller of the master node is used to determine the fan speed information based on the temperature data of each slave node;
[0121] The fan speed of the fan in the server chassis is adjusted based on the fan speed information.
[0122] For example, each slave node transmits temperature data to the CPLD at regular intervals, and the CPLD forwards the temperature data to the master node. The master node BMC collects the temperature information of the slave nodes, and sets four fan speed adjustment levels according to the node temperature, namely low fan speed, medium fan speed, high fan speed and maximum fan speed, corresponding to the four temperature levels of low temperature, medium temperature, high temperature and ultra-high temperature. According to the obtained slave node temperature information, the corresponding temperature level is determined, and then the fan speed level is determined, and the fan speed is adjusted to ensure timely and effective heat dissipation of the chassis. Among them, the average temperature of all slave nodes can be calculated, and the corresponding temperature level can be determined according to the average temperature. After determining the fan speed level, the master node BMC sends it to the CPLD, and the CPLD controls the fan speed through the PWM signal.
[0123] In one embodiment, the management controller based on the master node manages the multi-node server, including:
[0124] Receive power consumption data sent by all slave nodes;
[0125] Forward the power consumption data sent by all slave nodes to the master node;
[0126] Receiving a power supply working mode sent by the management controller of the master node, wherein the management controller of the master node is used to determine the power supply working mode based on the power consumption data of each slave node;
[0127] The operating mode of the power supply in the server chassis is adjusted based on the power supply operating mode.
[0128] For example, each slave node transmits power consumption data to the CPLD at regular intervals, and the CPLD forwards the power consumption data to the master node. The master node collects the power consumption information of the slave nodes, calculates the total power consumption of all slave nodes, and according to the principle that the power module has the maximum conversion efficiency under 50% load, when the total power consumption of the device is ≤ 60% of the rated power consumption of the power module, the power module is set to the master-slave mode through the power control interface; when the total power consumption of the device is greater than 60% of the rated power consumption of the power module, the power module is set to the load sharing mode through the power control interface. Among them, the master-slave mode: one power supply supplies power to all nodes, and the other is used as a backup. When the main power supply fails, the backup power supply supplies power to all nodes. Load sharing mode: Both power supplies participate in node power supply and share the load together. After determining the power working module, the CPLD controls the power supply through the TACH signal and the power management bus (PMBus).
[0129] Figure 5This is a schematic diagram of the master and slave node BMC management of a 4-node server. This embodiment takes 4 nodes as an example, which are defined as sled-1, sled-2, sled-3, and sled-4 in sequence. The management interface between BMC and CPLD includes Heartbeat interface, I2C interface, M / S interface, PWM / TACH interface, FanPort interface, and PSU Port interface. The definition of each interface is as described in Table 1:
[0130]
[0131]
[0132] Table 1
[0133] Figure 6 This is a flow chart of a master-slave node confirmation mechanism provided by an embodiment of the present invention, including:
[0134] S601, the BMCs of all nodes in the chassis transmit heartbeat signals and slot numbers to the CPLD respectively.
[0135] Each node has a BMC, and all BMCs can communicate with the CPLD.
[0136] S602, the CPLD detects the heartbeat signal and slot number of the node BMC, determines the number of nodes in place and the corresponding BMC operates normally.
[0137] S603, determine whether the master node configuration information table has set master node information.
[0138] Users can configure the master node configuration information table according to business needs.
[0139] S604: If the master node configuration information table has configured the master node information, the CPLD sets the master and slave nodes according to the configuration information table.
[0140] S605, if the master node configuration information table does not have the master node information configured, the CPLD determines the node with the smallest slot number as the master node and the others as slave nodes according to the order of the slot numbers, and sends the master and slave node information to all nodes respectively.
[0141] S606, each node receives its own master and slave node information.
[0142] S607, the CPLD periodically detects the BMC heartbeat signals, slot numbers, and master-slave information of all nodes.
[0143] CPLD periodically detects the BMC heartbeat signals, slot numbers, and master-slave information of all nodes to determine whether the heartbeat signal of the master node is abnormal. If the heartbeat signal of the master node is abnormal, the master node needs to be re-determined.
[0144] S608, determine whether the heartbeat signal of the master node is normal.
[0145] If the heartbeat signal of the master node is normal, execute S609; otherwise, return to S603 and re-determine the master node.
[0146] S609, determine whether there is a new node.
[0147] If the CPLD detects that a new node is added to the chassis, S610 is executed.
[0148] S610, the CPLD sets the newly added node as a slave node, and sends master and slave node information to the newly added node.
[0149] S611, the newly added node receives the master and slave node information.
[0150] The embodiment of the present application adopts a master-slave management method to manage the multi-node server as a whole, divides the multi-node server into a master node and multiple slave nodes, determines the master node according to the slot number of the card slot where each node is located, and manages the multi-node server as a whole through the management controller of the master node, utilizing the resources of the management controller of the master node, eliminating the need to add a separate centralized management chip in the multi-node server, saving development costs, improving management efficiency, and simplifying implementation.
[0151] It should be understood that the order of execution of the steps in the above embodiment does not necessarily mean the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiment of the present invention.
[0152] It should be understood that when used in this specification and the appended claims, the terms "include" and "comprises" indicate the presence of described features, integers, steps, operations, elements and / or components, but do not exclude the presence or addition of one or more other features, integers, steps, operations, elements, components and / or combinations thereof.
[0153] It should be noted that the technical solutions described in the embodiments of the present invention can be combined arbitrarily without conflict.
[0154] In addition, in the embodiments of the present invention, "first", "second", etc. are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence.
[0155] The present application also provides a multi-node server management device, which corresponds to the multi-node server management method described above, and each step in the multi-node server management method embodiment described above is also fully applicable to the present device embodiment. The device includes:
[0156] An acquisition module, used to acquire a slot number of a card slot where each node of a multi-node server is located, the multi-node server includes a plurality of nodes, each node includes a management controller, a chassis of the multi-node server includes a plurality of card slots, and the slot number represents an identifier of the card slot where the corresponding node is located;
[0157] A determination module, used to determine the master node of all nodes based on the slot number of each node, and all nodes except the master node are slave nodes;
[0158] A management module is used to manage the multi-node server based on the management controller of the master node.
[0159] In one embodiment, the determining module is specifically used to:
[0160] Get the preset master node configuration information table;
[0161] Determine whether there is configured master node information in the preset master node configuration information table;
[0162] If the preset master node configuration information table contains configured master node information, determining the master node based on the preset master node configuration information table;
[0163] If the master node information is not configured in the preset master node configuration information table, the master node is determined based on the default master node configuration information.
[0164] In one embodiment, the determination module is specifically used for: the preset master node configuration information table is configured with preset slot number sequence information, and the master node is determined based on the preset slot number sequence information.
[0165] In one embodiment, the determination module is specifically used to: determine the node with the smallest slot number as the master node according to the size of the slot number of each node.
[0166] In one embodiment, the device further comprises:
[0167] A receiving module, used to receive the heartbeat signal of each node;
[0168] Correspondingly, the determination module is specifically used for:
[0169] Based on the heartbeat signal and slot number of each node, the master node of all nodes is determined.
[0170] In one embodiment, the device further comprises:
[0171] Detection module, used to periodically detect the heartbeat signals of all nodes;
[0172] The re-determination module is used to re-determine the master node of all nodes based on the heartbeat signal and slot number of each node if the heartbeat signal of the master node is abnormal.
[0173] In one embodiment, the determining module is further specifically configured to:
[0174] If it is detected that the heartbeat signal of the original master node has returned to normal, the master node will not be switched again.
[0175] In one embodiment, the device further comprises:
[0176] The sending module is used to send the master node information and the slave node information to all nodes.
[0177] In one embodiment, the determining module is further specifically configured to:
[0178] If a new node is detected, determine whether there is a master node when the new node is added;
[0179] If there is no master node when adding a new node, the master node is determined based on the slot numbers of all nodes;
[0180] If there is a master node when a new node is added, the new node is determined as a slave node.
[0181] In one embodiment, the management module is specifically used for:
[0182] Receive temperature data sent by all slave nodes;
[0183] Forwarding the temperature data sent by all slave nodes to the master node;
[0184] Receiving fan speed information sent by the management controller of the master node, wherein the management controller of the master node is used to determine the fan speed information based on the temperature data of each slave node;
[0185] The fan speed of the fan in the server chassis is adjusted based on the fan speed information.
[0186] In one embodiment, the management module is specifically used for:
[0187] Receive power consumption data sent by all slave nodes;
[0188] Forward the power consumption data sent by all slave nodes to the master node;
[0189] Receiving a power supply working mode sent by the management controller of the master node, wherein the management controller of the master node is used to determine the power supply working mode based on the power consumption data of each slave node;
[0190] The operating mode of the power supply in the server chassis is adjusted based on the power supply operating mode.
[0191] In actual application, the acquisition module, determination module and management module can be implemented by a processor in an electronic device, such as a central processing unit (CPU), a digital signal processor (DSP), a microcontroller unit (MCU) or a programmable gate array (FPGA).
[0192] It should be noted that: the multi-node server management device provided in the above embodiment only uses the division of the above modules as an example when performing multi-node server management. In actual applications, the above processing can be assigned to different modules as needed, that is, the internal structure of the device can be divided into different modules to complete all or part of the processing described above. In addition, the multi-node server management device provided in the above embodiment and the multi-node server management method embodiment belong to the same concept. The specific implementation process is detailed in the method embodiment and will not be repeated here.
[0193] The multi-node server management device can be in the form of an image file. After the image file is executed, it can be run in the form of a container or a virtual machine to implement the multi-node server management method described in this application. Of course, it is not limited to the image file form. As long as some software forms that can implement the multi-node server management method described in this application are within the scope of protection of this application.
[0194] Based on the hardware implementation of the above program modules and in order to implement the method of the embodiment of the present application, the embodiment of the present application also provides an electronic device. Figure 7 A schematic diagram of the hardware structure of an electronic device provided in an embodiment of the present application is shown in FIG. Figure 7 As shown, the electronic device includes:
[0195] Communication interface 701, capable of exchanging information with other devices such as network devices;
[0196] The processor 702 is connected to the communication interface 701 to implement information exchange with other devices and is used to execute the method provided by one or more technical solutions when running a computer program. The computer program is stored in the memory 703.
[0197] Of course, in actual application, the various components in the electronic device are coupled together through the bus system 704. It can be understood that the bus system 704 is used to realize the connection and communication between these components. In addition to the data bus, the bus system also includes a power bus, a control bus, and a status signal bus. However, for the sake of clarity, Figure 7 Various buses are labeled as bus system 704 .
[0198] The memory 703 in the embodiment of the present application is used to store various types of data to support the operation of the computer device. Examples of such data include: any computer program used to operate on the electronic device.
[0199] It can be understood that the memory 703 can be a volatile memory or a non-volatile memory, and can also include both volatile and non-volatile memories. Among them, the non-volatile memory can be a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), a magnetic random access memory (FRAM), a flash memory, a magnetic surface memory, an optical disk, or a compact disc read-only memory (CD-ROM); the magnetic surface memory can be a disk memory or a tape memory. The volatile memory can be a random access memory (RAM), which is used as an external cache. By way of example but not limitation, many forms of RAM are available, such as static random access memory (SRAM), synchronous static random access memory (SSRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDRSDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous link dynamic random access memory (SLDRAM), direct memory bus random access memory (DRRAM). The memory described in the embodiments of the present application is intended to include but is not limited to these and any other suitable types of memory.
[0200] The method disclosed in the above embodiment of the present application can be applied to a processor or implemented by a processor. The processor may be an integrated circuit chip with signal processing capabilities. In the implementation process, each step of the above method can be completed by an integrated logic circuit of hardware in the processor or an instruction in the form of software. The above processor may be a general-purpose processor, a DSP, or other programmable logic devices, discrete gates or transistor logic devices, discrete hardware components, etc. The processor can implement or execute the various methods, steps and logic block diagrams disclosed in the embodiments of the present application. The general-purpose processor may be a microprocessor or any conventional processor, etc. In combination with the steps of the method disclosed in the embodiment of the present application, it can be directly embodied as a hardware decoding processor to execute, or it can be executed by a combination of hardware and software modules in the decoding processor. The software module can be located in a storage medium, which is located in a memory, and the processor reads the program in the memory and completes the steps of the above method in combination with its hardware.
[0201] Optionally, when the processor 702 executes the program, it implements the corresponding processes implemented by the electronic device in each method of the embodiments of the present application, which will not be described in detail here for the sake of brevity.
[0202] In an exemplary embodiment, the present application also provides a storage medium, namely a computer storage medium, specifically a computer-readable storage medium, for example, including a first memory storing a computer program, and the computer program can be executed by a processor of a computer device to complete the steps of the aforementioned method. The computer-readable storage medium can be a memory such as FRAM, ROM, PROM, EPROM, EEPROM, Flash Memory, magnetic surface storage, optical disk, or CD-ROM.
[0203] In the several embodiments provided in the present application, it should be understood that the disclosed devices, computer equipment and methods can be implemented in other ways. The device embodiments described above are only schematic. For example, the division of the units is only a logical function division. There may be other division methods in actual implementation, such as: multiple units or components can be combined, or can be integrated into another system, or some features can be ignored or not executed. In addition, the coupling, direct coupling, or communication connection between the components shown or discussed can be through some interfaces, and the indirect coupling or communication connection of the devices or units can be electrical, mechanical or other forms.
[0204] The units described above as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units; some or all of the units may be selected according to actual needs to achieve the purpose of the present embodiment.
[0205] In addition, all functional units in the embodiments of the present application may be integrated into one processing unit, or each unit may be a separate unit, or two or more units may be integrated into one unit; the above-mentioned integrated units may be implemented in the form of hardware or in the form of hardware plus software functional units.
[0206] A person of ordinary skill in the art can understand that: all or part of the steps of implementing the above-mentioned method embodiment can be completed by hardware related to program instructions, and the aforementioned program can be stored in a computer-readable storage medium, which, when executed, executes the steps of the above-mentioned method embodiment; and the aforementioned storage medium includes: various media that can store program codes, such as mobile storage devices, ROM, RAM, disks or optical disks.
[0207] Alternatively, if the above-mentioned integrated unit of the present application is implemented in the form of a software function module and sold or used as an independent product, it can also be stored in a computer-readable storage medium. Based on such an understanding, the technical solution of the embodiment of the present application can be essentially or partly embodied in the form of a software product that contributes to the relevant technology. The computer software product is stored in a storage medium, including several instructions to enable a computer device (which can be a personal computer, a server, or a network device, etc.) to execute all or part of the methods described in each embodiment of the present application. The aforementioned storage medium includes: various media that can store program codes, such as mobile storage devices, ROM, RAM, magnetic disks or optical disks.
[0208] In an exemplary embodiment, the embodiment of the present application further provides a computer program product, including a computer program, which can be executed by the processor 702 of the electronic device to complete the steps described in the multi-node server management method in the embodiment of the present application.
[0209] It should be noted that: "first", "second", etc. are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence.
[0210] In addition, the technical solutions described in the embodiments of the present application can be combined arbitrarily without conflict.
[0211] The above is only a specific implementation of the present application, but the protection scope of the present application is not limited thereto. Any technician familiar with the technical field can easily think of changes or substitutions within the technical scope disclosed in the present application, which should be included in the protection scope of the present application. Therefore, the protection scope of the present application should be based on the protection scope of the claims.
Claims
1. A multi-node server management method, characterized in that: The method comprises: Obtaining a slot number of a card slot where each node of a multi-node server is located, the multi-node server comprising a plurality of nodes, each node comprising a management controller, a chassis of the multi-node server comprising a plurality of card slots, and the slot number representing an identifier of the card slot where the corresponding node is located; Based on the slot number of each node, the master node of all nodes is determined, and all nodes except the master node are slave nodes; The multi-node server is managed based on the management controller of the master node.
2. The method according to claim 1, characterized in that Determining the master node of all nodes based on the slot information of each node includes: Get the preset master node configuration information table; Determine whether there is configured master node information in the preset master node configuration information table; If the preset master node configuration information table contains configured master node information, determining the master node based on the preset master node configuration information table; If the master node information is not configured in the preset master node configuration information table, the master node is determined based on the default master node configuration information.
3. The method according to claim 2, characterized in that The determining the master node based on the preset master node configuration information table includes: The preset master node configuration information table is configured with preset slot number sequence information, and the master node is determined based on the preset slot number sequence information.
4. The method according to claim 2, characterized in that: The determining the master node based on the default master node configuration information includes: According to the size of the slot number of each node, the node with the smallest slot number is determined as the master node.
5. The method according to claim 1, characterized in that: The method further comprises: Receive heartbeat signals from each node; Correspondingly, the method of determining the master node of all nodes based on the slot number of each node includes: Based on the heartbeat signal and slot number of each node, the master node of all nodes is determined.
6. The method according to claim 5, characterized in that After determining the master nodes of all nodes, the method further includes: Regularly detect the heartbeat signals of all nodes; If the heartbeat signal of the master node is abnormal, the master node of all nodes is re-determined based on the heartbeat signal and slot number of each node.
7. The method according to claim 6, characterized in that After re-determining the master nodes of all nodes, the method further includes: If it is detected that the heartbeat signal of the original master node has returned to normal, the master node will not be switched again.
8. The method according to claim 1, characterized in that After determining the master nodes of all nodes, the method further includes: Send the master node information and slave node information to all nodes.
9. The method according to claim 1, characterized in that: The method further comprises: If a new node is detected, determine whether there is a master node when the new node is added; If there is no master node when adding a new node, the master node is determined based on the slot numbers of all nodes; If there is a master node when a new node is added, the new node is determined as a slave node.
10. The method according to claim 1, characterized in that The management controller based on the master node manages the multi-node server, including: Receive temperature data sent by all slave nodes; Forwarding the temperature data sent by all slave nodes to the master node; Receiving fan speed information sent by the management controller of the master node, wherein the management controller of the master node is used to determine the fan speed information based on the temperature data of each slave node; The fan speed of the fan in the server chassis is adjusted based on the fan speed information.
11. The method according to claim 1, characterized in that: The management controller based on the master node manages the multi-node server, including: Receive power consumption data sent by all slave nodes; Forward the power consumption data sent by all slave nodes to the master node; Receiving a power supply working mode sent by the management controller of the master node, wherein the management controller of the master node is used to determine the power supply working mode based on the power consumption data of each slave node; The operating mode of the power supply in the server chassis is adjusted based on the power supply operating mode.
12. A multi-node server management device, characterized in that: The device comprises: An acquisition module, used to acquire a slot number of a card slot where each node of a multi-node server is located, the multi-node server includes a plurality of nodes, each node includes a management controller, a chassis of the multi-node server includes a plurality of card slots, and the slot number represents an identifier of the card slot where the corresponding node is located; A determination module, used to determine the master node of all nodes based on the slot number of each node, and all nodes except the master node are slave nodes; A management module is used to manage the multi-node server based on the management controller of the master node.
13. A computer program product, comprising a computer program, characterized in that When the computer program is executed by a processor, the steps of the multi-node server management method according to any one of claims 1 to 11 are implemented.
14. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein: When the processor executes the computer program, the steps of the multi-node server management method according to any one of claims 1 to 11 are implemented.
15. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, wherein the computer program includes program instructions, and when the program instructions are executed by a processor, the processor executes the steps of the multi-node server management method according to any one of claims 1 to 11.
Citation Information
Cited By
Network interface card management system and server
CN120491796A