Topology network updating method and device, storage medium and electronic device
By scanning and managing the NVMe expansion cabinet controller using the NVMe_MI instruction in the storage network, the problem of device discovery and management in complex storage networks is solved, and fast and accurate topological network construction and maintenance is achieved.
Patent Information
- Application Number
- CN202411967232.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-30
- Publication Date
- 2025-04-29
- Estimated Expiration
- 2044-12-30
AI Technical Summary
In complex storage networks, the problem of how to quickly and accurately discover and manage NVMe-based storage expansion cabinet controllers to build and maintain topological networks of storage systems.
By scanning the expansion cabinet controller, use the NVMe_MI instructions to obtain controller information, determine the network connection, and update the topological network based on this information. The method includes sending and receiving VPD information, network port information, and device management and topology discovery through NVMe_MI commands.
It realizes rapid discovery and management of NVMe devices, ensures the accurate construction and maintenance of the storage system topology network, and improves the manageability and scalability of the storage system.
Smart Images

Figure CN119402367B_ABST
Abstract
Description
Technical Field
[0001] The embodiments of the present application relate to the computer field, and in particular, to a method and device for updating a topology network, a storage medium, and an electronic device. Background Art
[0002] With the booming development of large-scale computing in recent years, the data throughput of data centers has increased day by day, and the performance of back-end storage has gradually become a bottleneck. As a result, faster storage media have been developed, and newer, faster and more stable storage protocols have been born. All-flash arrays (AFAs) have emerged in data centers in response to the demand for high performance, because they are much faster than traditional storage and can effortlessly reach the 1M IOPS that the market has always promised. However, many of these arrays have been using nearly traditional storage technology SATA SSDs. This type of storage is based on the AHCI (Advanced Host Controller Interface) command protocol and supports IDE. AHCI is essentially built for spinning disks, not for advanced flash-based drives. This SCSI-based technology creates a bottleneck for today's SSDs and storage array controllers because the SATAIII bus with AHCI only allows data transfer speeds of up to 600MB / s.
[0003] To unleash the full power of SSDs, we need new technologies to offload flash faster. NVMe is a specification that enables flash storage (or SSDs) to truly harness the performance of flash. The technology is designed to improve application response times and provide new and better capabilities. NVMe SSDs leverage the Peripheral Component Interconnect Express (PCIe) high-speed bus by connecting directly to the computer or server. Essentially, NVMe reduces CPU overhead and simplifies operations for lower latency, increased input / output operations per second (IOPS) and throughput.
[0004] However, the problem in the data center still lies with storage network protocols. Despite the rise of NVMe, its benefits are limited to each individual device. In fact, flash and other enterprise-class (expensive) devices, such as AFA, are not designed to isolate their excellent performance within the chassis. Instead, they are designed to be used in large parallel computer clusters, connecting them with other and multiple devices (such as other servers and storage). This interconnection of devices is what we call the topology, that is, the storage network, including switches, routers, protocol bridges, gateway devices and cables.
[0005] In the related art, in a complex storage network, how to quickly and accurately discover and manage NVMe-based storage expansion cabinet controllers to build and maintain the topology network of the storage system, no effective solution has been proposed. Summary of the invention
[0006] The embodiments of the present application provide a method and device for updating a topology network, a storage medium, and an electronic device to at least solve the problem in the related art of how to quickly and accurately discover and manage NVMe-based storage expansion cabinet controllers in a complex storage network to build and maintain the topology network of the storage system.
[0007] According to an embodiment of the present application, a method for updating a topology network is provided, which is applied to a control cabinet controller, and includes: scanning a first expansion cabinet controller, wherein a first expansion cabinet corresponding to the first expansion cabinet controller includes multiple NVMe devices; when the first expansion cabinet controller is scanned, obtaining controller information of the first expansion cabinet controller through an information interaction instruction, wherein the information interaction instruction is an NVMe_MI instruction; when the controller information is received, determining that a first network connection between the control cabinet controller and the first expansion cabinet controller has been successfully established, and updating the topology network corresponding to the control cabinet controller according to the first network connection, wherein the topology network includes a second network connection between the control cabinet controller and multiple second expansion cabinet controllers.
[0008] In an exemplary embodiment, when the first expansion cabinet controller is scanned, the controller information of the first expansion cabinet controller is obtained through an information interaction instruction, including: when the first expansion cabinet controller is scanned, the first VPD information of the control cabinet controller is sent to the first expansion cabinet controller through a first information interaction instruction, wherein the first VPD information is key parameter information of the control cabinet controller; when the second VPD information of the multiple NVMe devices sent by the first expansion cabinet controller and the first network port information of the first expansion cabinet controller are received, a second information interaction instruction is sent to the first expansion cabinet controller, wherein the second information interaction instruction is used to obtain the controller information, wherein the information interaction instruction includes the first information interaction instruction and the second information interaction instruction, and the first network port information is at least used to indicate the first network port of the first expansion cabinet controller used to interact network information with the control cabinet controller.
[0009] In an exemplary embodiment, upon receiving the second VPD information of the multiple NVMe devices sent by the first expansion cabinet controller and the first network port information of the first expansion cabinet controller, sending a second information interaction instruction to the first expansion cabinet controller includes: determining whether the multiple NVMe devices include a target NVMe device based on the multiple second VPD information; and when it is determined that the target NVMe device is included, sending the second information interaction instruction to the first expansion cabinet controller according to the first network port indicated by the first network port information.
[0010] In an exemplary embodiment, updating the topological network corresponding to the control cabinet controller according to the first network connection includes: generating a first expansion cabinet snapshot of the first expansion cabinet controller according to the second VPD information, the first network port information and the controller information; and updating the topological network according to the first expansion cabinet snapshot.
[0011] In an exemplary embodiment, updating the topology network according to the first expansion cabinet snapshot includes: sending a collection instruction to the multiple second expansion cabinet controllers, wherein the collection instruction is used to collect the third VPD information and the second network port information of the multiple second expansion cabinet controllers, and the second network port information is at least used to indicate the second network port of the second expansion cabinet controller used to interact with the control cabinet controller for network information; upon receiving the third VPD information and the second network port information of the multiple second expansion cabinet controllers, updating the second expansion cabinet snapshots of the multiple second expansion cabinet controllers according to the third VPD information and the second network port information of the multiple second expansion cabinet controllers to obtain multiple updated second expansion cabinet snapshots; and reconstructing the topology network according to the first expansion cabinet snapshot and the multiple updated second expansion cabinet snapshots.
[0012] In an exemplary embodiment, the reconstructing the topological network according to the first expansion cabinet snapshot and the multiple updated second expansion cabinet snapshots includes: determining the first NQN information of the first expansion cabinet controller and the multiple second expansion cabinet controllers according to the first expansion cabinet snapshot and the multiple updated second expansion cabinet snapshots, and obtaining multiple first NQN information, wherein the first NQN information is used to indicate the expansion cabinet controller; determining the second NQN information of the control cabinet controller; determining the network connection relationship between the control cabinet controller, the first expansion cabinet controller and the multiple second expansion cabinet controllers according to the multiple first NQN information and the second NQN information, and reconstructing the topological network according to the multiple network connection relationships.
[0013] In an exemplary embodiment, the scanning of the first expansion cabinet controller includes: periodically scanning the first expansion cabinet controller through a link layer discovery protocol at a preset frequency, or, when a new device is connected to the topology network corresponding to the control cabinet controller, scanning the first expansion cabinet controller through the link layer discovery protocol.
[0014] According to an embodiment of the present application, another method for updating a topology network is provided, which is applied to a first expansion cabinet controller, including: upon receiving an information interaction instruction sent by a control cabinet controller, sending controller information of the first expansion cabinet controller to the control cabinet controller, wherein the information interaction instruction is an NVMe_MI instruction, and the controller information is used to indicate that the control cabinet controller has successfully established a first network connection between the control cabinet controller and the first expansion cabinet controller, and instruct the control cabinet controller to update the topology network corresponding to the control cabinet controller according to the first network connection, wherein the topology network includes a second network connection between the control cabinet controller and multiple second expansion cabinet controllers.
[0015] In an exemplary embodiment, upon receiving an information interaction instruction sent by a control cabinet controller, sending the controller information of the first expansion cabinet controller to the control cabinet controller includes: upon receiving a first information interaction instruction sent by the control cabinet controller, verifying the category of the control cabinet controller according to the first VPD information of the control cabinet controller carried by the first information interaction instruction, wherein the first VPD information is the key parameter information of the control cabinet controller; when the control cabinet controller passes the verification, sending the second VPD information of the multiple NVMe devices contained in the first expansion cabinet controller and the first network port information of the first expansion cabinet controller to the control cabinet controller to instruct the control cabinet controller to send a second information interaction instruction through the first network port indicated by the first network port information, wherein the first network port is the network port used by the first expansion cabinet controller to interact network information with the control cabinet controller; when the second information interaction instruction is received through the first network port, sending the controller information to the control cabinet controller.
[0016] In an exemplary embodiment, after verifying the category of the control cabinet controller according to the first VPD information of the control cabinet controller carried by the first information interaction instruction, the method further includes: if the control cabinet controller passes the verification, storing the third NQN information of the second network port of the control cabinet controller.
[0017] According to another embodiment of the present application, a topology network updating device is provided, including: a scanning module, used to scan a first expansion cabinet controller, wherein a first expansion cabinet corresponding to the first expansion cabinet controller includes multiple NVMe devices; an acquisition module, used to obtain controller information of the first expansion cabinet controller through an information interaction instruction when the first expansion cabinet controller is scanned, wherein the information interaction instruction is an NVMe_MI instruction; an update module, used to determine that a first network connection between the control cabinet controller and the first expansion cabinet controller has been successfully established when the controller information is received, and update the topology network corresponding to the control cabinet controller according to the first network connection, wherein the topology network includes a second network connection between the control cabinet controller and multiple second expansion cabinet controllers.
[0018] According to another embodiment of the present application, another topology network updating device is provided, including: a sending module, used to send controller information of a first expansion cabinet controller to the control cabinet controller when an information interaction instruction sent by the control cabinet controller is received, wherein the information interaction instruction is an NVMe_MI instruction, and the controller information is used to indicate that the control cabinet controller has successfully established a first network connection between the control cabinet controller and the first expansion cabinet controller, and instruct the control cabinet controller to update the topology network corresponding to the control cabinet controller according to the first network connection, and the topology network includes a second network connection between the control cabinet controller and multiple second expansion cabinet controllers.
[0019] According to another embodiment of the present application, a computer-readable storage medium is 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 run.
[0020] According to another embodiment of the present application, an electronic device is provided, including 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.
[0021] According to another embodiment of the present application, a computer program product is provided, including a computer program, and when the computer program is executed by a processor, the steps of the method described in each embodiment of the present application are implemented.
[0022] Through the present application, a method for updating a topological network is proposed, which is applied to a control cabinet controller, and the control cabinet controller scans a first expansion cabinet controller, wherein a first expansion cabinet corresponding to the first expansion cabinet controller contains multiple NVMe devices; if the first expansion cabinet controller is scanned, the controller information of the first expansion cabinet controller is obtained through an information interaction instruction, wherein the format of the information interaction instruction is an NVMe_MI instruction; after the control cabinet controller receives the controller information, it is determined that a first network connection between the control cabinet controller and the first expansion cabinet controller has been successfully established, and then the topological network corresponding to the control cabinet controller is updated according to the first network connection, wherein the topological network includes a second network connection between the control cabinet controller and multiple second expansion cabinet controllers; adopting the above scheme, the present application effectively uses the NVMe_MI protocol to detect NVMe devices in the network, realizes rapid discovery of devices, and obtains key device information based on the NVMe_MI protocol to complete the update of the topological network; thereby solving the problem in the related art of how to quickly and accurately discover and manage NVMe-based storage expansion cabinet controllers in a complex storage network to build and maintain the topological network of the storage system. BRIEF DESCRIPTION OF THE DRAWINGS
[0023] Figure 1 It is a hardware structure block diagram of a computer terminal of a method for updating a topology network according to an embodiment of the present application;
[0024] Figure 2 is a flowchart of a method for updating a topology network according to an embodiment of the present application (I);
[0025] Figure 3 is a flowchart of a method for updating a topology network according to an embodiment of the present application (II);
[0026] Figure 4 It is a flowchart of a discovery method based on an NVMe_MI storage expansion cabinet controller according to an embodiment of the present application;
[0027] Figure 5 This is a schematic diagram of an application scenario of a method for updating a topology network according to an embodiment of the present application;
[0028] Figure 6 is a structural block diagram of a topology network updating device according to an embodiment of the present application (I);
[0029] Figure 7 This is a structural block diagram (II) of a topology network updating device according to an embodiment of the present application. DETAILED DESCRIPTION
[0030] The embodiments of the present application will be described in detail below with reference to the accompanying drawings and in combination with the embodiments.
[0031] It should be noted that the terms "first", "second", etc. in the specification 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.
[0032] The method embodiments provided in the embodiments of the present application can be executed in a computer terminal or a similar computing device. Taking running on a computer terminal as an example, Figure 1 1 is a hardware structure block diagram of a computer terminal of a topology network updating method according to an embodiment of the present application. Figure 1 As shown, the computer terminal may include one or more ( Figure 1 Only one is shown in the figure) a processor 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 for storing data, wherein the above-mentioned computer terminal may also include a transmission device 106 and an input and output device 108 for communication functions. It can be understood by those skilled in the art that Figure 1 The structure shown is only for illustration and does not limit the structure of the above-mentioned computer terminal. Figure 1 More or fewer components as shown, or with Figure 1 Different configurations are shown.
[0033] The memory 104 can be used to store computer programs, for example, software programs and modules of application software, such as the computer program corresponding to the method for updating the topological network 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, to implement 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 further include a memory remotely arranged relative to the processor 102, and these remote memories may be connected to the computer terminal 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.
[0034] The transmission device 106 is used to receive or send data via a network. The specific example of the above network may include a wireless network provided by a communication provider of a computer terminal. In one example, the transmission device 106 includes a network adapter (Network Interface Controller, referred to as NIC), which can be connected to other network devices through a base station so as to communicate with the Internet. In one example, the transmission device 106 can be a radio frequency (RF) module, which is used to communicate with the Internet wirelessly.
[0035] The following is an explanation of the professional terms that appear in this application:
[0036] IOPS: Input / output operations per second;
[0037] AHCI: Advanced Host Controller Interface;
[0038] AFA: All Flash Array;
[0039] NVMe_MI: NVMe Management Interface, which is part of the NVMe specification and is specifically used for out-of-band and in-band management of NVMe devices. NVMe_MI provides a standardized method that enables the host system to monitor and control NVMe devices, including solid-state drives (SSDs), NVMe Enclosures, and hardware components associated with these devices, such as PCIe Switches and RDMA (Remote Direct Memory Access) network interfaces;
[0040] NQN: Named Queue Network, named queue network;
[0041] LLDP: Link Layer Discovery Protocol;
[0042] VPD: Vital Product Data, important product data.
[0043] In this embodiment, a method for updating a topology network is provided, which is applied to a control cabinet controller. Figure 2 is a flowchart of a method for updating a topology network according to an embodiment of the present application, such as Figure 2 As shown, the method comprises the following steps:
[0044] Step S202, scanning a first expansion cabinet controller, wherein a first expansion cabinet corresponding to the first expansion cabinet controller includes a plurality of NVMe devices;
[0045] Step S204: when the first expansion cabinet controller is scanned, controller information of the first expansion cabinet controller is acquired through an information interaction instruction, wherein the information interaction instruction is an NVMe_MI instruction;
[0046] It should be noted that NVMe_MI commands are a series of management commands defined in the NVMe-MI specification, which are used to manage NVMe devices in-band and out-of-band, including but not limited to solid-state drives (SSDs) and other components in NVMe storage systems. The NVMe command set allows the host system software to communicate with the NVMe subsystem to implement functions such as monitoring, configuration, and fault diagnosis of NVMe devices.
[0047] The core functions of the NVMe_MI command are:
[0048] 1. Device management: allows the host to query the health status, firmware version, device configuration and other information of the NVMe device, and also supports operations such as updating firmware and setting device mode;
[0049] 2. Topology discovery: Through the NVMe_MI command, the host can discover the topology of NVMe devices in the storage system, including the connection relationship between devices, the physical location of the devices, and other information;
[0050] 3. Monitoring and control: NVMe_MI commands can be used to monitor device performance in real time, such as IOPS, throughput, latency, etc., and can control device behavior, such as setting performance mode, hot-swappable devices, etc.;
[0051] 4. Fault handling: When an NVMe device fails, the NVMe_MI command can be used to collect fault information to help locate and handle the fault.
[0052] In an embodiment of the present application, the NVMe_MI command is used for communication between the control cabinet and the expansion cabinet. Specifically, the control cabinet will request the VPD information, port NQN information, etc. of the device from the expansion cabinet controller through the NVMe_MI command to identify the device type and status. After receiving these commands, the expansion cabinet controller will parse the information in the command, determine whether the command initiator is the control cabinet, and then package the information of all NVMe devices in the expansion cabinet and return it to the control cabinet through the NVMe_MI command. This process helps the control cabinet to establish a complete view of the storage system topology and achieve effective management and network optimization of NVMe devices.
[0053] The NVMe_MI command is an important part of NVMe storage management. It simplifies the management and maintenance of NVMe devices and improves the manageability and scalability of the storage system by defining a series of standard management interfaces and commands.
[0054] Step S206, when receiving the controller information, determines that the first network connection between the control cabinet controller and the first expansion cabinet controller has been successfully established, and updates the topology network corresponding to the control cabinet controller according to the first network connection, wherein the topology network includes a second network connection between the control cabinet controller and multiple second expansion cabinet controllers.
[0055] Through the above scheme, the control cabinet controller scans the first expansion cabinet controller, wherein the first expansion cabinet corresponding to the first expansion cabinet controller contains multiple NVMe devices; if the first expansion cabinet controller is scanned, the controller information of the first expansion cabinet controller is obtained through the information interaction instruction, wherein the format of the information interaction instruction is the NVMe_MI instruction; after the control cabinet controller receives the controller information, it is determined that the first network connection between the control cabinet controller and the first expansion cabinet controller has been successfully established, and then the topology network corresponding to the control cabinet controller is updated according to the first network connection, wherein the topology network includes the second network connection between the control cabinet controller and multiple second expansion cabinet controllers; by adopting the above scheme, the present application effectively utilizes the NVMe_MI protocol to detect NVMe devices in the network, realizes rapid discovery of devices, obtains key device information based on the NVMe_MI protocol, and completes the update of the topology network; thereby solving the problem in the related art of how to quickly and accurately discover and manage NVMe-based storage expansion cabinet controllers in complex storage networks to build and maintain the topology network of the storage system.
[0056] In an exemplary embodiment, when the first expansion cabinet controller is scanned, the controller information of the first expansion cabinet controller is obtained through an information interaction instruction, including: when the first expansion cabinet controller is scanned, the first VPD information of the control cabinet controller is sent to the first expansion cabinet controller through a first information interaction instruction, wherein the first VPD information is key parameter information of the control cabinet controller; when the second VPD information of the multiple NVMe devices sent by the first expansion cabinet controller and the first network port information of the first expansion cabinet controller are received, a second information interaction instruction is sent to the first expansion cabinet controller, wherein the second information interaction instruction is used to obtain the controller information, wherein the information interaction instruction includes the first information interaction instruction and the second information interaction instruction, and the first network port information is at least used to indicate the first network port of the first expansion cabinet controller used to interact network information with the control cabinet controller.
[0057] After the control cabinet controller scans the first expansion cabinet controller, it will first send the first VPD information of the control cabinet controller to the first expansion cabinet controller through the first information interaction instruction. The first VPD information is the key parameter information of the control cabinet controller, specifically, including the SN number, the controller slot number, the NQN of the port where the NVMe device is discovered, the SAS address of the control cabinet, the model_type of the control cabinet and other VPD information; then when the control cabinet controller receives the second VPD information of the multiple NVMe devices contained in the first expansion cabinet controller and the first network port information of the first expansion cabinet controller, it sends a Broadcast command (that is, the above-mentioned second information interaction instruction) to the first expansion cabinet controller to request controller information from the first expansion cabinet controller, wherein the first network port information includes PCIE_Switch port information, RDMA port information, etc.
[0058] Through this embodiment, after the control cabinet controller scans the first expansion cabinet controller, the information interaction between the control cabinet controller and the first expansion cabinet controller is completed through commands in the NVMe_MI format, thereby quickly establishing a network connection between the two, making it convenient to quickly add the first expansion cabinet controller to the topology network of the control cabinet controller.
[0059] It should be noted that VPD (Vital Product Data) information, i.e., important product data, is data stored in a non-volatile storage area on the device, which is mainly used to identify and describe the hardware characteristics, configuration information, and manufacturer data of the storage device. VPD information is usually stored in the device's EEPROM (Electrically Erasable Programmable Read-Only Memory) or similar non-volatile memory. It provides detailed information about the device, including but not limited to the following:
[0060] 1. Equipment identification: such as manufacturer name, product model, serial number, etc., used to uniquely identify the device;
[0061] 2. Hardware configuration: describes the hardware characteristics of the device, such as bus type, interface standard, storage capacity, read and write speed, etc.;
[0062] 3. Firmware version: Recording the firmware version information of the device is very important for maintenance and upgrades;
[0063] 4. Compatibility information: compatibility of the device with other hardware or software, such as supported operating systems, driver versions, etc.
[0064] 5. Equipment status: such as health status, usage time, error records, etc., to help monitor the operating status of the equipment;
[0065] 6. Manufacturer-specific information: Any additional information that the manufacturer may add, such as customized features, warning messages, or installation instructions.
[0066] In the embodiment of the present application, VPD information is used to identify and describe key attributes of NVMe devices, such as type, quantity, model, and hardware configuration. When the control cabinet controller communicates with the NVMe devices in the expansion cabinet through the NVMe_MI protocol, it requests and parses the VPD information of these devices to build an accurate topology of the storage system. Through VPD information, the system can intelligently identify each NVMe device, thereby achieving effective management and configuration of all-flash arrays or other high-performance storage resources.
[0067] Furthermore, when the second VPD information of the multiple NVMe devices sent by the first expansion cabinet controller and the first network port information of the first expansion cabinet controller are received, a second information interaction instruction is sent to the first expansion cabinet controller, including: determining whether the multiple NVMe devices include the target NVMe device based on the multiple second VPD information; when it is determined that the target NVMe device is included, sending the second information interaction instruction to the first expansion cabinet controller according to the first network port indicated by the first network port information.
[0068] After receiving the return information corresponding to the first information interaction instruction, the control cabinet controller needs to confirm whether the return information contains relevant information of the NVMe chassis (i.e., the above-mentioned target NVMe device). If it does, a Broadcast command is sent according to the first network port indicated by the first network port information, and sent to the first expansion cabinet controller in the format of an NVMe_MI command.
[0069] Through this embodiment, the control cabinet can accurately determine whether a specific target NVMe device (ie, NVMe chassis) exists in the network based on these detailed device description information, and then accurately send the second information interaction instruction to the designated network port of the first expansion cabinet controller according to the first network port information. This port-level connection management ensures the directness and efficiency of communication, reduces network congestion and delay, and improves the performance of data transmission.
[0070] Furthermore, updating the topological network corresponding to the control cabinet controller according to the first network connection includes: generating a first expansion cabinet snapshot of the first expansion cabinet controller according to the second VPD information, the first network port information and the controller information; and updating the topological network according to the first expansion cabinet snapshot.
[0071] After receiving the response Broadcast information, the control cabinet controller forms a preliminary expansion cabinet snapshot (i.e., the first expansion cabinet snapshot) based on the received expansion cabinet information (i.e., the above-mentioned second VPD information and the first network port information); at this time, it is considered that the control cabinet controller is effectively connected to a new NVMe expansion cabinet, and the topology network is considered to have changed, and the topology network will be updated according to the first expansion cabinet snapshot.
[0072] Through this embodiment, a snapshot of the expansion cabinet is immediately generated after the new expansion cabinet information is collected, and after confirming that a valid connection is established, the topology network is updated according to the generated snapshot, thereby ensuring the real-time and effectiveness of the topology network.
[0073] Optionally, updating the topology network according to the first expansion cabinet snapshot includes: sending a collection instruction to the multiple second expansion cabinet controllers, wherein the collection instruction is used to collect third VPD information and second network port information of the multiple second expansion cabinet controllers, and the second network port information is at least used to indicate the second network port of the second expansion cabinet controller used to interact with the control cabinet controller for network information; upon receiving the third VPD information and second network port information of the multiple second expansion cabinet controllers, updating the second expansion cabinet snapshots of the multiple second expansion cabinet controllers according to the third VPD information and second network port information of the multiple second expansion cabinet controllers to obtain multiple updated second expansion cabinet snapshots; and reconstructing the topology network according to the first expansion cabinet snapshot and the multiple updated second expansion cabinet snapshots.
[0074] When updating the topology network, not only the first expansion cabinet controller needs to be added to the topology network, but also the relevant information of the old expansion cabinet in the topology network needs to be updated to ensure the real-time validity of the topology network. Therefore, the control cabinet controller will send a Discovery command (i.e., a collection instruction) to all connected expansion cabinets to obtain the third VPD information and second network port information of multiple second expansion cabinet controllers. After successfully collecting this information, the saved second expansion cabinet snapshot is updated according to this information, and then the topology network of the control cabinet controller is rebuilt according to the first expansion cabinet snapshot and the updated second expansion cabinet snapshot.
[0075] It should be noted that the second expansion cabinet controller may include NVMe type expansion cabinets or other types of expansion cabinets. For NVMe type expansion cabinets, the control cabinet controller will send collection instructions through NVMe_MI commands.
[0076] Through this embodiment, the information of the old expansion cabinet is updated while the new expansion cabinet is added, thereby ensuring the timely update of the topology network and the availability of the topology network.
[0077] Optionally, the reconstructing the topology network according to the first expansion cabinet snapshot and the multiple updated second expansion cabinet snapshots includes: determining the first NQN information of the first expansion cabinet controller and the multiple second expansion cabinet controllers according to the first expansion cabinet snapshot and the multiple updated second expansion cabinet snapshots to obtain multiple first NQN information, wherein the first NQN information is used to indicate the expansion cabinet controller; determining the second NQN information of the control cabinet controller; determining the network connection relationship between the control cabinet controller, the first expansion cabinet controller and the multiple second expansion cabinet controllers according to the multiple first NQN information and the second NQN information, and reconstructing the topology network according to the multiple network connection relationships.
[0078] Based on these snapshots, the network connection relationship is analyzed, such as which devices and controllers are connected through which ports, and whether the connection type is point-to-point or through a network device (such as a switch). The control cabinet controller will create or update a snapshot of the storage system topology network. This snapshot reflects the device layout, connection relationship, and status of the current storage network, thereby completing the reconstruction of the topology network.
[0079] Specifically, NQN is the name used to identify NVMe devices or controller ports in the NVMe over Fabrics (NVMe-oF) protocol. In the communication between the control cabinet controller and the expansion cabinet controller, the comparison of NQN information is a key step to verify the validity of the network link between the two. The principle is: when the control cabinet controller communicates with the expansion cabinet controller through the NVMe_MI command, it sends its own NQN information. After receiving the command, the expansion cabinet controller also returns the NQN information of its RDMA port. The control cabinet controller compares the received NQN information with the previously recorded or expected NQN information to verify whether the devices sending and receiving data are correctly connected. By comparing the NQN information, it can be confirmed that there is a valid connection path between the RDMA port of the control cabinet and the RDMA port of the expansion cabinet. This is because in the NVMe-oF network, NQN is an important part of the port identification, and the NQN of each port is unique. By comparing the NQN information, incorrect connections can be excluded and data can be transmitted on the correct path.
[0080] Optionally, scanning the first expansion cabinet controller includes: regularly scanning the first expansion cabinet controller through a link layer discovery protocol at a preset frequency, or, when a new device is connected to the topology network corresponding to the control cabinet controller, scanning the first expansion cabinet controller through the link layer discovery protocol.
[0081] Optionally, a scanning frequency (i.e., preset frequency) can be set for the control cabinet controller, and the control cabinet controller can be set to scan the expansion cabinet controller (i.e., the first expansion cabinet controller mentioned above) periodically according to the scanning frequency; or the control cabinet controller can be set to trigger scanning of the expansion cabinet controller when a new device is connected.
[0082] It should be noted that the addition of a new device can be understood as a physical connection: in a network or storage architecture, a previously unconnected expansion cabinet (or the NVMe device therein) is connected to the control cabinet controller through a physical link (such as optical fiber, network cable, etc.). This may occur during system expansion, upgrade, or maintenance.
[0083] Through the above embodiment, when a new device is detected to be connected or the expansion cabinet controller is scanned regularly, the topology network can be updated in time.
[0084] Optionally, in another optional embodiment, the present application also provides another method for updating a topology network, such as Figure 3 As shown, the method includes:
[0085] Step S302, upon receiving an information interaction instruction sent by the control cabinet controller, sending the controller information of the first expansion cabinet controller to the control cabinet controller, wherein the information interaction instruction is an NVMe_MI instruction, and the controller information is used to indicate that the control cabinet controller has successfully established a first network connection between the control cabinet controller and the first expansion cabinet controller, and instruct the control cabinet controller to update the topology network corresponding to the control cabinet controller according to the first network connection, wherein the topology network includes a second network connection between the control cabinet controller and multiple second expansion cabinet controllers.
[0086] Through the above method, after receiving the information interaction instruction sent by the control cabinet controller, the controller information of the first expansion cabinet controller is sent to the control cabinet controller, wherein the information interaction instruction is in the NVMe_MI instruction format, and the controller information is used to indicate to the control cabinet controller that the first network connection has been successfully established, and to instruct the control cabinet controller to add the first expansion cabinet controller to the topology network; using the above scheme, the expansion cabinet controller cooperates with the control cabinet controller to complete the sending of relevant information based on the information interaction instruction in the NVMe_MI format sent by the control cabinet controller, thereby joining the topology network corresponding to the control cabinet controller, thereby solving the problem in the related technology of how to quickly and accurately discover and manage NVMe-based storage expansion cabinet controllers in a complex storage network to build and maintain the topology network of the storage system.
[0087] Optionally, upon receiving an information interaction instruction sent by the control cabinet controller, sending the controller information of the first expansion cabinet controller to the control cabinet controller includes: upon receiving a first information interaction instruction sent by the control cabinet controller, verifying the category of the control cabinet controller according to the first VPD information of the control cabinet controller carried by the first information interaction instruction, wherein the first VPD information is the key parameter information of the control cabinet controller; when the control cabinet controller passes the verification, sending the second VPD information of the multiple NVMe devices contained in the first expansion cabinet controller and the first network port information of the first expansion cabinet controller to the control cabinet controller to instruct the control cabinet controller to send a second information interaction instruction through the first network port indicated by the first network port information, wherein the first network port is the network port used by the first expansion cabinet controller to interact network information with the control cabinet controller; when the second information interaction instruction is received through the first network port, sending the controller information to the control cabinet controller.
[0088] First, after receiving the first information interaction instruction sent by the control cabinet controller, the first expansion cabinet controller verifies the category of the control cabinet controller according to the first VPD information carried by the first information interaction instruction to determine that it is a control cabinet controller, and then packages the VPD information, PCIE_Switch port information, and RDMA port information of all NVMe devices (including NVMe chassis and NVMe hard disk) in the expansion cabinet frame into the NVMe_MI command and sends it back to the control cabinet controller; then, after receiving the Broadcast command (that is, the above-mentioned second information interaction instruction) sent by the control cabinet controller, the FRU information, VPD information, RDMA port information (rate bandwidth), and expansion cabinet operation status (that is, the above-mentioned controller information) contained in the expansion cabinet are packaged and sent back to the control cabinet through the NVMe_MI command.
[0089] Through this embodiment, after receiving the first VPD information, the initiator determines the category of the control cabinet controller. After the determination is passed, it responds to its information interaction instruction and sends its own relevant information to the control cabinet controller to cooperate with the control cabinet controller to establish a first network connection with it and add the first expansion cabinet controller to the topology network.
[0090] In an exemplary embodiment, after verifying the category of the control cabinet controller according to the first VPD information of the control cabinet controller carried by the first information interaction instruction, the method further includes: if the control cabinet controller passes the verification, storing the third NQN information of the second network port of the control cabinet controller.
[0091] After the control cabinet controller passes the verification, the NQN information of the initiator RDMA port that the control cabinet controller sends the NVMe_MI command (i.e., the third NQN information mentioned above) will be recorded in the receiving end RDMA port management structure that receives the NVMe_MI command. This helps manage the connection status with the control cabinet and ensure that subsequent communications can be carried out accurately.
[0092] It should be noted that the purpose of recording the control cabinet information is to ensure that the expansion cabinet controller can effectively manage and maintain the communication link with the control cabinet, which is specifically reflected in the following aspects:
[0093] 1. Communication link pipeline: When the expansion cabinet controller receives the NVMe_MI command from the control cabinet, it records the port information of the control cabinet that initiated the command. This information is saved in a specific target port structure, which helps the expansion cabinet controller identify the control cabinet it communicates with and manage the communication links associated with it. For example, it can track which ports are in use, as well as the communication status and history through these ports.
[0094] 2. Response accuracy: Saving the port information of the control cabinet helps the expansion cabinet controller accurately respond to the correct control cabinet in subsequent communications. When the NVMe device receives multiple requests from different control cabinets, it can judge and respond to the correct initiator based on the saved port information, ensuring accurate transmission of information and avoiding information being sent to the wrong control cabinet by mistake, thereby improving the communication efficiency and data security of the system.
[0095] 3. Fault handling and recovery: By recording the port information of the control cabinet, the expansion cabinet controller can quickly locate the source of the problem when a communication link failure is detected, whether it is a problem with itself, the control cabinet or the link, and take appropriate recovery measures. For example, if the communication between a port of a control cabinet and the expansion cabinet is interrupted, the controller can quickly identify and try to re-establish the connection based on the saved information, or notify the control cabinet to troubleshoot and repair the fault.
[0096] 4. Status synchronization and update: The saved port information can also be used for status synchronization and update. When the control cabinet controller needs to query or update the status of the expansion cabinet, it can accurately send the request based on the previously recorded port information, and the expansion cabinet controller can also quickly respond and update the snapshot information of the control cabinet based on the saved information.
[0097] Therefore, recording the control cabinet information is a key step in achieving efficient and reliable communication in the storage system. It ensures that the expansion cabinet can accurately identify and respond to the control cabinet's request, and at the same time, by maintaining the communication status, supporting fault handling and real-time update of the system status, it improves the overall performance and management efficiency of the storage system.
[0098] Optionally, the present application embodiment provides a discovery method based on NVMe_MI storage expansion cabinet controller, the process of which is as follows: Figure 4 As shown, the following steps are included:
[0099] Step S401: The control cabinet controller discovers other cabinets through the LLDP protocol;
[0100] Step S402, the control cabinet controller encapsulates its own SN number, the WWPN number of the port where the NVMe device is discovered, the SAS address of the control cabinet, the model_type of the control cabinet and other information;
[0101] Step S403: Send an NVMe command (i.e., the first information interaction instruction) to the expansion cabinet controller (i.e., the first expansion cabinet controller);
[0102] Step S404: After receiving the VPD information (i.e., the first VPD information), the expansion cabinet controller performs analysis;
[0103] Step S405: Determine whether the NVMe_MI command initiator is a control cabinet controller according to the VPD information; if so, execute step S406;
[0104] Step S406: The expansion cabinet controller saves the control cabinet port information (i.e. the third NQN information) into the target port structure;
[0105] Step S407: The expansion cabinet controller packages the NVMe devices (NVMe disks, expansion cabinet controller information) in the chassis and sends them to the control cabinet controller via an NVMe command.
[0106] Specifically, the information sent includes the hard disk SN number, PN number, expansion cabinet controller SN number, PN number, WWNN number, RDMA port related information (address, identification code), and PCIE SWITCH related information.
[0107] Step S408: The control cabinet controller finds that there is an expansion cabinet chassis, and sends a broadcast (that is, the second information interaction instruction) to request to establish a link;
[0108] Step S409: After receiving the command, the expansion cabinet controller packages the backplane VPD, mainboard VPD, chassis, UPS system information, port management information, fans, sensors, expansion cabinet status, and expansion cabinet alarm information in the expansion cabinet frame (i.e., the above-mentioned controller information) and sends it back to the control cabinet controller;
[0109] Step S410: The control cabinet controller compares the address of the Target port on the expansion cabinet with the address of the Initiator segment of the control cabinet controller. If the addresses are the same, it means that the expansion cabinet controller is under the Initiator link.
[0110] Step S411: The control cabinet controller uses the expansion cabinet information uploaded by the expansion cabinet controller to create a snapshot of the expansion cabinet status, and uses the snapshot to determine the status of the expansion cabinet and query the information.
[0111] Through this embodiment, LLDP (Link Layer Discovery Protocol) is first used to detect the signals of NVMe devices, and then these signals are integrated and packaged with the identification information of the control cabinet. Through carefully designed NVMe commands, these information are sent to the expansion cabinet and trigger requests for key information such as VPD and port NQN of the internal devices of the expansion cabinet chassis. The system further parses these VPD information to accurately identify detailed parameters such as the type, quantity and model of the NVMe device.
[0112] On this basis, the backend management system intelligently builds the topology network of the storage system based on the VPD and port NQN information collected from each device in the expansion chassis. The core innovation of this process is that it cleverly integrates the NVMe_MI protocol framework, and uses the LLDP protocol, NQN information, FRU (Field Replaceable Unit) information and VPD information to achieve the ability to fully discover and accurately identify NVMe devices and efficiently build the topology network of NVMe devices. This series of technological innovations not only improves the intelligence level of storage management, but also significantly enhances the scalability and flexibility of the system.
[0113] In an alternative embodiment, Figure 5 The application scenario of the above topology network updating method is shown as follows: Figure 5 As shown, after scanning the first expansion cabinet controller, the control cabinet controller sends a first information interaction instruction to it, and the first information interaction instruction carries the first VPD information of the control cabinet controller; the first expansion cabinet controller responds to the first information interaction instruction, and returns the second VPD information of multiple NVMe devices in the first expansion cabinet and the first network port information, thereby completing the initial network connection; then the control cabinet controller sends a second information interaction instruction to request the controller information of the first expansion cabinet controller, and the first expansion cabinet controller responds to the second information interaction instruction and returns the controller information to the control cabinet, completing the information interaction between the two, and then the control cabinet controller adds the first expansion cabinet controller to its topology network based on the acquired information.
[0114] Through the description of the above implementation methods, those skilled in the art can clearly understand that the method according to the above embodiment can be implemented by means of software plus a necessary general hardware platform, and of course by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of the present application, or the part that contributes to the prior art, can be embodied in the form of a software product, which is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk), and includes a number of instructions for a terminal device (which can be a mobile phone, computer, server, or network device, etc.) to execute the methods described in each embodiment of the present application.
[0115] In this embodiment, a device for updating a topology network is also provided. Figure 6 is a structural block diagram of a topology network updating device according to an embodiment of the present application, such as Figure 6 As shown, the device comprises:
[0116] A scanning module 62 is used to scan a first expansion cabinet controller, wherein a first expansion cabinet corresponding to the first expansion cabinet controller includes multiple NVMe devices;
[0117] An acquisition module 64 is used to acquire controller information of the first expansion cabinet controller through an information interaction instruction when the first expansion cabinet controller is scanned, wherein the information interaction instruction is an NVMe_MI instruction;
[0118] The update module 66 is used to determine that the first network connection between the control cabinet controller and the first expansion cabinet controller has been successfully established when the controller information is received, and to update the topology network corresponding to the control cabinet controller according to the first network connection, wherein the topology network includes a second network connection between the control cabinet controller and multiple second expansion cabinet controllers.
[0119] Through the above-mentioned device, the control cabinet controller scans the first expansion cabinet controller, wherein the first expansion cabinet corresponding to the first expansion cabinet controller contains multiple NVMe devices; if the first expansion cabinet controller is scanned, the controller information of the first expansion cabinet controller is obtained through the information interaction instruction, wherein the format of the information interaction instruction is the NVMe_MI instruction; after the control cabinet controller receives the controller information, it is determined that the first network connection between the control cabinet controller and the first expansion cabinet controller has been successfully established, and then the topology network corresponding to the control cabinet controller is updated according to the first network connection, wherein the topology network includes the second network connection between the control cabinet controller and multiple second expansion cabinet controllers; adopting the above-mentioned scheme, the present application effectively uses the NVMe_MI protocol to detect NVMe devices in the network, realizes rapid discovery of devices, obtains key information of devices based on the NVMe_MI protocol, and completes the update of the topology network; thereby solving the problem in the related technology of how to quickly and accurately discover and manage NVMe-based storage expansion cabinet controllers in complex storage networks to build and maintain the topology network of the storage system.
[0120] Optionally, the above-mentioned acquisition module 64 is also used to send the first VPD information of the control cabinet controller to the first expansion cabinet controller through a first information interaction instruction when the first expansion cabinet controller is scanned, wherein the first VPD information is the key parameter information of the control cabinet controller; and when the second VPD information of the multiple NVMe devices sent by the first expansion cabinet controller and the first network port information of the first expansion cabinet controller are received, send a second information interaction instruction to the first expansion cabinet controller, wherein the second information interaction instruction is used to obtain the controller information, wherein the information interaction instruction includes the first information interaction instruction and the second information interaction instruction, and the first network port information is at least used to indicate the first network port of the first expansion cabinet controller used to interact network information with the control cabinet controller.
[0121] Furthermore, the above-mentioned acquisition module 64 is also used to determine whether the target NVMe device is included in the multiple NVMe devices based on the multiple second VPD information; when it is determined that the target NVMe device is included, the second information interaction instruction is sent to the first expansion cabinet controller according to the first network port indicated by the first network port information.
[0122] Optionally, the update module 66 is further configured to generate a first expansion cabinet snapshot of the first expansion cabinet controller according to the second VPD information, the first network port information and the controller information; and update the topology network according to the first expansion cabinet snapshot.
[0123] Optionally, the above-mentioned update module 66 is also used to send a collection instruction to the multiple second expansion cabinet controllers, wherein the collection instruction is used to collect the third VPD information and the second network port information of the multiple second expansion cabinet controllers, and the second network port information is at least used to indicate the second network port of the second expansion cabinet controller used to interact with the control cabinet controller for network information; when receiving the third VPD information and the second network port information of the multiple second expansion cabinet controllers, the second expansion cabinet snapshots of the multiple second expansion cabinet controllers are updated according to the third VPD information and the second network port information of the multiple second expansion cabinet controllers to obtain multiple updated second expansion cabinet snapshots; and the topology network is reconstructed according to the first expansion cabinet snapshot and the multiple updated second expansion cabinet snapshots.
[0124] Optionally, the above-mentioned update module 66 is also used to determine the first NQN information of the first expansion cabinet controller and the multiple second expansion cabinet controllers based on the first expansion cabinet snapshot and the multiple updated second expansion cabinet snapshots, and obtain multiple first NQN information, wherein the first NQN information is used to indicate the expansion cabinet controller; determine the second NQN information of the control cabinet controller; determine the network connection relationship between the control cabinet controller, the first expansion cabinet controller and the multiple second expansion cabinet controllers based on the multiple first NQN information and the second NQN information, and rebuild the topology network based on the multiple network connection relationships.
[0125] Optionally, the scanning module 62 is also used to periodically scan the first expansion cabinet controller through the link layer discovery protocol at a preset frequency, or to scan the first expansion cabinet controller through the link layer discovery protocol when a new device is connected to the topology network corresponding to the control cabinet controller.
[0126] In this embodiment, another topology network updating device is also provided. Figure 7 is a structural block diagram of another topology network updating device according to an embodiment of the present application, such as Figure 7 As shown, the device comprises:
[0127] The sending module 72 is used to send the controller information of the first expansion cabinet controller to the control cabinet controller upon receiving the information interaction instruction sent by the control cabinet controller, wherein the information interaction instruction is an NVMe_MI instruction, and the controller information is used to indicate that the control cabinet controller has successfully established a first network connection between the control cabinet controller and the first expansion cabinet controller, and to instruct the control cabinet controller to update the topology network corresponding to the control cabinet controller according to the first network connection, and the topology network includes a second network connection between the control cabinet controller and multiple second expansion cabinet controllers.
[0128] Through the above-mentioned device, after receiving the information interaction instruction sent by the control cabinet controller, the controller information of the first expansion cabinet controller is sent to the control cabinet controller, wherein the information interaction instruction is in the NVMe_MI instruction format, and the controller information is used to indicate to the control cabinet controller that the first network connection has been successfully established, and to instruct the control cabinet controller to add the first expansion cabinet controller to the topological network; using the above-mentioned scheme, the expansion cabinet controller cooperates with the control cabinet controller to complete the sending of relevant information based on the information interaction instruction in the NVMe_MI format sent by the control cabinet controller, thereby joining the topological network corresponding to the control cabinet controller, thereby solving the problem in the related technology of how to quickly and accurately discover and manage NVMe-based storage expansion cabinet controllers in complex storage networks to build and maintain the topological network of the storage system.
[0129] Optionally, the above-mentioned sending module 72 is also used to verify the category of the control cabinet controller according to the first VPD information of the control cabinet controller carried by the first information interaction instruction when receiving the first information interaction instruction sent by the control cabinet controller, wherein the first VPD information is the key parameter information of the control cabinet controller; when the control cabinet controller passes the verification, the second VPD information of the multiple NVMe devices contained in the first expansion cabinet controller and the first network port information of the first expansion cabinet controller are sent to the control cabinet controller to instruct the control cabinet controller to send the second information interaction instruction through the first network port indicated by the first network port information, wherein the first network port is the network port used by the first expansion cabinet controller to interact network information with the control cabinet controller; when the second information interaction instruction is received through the first network port, the controller information is sent to the control cabinet controller.
[0130] Optionally, the sending module 72 is further configured to store the third NQN information of the second network port of the control cabinet controller when the control cabinet controller passes the verification.
[0131] It should be noted that the above modules can be implemented by 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.
[0132] An embodiment of the present application further provides a computer-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.
[0133] In an exemplary embodiment, the computer-readable storage medium may include, but is not limited to, various media that can store computer programs, such as a USB flash drive, a read-only memory (ROM), a random access memory (RAM), a mobile hard disk, a magnetic disk or an optical disk.
[0134] An embodiment of the present application further provides an electronic device, 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 one of the above method embodiments.
[0135] In an exemplary 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.
[0136] An embodiment of the present application further provides a computer program product, comprising a non-volatile computer-readable storage medium, wherein the non-volatile computer-readable storage medium stores a computer program product, and when the computer program is executed by a processor, the steps of the method described in each embodiment of the present application are implemented.
[0137] For specific examples in this embodiment, reference may be made to the examples described in the above embodiments and exemplary implementation modes, and this embodiment will not be described in detail herein.
[0138] Obviously, those skilled in the art should understand that the above modules or steps of the present application can be implemented by a general computing device, they can be concentrated on a single computing device, or distributed on a network composed of multiple computing devices, they can be implemented by a program code executable by a computing device, so that 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 executed in a different order from that herein, or they can be made into individual integrated circuit modules, or multiple modules or steps therein can be made into a single integrated circuit module for implementation. Thus, the present application is not limited to any specific combination of hardware and software.
[0139] The above description is only the preferred embodiment of the present application and is not intended to limit the present application. For those skilled in the art, the present application may have various modifications and variations. Any modification, equivalent replacement, improvement, etc. made within the principles of the present application shall be included in the protection scope of the present application.
Claims
1. A method for updating a topological network, characterized in that: Applied to control cabinet controller, include: Scanning a first expansion cabinet controller, wherein a first expansion cabinet corresponding to the first expansion cabinet controller includes multiple NVMe devices; In the case where the first expansion cabinet controller is scanned, controller information of the first expansion cabinet controller is obtained through an information interaction instruction, wherein the information interaction instruction is an NVMe_MI instruction, and the information interaction instruction includes a first information interaction instruction and a second information interaction instruction, the first information interaction instruction is used to send first VPD information of the control cabinet controller to the first expansion cabinet controller, the first VPD information is key parameter information of the control cabinet controller, and the second information interaction instruction is used to obtain the controller information; When the controller information is received, it is determined that a first network connection between the control cabinet controller and the first expansion cabinet controller has been successfully established, and the topology network corresponding to the control cabinet controller is updated according to the first network connection, wherein the topology network includes a second network connection between the control cabinet controller and multiple second expansion cabinet controllers.
2. The method according to claim 1, characterized in that In the case where the first expansion cabinet controller is scanned, acquiring the controller information of the first expansion cabinet controller through the information interaction instruction includes: In the case where the first expansion cabinet controller is scanned, the first VPD information of the control cabinet controller is sent to the first expansion cabinet controller through the first information interaction instruction; Upon receiving the second VPD information of the multiple NVMe devices sent by the first expansion cabinet controller and the first network port information of the first expansion cabinet controller, the second information interaction instruction is sent to the first expansion cabinet controller, wherein the first network port information is at least used to indicate the first network port of the first expansion cabinet controller for interacting network information with the control cabinet controller.
3. The method according to claim 2, characterized in that The method of sending a second information interaction instruction to the first expansion cabinet controller upon receiving the second VPD information of the plurality of NVMe devices sent by the first expansion cabinet controller and the first network port information of the first expansion cabinet controller comprises: Determine whether the plurality of NVMe devices include a target NVMe device according to the plurality of second VPD information; When it is determined that the target NVMe device is included, the second information interaction instruction is sent to the first expansion cabinet controller according to the first network port indicated by the first network port information.
4. The method according to claim 2, characterized in that: The updating of the topology network corresponding to the control cabinet controller according to the first network connection includes: Generate a first expansion cabinet snapshot of the first expansion cabinet controller according to the second VPD information, the first network port information and the controller information; The topology network is updated according to the first expansion cabinet snapshot.
5. The method according to claim 4, characterized in that The updating of the topology network according to the first expansion cabinet snapshot includes: Sending a collection instruction to the plurality of second expansion cabinet controllers, wherein the collection instruction is used to collect third VPD information and second network port information of the plurality of second expansion cabinet controllers, and the second network port information is at least used to indicate a second network port of the second expansion cabinet controller used to exchange network information with the control cabinet controller; Upon receiving the third VPD information and the second network port information of the plurality of second expansion cabinet controllers, updating the second expansion cabinet snapshots of the plurality of second expansion cabinet controllers according to the third VPD information and the second network port information of the plurality of second expansion cabinet controllers to obtain a plurality of updated second expansion cabinet snapshots; The topology network is reconstructed according to the first expansion cabinet snapshot and the multiple updated second expansion cabinet snapshots.
6. The method according to claim 5, characterized in that The reconstructing the topology network according to the first expansion cabinet snapshot and the multiple updated second expansion cabinet snapshots includes: Determine first NQN information of the first expansion cabinet controller and the plurality of second expansion cabinet controllers according to the first expansion cabinet snapshot and the plurality of updated second expansion cabinet snapshots, and obtain a plurality of first NQN information, wherein the first NQN information is used to indicate the expansion cabinet controller; Determine the second NQN information of the control cabinet controller; The network connection relationship between the control cabinet controller, the first expansion cabinet controller and the plurality of second expansion cabinet controllers is determined according to the plurality of first NQN information and the second NQN information, and the topology network is reconstructed according to the plurality of network connection relationships.
7. The method according to claim 1, characterized in that The scanning of the first expansion cabinet controller includes: The first expansion cabinet controller is scanned periodically through the link layer discovery protocol at a preset frequency, or, when a new device is connected to the topology network corresponding to the control cabinet controller, the first expansion cabinet controller is scanned through the link layer discovery protocol.
8. A method for updating a topological network, characterized in that: Applied to the first expansion cabinet controller, include: Upon receiving an information interaction instruction sent by the control cabinet controller, the controller information of the first expansion cabinet controller is sent to the control cabinet controller, wherein the information interaction instruction is an NVMe_MI instruction, and the information interaction instruction includes a first information interaction instruction and a second information interaction instruction, the first information interaction instruction is used to send the first VPD information of the control cabinet controller to the first expansion cabinet controller, the first VPD information is key parameter information of the control cabinet controller, the second information interaction instruction is used to obtain the controller information, and the controller information is used to indicate that the control cabinet controller has successfully established a first network connection between the control cabinet controller and the first expansion cabinet controller, and instruct the control cabinet controller to update the topology network corresponding to the control cabinet controller according to the first network connection, and the topology network includes a second network connection between the control cabinet controller and multiple second expansion cabinet controllers.
9. The method according to claim 8, characterized in that The step of sending the controller information of the first expansion cabinet controller to the control cabinet controller upon receiving the information interaction instruction sent by the control cabinet controller comprises: Upon receiving the first information interaction instruction sent by the control cabinet controller, verifying the category of the control cabinet controller according to the first VPD information of the control cabinet controller carried in the first information interaction instruction; When the control cabinet controller passes the verification, the second VPD information of the multiple NVMe devices included in the first expansion cabinet controller and the first network port information of the first expansion cabinet controller are sent to the control cabinet controller to instruct the control cabinet controller to send the second information interaction instruction through the first network port indicated by the first network port information, wherein the first network port is a network port for the first expansion cabinet controller to interact with the control cabinet controller for network information; When the second information interaction instruction is received through the first network port, the controller information is sent to the control cabinet controller.
10. The method according to claim 9, characterized in that After verifying the category of the control cabinet controller according to the first VPD information of the control cabinet controller carried by the first information interaction instruction, the method further includes: When the control cabinet controller passes the verification, the third NQN information of the second network port of the control cabinet controller is stored.
11. A topology network updating device, characterized in that: include: A scanning module, used to scan a first expansion cabinet controller, wherein a first expansion cabinet corresponding to the first expansion cabinet controller includes a plurality of NVMe devices; An acquisition module, configured to acquire controller information of the first expansion cabinet controller through an information interaction instruction when the first expansion cabinet controller is scanned, wherein the information interaction instruction is an NVMe_MI instruction, and the information interaction instruction includes a first information interaction instruction and a second information interaction instruction, and the first information interaction instruction is used to send first VPD information of the control cabinet controller to the first expansion cabinet controller, and the first VPD information is key parameter information of the control cabinet controller, and the second information interaction instruction is used to acquire the controller information; An update module is used to determine that a first network connection between the control cabinet controller and the first expansion cabinet controller has been successfully established upon receiving the controller information, and to update a topology network corresponding to the control cabinet controller according to the first network connection, wherein the topology network includes a second network connection between the control cabinet controller and multiple second expansion cabinet controllers.
12. A topology network updating device, characterized in that: include: A sending module is used to send controller information of a first expansion cabinet controller to the control cabinet controller upon receiving an information interaction instruction sent by the control cabinet controller, wherein the information interaction instruction is an NVMe_MI instruction, and the information interaction instruction includes a first information interaction instruction and a second information interaction instruction, the first information interaction instruction is used to send the first VPD information of the control cabinet controller to the first expansion cabinet controller, the first VPD information is key parameter information of the control cabinet controller, the second information interaction instruction is used to obtain the controller information, and the controller information is used to indicate that the control cabinet controller has successfully established a first network connection between the control cabinet controller and the first expansion cabinet controller, and instruct the control cabinet controller to update the topology network corresponding to the control cabinet controller according to the first network connection, and the topology network includes a second network connection between the control cabinet controller and multiple second expansion cabinet controllers.
13. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, wherein the computer program implements the steps of the method according to any one of claims 1 to 7 or 8 to 10 when executed by a processor.
14. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that: When the processor executes the computer program, the steps of the method according to any one of claims 1 to 7 or 8 to 10 are implemented.
15. A computer program product comprising a computer program, characterized in that When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 7 or 8 to 10 are implemented.
Citation Information
Patent Citations
Unified storage case topology information collection method and device
CN113760184A
Link fault processing method and system, electronic equipment and storage medium
CN115509783A