Method and device for monitoring host bus adapter and mainboard management controller
By obtaining and analyzing the device model information in the PLDM protocol, directly determining whether the PCIe device is an FC HBA card, solving the problem that FC HBA card monitoring depends on asset information, realizing independent monitoring and simplifying maintenance, and improving monitoring reliability.
Patent Information
- Application Number
- CN202411223408.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-09-02
- Publication Date
- 2024-12-27
AI Technical Summary
In the prior art, the monitoring of FC HBA cards depends on asset information. If the asset information is transmitted abnormally or lost, it will cause the equipment monitoring to fail, and it is impossible to accurately determine whether there is an FC HBA card that needs to be monitored.
By obtaining the PCIe device list that supports the PLDM protocol in the server, directly obtaining the device model information through the PLDM protocol, determining whether the device belongs to an FC HBA card, decoupling of FC HBA card monitoring and asset information, and reducing dependence on external modules.
It realizes independent monitoring of FC HBA cards, avoids the impact of abnormal asset information, simplifies code maintenance, and improves the independence and reliability of monitoring.
Smart Images

Figure CN119201603A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of computer technology, and in particular to a host bus adapter monitoring method, device and motherboard management controller. Background Art
[0002] With the development of server virtualization technology, the importance of HBA cards in network storage architecture has become increasingly prominent. Server virtualization allows multiple servers to be connected to the port of the same storage switch. In the development of storage network technology, Fibre Channel (FC) technology has become the mainstream technology in the Storage Area Network (SAN). Fibre Channel HBA (FC HBA for short) supports the connection and data transmission between devices in a storage network based on Fibre Channel.
[0003] Currently, the monitoring of FC HBA cards needs to be determined based on the asset information of PCIe devices, such as device type, Vendor ID, Device ID, etc. If the asset information is transmitted abnormally, such as parsing abnormality or information loss, the management controller will not be able to know whether there are FC HBA cards that need to be monitored in the system, resulting in device monitoring failure and users being unable to obtain device information from the out-of-band channel. Summary of the invention
[0004] In view of this, the present invention provides a host bus adapter monitoring method, device and motherboard management controller to avoid excessive reliance on asset information when monitoring equipment, and achieve decoupling of FC HBA monitoring and asset information.
[0005] In a first aspect, the present invention provides a method for monitoring a host bus adapter, the method comprising:
[0006] Determine at least one PCIe device supporting the first network transmission in a first device list of the server, and obtain a second device list including the at least one PCIe device;
[0007] Sending a first request instruction to at least one PCIe device in the second device list, where the first request instruction is used to request the PCIe device to feedback a message supporting the preset protocol;
[0008] Receiving at least one message of the preset protocol fed back by at least one PCIe device, and parsing each of the messages to obtain model information of the PCIe device;
[0009] Detect whether the model information of each of the PCIe devices is in the local monitoring list;
[0010] If yes, it is determined that the PCIe device belongs to a host bus adapter, and a monitoring operation on the host bus adapter is started.
[0011] In combination with the first aspect, in a possible implementation manner, the preset protocol is a platform level data model PLDM protocol;
[0012] Determining at least one PCIe device supporting first network transmission in a first device list of the server, and acquiring a second device list including the at least one PCIe device, including:
[0013] After the server is powered on, obtaining a first device list of the server supporting first network transmission, wherein the first device list includes at least one PCIe device;
[0014] The devices supporting the PLDM protocol are screened in the first device list to obtain the second device list including the at least one PCIe device.
[0015] In combination with the first aspect, in another possible implementation, the first network is a Management Component Transport Protocol (MCTP) network;
[0016] After the server is powered on, obtaining a first device list that supports first network transmission on the server includes:
[0017] After the server is powered on, obtaining, through the MCTP service, a list of PCIe devices in the MCTP network that support MCTP message transmission as the first device list;
[0018] Screening the first device list for devices supporting the PLDM protocol to obtain the second device list including the at least one PCIe device includes:
[0019] Sending an MCTP message type request message to each PCIe device in the first device list, where the MCTP message type request message is used to obtain whether each PCIe device supports PLDM protocol transmission;
[0020] Receiving a response message fed back by at least one PCIe device according to the MCTP message type request message;
[0021] Parsing the response message, and if the field indicating the PLDM protocol in the response message is "TRUE", determining that the PCIe device that currently feeds back the response message supports message transmission of the PLDM protocol;
[0022] Count all devices in the first device list that support PLDM protocol message transmission to generate a second device list.
[0023] In combination with the first aspect, in yet another possible implementation, sending a first request instruction to at least one PCIe device in the second device list includes:
[0024] Encapsulating the first request instruction through the PLDM protocol, and then generating an MCTP data packet or an MCTP message according to the first request instruction encapsulated by the PLDM protocol;
[0025] Send at least one MCTP data packet or MCTP message to the at least one PCIe device.
[0026] In combination with the first aspect, in another possible implementation, the receiving at least one message of the preset protocol fed back by at least one PCIe device includes: receiving at least one MCTP response data packet or MCTP response message fed back by at least one PCIe device, wherein the MCTP response data packet or the MCTP response message carries record data.
[0027] In combination with the first aspect, in another possible implementation, parsing each of the messages to obtain model information of the PCIe device includes: when the record data carried in the MCTP response data packet or the MCTP response message is a field replaceable unit FRU Record Data, parsing the FRU Record Data to obtain PN model information of the PCIe device.
[0028] In combination with the first aspect, in another possible implementation, detecting whether the model information of each PCIe device is in the local monitoring list further includes: if it is not in the local monitoring list, determining that the PCIe device is not set on the host bus adapter.
[0029] In a second aspect, the present invention provides a monitoring device for a host bus adapter, the device comprising:
[0030] A determination module, used to determine at least one PCIe device supporting the first network transmission in the first device list of the server, and obtain a second device list including the at least one PCIe device;
[0031] A sending module, used for sending a first request instruction to at least one PCIe device in the second device list, wherein the first request instruction is used for requesting the PCIe device to feedback a message supporting the preset protocol;
[0032] A receiving module, used for receiving at least one message of the preset protocol fed back by at least one PCIe device, and parsing each message to obtain model information of the PCIe device;
[0033] A detection module, used to detect whether the model information of each PCIe device is in a local monitoring list;
[0034] The startup module is used to determine that the PCIe device belongs to the host bus adapter when the detection module detects that the model information is in the local monitoring list, and to start the monitoring operation on the host bus adapter.
[0035] In a third aspect, the present invention provides a motherboard management controller, comprising a memory and a processor, wherein the memory and the processor are connected; computer instructions are stored in the memory, and the processor executes the host bus adapter monitoring method described in the first aspect or any embodiment of the first aspect by executing the computer instructions.
[0036] In a fourth aspect, the present invention provides a computer-readable storage medium having computer instructions stored thereon, the computer instructions being used to enable a computer to execute the host bus adapter monitoring method described in the first aspect or any one of the embodiments of the first aspect.
[0037] In addition, the present invention provides a computer program product, including computer instructions, where the computer instructions are used to enable a computer to execute the host bus adapter monitoring method described in the first aspect or any embodiment of the first aspect.
[0038] The present embodiment provides a host bus adapter monitoring method, device and motherboard management controller, which realizes the decoupling of FC HBA card monitoring and asset information, and the decoupling of Open BMC and BIOS. Open BMC directly obtains the message fed back by the PCIe device supporting MCTP protocol transmission through the PLDM message method based on MCTP encapsulation, and parses the message to obtain the model information of the PCIe device, and directly determines whether the current device belongs to an HBA card or an FCHBA card through the model information of the device. This method no longer relies on information such as Vendor ID and Device ID in the asset information, realizes the decoupling of FC HBA card judgment and asset information, reduces the dependence of FC HBA monitoring on external modules, and is more independent in implementation, and the code maintenance is also simpler.
[0039] In addition, since the method can determine whether it is a FC HBA card without relying on asset information, it is not affected by the original asset information, such as the loss or abnormality of the Vendor ID and the Device ID during the transmission process. BRIEF DESCRIPTION OF THE DRAWINGS
[0040] In order to more clearly illustrate the specific implementation methods of the present invention or the technical solutions in the prior art, the drawings required for use in the specific implementation methods or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are some implementation methods of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.
[0041] Figure 1 is a system architecture diagram of a server connected to a storage device according to an embodiment of the present invention;
[0042] Figure 2 is a schematic diagram of FC HBA card asset information reported by BIOS according to an embodiment of the present invention;
[0043] Figure 3 is a flow chart of a host bus adapter monitoring method according to an embodiment of the present invention;
[0044] Figure 4 is a flow chart of another host bus adapter monitoring method according to an embodiment of the present invention;
[0045] Figure 5 is a structural block diagram of a monitoring device for a host bus adapter according to an embodiment of the present invention;
[0046] Figure 6 The figure is a schematic diagram of the hardware structure of a mainboard management controller BMC according to an embodiment of the present invention. DETAILED DESCRIPTION
[0047] In order to make the purpose, technical solution and advantages of the embodiments of the present invention clearer, the technical solution in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings 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 those skilled in the art without creative work are within the scope of protection of the present invention.
[0048] The technical solution provided by the embodiment of the present invention is mainly applied to data transmission between a server and a storage device, see Figure 1 FIG. 1 is a system architecture diagram of a server connected to a storage device provided by an embodiment of the present invention. The system includes a server, a switch and a storage resource, wherein the switch is connected between the server and the storage resource. The storage resource may be a storage device or a storage device cluster.
[0049] See also Figure 1The server includes: a board management controller (BMC) and at least one card module or circuit, such as at least one card module or circuit including: an FC HBA card, a GPU (Graphic Processing Unit), etc. Each card or module includes an input and output port. For example, the FC HBA card includes port 0 and port 1, wherein port 0 or port 1 can be connected to a switch.
[0050] Among them, the Host Bus Adapter (HBA) card is a PCIe (Peripheral Component Interconnect Express, a high-speed serial expansion bus) adapter that provides connection and data transmission between the server and the storage device. Its emergence is closely related to the development of storage technology. With the increase in data volume, the demand for more efficient data management and transmission methods has become more urgent. HBA was born under this demand. Initially, the hard disk was the storage device of the computer, and the central processing unit (CPU) directly accessed the hard disk through the bus. However, with the increase in data volume, more and more hard disks are placed inside the computer, which makes it less efficient for general-purpose processors such as CPU to specialize in hard disk management. In order to manage these hard disks more effectively, components that specifically manage these hard disks have appeared. This component is called a host bus adapter (HBA).
[0051] In this embodiment, the BMC is connected to the FC HBA card and the GPU respectively, and is used to manage or monitor each card module / circuit.
[0052] Optionally, in this embodiment, the BMC is an open source BMC (Board Management Controller), namely OpenBMC.
[0053] Based on the important role of HBA cards in servers, HBA has also become one of the important components monitored by OpenBMC. OpenBMC's monitoring of HBA cards generally includes: static information and dynamic information. Specifically, static information includes: manufacturer, model, PN (Part Number), SN (Serial Number), WWNN (World Wide Node Number), WWPN (World Wide Port Number), number of ports, etc. Dynamic information includes: port connection status, port speed, temperature, etc.
[0054] When the server is powered on, the BIOS will pass the asset information of the system including PCIe device information to OpenBMC. OpenBMC will determine whether the FC HBA card to be monitored is included in the PCIe device information according to the device type, Vendor ID, Device ID and other information. If there is an HBA card to be monitored, the device BDF (Bus, Device, Function, PCIe device address) information will be obtained, and then the device node that meets the corresponding BDF will be searched in the device list obtained by the MCTP (Management Component Transport Protocol) service, and the device will be monitored.
[0055] This method determines whether the PCIe device belongs to an FC HBA card based on the device type (classcode), vendor ID, and device ID in the PCIe device information in the asset information. It is absolutely dependent on the asset information passed to OpenBMC by BIOS, such as Figure 2 The figure shows the asset information of the FC HBA card reported by the BIOS.
[0056] If asset information is transmitted abnormally, such as a transmission link or transmission channel failure, or noise or other environmental interference during the transmission process causes data loss, Open BMC parsing abnormality or information loss will cause Open BMC to be unable to know whether there are FC HBA cards that need to be monitored in the system, resulting in device monitoring failure and users being unable to obtain device information from the out-of-band channel.
[0057] In order to solve the above problems, an embodiment of the present invention provides an FC HBA card monitoring method that does not rely on asset information under Open BMC, so as to achieve the decoupling of FC HBA card monitoring from asset information, and the decoupling of Open BMC from BIOS. Open BMC directly obtains device information through the MCTP protocol of PLDM (Platform Level Data Model), and determines whether the current device belongs to an FC HBA card through the device information, thereby no longer relying on information such as the vendor VendorID and Device ID in the asset information, reducing the dependence of FC HBA monitoring on external modules, making the modules more independent, and making code maintenance simpler.
[0058] An embodiment of the present invention provides an embodiment of a monitoring method for a host bus adapter. It should be noted that the steps shown in the flowchart of the accompanying drawings can be executed in a computer system such as a set of computer executable instructions, and although a logical order is shown in the flowchart, in some cases, the steps shown or described can be executed in an order different from that shown here.
[0059] In this embodiment, a method for monitoring a host bus adapter HBA is provided, which can be used in the above-mentioned OpenBMC. Figure 3 is a flow chart of a method for monitoring an HBA according to an embodiment of the present invention. Figure 3 As shown, the process includes:
[0060] Step S101: determine at least one PCIe device supporting a first network transmission in a first device list of a server, and obtain a second device list including the at least one PCIe device.
[0061] Specifically, after detecting that the server is powered on, the HBA monitoring module of Open BMC obtains the device list supporting the PLDM protocol in the current MCTP network from the MCTP service and records the device EID (Endpoint ID) information. The device list supporting the PLDM protocol is the first device list.
[0062] Step S102: Open BMC sends a first request instruction to at least one PCIe device in the second device list.
[0063] The first request instruction is used to request the PCIe device to feedback a message supporting a preset protocol. If the preset protocol is the MCTP protocol, then at least one PCIe device in the first device list supports MCTP network transmission.
[0064] A possible implementation of this step is to first encapsulate the first request instruction through the PLDM protocol, and then generate an MCTP data packet or MCTP message according to the first request instruction encapsulated by the PLDM protocol; finally, send at least one MCTP data packet or MCTP message to the at least one PCIe device.
[0065] Optionally, the first request instruction is a PLDM standard command, such as a GetFRURecordTable instruction, which is used to request a FRU record table from each device in the second device list.
[0066] Step S103: receiving at least one message of the preset protocol fed back by at least one PCIe device, and parsing each message to obtain model information of the PCIe device.
[0067] In one implementation, the Open BMC receives at least one MCTP response data packet or MCTP response message fed back by at least one PCIe device, where the MCTP response data packet or MCTP response message carries record data.
[0068] As shown in Table 1, it is a FRU Record field type definition table in a PLDM protocol.
[0069] Table 1
[0070]
[0071]
[0072] According to Table 1 above, the FRU Record Data message is parsed to obtain the model information of the PCIe device, including: when the record data carried in the MCTP response data packet or the MCTP response message is a field replaceable unit (Field Replace Unit, FRU) record data Record Data, the FRU Record Data is parsed to obtain the PN model information of the PCIe device. For example, the PN model information obtained after parsing is: LPe36000.
[0073] Step S104, detecting whether the model information of each of the PCIe devices is in the local monitoring list.
[0074] The local monitoring list is a list of devices pre-stored in the Open BMC, which is generated based on the manufacturer, PN number, and port number. As shown in Table 2, it is a list of FC HBA card device PN information supported by the Open BMC.
[0075] It is determined whether all the PN numbers in Table 2 include the PN model parsed in the above step S103.
[0076] Table 2
[0077] Part Number (PN) Manufacturer Number of ports LPe35000 Manufacturer 1 1 LPe35002 Manufacturer 1 2 LPe36000 Manufacturer 1 1 LPe36002 Manufacturer 1 2 QLE2690 Manufacturer 2 1 QLE2692 Manufacturer 2 2 QLE2770 Manufacturer 2 1 QLE2772 Manufacturer 2 2
[0078] Step S105: If yes, that is, there is a PN in Table 2 that is the same as the PN number parsed in step S103, it is determined that the PCIe device belongs to a host bus adapter, and a monitoring operation on the host bus adapter is started.
[0079] For example, if the PN model information is LPe36000 in the PN list shown in Table 2, that is, the same as "LPe36000", then it is determined that the PCIe device is an HBA card, or belongs to an FC HBA card, then it is added to the device monitoring list and the PCIe device is monitored.
[0080] In addition, step S104: detecting whether the model information of each PCIe device is in the local monitoring list also includes: if it is not in the local monitoring list, determining that the PCIe device is not set on the host bus adapter HBA card, and not performing monitoring operations on the PCIe device.
[0081] For example, the parsed PN number is LPe34999, which is not in the PN list shown in Table 2. It is determined that the PCIe device corresponding to LPe34999 does not belong to the FC HBA card, and the PCIe device is not monitored.
[0082] The HBA monitoring method provided in this embodiment realizes the decoupling of FC HBA card monitoring from asset information, and the decoupling of OpenBMC from BIOS. Open BMC directly obtains the message fed back by the PCIe device supporting MCTP protocol transmission through the PLDM message method based on MCTP encapsulation, and parses the message to obtain the model information of the PCIe device, and directly determines whether the current device belongs to the FC HBA card through the model information of the device. This method no longer relies on information such as Vendor ID and Device ID in the asset information, realizes the decoupling of FC HBA card judgment and asset information, reduces the dependence of FC HBA monitoring on external modules, and is more independent in implementation, and the code maintenance is also simpler.
[0083] In addition, since the method can determine whether it is a FC HBA card without relying on asset information, it is not affected by the original asset information, such as the loss or abnormality of the Vendor ID and the Device ID during the transmission process.
[0084] In a specific implementation, if the preset protocol is the PLDM protocol, step S101: determining at least one PCIe device supporting the first network transmission in the first device list of the server, and obtaining a second device list including the at least one PCIe device, specifically includes: after the server is powered on, obtaining a first device list of the server supporting the first network transmission, the first device list including at least one PCIe device; screening devices supporting the PLDM protocol in the first device list to obtain a second device list including the at least one PCIe device.
[0085] Furthermore, if the first network is a Management Component Transport Protocol (MCTP) network; Figure 4 As shown, the above step S101 specifically includes:
[0086] Step S101-1: After the server is powered on, a list of PCIe devices supporting MCTP message transmission in the MCTP network is obtained through the MCTP service as a first device list.
[0087] After the server is powered on, Open BMC obtains the list of PCIe devices that support MCTP in the MCTP network through the MCTP service, and uses the device list as the first device list, while also recording the device EID (Endpoint ID) information.
[0088] Step S101-2: Send an MCTP message type request message to each PCIe device in the first device list, where the MCTP message type request message is used to obtain whether each PCIe device supports PLDM protocol transmission.
[0089] Specifically, OpenBMC sends an MCTP message type request packet or request message carrying a Get MCTPMessage Type field to each PCIe device in the first device list.
[0090] Specifically, the HBA monitoring module of OpenBMC sequentially accesses devices supporting the PLDM protocol according to the device EID, and sends PLDM standard commands, such as GetFRURecoredTable instructions, to each PCIe device in the first device list through the MCTP message mode of PLDM.
[0091] Step S101-3: receiving a response message fed back by at least one PCIe device according to the MCTP message type request message.
[0092] After receiving the MCTP message type request packet or request message, each PCIe device in the first device list generates a corresponding response message according to the parsed Get MCTP Message Type field, each response message includes a field for indicating whether the MCTP protocol message type is supported, and returns the generated response message to OpenBMC.
[0093] The returned response message is an MCTP response message or a response data packet.
[0094] Step S101-4: parsing the response message, if the field indicating the PLDM protocol in the response message is the target character, determining that the PCIe device that currently feeds back the response message supports message transmission of the PLDM protocol.
[0095] OpenBMC parses each MCTP response message or response data packet, and searches for a field indicating the PLDM protocol as a target character from the MCTP response message or response data packet. For example, if the target character is "true", it indicates that PLDM protocol message transmission is supported; if the field is "false", it indicates that PLDM protocol message transmission is not supported.
[0096] In addition, the response message fed back according to the MCTP message type request message in step S101-3 also includes other MCTP related information of the HBA card.
[0097] For example, it includes: indication information of whether the NCSI field, SPDM field, VDIANA field, VDPCI field, etc. are "true" or "false".
[0098] Step S101 - 5 : Count all devices in the first device list that support PLDM protocol message transmission to generate a second device list.
[0099] OpenBMC counts all PCIe devices that support PLDM protocol transmission in step S101 - 4 , that is, the target fields are all true, and forms these devices into a second device list.
[0100] In this implementation, an MCTP message type request message is sent to each PCIe device in the first device list supporting the MCTP network to obtain information on whether each PCIe device supports PLDM protocol message transmission, and a second device list is obtained by statistics, and further determination is made as to whether there is an FC HBA card in the second device list.
[0101] Open BMC accesses the FC HBA cards in the monitoring list in sequence, and obtains static and dynamic device information of each FC HBA card.
[0102] It should be noted that the technical solution of this embodiment is applicable not only to the monitoring of FC HBA cards, but also to other devices that support obtaining device models through FRUs, and this embodiment does not limit this.
[0103] In this embodiment, a monitoring device for a host bus adapter is also provided, and the device is used to implement the above-mentioned embodiments and preferred implementation modes, and the descriptions that have been made are not repeated here. As used below, the term "module" can be a combination of software and / or hardware that implements a predetermined function. 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 conceivable.
[0104] This embodiment provides a monitoring device for a host bus adapter HBA, which is used to implement the above Figure 3 or Figure 4 The method flow is shown in FIG. Figure 5 As shown, the device includes: a determination module 510, a sending module 520, a receiving module 530, a detection module 540 and a starting module 550. In addition, the device may also include other more or fewer modules, which is not limited in this embodiment.
[0105] The determination module 510 is used to determine at least one PCIe device supporting the first network transmission in the first device list of the server, and obtain a second device list including the at least one PCIe device.
[0106] The sending module 520 is used to send a first request instruction to at least one PCIe device in the second device list, where the first request instruction is used to request the PCIe device to feedback a message supporting the preset protocol.
[0107] The receiving module 530 is used to receive at least one message of the preset protocol fed back by at least one PCIe device, and parse each of the messages to obtain the model information of the PCIe device.
[0108] The detection module 540 is used to detect whether the model information of each PCIe device is in the local monitoring list.
[0109] The start module 550 is used to determine that the PCIe device belongs to the host bus adapter when the detection module 540 detects that the model information is in the local monitoring list, and start the monitoring operation on the host bus adapter.
[0110] The further functional description of each of the above modules and units is the same as that of the above corresponding embodiments and will not be repeated here.
[0111] The monitoring device in this embodiment is presented in the form of a functional unit, where the unit refers to an ASIC (Application Specific Integrated Circuit) circuit, a processor and memory that executes one or more software or fixed programs, and / or other devices that can provide the above functions.
[0112] The embodiment of the present invention also provides a mainboard management controller BMC, having the above Figure 5 The monitoring device shown.
[0113] See also Figure 6 , is a schematic diagram of the structure of a BMC provided by an optional embodiment of the present invention, the BMC includes: one or more processors 10, a memory 20 and at least one communication interface 30.
[0114] Among them, at least one communication interface 30 includes a high-speed interface and a low-speed interface. The various components are connected to each other using different buses and can be installed on a common motherboard or installed in other ways as needed. The processor 10 can process instructions executed in the BMC, including instructions stored in or on the memory to display graphical information of the GUI on an external input / output device (such as a display device coupled to the interface).
[0115] In some optional embodiments, if desired, multiple processors and / or multiple buses can be used together with multiple memories and multiple memories. Similarly, multiple card modules or circuits can be connected, and each device provides part of the necessary operations (for example, as a server array, a group of blade servers, or a multi-processor system). Figure 6 A processor 10 is taken as an example.
[0116] The processor 10 may be a processing circuit or a processing chip. The processor 10 may further include a hardware chip. The hardware chip may be a dedicated integrated circuit, a programmable logic device or a combination thereof. The programmable logic device may be a complex programmable logic device, a field programmable gate array, a general purpose array logic or any combination thereof.
[0117] The memory 20 stores instructions executable by at least one processor 10, so that the at least one processor 10 executes the host bus adapter monitoring method shown in the above embodiment.
[0118] The memory 20 may include a program storage area and a data storage area, wherein the program storage area may store an operating system and an application required by at least one function; the data storage area may store data created according to the use of the BMC, etc. In addition, the memory 20 may include a high-speed random access memory, and may also include a non-transient memory, such as at least one disk storage device, a flash memory device, or other non-transient solid-state storage devices. In some optional embodiments, the memory 20 may include a memory remotely arranged relative to the processor 10, and these remote memories may be connected to the BMC 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 combinations thereof.
[0119] The memory 20 may include a volatile memory, such as a random access memory; the memory may also include a non-volatile memory, such as a flash memory, a hard disk or a solid state drive; the memory 20 may also include a combination of the above types of memory.
[0120] The BMC also includes an input device and an output device. The processor 10, the memory 20, the input device and the output device can be connected via a bus or other means. Further, the input device can receive input digital or character information, and generate key signal input related to the user settings and function control of the device, such as a touch screen, a keypad, a mouse, a trackpad, a touchpad, an indicator rod, one or more mouse buttons, a trackball, a joystick, etc. The output device may include a display device, an auxiliary lighting device (e.g., an LED) and a tactile feedback device (e.g., a vibration motor), etc. The above-mentioned display device includes but is not limited to a liquid crystal display, a light emitting diode, a display and a plasma display.
[0121] Figure 6 In the embodiment, at least one communication interface 30 is used for the BMC to communicate with other modules or communication networks, such as communicating with a FCHBA card.
[0122] The embodiment of the present invention further provides a server, which includes a BMC and at least one HBA card, and may also include other modules or circuits, such as a GPU. The structure of the BMC may be the same as the above Figure 6 The structures shown are the same and are used to implement the HBA monitoring method shown in the above embodiment.
[0123] Optionally, the BMC is an open source BMC.
[0124] An embodiment of the present invention also provides a computer-readable storage medium, and the above-mentioned method according to the embodiment of the present invention can be implemented in hardware, firmware, or can be implemented as a computer code that can be recorded in a storage medium, or can be implemented by downloading through a network and originally stored in a remote storage medium or a non-temporary machine-readable storage medium and will be stored in a local storage medium, so that the method described herein can be stored in such software processing on a storage medium using a general-purpose computer, a dedicated processor, or programmable or dedicated hardware.
[0125] The storage medium may be a magnetic disk, an optical disk, a read-only storage memory, a random access memory, a flash memory, a hard disk or a solid state drive, etc.; further, the storage medium may also include a combination of the above-mentioned types of memories. It is understood that a computer, a processor, a microprocessor controller or programmable hardware includes a storage component that can store or receive software or computer code. When the software or computer code is accessed and executed by the computer, processor or hardware, the HBA monitoring method shown in the above embodiment is implemented.
[0126] Embodiments of the present application may also provide a computer program product, including computer program instructions, which, when executed by a processor, cause the processor to perform the steps in the above method. Wherein, the computer program product may be written in any combination of one or more programming languages to perform program codes for performing the operations of the disclosed embodiments, wherein the programming languages include object-oriented programming languages, such as Java, C++, etc., and also include conventional procedural programming languages, such as "C" language or similar programming languages. The program code may be executed entirely on a user computing device, partially on a user device, as an independent software package, partially on a user computing device, partially on a remote computing device, or entirely on a remote computing device or server.
[0127] The above embodiments are only used to illustrate the technical solutions of the embodiments of the present invention, rather than to limit them. Although the embodiments of the present invention are described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or replace some of the technical features therein by equivalents. However, these modifications or replacements do not deviate the essence of the corresponding technical solutions from the spirit and scope of the technical solutions of the embodiments of the present invention.
Claims
1. A host bus adapter monitoring method, characterized in that: The method comprises: Determine at least one PCIe device supporting the first network transmission in a first device list of the server, and obtain a second device list including the at least one PCIe device; Sending a first request instruction to at least one PCIe device in the second device list, where the first request instruction is used to request the PCIe device to feedback a message supporting a preset protocol; Receiving at least one message of the preset protocol fed back by at least one PCIe device, and parsing each of the messages to obtain model information of the PCIe device; Detect whether the model information of each of the PCIe devices is in the local monitoring list; If yes, it is determined that the PCIe device belongs to a host bus adapter, and a monitoring operation on the host bus adapter is started.
2. The method according to claim 1, characterized in that The preset protocol is the platform-level data model PLDM protocol; The determining at least one PCIe device supporting the first network transmission in the first device list of the server, and obtaining a second device list including the at least one PCIe device, includes: After the server is powered on, obtaining a first device list of the server supporting first network transmission, wherein the first device list includes at least one PCIe device; The devices supporting the PLDM protocol are screened in the first device list to obtain the second device list including the at least one PCIe device.
3. The method according to claim 2, characterized in that The first network is a Management Component Transport Protocol (MCTP) network; After the server is powered on, obtaining a first device list that supports first network transmission on the server includes: After the server is powered on, obtaining, through the MCTP service, a list of PCIe devices in the MCTP network that support MCTP message transmission as the first device list; Screening the first device list for devices supporting the PLDM protocol to obtain the second device list including the at least one PCIe device includes: Sending an MCTP message type request message to each PCIe device in the first device list, where the MCTP message type request message is used to obtain whether each PCIe device supports PLDM protocol transmission; Receiving a response message fed back by at least one PCIe device according to the MCTP message type request message; Parsing the response message, if the field indicating the PLDM protocol in the response message is a target character, determining that the PCIe device that currently feeds back the response message supports message transmission of the PLDM protocol; Count all devices in the first device list that support PLDM protocol message transmission to generate the second device list.
4. The method according to claim 3, characterized in that The sending a first request instruction to at least one PCIe device in the second device list includes: Encapsulating the first request instruction through the PLDM protocol, and then generating an MCTP data packet or an MCTP message according to the first request instruction encapsulated by the PLDM protocol; Send at least one MCTP data packet or MCTP message to the at least one PCIe device.
5. The method according to claim 3, characterized in that: The receiving of at least one message of the preset protocol fed back by at least one PCIe device includes: Receive at least one MCTP response data packet or MCTP response message fed back by at least one PCIe device, where the MCTP response data packet or the MCTP response message carries record data.
6. The method according to claim 5, characterized in that The parsing of each of the messages to obtain the model information of the PCIe device includes: When the record data carried in the MCTP response data packet or the MCTP response message is a field replaceable unit FRU Record Data, the FRU Record Data is parsed to obtain PN model information of the PCIe device.
7. The method according to any one of claims 1 to 6, characterized in that The detecting whether the model information of each of the PCIe devices is in the local monitoring list further includes: If it is not in the local monitoring list, it is determined that the PCIe device is not set on the host bus adapter.
8. A monitoring device for a host bus adapter, characterized in that: The device comprises: A determination module, used to determine at least one PCIe device supporting the first network transmission in the first device list of the server, and obtain a second device list including the at least one PCIe device; A sending module, used for sending a first request instruction to at least one PCIe device in the second device list, wherein the first request instruction is used for requesting the PCIe device to feedback a message supporting a preset protocol; A receiving module, used for receiving at least one message of the preset protocol fed back by at least one PCIe device, and parsing each message to obtain model information of the PCIe device; A detection module, used to detect whether the model information of each PCIe device is in a local monitoring list; The startup module is used to determine that the PCIe device belongs to the host bus adapter when the detection module detects that the model information is in the local monitoring list, and to start the monitoring operation on the host bus adapter.
9. A motherboard management controller, characterized in that: comprising a memory and a processor, wherein the memory and the processor are connected; The memory stores computer instructions, and the processor executes the host bus adapter monitoring method according to any one of claims 1 to 7 by executing the computer instructions.
10. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores computer instructions, and the computer instructions are used to enable a computer to execute the host bus adapter monitoring method according to any one of claims 1 to 7.
Citation Information
Cited By
Server control method, computing platform, computer program product and device
CN120353507A
