Port expansion method, device, equipment and computer readable storage medium
1. A method for port expansion, comprising:
creating a preset number of virtual ports based on a single physical port on a Host Bus Adapter (HBA) connected with the HBA;
configuring each virtual port to realize the support of each virtual port on the FC-NVMe protocol of the interface specification of the host computer controller of the nonvolatile memory of the fiber channel;
allocating identifiers required by a connection server and an NVMe storage system to each virtual port;
and establishing data connection between each corresponding virtual port and the NVMe storage system according to the identification.
2. The port expansion method according to claim 1, wherein the creating a preset number of virtual ports based on a single physical port on the host bus adapter HBA connected to the host bus adapter HBA specifically includes:
with port virtualization NPIV technology, a preset number of virtual ports are created based on a single physical port on the host bus adapter HBA to which it is connected.
3. The port expansion method according to claim 2, wherein the configuring each of the virtual ports to support a fibre channel non-volatile memory host controller interface specification, FC-NVMe, protocol of each of the virtual ports comprises:
and configuring each virtual port to realize the support of each virtual port for the process login PRLI and the NVMe connection service in the fiber channel non-volatile memory host controller interface specification FC-NVMe protocol.
4. The port expansion method according to claim 3, wherein the identifier required for allocating a connection server and an NVMe storage system to each virtual port is specifically:
each of the virtual ports is assigned a unique NVMe definition identification NQN and a port number WWPN.
5. The port expansion method according to claim 1, wherein the establishing of the corresponding data connection between each virtual port and the NVMe storage system according to the identifier specifically includes:
responding to a connection instruction for the appointed virtual port received through a human-computer interaction device, and establishing data connection between the appointed virtual port and the NVMe storage system according to the identification corresponding to the appointed virtual port.
6. The port expansion method according to claim 5, wherein after the connection instruction for the specified virtual port is received through the human-computer interaction device and the data connection between the specified virtual port and the NVMe storage system is established according to the identifier corresponding to the specified virtual port, the port expansion method further comprises:
judging whether the data connection between the designated virtual port and the NVMe storage system is established successfully or not;
if not, controlling a prompter to prompt the failure condition.
7. The port expansion method according to any one of claims 1 to 6, wherein the identifier required for allocating a connection server and an NVMe storage system to each virtual port is specifically:
and allocating identifiers required by the connection server and the NVMe storage system to each virtual port from a preset standby identifier list.
8. A port expansion device, comprising:
the system comprises a creating module, a judging module and a judging module, wherein the creating module is used for creating a preset number of virtual ports based on a single physical port on a Host Bus Adapter (HBA) connected with the creating module;
the action module is used for realizing the support of each virtual port on the FC-NVMe protocol of the interface specification of the host controller of the nonvolatile memory of the optical fiber channel;
the allocation module is used for allocating identifiers required by the connection server and the NVMe storage system for each virtual port;
and the connection module is used for establishing data connection between each corresponding virtual port and the NVMe storage system according to the identification.
9. A port expansion device, comprising:
a memory for storing a computer program;
a processor for implementing the steps of the port expansion method according to any one of claims 1 to 7 when executing said computer program.
10. A computer-readable storage medium, having stored thereon a computer program which, when being executed by a processor, carries out the steps of the port expansion method according to any one of claims 1 to 7.
Background
NVMeoFC (NVMe over Fiber Channel, NVMe transmission is implemented through a Fiber network) can implement high-concurrency asynchronous access to a storage system based on a multi-queue mechanism, that is, for an NVMe (Non-Volatile Memory Host controller interface specification) storage system, it can be connected with a large number of ports of a server at the same time, so as to implement data transmission to meet different service requirements, however, in the prior art, the number of ports provided by an HBA (Host bus adapter) on a server is very limited (for example, 2 or 4), on one hand, service development on a single server is limited, on the other hand, when verifying the performance that it connects a large number of ports at the same time through FC (Fiber Channel) in the factory stage of the NVMe storage system, a large number of servers need to be used at the same time to provide a large number of ports, so as to implement testing, the test cost is high.
Therefore, how to provide a solution to the above technical problem is a problem that needs to be solved by those skilled in the art.
Disclosure of Invention
The invention aims to provide a port expansion method, which improves the number of data ports on a single server, promotes the service development on the single server and reduces the cost required by performance test; another object of the present invention is to provide a port expansion apparatus, device and computer-readable storage medium, which increase the number of data ports on a single server, promote the development of services on a single server, and reduce the cost required for performance testing.
In order to solve the above technical problem, the present invention provides a port expansion method, including:
creating a preset number of virtual ports based on a single physical port on a Host Bus Adapter (HBA) connected with the HBA;
configuring each virtual port to realize the support of each virtual port on the FC-NVMe protocol of the interface specification of the host computer controller of the nonvolatile memory of the fiber channel;
allocating identifiers required by a connection server and an NVMe storage system to each virtual port;
and establishing data connection between each corresponding virtual port and the NVMe storage system according to the identification.
Preferably, the creating a preset number of virtual ports based on a single physical port on the host bus adapter HBA connected to the host bus adapter HBA specifically includes:
with port virtualization NPIV technology, a preset number of virtual ports are created based on a single physical port on the host bus adapter HBA to which it is connected.
Preferably, the configuring each of the virtual ports to support a fibre channel non-volatile memory host controller interface specification, FC-NVMe, protocol of each of the virtual ports includes:
and configuring each virtual port to realize the support of each virtual port for the process login PRLI and the NVMe connection service in the fiber channel non-volatile memory host controller interface specification FC-NVMe protocol.
Preferably, the identifier required for allocating the connection server and the NVMe storage system to each virtual port is specifically:
each of the virtual ports is assigned a unique NVMe definition identification NQN and a port number WWPN.
Preferably, the establishing of the corresponding data connection between each virtual port and the NVMe storage system according to the identifier specifically includes:
responding to a connection instruction for the appointed virtual port received through a human-computer interaction device, and establishing data connection between the appointed virtual port and the NVMe storage system according to the identification corresponding to the appointed virtual port.
Preferably, after the connection instruction for the specified virtual port received by the human-computer interaction device is responded, and the data connection between the specified virtual port and the NVMe storage system is established according to the identifier corresponding to the specified virtual port, the port expansion method further includes:
judging whether the data connection between the designated virtual port and the NVMe storage system is established successfully or not;
if not, controlling a prompter to prompt the failure condition.
Preferably, the identifier required for allocating the connection server and the NVMe storage system to each virtual port is specifically:
and allocating identifiers required by the connection server and the NVMe storage system to each virtual port from a preset standby identifier list.
In order to solve the above technical problem, the present invention further provides a port expansion apparatus, including:
the system comprises a creating module, a judging module and a judging module, wherein the creating module is used for creating a preset number of virtual ports based on a single physical port on a Host Bus Adapter (HBA) connected with the creating module;
the action module is used for configuring each virtual port so as to realize the support of each virtual port on the FC-NVMe protocol of the interface specification of the host computer controller of the nonvolatile memory of the optical fiber channel;
the allocation module is used for allocating identifiers required by the connection server and the NVMe storage system for each virtual port;
and the connection module is used for establishing data connection between each corresponding virtual port and the NVMe storage system according to the identification.
To solve the above technical problem, the present invention further provides a port expansion device, including:
a memory for storing a computer program;
a processor for implementing the steps of the port expansion method as described above when executing the computer program.
To solve the above technical problem, the present invention further provides a computer-readable storage medium, having a computer program stored thereon, where the computer program, when executed by a processor, implements the steps of the port expansion method as described above.
The invention provides a port expansion method, which considers that the storage resources of an NVMe storage system can be obtained through a virtual port and performs data interaction to realize the support of services, therefore, in the present application, for a single server, based on a single physical port provided by the HBA thereon, a preset number of virtual ports can be created, and then each virtual port is made to support the FC-NVMe protocol, and the connection between each virtual port and the NVMe storage system is constructed according to the identification allocated to each virtual port, therefore, based on a single server, the NVMe storage system can be connected and operated through a large number of ports, the server has a large number of ports, so that more services can be expanded, and in the factory stage of the NVMe storage system, a large number of ports can be provided through a single server, so that performance testing is completed, and cost is reduced.
The invention also provides a port expansion device, equipment and a computer readable storage medium, which have the same beneficial effects as the port expansion method.
Drawings
In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the drawings needed in the prior art and the embodiments will be briefly described below, and it is obvious that the drawings in the following description are only some embodiments of the present invention, and it is obvious for those skilled in the art to obtain other drawings without creative efforts.
Fig. 1 is a schematic flow chart of a port expansion method according to the present invention;
FIG. 2 is a schematic structural diagram of a port expansion provided in the present invention;
FIG. 3 is a schematic structural diagram of a port expansion apparatus according to the present invention;
fig. 4 is a schematic structural diagram of a port expansion device provided in the present invention.
Detailed Description
The core of the invention is to provide a port expansion method, which improves the number of data ports on a single server, promotes the service development on the single server and reduces the cost required by performance test; another core of the present invention is to provide a port expansion apparatus, a device, and a computer-readable storage medium, which increase the number of data ports on a single server, promote the development of services on a single server, and reduce the cost required for performance testing.
In order to make the objects, technical solutions and advantages of the embodiments of the present invention clearer, the technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are some, but not all, embodiments of the present invention. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
Referring to fig. 1, fig. 1 is a schematic flow chart of a port expansion method provided in the present invention, where the port expansion method includes:
step S1: creating a preset number of virtual ports based on a single physical port on a Host Bus Adapter (HBA) connected with the HBA;
specifically, in view of the technical problems in the above background art, in combination with the consideration that the storage resources of the NVMe storage system can be obtained through the virtual ports and data interaction is performed to realize support for services, in this application, a large number of virtual interfaces are created based on a limited number of physical ports provided by the HBA of the server, and then data interaction with the NVMe storage system can be realized through each virtual interface and each physical interface, on one hand, for a single server, a plurality of different storage resources can be obtained from the NVMe storage system through a large number of ports, so that a large number of different types of services can be developed, for example, the data storage of the a service is allocated to a specified port, the data storage of the B service is allocated to a specified other port, and service development on the server based on the nvmefc is promoted, on the other hand, in the factory test stage, a large number of ports can be provided through a single server, so that the connection performance test of the large number of ports of the NVMe storage system can be realized, a plurality of servers are not required, and the test cost is reduced.
Specifically, the preset number may be set autonomously, for example, the preset number may be set to any number within 256, and the embodiment of the present invention is not limited herein.
Step S2: configuring each virtual port to realize the support of each virtual port on the FC-NVMe protocol of the interface specification of the host controller of the nonvolatile memory of the optical fiber channel;
specifically, after the virtual ports are constructed, since the server and the NVMe storage system actually communicate data in the form of NVMeoFC, if a normal data connection is to be implemented, each virtual port must implement support for the FC-NVMe protocol, so that the virtual ports can convert NVMe data transmitted by the server into a format required by fiber transmission and send the converted data to the fiber, and can convert the data transmitted by the fiber into NVMe data and provide the NVMe data to the server.
Specifically, this step may be understood as allocating a certain processing resource to each virtual port so that it can perform protocol conversion of data.
Step S3: allocating identifiers required by a connection server and an NVMe storage system to each virtual port;
specifically, since the number of ports in the data communication system is large, it is necessary to accurately identify each port for the server or the storage system, so as to smoothly perform sub-port processing of data, and therefore, it is necessary to allocate an identifier required for connecting the server and the NVMe storage system to each virtual port.
Step S4: and establishing data connection between each corresponding virtual port and the NVMe storage system according to the identification.
For better explaining the embodiments of the present invention, please refer to fig. 2, fig. 2 is a schematic structural diagram of a port expansion provided in the present invention, the Linux Server can be regarded as the above-mentioned Server, in which various services are running, the FC HBA is a host bus adapter providing a physical port (VN _ port), the FC-Fabric is a fiber router, the network can realize the routing function of optical fiber data, NVMe Subsystem is an NVMe storage system, the FC HBA on it belongs to a class of products with the server side, with each physical port (VN _ port) on the HBA for the server indicated on the right side of fig. 2, several virtual ports NPIV _ Port can be created, each with its corresponding identity HOST _ NQN to the right, the host nqn configuration file in fig. 2 may provide a list of spare identifiers to select unused identifiers for allocation to virtual ports.
Specifically, after the above steps are performed, data connection between each corresponding virtual port and the NVMe storage system may be established according to the identifier, for example, the identifier of the port 1 may help the server control port 1 to connect to the NVMe storage system, and the like, so that data communication between the NVMe storage system and a large number of ports is realized.
The invention provides a port expansion method, which considers that the storage resources of an NVMe storage system can be obtained through a virtual port and performs data interaction to realize the support of services, therefore, in the present application, for a single server, based on a single physical port provided by the HBA thereon, a preset number of virtual ports can be created, and then each virtual port is made to support the FC-NVMe protocol, and the connection between each virtual port and the NVMe storage system is constructed according to the identification allocated to each virtual port, therefore, based on a single server, the NVMe storage system can be connected and operated through a large number of ports, the server has a large number of ports, so that more services can be expanded, and in the factory stage of the NVMe storage system, a large number of ports can be provided through a single server, so that performance testing is completed, and cost is reduced.
On the basis of the above-described embodiment:
as a preferred embodiment, based on a single physical port on the host bus adapter HBA connected to itself, creating a preset number of virtual ports specifically includes:
with port virtualization NPIV technology, a preset number of virtual ports are created based on a single physical port on the host bus adapter HBA to which it is connected.
Specifically, the NPIV (Port Identifier Virtualization) technology has the advantages of high maturity, high speed, and the like.
Of course, besides the NPIV technique, the creation of the virtual port may be implemented in other manners, and the embodiment of the present invention is not limited herein.
As a preferred embodiment, configuring each virtual port to implement support of the FC-NVMe protocol of the fibre channel nonvolatile memory host controller interface specification by each virtual port includes:
and configuring each virtual port to realize the support of each virtual port for the process login PRLI and the NVMe connection service in the fiber channel non-volatile memory host controller interface specification FC-NVMe protocol.
Specifically, the FC-NVMe protocol includes PRLI (Process log) and NVMe connection services, and each virtual port can implement data communication only when it needs to implement these functions.
The NVMe connection service may further include Create Association, Create IO connection, Disconnect, NVMe _ ACC (NVMe decoding), and NVMe _ RJT (NVMe encoding).
As a preferred embodiment, the identifier required for allocating the connection server and the NVMe storage system to each virtual port is specifically:
each virtual port is assigned a unique NVMe definition identification NQN and port number WWPN.
Specifically, each virtual Port has its unique NQN (NVMe validated Name) for identifying a remote NVMe storage target to complete the interface with the upper layer fabric command protocol, the server can identify each virtual Port through the virtual Port, and each NQN corresponds to a WWPN (World Wide Port Number), and the NVMe storage system can identify the optical fiber signal transmitted by each virtual Port through the virtual Port, so that data communication between the server and the NVMe storage system can be realized through the virtual Port.
Each virtual port may also have a WWNN (world Wide Node number), but in the embodiment of the present invention, because all the ports are located in one server, the WWNNs of each virtual port may be the same.
As a preferred embodiment, establishing data connections between the corresponding virtual ports and the NVMe storage system according to the identifiers specifically includes:
and responding to a connection instruction for the appointed virtual port received by the human-computer interaction device, and establishing data connection between the appointed virtual port and the NVMe storage system according to the identification corresponding to the appointed virtual port.
Specifically, the staff can actively control the connection establishment process through the human-computer interaction device, so as to realize final supervision on whether the virtual ports can realize connection, for example, whether the connection is successful can be checked after one virtual port is controlled to be connected, thereby ensuring the connection between each virtual port and the NVMe storage system and timely discovering abnormal conditions.
The man-machine interaction device may be of various types, such as a keyboard, a mouse, a display, and the like, and the embodiments of the present invention are not limited herein.
As a preferred embodiment, after establishing, in response to a connection instruction for a specified virtual port received by a human-computer interaction device, a data connection between the specified virtual port and the NVMe storage system according to an identifier corresponding to the specified virtual port, the port expansion method further includes:
judging whether the data connection between the designated virtual port and the NVMe storage system is established successfully or not;
if not, controlling a prompter to prompt the failure condition.
Specifically, when considering that a connection failure occurs in the process of controlling the connection between the virtual port and the NVMe storage system, a worker may not have a good means to quickly identify the connection failure, so that the work efficiency is reduced.
The specific content of the prompt may be various, and for example, may be: the virtual port XXX connection fails, and embodiments of the present invention are not limited herein.
As a preferred embodiment, the identifier required for allocating the connection server and the NVMe storage system to each virtual port is specifically:
and allocating identifications required by the connection server and the NVMe storage system to each virtual port from a preset standby identification list.
Specifically, the pre-created standby identifier list can quickly and accurately provide identifiers to be allocated in the identifier allocation process, so that the working efficiency is improved, the accuracy of the identifiers is improved, and each identifier is unique.
Of course, in addition to the preset standby identifier list, identifiers required for connecting the server and the NVMe storage system may be allocated to each virtual port in other manners, for example, identifiers generated in real time, and the like.
Referring to fig. 3, fig. 3 is a schematic structural diagram of a port expansion device provided in the present invention, the port expansion device includes:
a creating module 31, configured to create a preset number of virtual ports based on a single physical port on the host bus adapter HBA connected to the creating module;
the action module 32 is configured to configure each virtual port to implement support of each virtual port on a fiber channel's non-volatile memory host controller interface specification FC-NVMe protocol;
an allocating module 33, configured to allocate, to each virtual port, an identifier required to connect the server and the NVMe storage system;
and the connection module 34 is configured to establish data connection between each corresponding virtual port and the NVMe storage system according to the identifier.
For the introduction of the port expansion apparatus provided in the embodiment of the present invention, please refer to the embodiment of the port expansion method described above, which is not described herein again.
Referring to fig. 4, fig. 4 is a schematic structural diagram of a port expansion device provided in the present invention, where the port expansion device includes:
a memory 41 for storing a computer program;
a processor 42 for implementing the steps of the port expansion method as in the previous embodiments when executing the computer program.
For introducing the port expansion device provided in the embodiment of the present invention, please refer to the embodiment of the port expansion method described above, which is not described herein again.
The present invention also provides a computer readable storage medium having stored thereon a computer program which, when executed by a processor, implements the steps of the port expansion method as in the previous embodiments.
For the introduction of the computer-readable storage medium provided by the embodiment of the present invention, please refer to the embodiment of the port expansion method, which is not described herein again.
The embodiments in the present description are described in a progressive manner, each embodiment focuses on differences from other embodiments, and the same and similar parts among the embodiments are referred to each other. The device disclosed by the embodiment corresponds to the method disclosed by the embodiment, so that the description is simple, and the relevant points can be referred to the method part for description. It should also be noted that, in the present specification, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising an … …" does not exclude the presence of other identical elements in a process, method, article, or apparatus that comprises the element.
The previous description of the disclosed embodiments is provided to enable any person skilled in the art to make or use the present invention. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other embodiments without departing from the spirit or scope of the invention. Thus, the present invention is not intended to be limited to the embodiments shown herein but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.
- 上一篇:石墨接头机器人自动装卡簧、装栓机
- 下一篇:容器镜像获取方法及设备