An interaction method, device, equipment and medium of a server and a storage system
Patent Information
- Application Number
- CN202311042861.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-08-18
- Publication Date
- 2026-10-09
- Estimated Expiration
- 2043-08-18
AI Technical Summary
[0003]对于现有的存储操作系统,操作相对复杂,需要对客户在一定程度上进行培训
[0047] The aforementioned interaction methods, devices, equipment, and media for servers and storage systems establish a physical connection between the server and storage via a link, and on the basis of this physical connection, establish a software in-band management channel between the server and storage, thereby improving the operability of the storage device. The server sends server information to the storage through the software in-band management channel, and the storage recommends the appropriate volume ownership type to the user based on the server information, thereby improving the user-friendliness of the storage device.
Smart Images

Figure CN117135201B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of computer technology, and in particular to a method, apparatus, device, and medium for interaction between a server and a storage system. Background Technology
[0002] In the storage field, interaction between hosts and storage is a very common scenario. A typical computer host has one hard drive connected to a single bus, a one-to-one relationship. However, in a storage LAN environment composed of switches, because hosts and storage are connected through switches, a many-to-many relationship is formed, meaning there are multiple paths to choose from for data transmission between the host and storage. From the operating system's perspective, each path is perceived as a separate physical disk, but in reality, they are just different paths leading to the same physical disk. This can be confusing for users. Multipathing software was developed to solve this problem by aggregating different paths to the same physical disk on the host, allowing disk operations to be performed on only one physical disk. The main function of multipathing is to work with storage devices to achieve the following: failover and recovery, load balancing of data transmission traffic, and disk virtualization.
[0003] Existing storage operating systems are relatively complex to operate, requiring a certain level of customer training. For example, users first need to query host-side information, and then manually input this host-side information into the storage when establishing a software-level connection between the host and storage before the host can be verified by the storage. This involves multiple steps and is complex. Furthermore, the storage side cannot access the host's input / output performance configuration information, requiring users to manually select volume types and other configuration details, which also necessitates customer training in this area.
[0004] Therefore, there is an urgent need to propose a method, apparatus, device, and medium for interaction between server and storage systems that can automatically configure the connection between storage and host, thereby improving user-friendliness. Summary of the Invention
[0005] Therefore, it is necessary to provide a method, apparatus, device, and medium for interaction between server and storage systems that can automatically configure the connection between storage and host, thereby improving user-friendliness, in response to the above-mentioned technical problems.
[0006] Firstly, a method for interaction between a server and a storage system is provided, the method comprising:
[0007] A physical connection is established with the server via a link, and it is determined whether the number of links connecting to the same server exceeds the limit.
[0008] If the number of links connecting to the same server does not exceed the limit, the physical connection between the server and the link is successfully established.
[0009] Based on the aforementioned link, establish an in-band software management channel with the server;
[0010] The system receives server information periodically sent by the server through the software's in-band management channel and determines whether the server information is valid. The server information includes whether a storage plugin is installed on the server.
[0011] In response to the validity of the server information, the creation status of the software host on the storage system is checked to determine whether the server information should be saved in the table;
[0012] In response to the fact that no software host has been created on the storage system or that the created software host has been deleted, the server information is saved in a table;
[0013] Retrieve the server information stored in the table, and push the corresponding volume ownership type to the user based on the server information.
[0014] In one embodiment, detecting the creation status of the software host on the storage system and determining whether to save the server information in the table includes:
[0015] In response to the fact that a software host has been created on the storage system, the software host is bound to the server;
[0016] Obtain the server information and push the corresponding volume ownership type to the user based on the server information.
[0017] In one embodiment, the volume ownership type includes owned volumes and unowned volumes, and the step of pushing the corresponding volume ownership type to the user based on the server information includes:
[0018] In response to the server not having a storage plugin installed, a volume with ownership is pushed to the user;
[0019] In response to the server having a storage plugin installed, a request is sent to the user to select a volume without ownership.
[0020] In one embodiment, in response to the physical connection being based on a non-volatile memory host controller interface specification, establishing a software in-band management channel with the server based on the link includes:
[0021] In response to receiving a connection command from the server, determine whether the number of links connecting to the same server exceeds the limit;
[0022] In response to the number of links connecting to the same server exceeding the limit, the establishment of a software in-band management channel with the server based on the link fails.
[0023] In response to the fact that the number of links connecting to the same server has not exceeded the limit, connection data is acquired, and the creation status of the software host on the storage system is determined based on the connection data, wherein the connection data includes the unique identifier of the server;
[0024] In response to the existence of a correspondence between the unique identifiers of the storage system and the server, it is determined that a software host has been created on the storage system, and the software host is bound to the server;
[0025] In response to the absence of a correspondence between the storage system and the server's unique identifier, it is determined that no software host has been created on the storage system or that the created software host has been deleted, and the connection data is saved in a table;
[0026] In response to receiving a query command from the server, the connection data is obtained and returned to the server to form the software in-band management channel.
[0027] In one embodiment, in response to the physical connection being based on the non-volatile memory host controller interface specification, receiving server information periodically sent by the server through the software in-band management channel includes:
[0028] In response to receiving server information sent periodically by the server via a sending command, the validity of the sending command is determined;
[0029] In response to the validity of the sent command, the server information is obtained, and the server name, server system, and multipath information are obtained through parsing.
[0030] The server information and the server's unique identifier are bound together and stored in the table.
[0031] In one embodiment, in response to the physical connection being based on the Small Computer System Interface specification, establishing a software in-band management channel with the server based on the link includes:
[0032] In response to receiving a disk scan command sent by the server to the storage system through all links, the virtual volume ID and the physical volume ID are returned to the server through each link to form a software in-band management channel corresponding to each link.
[0033] In one embodiment, in response to the physical connection being based on the Small Computer System Interface specification, receiving server information periodically sent by the server through the software in-band management channel includes:
[0034] In response to receiving server information sent periodically by the server via a sending command, the validity of the sending command is determined;
[0035] In response to the validity of the sent command, the server information is obtained, and the server name, server system, and multipath information are obtained through parsing.
[0036] The server information and the server's unique identifier are bound together and stored in the table.
[0037] Secondly, a server and storage system interaction device is provided, the device comprising:
[0038] The connection determination module is used to establish a physical connection with the server through a link and to determine whether the number of links connecting to the same server exceeds a limit.
[0039] If the number of links connecting to the same server does not exceed the limit, the physical connection between the server and the link is successfully established.
[0040] A connection module, which is used to establish an in-band software management channel with the server based on the link;
[0041] The receiving and judging module is used to receive server information sent by the server periodically through the software in-band management channel, and to judge whether the server information is valid. The server information includes whether a storage plugin is installed on the server.
[0042] The judgment module is used to detect the creation status of the software host on the storage system in response to the validity of the server information, and to determine whether to save the server information in the table;
[0043] A storage module, wherein the storage module is configured to save the server information in a table in response to the fact that no software host has been created on the storage system or that the created software host has been deleted;
[0044] The module for obtaining push notifications is used to obtain server information stored in a table and push the corresponding volume ownership type to the user based on the server information.
[0045] Thirdly, a computer device is provided, the computer device including one or more processors; and a memory associated with the one or more processors, the memory for storing program instructions, which, when read and executed by the one or more processors, perform the steps of the interaction method of the server and storage system as described in any of the first aspects above.
[0046] Fourthly, a computer-readable storage medium is provided having a computer program stored thereon, which, when executed by a processor, performs the steps of the interaction method between the server and the storage system as described in any one of the first aspects above.
[0047] The aforementioned interaction methods, devices, equipment, and media for servers and storage systems establish a physical connection between the server and storage via a link, and on the basis of this physical connection, establish a software in-band management channel between the server and storage, thereby improving the operability of the storage device. The server sends server information to the storage through the software in-band management channel, and the storage recommends the appropriate volume ownership type to the user based on the server information, thereby improving the user-friendliness of the storage device. Attached Figure Description
[0048] Figure 1 This is a flowchart illustrating the interaction method between a server and a storage system in one embodiment;
[0049] Figure 2 This is a flowchart illustrating the process of establishing an in-band software management channel based on the non-volatile memory host controller interface specification in one embodiment.
[0050] Figure 3 This is a flowchart illustrating the process of establishing an in-band software management channel based on the non-volatile memory host controller interface specification in another embodiment.
[0051] Figure 4 This is a schematic diagram illustrating the process of receiving server information based on the non-volatile memory host controller interface specification in one embodiment.
[0052] Figure 5 This is a schematic diagram illustrating the process of receiving server information based on the non-volatile memory host controller interface specification in another embodiment.
[0053] Figure 6 This is a structural block diagram of the interaction device between the server and the storage system in one embodiment;
[0054] Figure 7 This is an internal structural diagram of a computer device in one embodiment. Detailed Implementation
[0055] As described in the background section, this application fully considers the application scenarios of centralized storage and improves the information interaction between storage and the host. By establishing a software in-band management channel, this application enables storage to more easily obtain host information. This application focuses on the interaction of management commands between the host and storage, fully considering complex scenarios such as different links, different protocols, and different hosts between the host and storage. Under the condition of establishing a physical channel between the host and storage, a software-level in-band channel is established to proactively report information from various hosts to the storage, improving the user-friendliness of the storage product.
[0056] To make the objectives, technical solutions, and advantages of this application clearer, the following detailed description is provided in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the scope of this application.
[0057] Example 1
[0058] In one embodiment, such as Figure 1 As shown, a method for interaction between a server and a storage system is provided, the method comprising:
[0059] S10. Establish a physical connection with the server through the link, and determine whether the number of links connecting to the same server exceeds the limit;
[0060] Furthermore, the maximum number of links connecting to the same server is generally four.
[0061] Furthermore, the connection between the server and storage system mainly involves two aspects: NVMe (Non-Volatile Memory Host Controller Interface Specification), which connects the server and storage via fiber optic switches or high-speed network switches; and SCSI (Small Computer System Interface), which connects the server and storage via network switches or fiber optic switches. This application can also be applied to more links.
[0062] Specifically, this application fully considers the application scenarios of storage, enabling it to adapt to various servers and links such as networks or fiber optics.
[0063] Furthermore, the servers include Linux servers and Windows servers. This application supports multiple servers forming a server cluster and connecting to the storage. Depending on business needs, a switch can be omitted, and the servers and storage can be directly connected via a link. Depending on the link medium, switches can be categorized as high-speed network switches, network switches, and fiber optic switches. The storage system in this application supports NVMeoF (NVMe over Fabrics) and the basic functions of fiber optic switches. Depending on business requirements, the link medium can be categorized as high-speed network, ordinary network, and fiber optic link.
[0064] S11. In response to the fact that the number of links connecting to the same server has not exceeded the limit, the physical connection between the server and the link is successfully established.
[0065] Furthermore, in response to the number of links connecting to the same server exceeding the limit, the establishment of a physical connection with the server via the link fails.
[0066] S12. Based on the link, establish an in-band software management channel with the server;
[0067] Furthermore, such as Figure 2 As shown, in response to the physical connection being based on the non-volatile memory host controller interface specification, establishing a software in-band management channel with the server based on the link includes:
[0068] In response to receiving a connection command from the server, determine whether the number of links connecting to the same server exceeds the limit;
[0069] In response to the number of links connecting to the same server exceeding the limit, the establishment of a software in-band management channel with the server based on the link fails.
[0070] In response to the fact that the number of links connecting to the same server has not exceeded the limit, connection data is acquired, and the creation status of the software host on the storage system is determined based on the connection data, wherein the connection data includes the unique identifier of the server;
[0071] In response to the existence of a correspondence between the unique identifiers of the storage system and the server, it is determined that a software host has been created on the storage system, and the software host is bound to the server;
[0072] In response to the absence of a correspondence between the storage system and the server's unique identifier, it is determined that no software host has been created on the storage system or that the created software host has been deleted, and the connection data is saved in a table;
[0073] In response to receiving a query command from the server, the connection data is obtained and returned to the server to form the software in-band management channel.
[0074] Specifically, if a software host has already been created on the storage system, the software host information is matched with the server's unique identifier in the connection data. If the match is successful, the software host is bound to the server, and a mapping relationship exists between the software host and the hard drive, establishing a connection relationship between the server, storage (software host), and hard drive.
[0075] Furthermore, based on the connection data, the server side forms a device of type / dev / nvme*, which is a software in-band management channel.
[0076] Furthermore, NVMe connects servers and storage via either fiber optic switches or high-speed network switches. Servers and storage can be connected simultaneously via both types of links. Storage uses the server's unique identifier to determine if an NVMe connection originates from the same server. Following a first-come, first-served principle, NVMe connections are processed in the order they arrive. If the fiber optic switch connection reaches its connection limit first, the high-speed network switch connection will return an error, and vice versa.
[0077] NVMe in-band management channels only support connections between Linux servers and storage. Execute `ls / dev / nvme*` on the server side to view the established in-band management channels.
[0078] Furthermore, such as Figure 3 As shown, in response to the physical connection being based on the Small Computer System Interface Specification, establishing a software in-band management channel with the server based on the link includes:
[0079] In response to receiving a disk scan command sent by the server to the storage system through all links, the virtual volume ID and the physical volume ID are returned to the server through each link to form a software in-band management channel corresponding to each link.
[0080] Specifically, this application provides an in-band management channel for each physical link to improve robustness and prevent the server from being unable to push information to the storage due to the failure of a certain link.
[0081] Furthermore, each link will create an in-band management channel virtual volume on the server. According to the SCSI protocol specification, the storage configuration physical volume is of type block device, which can support read and write operations. However, the in-band management channel volume is a virtual volume, and there is no physical hard drive to provide read and write support for the virtual volume. Therefore, this application sets the type of the in-band management channel volume to unknown, and then informs the server, so that the server will no longer send read and write commands to the virtual volume, which facilitates the management of the in-band management channel volume.
[0082] The appearance of in-band management channel volumes varies depending on the server type. For example, an in-band management channel volume created on a Linux server has an id of 0 and a device type of nodev; an in-band management channel volume created on a Windows server is displayed as LUN0 in Device Manager. LUN (Logical Unit Number) indicates that the virtual volume has an id of 0.
[0083] S13. Receive server information sent periodically by the server through the software in-band management channel, and determine whether the server information is valid. The server information includes whether a storage plugin is installed on the server.
[0084] Furthermore, such as Figure 4 As shown, in response to the physical connection being based on the non-volatile memory host controller interface specification, receiving server information periodically sent by the server through the software in-band management channel includes:
[0085] In response to receiving server information sent periodically by the server via a sending command, the validity of the sending command is determined;
[0086] Furthermore, an NVMe in-band management channel is formed on the server side. The server side starts a timer for this channel and sends a custom setfeature command through the channel at regular intervals.
[0087] In response to the validity of the sent command, the server information is obtained, and the server name, server system, and multipath information are obtained through parsing.
[0088] The server information and the server's unique identifier are bound together and stored in the table.
[0089] Furthermore, such as Figure 5 As shown, in response to the physical connection being based on the Small Computer System Interface Specification, receiving server information periodically sent by the server through the software in-band management channel includes:
[0090] In response to receiving server information sent periodically by the server via a sending command, the validity of the sending command is determined;
[0091] Furthermore, the server side forms a SCSI in-band managed virtual volume, and the server side starts a timer for this virtual volume, which sends a custom modeselect command through this channel at regular intervals.
[0092] In response to the validity of the sent command, the server information is obtained, and the server name, server system, and multipath information are obtained through parsing.
[0093] The server information and the server's unique identifier are bound together and stored in the table.
[0094] S14. In response to the validity of the server information, detect the creation status of the software host on the storage system and determine whether to save the server information in the table;
[0095] S15. In response to the fact that no software host has been created on the storage system or that the created software host has been deleted, the server information is saved in a table.
[0096] S16. Obtain the server information stored in the table, and push the corresponding volume ownership type to the user based on the server information.
[0097] Furthermore, detecting the creation status of the software host on the storage system and determining whether to save the server information in the table includes:
[0098] In response to the fact that a software host has been created on the storage system, the software host is bound to the server;
[0099] Obtain the server information and push the corresponding volume ownership type to the user based on the server information.
[0100] Specifically, the server pushes server information to the storage to prompt the user with the appropriate host-storage configuration policy, i.e., the volume ownership type, thereby improving user-friendliness.
[0101] Furthermore, the volume ownership type includes owned volumes and unowned volumes, and the step of pushing the corresponding volume ownership type to the user based on the server information includes:
[0102] In response to the server not having a storage plugin installed, a volume with ownership is pushed to the user;
[0103] In response to the server having a storage plugin installed, a request is sent to the user to select a volume without ownership.
[0104] Furthermore, only after a software host is created on the storage can the server have permission to access the hard drive data on the storage bound to that software host; one software host corresponds to one server.
[0105] Furthermore, the in-band management channel provided by the storage to the server can only send and manage storage-related commands. If the server needs to retrieve / write storage data, the user must execute the software host creation before it can do so, thus ensuring user data security.
[0106] It should be understood that, although Figure 1 , Figure 2 , Figure 3 , Figure 4 and Figure 5 The steps in the flowchart are shown sequentially as indicated by the arrows, but these steps are not necessarily executed in the order indicated by the arrows. Unless otherwise specified herein, there is no strict order in which these steps are executed, and they can be performed in other orders. Figure 1 , Figure 2 , Figure 3 , Figure 4 and Figure 5 At least some of the steps in the process may include multiple sub-steps or multiple stages. These sub-steps or stages are not necessarily completed at the same time, but can be executed at different times. The execution order of these sub-steps or stages is not necessarily sequential, but can be executed in turn or alternately with other steps or at least some of the sub-steps or stages of other steps.
[0107] Example 2
[0108] In one embodiment, such as Figure 6 As shown, an interaction device for a server and a storage system is provided, the device comprising:
[0109] The connection determination module 60 is used to establish a physical connection with the server through a link and to determine whether the number of links connecting to the same server exceeds a limit.
[0110] If the number of links connecting to the same server does not exceed the limit, the physical connection between the server and the link is successfully established.
[0111] Furthermore, the connection determination module is also used for:
[0112] In response to the limit being exceeded, the establishment of a physical connection with the server via a link fails.
[0113] Connection module 61, the connection module is used to establish an in-band software management channel with the server based on the link;
[0114] Furthermore, in response to the physical connection being based on the non-volatile memory host controller interface specification, the connection module is specifically used for:
[0115] In response to receiving a connection command from the server, determine whether the number of links connecting to the same server exceeds the limit;
[0116] In response to the number of links connecting to the same server exceeding the limit, the establishment of a software in-band management channel with the server based on the link fails.
[0117] In response to the fact that the number of links connecting to the same server has not exceeded the limit, connection data is acquired, and the creation status of the software host on the storage system is determined based on the connection data, wherein the connection data includes the unique identifier of the server;
[0118] In response to the existence of a correspondence between the unique identifiers of the storage system and the server, it is determined that a software host has been created on the storage system, and the software host is bound to the server;
[0119] In response to the absence of a correspondence between the storage system and the server's unique identifier, it is determined that no software host has been created on the storage system or that the created software host has been deleted, and the connection data is saved in a table;
[0120] In response to receiving a query command from the server, the connection data is obtained and returned to the server to form the software in-band management channel.
[0121] Furthermore, in response to the physical connection based on the Small Computer System Interface Specification, the connection module is also specifically used for:
[0122] In response to receiving a disk scan command sent by the server to the storage system through all links, the virtual volume ID and the physical volume ID are returned to the server through each link to form a software in-band management channel corresponding to each link.
[0123] The receiving and judging module 62 is used to receive server information sent by the server periodically through the software in-band management channel, and to judge whether the server information is valid. The server information includes whether a storage plugin is installed on the server.
[0124] Furthermore, in response to the physical connection being based on the non-volatile memory host controller interface specification, the receiving and determining module is specifically used for:
[0125] In response to receiving server information sent periodically by the server via a sending command, the validity of the sending command is determined;
[0126] In response to the validity of the sent command, the server information is obtained, and the server name, server system, and multipath information are obtained through parsing.
[0127] The server information and the server's unique identifier are bound together and stored in the table.
[0128] Furthermore, in response to the physical connection being based on the Small Computer System Interface Specification, the receiving and determining module is also specifically used for:
[0129] In response to receiving server information sent periodically by the server via a sending command, the validity of the sending command is determined;
[0130] In response to the validity of the sent command, the server information is obtained, and the server name, server system, and multipath information are obtained through parsing.
[0131] The server information and the server's unique identifier are bound together and stored in the table.
[0132] The judgment module 63 is used to detect the creation status of the software host on the storage system in response to the validity of the server information, and to determine whether to save the server information in the table;
[0133] Storage module 64, the storage module is used to save the server information in a table in response to the fact that no software host has been created on the storage system or the created software host has been deleted;
[0134] The push module 65 is used to obtain server information stored in a table and push the corresponding volume ownership type to the user based on the server information.
[0135] Furthermore, the volume ownership type includes owned volumes and unowned volumes, and the acquisition and push module is specifically used for:
[0136] In response to the server not having a storage plugin installed, a volume with ownership is pushed to the user;
[0137] In response to the server having a storage plugin installed, a request is sent to the user to select a volume without ownership.
[0138] Furthermore, the push acquisition module is also specifically used for:
[0139] Obtain the server information and push the corresponding volume ownership type to the user based on the server information.
[0140] Furthermore, the device also includes:
[0141] A binding module is used to bind the software host to the server in response to the creation of the software host on the storage system.
[0142] Specific limitations regarding the interaction devices between servers and storage systems can be found in the above description of the interaction methods between servers and storage systems, and will not be repeated here. Each module in the aforementioned interaction device between servers and storage systems can be implemented entirely or partially through software, hardware, or a combination thereof. These modules can be embedded in or independent of the processor in the computer device in hardware form, or stored in the memory of the computer device in software form, so that the processor can call and execute the operations corresponding to each module.
[0143] Example 3
[0144] In one embodiment, a computer device is provided, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the computer program to perform the following steps:
[0145] A physical connection is established with the server via a link, and it is determined whether the number of links connecting to the same server exceeds the limit.
[0146] If the number of links connecting to the same server does not exceed the limit, the physical connection between the server and the link is successfully established.
[0147] Based on the aforementioned link, establish an in-band software management channel with the server;
[0148] The system receives server information periodically sent by the server through the software's in-band management channel and determines whether the server information is valid. The server information includes whether a storage plugin is installed on the server.
[0149] In response to the validity of the server information, the creation status of the software host on the storage system is checked to determine whether the server information should be saved in the table;
[0150] In response to the fact that no software host has been created on the storage system or that the created software host has been deleted, the server information is saved in a table;
[0151] Retrieve the server information stored in the table, and push the corresponding volume ownership type to the user based on the server information.
[0152] When the program instructions are read and executed by the one or more processors, they can also perform operations corresponding to the steps in the above method embodiments, as described above, and will not be repeated here. (Reference) Figure 7 This exemplifies the architecture of a computer device, which may include a processor 710, a video display adapter 711, a disk drive 712, an input / output interface 713, a network interface 714, and a memory 720. The processor 710, video display adapter 711, disk drive 712, input / output interface 713, network interface 714, and memory 720 can communicate with each other via a communication bus 730.
[0153] The processor 710 can be implemented using a general-purpose central processing unit (CPU), microprocessor, application-specific integrated circuit (ASIC), or one or more integrated circuits, and is used to execute relevant programs to achieve the technical solution provided in this application.
[0154] The memory 720 can be implemented as a read-only memory (ROM), random access memory (RAM), static storage device, dynamic storage device, etc. The memory 720 can store the operating system 721 for controlling the operation of the computer device 700, and the basic input / output system (BIOS) 722 for controlling the low-level operations of the computer device 700. Additionally, it can store a web browser 723, data storage management 724, and an icon font processing system 725, etc. The aforementioned icon font processing system 725 can be the application program that specifically implements the aforementioned steps in this embodiment. In summary, when the technical solution provided in this application is implemented through software or firmware, the relevant program code is stored in the memory 720 and is called and executed by the processor 710.
[0155] Input / output interface 713 is used to connect input / output modules to realize information input and output. Input / output modules can be configured as components in the device (not shown in the figure) or externally connected to the device to provide corresponding functions. Input devices may include keyboards, mice, touch screens, microphones, various sensors, etc., and output devices may include displays, speakers, vibrators, indicator lights, etc.
[0156] Network interface 714 is used to connect a communication module (not shown in the figure) to enable communication between this device and other devices. The communication module can communicate via wired means (such as USB, Ethernet cable, etc.) or wireless means (such as mobile network, WIFI, Bluetooth, etc.).
[0157] Bus 730 includes a pathway for transmitting information between various components of the device, such as processor 710, video display adapter 711, disk drive 712, input / output interface 713, network interface 714, and memory 720.
[0158] In addition, the computer device 700 can also obtain information on specific acquisition conditions from the virtual resource object acquisition condition information database 741 for condition judgment, etc.
[0159] It should be noted that although the computer device 700 described above only shows a processor 710, a video display adapter 711, a disk drive 712, an input / output interface 713, a network interface 714, a memory 720, and a bus 730, in specific implementations, the computer device may also include other components necessary for normal operation. Furthermore, those skilled in the art will understand that the above device may only include the components necessary for implementing the solution of this application, and does not necessarily include all the components shown in the figures.
[0160] As can be seen from the above description of the embodiments, those skilled in the art can clearly understand that this application can be implemented by means of software plus necessary general-purpose hardware platforms. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product can be stored in a storage medium, such as ROM / RAM, magnetic disk, optical disk, etc., and includes several instructions to cause a computer device (which may be a personal computer, cloud server, or network device, etc.) to execute the methods described in various embodiments or some parts of the embodiments of this application.
[0161] Example 4
[0162] In one embodiment, a computer-readable storage medium is provided having a computer program stored thereon, the computer program performing the following steps when executed by a processor:
[0163] A physical connection is established with the server via a link, and it is determined whether the number of links connecting to the same server exceeds the limit.
[0164] If the number of links connecting to the same server does not exceed the limit, the physical connection between the server and the link is successfully established.
[0165] Based on the aforementioned link, establish an in-band software management channel with the server;
[0166] The system receives server information periodically sent by the server through the software's in-band management channel and determines whether the server information is valid. The server information includes whether a storage plugin is installed on the server.
[0167] In response to the validity of the server information, the creation status of the software host on the storage system is checked to determine whether the server information should be saved in the table;
[0168] In response to the fact that no software host has been created on the storage system or that the created software host has been deleted, the server information is saved in a table;
[0169] Retrieve the server information stored in the table, and push the corresponding volume ownership type to the user based on the server information.
[0170] Those skilled in the art will understand that all or part of the processes in the methods of the above embodiments can be implemented by a computer program instructing related hardware. The computer program can be stored in a non-volatile computer-readable storage medium, and when executed, it can include the processes of the embodiments of the above methods. Any references to memory, storage, databases, or other media used in the embodiments provided in this application can include non-volatile and / or volatile memory. Non-volatile memory can include read-only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), or flash memory. Volatile memory can include random access memory (RAM) or external cache memory. By way of illustration and not limitation, RAM is available in various forms, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), dual data rate SDRAM (DDRSDRAM), enhanced SDRAM (ESDRAM), synchronous link DRAM (SLDRAM), Rambus direct RAM (RDRAM), direct memory bus dynamic RAM (DRDRAM), and memory bus dynamic RAM (RDRAM), etc.
[0171] The technical features of the above embodiments can be combined in any way. For the sake of brevity, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.
[0172] The embodiments described above are merely illustrative of several implementation methods of this application, and while the descriptions are relatively specific and detailed, they should not be construed as limiting the scope of the invention patent. It should be noted that those skilled in the art can make various modifications and improvements without departing from the concept of this application, and these all fall within the protection scope of this application. Therefore, the protection scope of this patent application should be determined by the appended claims.
Claims
1. A method for interaction between a server and a storage system, characterized in that, The method includes: A physical connection is established with the server via a link, and it is determined whether the number of links connecting to the same server exceeds the limit. If the number of links connecting to the same server does not exceed the limit, the physical connection between the server and the link is successfully established. Based on the aforementioned link, establish an in-band software management channel with the server; The system receives server information periodically sent by the server through the software's in-band management channel and determines whether the server information is valid. The server information includes whether a storage plugin is installed on the server. In response to the validity of the server information, the creation status of the software host on the storage system is checked to determine whether the server information should be saved in the table; In response to the fact that no software host has been created on the storage system or that the created software host has been deleted, the server information is saved in a table; Retrieve the server information stored in the table, and push the corresponding volume ownership type to the user based on the server information; In response to the physical connection being based on the non-volatile memory host controller interface specification, establishing a software in-band management channel with the server based on the link includes: In response to receiving a connection command from the server, determine whether the number of links connecting to the same server exceeds the limit; In response to the number of links connecting to the same server exceeding the limit, the establishment of a software in-band management channel with the server based on the link fails. In response to the fact that the number of links connecting to the same server has not exceeded the limit, connection data is acquired, and the creation status of the software host on the storage system is determined based on the connection data, wherein the connection data includes the unique identifier of the server; In response to the existence of a correspondence between the unique identifiers of the storage system and the server, it is determined that a software host has been created on the storage system, and the software host is bound to the server; In response to the absence of a correspondence between the unique identifier of the storage system and the server, it is determined that no software host has been created on the storage system or that the created software host has been deleted, and the connection data is saved in a table; In response to receiving a query command from the server, the connection data is obtained and returned to the server to form the software in-band management channel.
2. The method according to claim 1, characterized in that, The step of detecting the creation status of the software host on the storage system and determining whether to save the server information in the table includes: In response to the fact that a software host has been created on the storage system, the software host is bound to the server; Obtain the server information and push the corresponding volume ownership type to the user based on the server information.
3. The method according to claim 2, characterized in that, The volume ownership type includes owned volumes and unowned volumes. Pushing the corresponding volume ownership type to the user based on the server information includes: In response to the server not having a storage plugin installed, a volume with ownership is pushed to the user; In response to the server having a storage plugin installed, a request is sent to the user to select a volume without ownership.
4. The method according to claim 1, characterized in that, In response to the physical connection being based on the Non-Volatile Memory Host Controller Interface Specification, receiving server information periodically sent by the server through the software in-band management channel includes: In response to receiving server information sent periodically by the server via a sending command, the validity of the sending command is determined; In response to the validity of the sent command, the server information is obtained, and the server name, server system, and multipath information are obtained through parsing. The server information and the server's unique identifier are bound together and stored in the table.
5. The method according to claim 1, characterized in that, In response to the physical connection being based on the Small Computer System Interface Specification, establishing a software in-band management channel with the server based on the link includes: In response to receiving a disk scan command sent by the server to the storage system through all links, the virtual volume ID and the physical volume ID are returned to the server through each link to form a software in-band management channel corresponding to each link.
6. The method according to claim 5, characterized in that, In response to the physical connection being based on the Small Computer System Interface Specification, receiving server information periodically sent by the server through the software in-band management channel includes: In response to receiving server information sent periodically by the server via a sending command, the validity of the sending command is determined; In response to the validity of the sent command, the server information is obtained, and the server name, server system, and multipath information are obtained through parsing. The server information and the server's unique identifier are bound together and stored in the table.
7. An interaction apparatus for a server and storage system for implementing the interaction method of the server and storage system according to claim 1, characterized in that, The device includes: The connection determination module is used to establish a physical connection with the server through a link and to determine whether the number of links connecting to the same server exceeds a limit. If the number of links connecting to the same server does not exceed the limit, the physical connection between the server and the link is successfully established. A connection module, which is used to establish an in-band software management channel with the server based on the link; The receiving and judging module is used to receive server information sent by the server periodically through the software in-band management channel, and to judge whether the server information is valid. The server information includes whether a storage plugin is installed on the server. The judgment module is used to detect the creation status of the software host on the storage system in response to the validity of the server information, and to determine whether to save the server information in the table; A storage module, wherein the storage module is configured to save the server information in a table in response to the fact that no software host has been created on the storage system or that the created software host has been deleted; The module for obtaining push notifications is used to obtain server information stored in a table and push the corresponding volume ownership type to the user based on the server information.
8. A computer 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, it implements the steps of the interaction method of the server and storage system according to any one of claims 1 to 6.
9. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, it implements the steps of the interaction method of the server and storage system according to any one of claims 1 to 6.
Citation Information
Patent Citations
Storage system user verification method and device, electronic equipment and storage medium
CN113868634A
Implementation method and device for in-band management middleware in butt joint with multiple memories
CN115454337A