Information acquisition system, method, and apparatus for baseboard management controller, and storage medium
By introducing the expander Expander into the JBOD server, the head server can obtain the data information of the substrate management controller through the Expander, solving the problem of in-band access to the JBOD server BMC, and achieving the convenience and efficiency of in-band management.
Patent Information
- Application Number
- PCT/CN2024/122122
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-12-28
- Filing Date
- 2024-09-29
- Publication Date
- 2025-07-03
AI Technical Summary
In the prior art, it is impossible to obtain information of the substrate management controller of the JBOD server in-band, resulting in inconvenience in management.
By introducing the Expander, an expander, Expander, into the disk cluster server, can send information acquisition instructions to it. After receiving the Expander, the data information of the substrate management controller is obtained and the target data information is saved. The head server obtains this information by accessing the Expander.
The head server obtains the information of the JBOD server's substrate management controller in-band, solves the problem of in-band access, and improves the convenience and efficiency of management.
Smart Images

Figure CN2024122122_03072025_PF_FP_ABST
Abstract
Description
Information acquisition system, method, device, and storage medium for baseboard management controller
[0001] CROSS-REFERENCE TO RELATED APPLICATIONS
[0002] This application claims priority to the Chinese patent application filed with the China Patent Office on December 28, 2023, with application number 202311839051.9, and entitled “Information acquisition system, method, device, and storage medium for baseboard management controller,” the entire contents of which are incorporated by reference into this application. Technical Field
[0003] The embodiments of the present application relate to the field of computers, and more specifically, to a baseboard management controller (BMC) information acquisition system, method, device, non-volatile readable storage medium, and electronic device. Background Art
[0004] A server has a limited number of hard drives. When there is a need for storage expansion, it is generally used as a head server (Host) to connect to a JBOD (Just a Bunch Of Disks) server to expand the hard drives. For the convenience of management, the JBOD server integrates a BMC (Baseboard Management Controller) module to enable more convenient remote out-of-band management. However, the information of this JBODBMC can only be obtained out-of-band and cannot be accessed in-band. Standard servers can be accessed in-band through the LPC (Low Pin Count) physical link and the IPMI (Intelligent Platform Management Interface) protocol. JBOD servers do not have CPU and LPC channels and cannot achieve this function.
[0005] It can be seen from this that the related art has a problem of being unable to obtain information about the baseboard management controller of the JBOD server in-band.
[0006] Currently, no effective solution has been proposed to the above-mentioned problems existing in the related technologies.
[0007] Summary of the Invention
[0008] Embodiments of the present application provide a baseboard management controller information acquisition system, method, device, non-volatile readable storage medium and electronic device to at least solve the problem in the related art of being unable to obtain information of the baseboard management controller of a JBOD server in-band.
[0009] According to an embodiment of the present application, a baseboard management controller information acquisition system is provided, including: a head server, the head server is configured to send an information acquisition instruction to a disk cluster server, wherein the information acquisition instruction is used to instruct the acquisition of target data information of the baseboard management controller included in the disk cluster server; the disk cluster server includes a baseboard management controller and an expander, the Expander is connected to the head server and is configured to receive the information acquisition instruction, the baseboard management controller is connected to the Expander, when the Expander receives the acquisition instruction, the Expander acquires the data information of the baseboard management controller, determines the target data information in the data information, and saves the target data information; the head server is also configured to access the Expander to obtain the target data information.
[0010] According to an embodiment of the present application, a method for obtaining information of a baseboard management controller is provided, which is applied to the Expander in the above embodiment, including: receiving an information acquisition instruction sent by a head server, wherein the information acquisition instruction is used to instruct the acquisition of target data information of the baseboard management controller included in the disk cluster server; obtaining data information of the baseboard management controller, determining target data information in the data information, and saving the target data information so that the head server obtains the target data information.
[0011] According to an embodiment of the present application, an information acquisition device for a baseboard management controller is provided, including: a receiving module, configured to receive an information acquisition instruction sent by a head server, wherein the information acquisition instruction is used to instruct the acquisition of target data information of the baseboard management controller included in the disk cluster server; an acquisition module, configured to acquire data information of the baseboard management controller, determine target data information in the data information, and save the target data information so that the head server acquires the target data information.
[0012] According to an embodiment of the present application, a computer non-volatile readable storage medium is further provided, in which a computer program is stored, wherein the computer program is configured to execute the steps of any of the above method embodiments when running.
[0013] According to an embodiment of the present application, an electronic device is further provided, including a memory and a processor, wherein a computer program is stored in the memory, and the processor is configured to run the computer program to execute the steps in any of the above method embodiments.
[0014] According to the present application, the information acquisition system of the baseboard management controller includes a head server and a disk cluster server, and the disk cluster server includes a baseboard management controller and an expander. The head server is configured to obtain the target data information of the baseboard management controller by sending an information acquisition instruction to the disk cluster server; the Expander of the disk cluster server is connected to the head server, and the baseboard management controller is connected to the Expander. When the Expander receives the acquisition instruction, the Expander obtains the data information of the baseboard management controller, determines the target data information in the data information, and saves the target data information; the head server is also configured to access the Expander to obtain the target data information. Since the head server can send an information acquisition instruction to the Expander in the disk cluster server, the Expander can obtain the data information from the baseboard controller after receiving the information acquisition instruction, determine the target data information indicated by the information acquisition instruction from the data information, and save the target data information so that the head server can directly obtain the target data information when accessing the Expander. This enables the head server to obtain the target data information of the baseboard controller through the Expander in-band. Therefore, the problem in the related art that the information of the baseboard management controller of the JBOD server cannot be obtained in-band can be solved, and the effect of obtaining the information of the baseboard management controller of the JBOD server in-band can be achieved. BRIEF DESCRIPTION OF THE DRAWINGS
[0015] FIG1 is a structural diagram of an information acquisition system of a baseboard management controller according to an embodiment of the present application;
[0016] FIG2 is a schematic diagram of an application scenario of an information acquisition system for a baseboard management controller according to an embodiment of the present application;
[0017] 3 is a hardware structure diagram of an information acquisition system of a baseboard management controller according to an embodiment of the present application;
[0018] FIG4 is a diagram of a software implementation architecture of an information acquisition system of a baseboard management controller according to an embodiment of the present application;
[0019] FIG5 is a schematic diagram of querying the IP address of the BMC through the sg_ses tool according to an embodiment of the present application;
[0020] FIG6 is a schematic diagram of viewing target data information included in an Expander through a tool command according to an embodiment of the present application;
[0021] 7 is a hardware structure block diagram of a server device of a method for obtaining information of a baseboard management controller according to an embodiment of the present application;
[0022] 8 is a flowchart of a method for obtaining information of a baseboard management controller according to an embodiment of the present application;
[0023] FIG9 is a structural block diagram of an information acquisition device of a baseboard management controller according to an embodiment of the present application. DETAILED DESCRIPTION
[0024] The embodiments of the present application will be described in detail below with reference to the accompanying drawings and in combination with the embodiments.
[0025] It should be noted that the terms "first", "second", etc. in the description and claims of this application and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence.
[0026] In an embodiment of the present application, a baseboard management controller information acquisition system is provided. FIG1 is a structural diagram of the baseboard management controller information acquisition system according to an embodiment of the present application. As shown in FIG1 , the system includes:
[0027] The head server 12 is configured to send an information acquisition instruction to the disk cluster server, wherein the information acquisition instruction is used to instruct to acquire target data information of the baseboard management controller included in the disk cluster server;
[0028] The disk cluster server 14 includes a baseboard management controller 142 and an expander 144. The expander is connected to the head server and is configured to receive an information acquisition instruction. The baseboard management controller is connected to the expander. When the expander receives the acquisition instruction, the expander acquires data information from the baseboard management controller, determines target data information in the data information, and saves the target data information.
[0029] The head server is also configured to access the Expander to obtain target data information.
[0030] In an embodiment of the present application, a schematic diagram of an application scenario of a baseboard management controller information acquisition system is shown in FIG2 . A host chassis server and a JBOD chassis server can be connected via a Mini SAS cable. Both servers have BMC modules. In the current application environment, the host BMC (HostBMC) can be accessed out-of-band via the network or in-band under the OS (Operating System) through the host. However, the JBOD BMC can currently only be accessed out-of-band via the network, and there is no effective in-band access method. Taking BMC network information as an example, a head server can obtain the head BMC's IP address (Internet Protocol address), gateway, and other information through in-band IPMI commands (ipmitoollan print). However, a head server cannot directly obtain JBOD server BMC information (IP address, gateway, and other network information). It must obtain it through other methods, such as checking the IP address through the JBOD's BMC serial port, or using a network device to query the assigned address based on the JBOD BMC's MAC address (Media Access Control address). These methods cannot be used in-band within the head system and are inconvenient. In this application scenario, without knowing the JBOD BMC's IP address, remote out-of-band management is impossible. Therefore, an expander can be set up in the JBOD server to connect to the JBOD's baseboard management controller (BMC). The expander is connected to the head server and can store BMC data information in the expander. The head server accesses the expander to obtain BMC data, thus achieving in-band access to the JBOD's BMC. In-band access to the JBOD BMC is achieved through the head server, realizing in-band and out-of-band redundancy of the management link.
[0031] In an embodiment of the present application, the hardware structure diagram of the information acquisition system of the baseboard management controller can be found in Figure 3. As shown in Figure 3, the information acquisition system of the baseboard management controller includes two parts: a head server (HOST) and a disk cluster server JBOD, which can be connected via a Mini SAS cable. The head server can include a CPU (Central Processing Unit) and an HBA (Host Bus Adapter) card, which are connected via a PCIE (Peripheral Component Interconnect Express, a high-speed serial computer expansion bus standard). The tools under the operating system OS of the head server can access and manage the hard disk storage of the JBOD through the SCSI (Small Computer System Interface) protocol. The JBOD mainly includes an Expander and a BMC. The data information of the BMC can be sent to the Expander and stored in the memory space of the Expander. When the tools under the operating system OS of the head server access the Expander of the JBOD, the target data information can be obtained.
[0032] In an embodiment of the present application, the baseboard management controller data information may include the BMC's network information IP, NetMask (subnet mask), gateway information, BMC-controlled hard disk status, BMC sensor status, and command information received by the expander. The target data information may be one or more types of data information. The target data information may be the information indicated in the information acquisition instruction.
[0033] In an embodiment of the present application, the Expander can periodically obtain data information from the BMC and save the data information in the Expander's memory. After receiving an information acquisition instruction, the Expander can determine the information identifier included in the information acquisition instruction and obtain target data information identical to the information identifier from the saved data information. The target data information is then sent to the head server. The Expander can also determine the information identifier included in the information acquisition instruction upon receiving an information acquisition instruction, and then obtain the target data information identical to the information identifier from the BMC and save the target data information to the Expander's memory. When the head server accesses the JBOD, the target data information can be obtained.
[0034] According to the present application, the information acquisition system of the baseboard management controller includes a head server and a disk cluster server, and the disk cluster server includes a baseboard management controller and an expander. The head server is configured to obtain the target data information of the baseboard management controller by sending an information acquisition instruction to the disk cluster server; the Expander of the disk cluster server is connected to the head server, and the baseboard management controller is connected to the Expander. When the Expander receives the acquisition instruction, the Expander obtains the data information of the baseboard management controller, determines the target data information in the data information, and saves the target data information; the head server is also configured to access the Expander to obtain the target data information. Since the head server can send an information acquisition instruction to the Expander in the disk cluster server, the Expander can obtain the data information from the baseboard controller after receiving the information acquisition instruction, determine the target data information indicated by the information acquisition instruction from the data information, and save the target data information so that the head server can directly obtain the target data information when accessing the Expander. This enables the head server to obtain the target data information of the baseboard controller through the Expander in-band. Therefore, the problem in the related art that the information of the baseboard management controller of the JBOD server cannot be obtained in-band can be solved, and the effect of obtaining the information of the baseboard management controller of the JBOD server in-band can be achieved.
[0035] In an optional embodiment, the baseboard management controller includes a first firmware, the Expander includes a second firmware, the first firmware is connected to the second firmware, and the second firmware is configured to obtain data information of the baseboard management controller. In an embodiment of the present application, the baseboard management controller BMC may include a first firmware BMC FW (Firmware), and the Expander may include a second firmware Expander FW. The first firmware may be connected to the second firmware, and the second firmware may be connected to the head server. The first firmware may determine the data information of the baseboard management controller, and the second firmware may obtain the data information of the baseboard management controller in the first firmware, and save the target data information in the data information. When the head server accesses the second firmware, the target data information can be obtained. Among them, the second firmware plays the role of data storage transfer. The second firmware obtains the data information of the baseboard management controller through the first firmware, including the second firmware accessing the first firmware to obtain data information, and may also include the second firmware receiving data information sent by the first firmware.
[0036] In the embodiment of the present application, data information can be transmitted between the first firmware and the second firmware, achieving the effect of the head server obtaining the target data information in-band. In addition, the second firmware can store and transfer the data, shortening the time it takes for the head server to obtain the target data information in-band.
[0037] In an optional embodiment, the first firmware and the second firmware are connected through a target bus. When there is a path between the first firmware and the second firmware, the first firmware is the master device and the second firmware is the slave device. The second firmware is configured to receive data information sent by the first firmware according to a predetermined period. In an embodiment of the present application, referring to FIG3 , the target bus can be an IIC (Inter-Integrated Circuit) bus. Since IIC is a master-slave mode, the BMC can serve as the master device Master of IIC and the Expander can serve as the slave device Slave of IIC. That is, the first firmware can be the master device and the second firmware can be the slave device. BMC FW, that is, the first firmware can send the out-of-band data information of BMC to the second firmware through custom IIC communication by periodic polling. After receiving the polling information of BMC FW, the second firmware can open up memory space to store the data information.
[0038] In an embodiment of the present application, when a path exists between the first and second firmware, the first firmware can send data information to the second firmware at a predetermined period. By periodically polling the first firmware to send data information to the second firmware, the second firmware can periodically update the data information. When the host server accesses the second firmware, it can directly obtain the target data information. This shortens the time it takes to obtain the target data information in-band.
[0039] In an optional embodiment, the first firmware and the second firmware are connected through a target bus. When there are two paths between the first firmware and the second firmware, the first firmware and the second firmware are each other's master device and slave device, and the second firmware is configured to receive data information sent by the first firmware according to a predetermined period, or the second firmware is configured to obtain data information from the first firmware. In an embodiment of the present application, the target bus can be an IIC bus, and IIC is a master-slave mode, and two paths can be established between the first firmware and the second firmware. Under the first path, the first firmware is the master device and the second firmware is the slave device. Under the second path, the first firmware is the slave device and the second firmware is the master device. That is, the first firmware and the second firmware can be each other's master and slave devices. When the first firmware and the second firmware are each other's master and slave devices, the first firmware can send data information to the second firmware according to a predetermined period, and the second firmware can also access the first firmware and obtain data information from the first firmware.
[0040] In an embodiment of the present application, when the second firmware acts as a slave device, the second firmware can receive data information sent by the first firmware according to a predetermined period. When the second firmware acts as a master device, it can actively access the first firmware and obtain data information from the first firmware. The first firmware can regularly update data information in the second firmware by sending data information to the second firmware in a periodic polling manner. When the host server accesses the second firmware, it can directly obtain the target data information, shortening the time for obtaining the target data information in the band. After the second firmware receives the information acquisition instruction, it can actively access the first firmware to obtain the target data information, so that the target data information obtained is the latest data information, ensuring the real-time nature of the target data information obtained by the head server.
[0041] In an optional embodiment, when the first firmware is a master device and the second firmware is a slave device, and the second firmware receives an information query instruction sent by the head server, it determines the first time when the first firmware last polled the second firmware, determines the first duration from the first time to the current time, and when the first duration is greater than a predetermined threshold, modifies the target data information stored in the Expander to a preset code, and when the head server accesses the Expander, obtains the preset code, wherein the preset code is used to instruct the head server to access the Expander after a second duration. The second duration is greater than or equal to the difference between the predetermined time period and the first duration.
[0042] In an embodiment of the present application, when the first time the first firmware last polled the second firmware is greater than a predetermined threshold value from the first time of the current time, the data information sent to the second firmware by the last poll can store changes. Therefore, the included target data information can be modified to a preset code. When the head server accesses the Expander, the preset code can be obtained, which can determine that the current target data information may have changed. Therefore, the Expander is accessed again after the second time period. After the second time period, the first firmware will poll the second firmware again and pass the latest target data information to the second firmware. Therefore, when the head server accesses the Expander again, the latest target data information can be obtained. The accuracy of the acquired target data information is guaranteed, thereby improving the accuracy of the in-band control substrate management controller.
[0043] In an optional embodiment, the first firmware is configured to obtain basic information of the baseboard management controller and the command byte to which each basic information belongs, encode the basic information to obtain encoding information, associate the command byte with the encoding information corresponding to the command byte to obtain associated information, and determine the associated information as data information. In an embodiment of the present application, the first firmware can send the out-of-band data information of the BMC to the second firmware through custom IIC communication in a periodic polling manner. The format of the custom communication can be a command byte plus a data byte. As shown in Table 1, some command bytes are given as examples. Taking the network information of the BMC as an example for description, the command byte is 0xB0. In order to simplify the example, only the synchronous IP address information is described. After the BMC obtains its own IP address, assuming that the IP address is 100.2.36.230, this address is hexadecimal encoded and becomes 0x640x020x240xE6 as the data byte, that is, the encoding information. The command byte section and the data byte are combined into 0xB0 0x64 0x02 0x24 0xE6, i.e., associated information, and sent to Expander FW, i.e., the second firmware.
[0044] Table 1
[0045] In the embodiment of the present application, basic information may include BMC network information IP, NetMask, gateway information, BMC-controlled hard disk status, BMC sensor status, and command information received by the Expander, etc. By encoding basic information, information security is improved.
[0046] In an optional embodiment, the second firmware is further configured to save the target data information in the target storage space; the second firmware is further configured to define the target function and fill in the encoding information included in the target data information in the return data of the target function. In an embodiment of the present application, after receiving the polling information from the BMC FW, the Expander FW can allocate memory space to store the data. Target data information, such as IP address information, can be stored in a storage space named SyncBMCIP for other programs in the ExpanderFW to call. The Expander FW can customize the function Page0x10 through the SES (SCSI Enclosure Service) protocol and fill in the BMCIP address information in the Page return data.
[0047] In this embodiment of the present application, the target function may be Page0x10, and the encoded information in the target data information may be filled in the return data of the target function, and the filled return data may be stored in the target storage space. By adding the encoded information to the return data and storing the return data in the target storage space, it is possible to facilitate the head server to obtain the target data information, thereby improving the efficiency of the head server in obtaining the target data information from the in-band.
[0048] In an optional embodiment, the head server includes a general tool, which is connected to the Expander and configured to send information acquisition instructions to the Expander. In this embodiment of the present application, the general tool can be a tool included in the operating system of the head server, and the general tool can be an SG (SCSI General) tool. The SG tool can query target data information by constructing custom instructions.
[0049] In the embodiment of the present application, the software implementation architecture of the baseboard management controller information acquisition system can be seen in Figure 4. As shown in Figure 4, JBOD BMC data is sequentially transmitted from BMCFW, ExpanderFW, and sg tools, enabling in-band information acquisition of JBOD BMC. ExpanderFW acts as a data storage and transfer agent.
[0050] In the embodiment of the present application, a general tool is used to send an information acquisition instruction to Expander, and the data of the JBOD BMC is sequentially transmitted from the BMC FW, Expander FW, and sg tool, thereby realizing in-band management and control of the JBOD BMC.
[0051] In an optional embodiment, the head server includes a general tool, which is configured to access the return data of the target function of the Expander and determine the target data information based on the return data. In an embodiment of the present application, the general tool may be a tool included in the operating system of the head server, and the general tool may be an sg (scsi general) tool. The Sg tool can query the target data information by constructing a custom instruction, for example, accessing the custom Page information of the Expander device ( / dev / sg2) through the sg_ses tool (one of the sg tools), thereby determining the target data information. Among them, when the target data information is the IP address information of the BMC, a schematic diagram of querying the IP address of the BMC through the sg_ses tool can be seen in Figure 5. As shown in Figure 5, the boxed part is the IP address information of the BMC.
[0052] In an embodiment of the present application, the return data of the target function of the Expander is accessed through a general tool, and the target data information in the return data is read, thereby improving the efficiency of obtaining in-band information.
[0053] In an optional embodiment, the target command is pre-encapsulated in the Expander, and the head server includes a general tool. In the case where the target command is pre-encapsulated in the Expander, the general tool is configured to view the target data information included in the Expander through the tool command. In an embodiment of the present application, the target command, such as the cli command, can be encapsulated in the ExpanderFW, and the command can be viewed through the general tool under the OS. A schematic diagram of viewing the target data information included in the Expander through the tool command can be seen in Figure 6. As shown in Figure 6, the target data information of the BMC, such as the IP address information, is obtained through the tool command (. / scrtnycli–i4 clibmcip). The tool command can essentially be an encapsulated implementation of the SES custom instruction, which makes the displayed results more intuitive and easy to read.
[0054] In an optional embodiment, the head server is further configured to send information setting instructions to the Expander, and the Expander is further configured to cache the information setting instructions. When the baseboard management controller polls the Expander, the baseboard management controller reads the information setting instructions cached in the Expander, and sets the target attribute information of the baseboard management controller based on the information setting instructions, wherein the target attribute information is the information included in the information setting instructions. In an embodiment of the present application, the sg tool in the operating system in the head server can also send information setting instructions to the Expander. After receiving the information setting instructions, the Expander can cache the information setting instructions. When the first firmware of the baseboard management controller polls the Expander, the first firmware can read the information setting instructions and set the target attribute information of the baseboard management controller according to the information setting instructions. The target attribute information may include the BMC's network information IP, NetMask, gateway information, BMC-controlled hard disk status, BMC sensor status, and command information received by the Expander.
[0055] In this embodiment, the target attribute information is the BMC's IP address. The sg tool can be used to send the BMC's IP setting command (i.e., information setting instruction) to the Expander via the custom SESPage 0x10. Upon receiving the command, the Expander caches it. During the next routine BMC polling of the Expander, the BMC IP setting command is read to complete the IP setting.
[0056] In an embodiment of the present application, when Expander is the master device and BMC is the slave device, after Expander receives the information setting instruction, Expander can access BMC and send the information setting instruction to BMC. After receiving the information setting instruction, BMC sets the target attribute information according to the information setting instruction.
[0057] In an embodiment of the present application, the head server can instruct the BMC to set target attribute information through the Expander, thereby achieving in-band control of the baseboard management controller and improving the control efficiency of the baseboard management controller.
[0058] In this embodiment of the present application, the BMC sends BMC information to the Expander via the IIC channel using a custom protocol. The Expander caches this information and makes it available to the head unit through a custom SES protocol. The Expander FW provides data transfer, receiving polling information from the JBOD BMC and then providing this information to the in-band sg tool via a custom SESPage, thereby enabling in-band access to the JBOD BMC. Access to the JBOD BMC can be managed in-band on the head unit server, achieving out-of-band and in-band redundancy for the JBOD BMC management link, facilitating JBOD access management.
[0059] The method embodiments provided in the embodiments of the present application can be executed in a server device or a similar computing device. Taking operation on a server device as an example, FIG7 is a hardware structure block diagram of a server device of an information acquisition method of a baseboard management controller in an embodiment of the present application. As shown in FIG7 , the server device may include one or more (only one is shown in FIG7 ) processors 102 (the processor 102 may include but is not limited to a processing device such as a microprocessor MCU or a programmable logic device FPGA) and a memory 104 configured to store data, wherein the above-mentioned server device may also include a transmission device 106 and an input / output device 108 configured as a communication function. It will be understood by those skilled in the art that the structure shown in FIG7 is only for illustration, and it does not limit the structure of the above-mentioned server device. For example, the server device may also include more or fewer components than those shown in FIG7 , or have a configuration different from that shown in FIG7 .
[0060] The memory 104 can be configured to store computer programs, for example, software programs and modules of application software, such as the computer program corresponding to the information acquisition method of the baseboard management controller in the embodiment of the present application. The processor 102 executes various functional applications and data processing by running the computer program stored in the memory 104, that is, implementing the above method. The memory 104 may include a high-speed random access memory, and may also include a non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some instances, the memory 104 may include a memory remotely located relative to the processor 102, and these remote memories may be connected to a server device via a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and a combination thereof.
[0061] The transmission device 106 is configured to receive or transmit data via a network. A specific example of the aforementioned network may include a wireless network provided by a communication provider of the server device. In one embodiment, the transmission device 106 includes a network interface controller (NIC), which can be connected to other network devices via a base station to enable communication with the Internet. In another embodiment, the transmission device 106 may be a radio frequency (RF) module configured to communicate with the Internet wirelessly.
[0062] In an embodiment of the present application, a method for obtaining information of a baseboard management controller is provided, which is applied to the Expander of any of the above embodiments. FIG8 is a flow chart of the method for obtaining information of a baseboard management controller according to an embodiment of the present application. As shown in FIG8 , the flow includes the following steps:
[0063] Step S802: receiving an information acquisition instruction sent by the head server, wherein the information acquisition instruction is used to instruct acquisition of target data information of a baseboard management controller included in the disk cluster server;
[0064] Step S804: acquiring data information of the baseboard management controller, determining target data information in the data information, and saving the target data information so that the head server acquires the target data information.
[0065] In an embodiment of the present application, a host chassis and a JBOD chassis can be connected via a Mini SAS cable. Both servers have BMC modules. In the current application environment, the host chassis's BMC (HostBMC) can be accessed out-of-band via the network, or in-band under the OS via the host chassis. However, the JBOD's BMC can currently only be accessed out-of-band via the network, and there is no effective in-band access method. Taking the BMC's network information as an example, the host chassis can obtain the host chassis's BMC's IP address, gateway, and other information through the in-band IPMI command (ipmitoollan print), but the host chassis cannot directly obtain the JBOD server's BMC information (IP address, gateway, and other network information) and can only be obtained through other methods: for example, by checking the IP address through the JBOD's BMC serial port, or by querying the assigned address based on the JBOD BMC's MAC address through a network device. These methods cannot be used in the host system's in-band, and there are many inconveniences. In this application scenario, remote out-of-band management is impossible without knowing the IP address of the JBOD's BMC. Therefore, an expander can be set up in the JBOD server to connect to the JBOD's baseboard management controller (BMC). The expander is connected to the head server, storing BMC data in the expander. The head server accesses the expander to obtain BMC data, enabling in-band access to the JBOD's BMC. In-band access to the JBOD's BMC through the head server achieves in-band and out-of-band redundancy of the management link.
[0066] In an embodiment of the present application, the hardware structure diagram of the information acquisition system of the baseboard management controller can be found in Figure 3. As shown in Figure 3, the information acquisition system of the baseboard management controller includes two parts: a head server (HOST) and a disk cluster server JBOD, which can be connected via a Mini SAS cable. The head server can include a CPU and an HBA card, which are connected via PCIE. The tools under the operating system OS of the head server can access and manage the hard disk storage of the JBOD through the SCSI protocol. The JBOD mainly includes an Expander and a BMC. The data information of the BMC can be sent to the Expander and stored in the memory of the Expander. When the tools under the operating system OS of the head server access the Expander of the JBOD, the target data information can be obtained.
[0067] In an embodiment of the present application, the baseboard management controller data information may include the BMC's network information IP, NetMask, gateway information, BMC-controlled hard disk status, BMC sensor status, and command information received by the expander. The target data information may be one or more types of data information. The target data information may be the information indicated in the information acquisition instruction.
[0068] In an embodiment of the present application, the Expander can periodically obtain data information from the BMC and save the data information in the Expander's memory. After receiving an information acquisition instruction, the Expander can determine the information identifier included in the information acquisition instruction and obtain target data information identical to the information identifier from the saved data information. The target data information is then sent to the head server. The Expander can also determine the information identifier included in the information acquisition instruction upon receiving an information acquisition instruction, and then obtain the target data information identical to the information identifier from the BMC and save the target data information to the Expander's memory. When the head server accesses the JBOD, the target data information can be obtained.
[0069] Through this application, the head server is configured to obtain the target data information of the baseboard management controller by sending an information acquisition instruction to the disk cluster server; when the Expander receives the acquisition instruction, it obtains the data information of the baseboard management controller, determines the target data information in the data information, and saves the target data information; the head server is also configured to access the Expander to obtain the target data information. Since the head server can send an information acquisition instruction to the Expander in the disk cluster server, the Expander can obtain the data information from the baseboard controller after receiving the information acquisition instruction, determine the target data information indicated by the information acquisition instruction from the data information, and save the target data information so that the head server can directly obtain the target data information when accessing the Expander. This enables the head server to obtain the target data information of the baseboard controller through the Expander in-band. Therefore, the problem in the related art of being unable to obtain the information of the baseboard management controller of the JBOD server in-band can be solved, and the effect of obtaining the information of the baseboard management controller of the JBOD server in-band can be achieved.
[0070] The execution subject of the above steps may be Expander, such as the second firmware Expander FW in Expander, but is not limited thereto.
[0071] In an optional embodiment, obtaining data information of the baseboard management controller includes: when there is one path between the Expander and the baseboard management controller, receiving data information sent by the baseboard management controller according to a predetermined period; when there are two paths between the Expander and the baseboard management controller, receiving data information sent by the baseboard management controller according to a predetermined period, or obtaining data information from the baseboard management controller. In an embodiment of the present application, the Expander and the baseboard management controller can be connected via the IIC bus. Since the IIC is a master-slave mode, the BMC can serve as the master device Master of the IIC, and the Expander can serve as the slave device Slave of the IIC. The BMC can send the BMC's out-of-band data information to the Expander through custom IIC communication by periodic polling. After receiving the polling information from the BMC, the Expander can allocate memory space to store the data information.
[0072] In an embodiment of the present application, when a path exists between the BMC and the Expander, the BMC can send data information to the Expander at a predetermined period. By periodically polling the Expander, the BMC can regularly update the data in the Expander. When the host server accesses the Expander, it can directly obtain the target data information. This shortens the time it takes to obtain the target data information in-band.
[0073] In this embodiment of the present application, two paths can be established between the BMC and the Expander. In the first path, the BMC is the master device and the Expander is the slave device. In the second path, the BMC is the slave device and the Expander is the master device. In other words, the BMC and Expander can act as master and slave devices to each other. When the BMC and Expander act as master and slave devices to each other, the BMC can send data information to the Expander at a predetermined period, and the Expander can also access the BMC and obtain data information from the BMC.
[0074] In an embodiment of the present application, when the Expander acts as a slave device, the Expander can receive data information sent by the BMC according to a predetermined period. When the Expander acts as a master device, it can actively access the BMC and obtain data information from the BMC. The first firmware sends data information to the Expander in a periodic polling manner, and the data information can be updated regularly in the Expander. When the host server accesses the Expander, the target data information can be directly obtained, shortening the time for obtaining the target data information in the band. After the Expander receives the information acquisition instruction, it can actively access the BMC to obtain the target data information, so that the target data information obtained is the latest data information, ensuring the real-time nature of the target data information obtained by the head server.
[0075] In an optional embodiment, saving the target data information includes at least one of the following: saving the target data information in a target storage space; defining a target function, and filling in the target data information in the return data of the target function. In an embodiment of the present application, after receiving the polling information from the BMC, the Expander can allocate memory space to store the data. Target data information, such as IP address information, can be stored in a storage space named SyncBMCIP for other programs in the Expander to call. Expander can customize the function Page0x10 through the SES protocol and fill in the BMC IP address information in the Page return data.
[0076] In this embodiment of the present application, the target function may be Page0x10, and the encoded information in the target data information may be filled in the return data of the target function, and the filled return data may be stored in the target storage space. By adding the encoded information to the return data and storing the return data in the target storage space, it is possible to facilitate the head server to obtain the target data information, thereby improving the efficiency of the head server in obtaining the target data information from the in-band.
[0077] In an optional embodiment, the method further includes: receiving an information setting instruction sent by the head server; caching the information setting instruction, so that when the baseboard management controller polls the Expander, it reads the information setting instruction cached in the Expander, and sets the target attribute information of the baseboard management controller based on the information setting instruction, wherein the target attribute information is the information included in the information setting instruction. In an embodiment of the present application, the sg tool in the operating system in the head server can also send an information setting instruction to the Expander. After receiving the information setting instruction, the Expander can cache the information setting instruction. When the baseboard management controller polls the Expander, the BMC can read the information setting instruction and set the target attribute information of the baseboard management controller according to the information setting instruction. The target attribute information may include the BMC's network information IP, NetMask, gateway information, BMC-controlled hard disk status, BMC sensor status, and command information received by the Expander.
[0078] In this embodiment, the target attribute information is the BMC's IP address. The sg tool can be used to send the BMC's IP setting command (i.e., information setting instruction) to the Expander via the custom SESPage 0x10. Upon receiving the command, the Expander caches it. During the next routine BMC polling of the Expander, the BMC IP setting command is read to complete the IP setting.
[0079] In an embodiment of the present application, when Expander is the master device and BMC is the slave device, after Expander receives the information setting instruction, Expander can access BMC and send the information setting instruction to BMC. After receiving the information setting instruction, BMC sets the target attribute information according to the information setting instruction.
[0080] In an embodiment of the present application, the head server can instruct the BMC to set target attribute information through the Expander, thereby achieving in-band control of the baseboard management controller and improving the control efficiency of the baseboard management controller.
[0081] In this embodiment of the present application, the BMC sends BMC information to the Expander via an IIC channel using a custom protocol. The Expander caches this information and makes it available to the head unit through a custom SES protocol. The Expander FW provides data transfer, receiving polling information from the JBOD BMC and then providing this information to the in-band sg tool via a custom SESPage, thereby enabling in-band access to the JBOD BMC. Access to the JBOD BMC can be managed in-band on the head unit server, achieving both out-of-band and in-band redundancy for the JBOD BMC management link, facilitating JBOD access management.
[0082] Through the description of the above implementation methods, those skilled in the art can clearly understand that the method according to the embodiment of the present application can be implemented by means of software plus the necessary general hardware platform, and of course it can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of the present application is essentially or the part that contributes to the prior art can be embodied in the form of a software product, which is stored in a non-volatile readable storage medium (such as ROM / RAM, magnetic disk, optical disk), including a number of instructions for enabling a terminal device (which can be a mobile phone, computer, server, or network device, etc.) to execute the methods of each embodiment of the present application.
[0083] In the embodiments of the present application, a device for acquiring information of a baseboard management controller is also provided, which is configured to implement the above-mentioned embodiments and optional implementation modes, and the details that have been described will not be repeated. As used below, the term "module" can implement software of predetermined functions, and / or a combination of hardware. Although the devices described in the following embodiments are preferably implemented in software, the implementation of hardware, or a combination of software and hardware, is also possible and conceived.
[0084] FIG9 is a structural block diagram of an information acquisition device of a baseboard management controller according to an embodiment of the present application. As shown in FIG9 , the device includes:
[0085] The receiving module 92 is configured to receive an information acquisition instruction sent by the head server, wherein the information acquisition instruction is used to instruct to acquire target data information of a baseboard management controller included in the disk cluster server;
[0086] The acquisition module 94 is configured to acquire data information from the baseboard management controller, determine target data information in the data information, and save the target data information so that the head server acquires the target data information.
[0087] In an optional embodiment, the acquisition module can obtain data information of the baseboard management controller in the following manner: when there is one path between the Expander and the baseboard management controller, the data information sent by the baseboard management controller according to a predetermined period is received; when there are two paths between the Expander and the baseboard management controller, the data information sent by the baseboard management controller according to a predetermined period is received, or the data information is obtained from the baseboard management controller.
[0088] In an optional embodiment, the acquisition module may save the target data information in at least one of the following ways: saving the target data information in a target storage space; defining a target function and filling in the target data information in the return data of the target function.
[0089] In an optional embodiment, the device is further configured to receive information setting instructions sent by the head server; cache the information setting instructions so that when the baseboard management controller polls the Expander, it reads the information setting instructions cached in the Expander, and sets the target attribute information of the baseboard management controller based on the information setting instructions, wherein the target attribute information is the information included in the information setting instructions.
[0090] It should be noted that the above modules can be implemented through software or hardware. For the latter, it can be implemented in the following ways, but not limited to: the above modules are all located in the same processor; or the above modules are located in different processors in any combination.
[0091] An embodiment of the present application further provides a computer non-volatile readable storage medium, in which a computer program is stored, wherein the computer program is configured to execute the steps of any of the above method embodiments when running.
[0092] In an optional embodiment, the above-mentioned computer non-volatile readable storage medium may include but is not limited to: USB flash drive, read-only memory (ROM), random access memory (RAM), mobile hard disk, magnetic disk or optical disk, etc., various non-volatile readable storage media that can store computer programs.
[0093] An embodiment of the present application further provides an electronic device, comprising a memory and a processor, wherein the memory stores a computer program, and the processor is configured to run the computer program to execute the steps in any one of the above method embodiments.
[0094] In an optional embodiment, the electronic device may further include a transmission device and an input / output device, wherein the transmission device is connected to the processor, and the input / output device is connected to the processor.
[0095] For specific examples in the embodiments of the present application, reference can be made to the examples described in the above embodiments and exemplary implementations, and the embodiments of the present application will not be described in detail here.
[0096] Obviously, those skilled in the art should understand that the modules or steps of the present application described above can be implemented using a general-purpose computing device, they can be concentrated on a single computing device, or distributed across a network composed of multiple computing devices, they can be implemented using program code executable by the computing device, and thus, they can be stored in a storage device and executed by the computing device, and in some cases, the steps shown or described can be performed in a different order than herein, or they can be fabricated into separate integrated circuit modules, or multiple modules or steps can be fabricated into a single integrated circuit module for implementation. Thus, the present application is not limited to any specific combination of hardware and software.
[0097] The above description is merely an optional embodiment of the present application and is not intended to limit the present application. Various modifications and variations are possible for those skilled in the art. Any modifications, equivalent substitutions, improvements, etc. made within the principles of the present application shall be included within the scope of protection of the present application.
Claims
1. An information acquisition system for a baseboard management controller, characterized in that: It includes: A head server configured to send an information acquisition instruction to a disk cluster server, where the information acquisition instruction is used to indicate the acquisition of target data information of the baseboard management controller included in the disk cluster server; The disk cluster server includes the baseboard management controller and an expander (Expander). The Expander is connected to the head server and is configured to receive the information acquisition instruction. The baseboard management controller is connected to the Expander. When the Expander receives the acquisition instruction, the Expander acquires the data information of the baseboard management controller, determines the target data information from the data information, and saves the target data information; The head server is further configured to access the Expander to acquire the target data information.
2. The information acquisition system for a baseboard management controller according to claim 1, characterized in that: The baseboard management controller includes a first firmware, and the Expander includes a second firmware. The first firmware is connected to the second firmware, and the second firmware is configured to acquire the data information of the baseboard management controller.
3. The information acquisition system for a baseboard management controller according to claim 2, characterized in that: The first firmware and the second firmware are connected through a target bus. When there is a path between the first firmware and the second firmware, the first firmware is the master device and the second firmware is the slave device. The second firmware is configured to receive the data information sent by the first firmware at a predetermined period.
4. The information acquisition system for a baseboard management controller according to claim 2, characterized in that: The first firmware and the second firmware are connected through a target bus. When there are two paths between the first firmware and the second firmware, the first firmware and the second firmware are both the master device and the slave device to each other. The second firmware is configured to receive the data information sent by the first firmware at a predetermined period, or the second firmware is configured to acquire the data information from the first firmware.
5. The information acquisition system for a baseboard management controller according to claim 2, characterized in that: The first firmware is configured to acquire the basic information of the baseboard management controller and the command byte to which each basic information belongs, encode the basic information to obtain encoded information, associate the command byte with the encoded information corresponding to the command byte to obtain associated information, and determine the associated information as the data information.
6. The information acquisition system for a baseboard management controller according to claim 2, characterized in that: The second firmware is further configured to save the target data information in a target storage space; The second firmware is further configured to define a target function and fill in the encoded information included in the target data information in the return data of the target function.
7. The information acquisition system of the baseboard management controller according to claim 1, wherein the head server includes a general tool, the general tool is connected to the Expander, and is configured to send the information acquisition instruction to the Expander.
8. The information acquisition system of the baseboard management controller according to claim 1, wherein the head server includes a general tool, the general tool is configured to access the return data of the target function of the Expander, and determine the target data information based on the return data.
9. The information acquisition system of the baseboard management controller according to claim 1, wherein a target command is pre-encapsulated in the Expander, the head server includes a general tool, and in the case where the target command is pre-encapsulated in the Expander, the general tool is configured to view the target data information included in the Expander through a tool command.
10. The information acquisition system of the baseboard management controller according to claim 1, wherein the head server is further configured to send an information setting instruction to the Expander, the Expander is further configured to cache the information setting instruction, and in the case where the baseboard management controller polls the Expander, the baseboard management controller reads the information setting instruction cached in the Expander, and sets the target attribute information of the baseboard management controller based on the information setting instruction, wherein the target attribute information is the information included in the information setting instruction.
11. An information acquisition method for a baseboard management controller, applied to the information acquisition system of the baseboard management controller according to any one of claims 1 to 10, wherein it includes: receiving an information acquisition instruction sent by the head server, wherein the information acquisition instruction is used to indicate to acquire the target data information of the baseboard management controller included in the disk cluster server; acquiring the data information of the baseboard management controller, determining the target data information from the data information, and saving the target data information, so that the head server can acquire the target data information.
12. The information acquisition method of the baseboard management controller according to claim 11, wherein acquiring the data information of the baseboard management controller includes: when there is a path between the Expander and the baseboard management controller, receiving the data information sent by the baseboard management controller at a predetermined period; when there are two paths between the Expander and the baseboard management controller, receiving the data information sent by the baseboard management controller at a predetermined period, or acquiring the data information from the baseboard management controller.
13. The information acquisition method of the baseboard management controller according to claim 11, wherein Obtain the data information of the baseboard management controller, and determine the target data information from the data information, including: Periodically obtain the data information of the baseboard management controller, and save the data information to the memory of the Expander; Obtain the data information with the same information identifier from the memory to obtain the target data information, where the information acquisition instruction includes the information identifier.
14. The information acquisition method of the baseboard management controller according to claim 11, wherein: Obtain the data information of the baseboard management controller, and determine the target data information from the data information, including: Extract the information identifier from the information acquisition instruction; Obtain the data information with the same information identifier from the baseboard management controller to obtain the target data information.
15. The information acquisition method of the baseboard management controller according to claim 11, wherein: Saving the target data information includes at least one of the following: Save the target data information in the target storage space; Define a target function, and fill in the target data information in the return data of the target function.
16. The information acquisition method of the baseboard management controller according to claim 15, wherein: Filling in the target data information in the return data of the target function includes: Fill in the encoding information in the target data information in the return data of the target function; Save the filled return data in the target storage space, where the target storage space is a created storage space for storing the target data information.
17. The information acquisition method of the baseboard management controller according to claim 11, wherein: The method further includes: Receive the information setting instruction sent by the head server; Cache the information setting instruction, so that when the baseboard management controller polls the Expander, read the information setting instruction cached in the Expander, and set the target attribute information of the baseboard management controller based on the information setting instruction, where the target attribute information is the information included in the information setting instruction.
18. An information acquisition device for a baseboard management controller, wherein: Comprising: A receiving module, configured to receive an information acquisition instruction sent by a head server, where the information acquisition instruction is used to indicate obtaining target data information of a baseboard management controller included in a disk cluster server; An acquisition module, configured to acquire the data information of the baseboard management controller, determine the target data information from the data information, and save the target data information, so that the head server can acquire the target data information.
19. A computer non-volatile readable storage medium, wherein: The computer non-volatile readable storage medium stores a computer program, wherein the computer program, when executed by a processor, implements the steps of the method described in any one of claims 11 to 17.
20. An electronic device, comprising a memory, a processor, and a computer program stored on the memory and executable on the processor, wherein when the processor executes the computer program, the steps of the method according to any one of claims 11 to 17 are implemented.
Citation Information
Patent Citations
Method for updating node states
CN103092735A
Storage server
CN111475110A
Storage device
CN116418845A
Information acquisition system, method and device of baseboard management controller, and storage medium
CN117493258A
Cable adapter correlation in a cluster
US20140173156A1