一种端口扩展方法、装置、设备及计算机可读存储介质

文档序号:7309 发布日期:2021-09-17 浏览:30次 英文

一种端口扩展方法、装置、设备及计算机可读存储介质

技术领域

本发明涉及端口虚拟化领域,特别是涉及一种端口扩展方法,本发明还涉及一种端口扩展装置、设备及计算机可读存储介质。

背景技术

NVMeoFC(NVMe over Fibre Channel,通过光纤网络实现NVMe传输)可以基于多队列机制实现对存储系统高并发异步访问,也即对于NVMe(Non-Volatile Memory express,非易失性内存主机控制器接口规范)存储系统来说,其可以和服务器的大量端口同时连接,从而实现数据传输以满足不同的业务需求,然而现有技术中的服务器上的HBA(Host busadapter,主机总线适配器)所提供端口的数量非常有限(例如2或4个),一方面限制了单台服务器上的业务发展,另一方面在NVMe存储系统出厂阶段验证其通过FC(Fiber Channel,光纤通道)同时连接大量端口的性能时,就需要同时使用大量服务器来提供大量端口从而实现测试,测试成本较高。

因此,如何提供一种解决上述技术问题的方案是本领域技术人员目前需要解决的问题。

发明内容

本发明的目的是提供一种端口扩展方法,提升了单台服务器上的数据端口数,促进了单台服务器上的业务发展,降低了性能测试所需的成本;本发明的另一目的是提供一种端口扩展装置、设备及计算机可读存储介质,提升了单台服务器上的数据端口数,促进了单台服务器上的业务发展,降低了性能测试所需的成本。

为解决上述技术问题,本发明提供了一种端口扩展方法,包括:

基于与自身连接的主机总线适配器HBA上的单个物理端口,创建预设数量个虚拟端口;

对各个所述虚拟端口进行配置,以实现各个所述虚拟端口对于光纤通道的非易失性内存主机控制器接口规范FC-NVMe协议的支持;

为每个所述虚拟端口分配连接服务器以及NVMe存储系统所需的标识;

根据所述标识建立对应的各所述虚拟端口与所述NVMe存储系统之间的数据连接。

优选地,所述基于与自身连接的主机总线适配器HBA上的单个物理端口,创建预设数量个虚拟端口具体为:

通过端口虚拟化NPIV技术,基于与自身连接的主机总线适配器HBA上的单个物理端口,创建预设数量个虚拟端口。

优选地,所述对各个所述虚拟端口进行配置,以实现各个所述虚拟端口对于光纤通道的非易失性内存主机控制器接口规范FC-NVMe协议的支持包括:

对各个所述虚拟端口进行配置,以实现各个所述虚拟端口对于光纤通道的非易失性内存主机控制器接口规范FC-NVMe协议中的进程登陆PRLI以及NVMe连接服务的支持。

优选地,为每个所述虚拟端口分配连接服务器以及NVMe存储系统所需的标识具体为:

为每个所述虚拟端口分配唯一的NVMe限定标识NQN以及端口号WWPN。

优选地,所述根据所述标识建立对应的各所述虚拟端口与所述NVMe存储系统之间的数据连接具体为:

响应于通过人机交互装置接收到的对于指定的所述虚拟端口的连接指令,根据指定的所述虚拟端口对应的所述标识建立指定的所述虚拟端口与所述NVMe存储系统之间的数据连接。

优选地,所述响应于通过人机交互装置接收到的对于指定的所述虚拟端口的连接指令,根据指定的所述虚拟端口对应的所述标识建立指定的所述虚拟端口与所述NVMe存储系统之间的数据连接之后,该端口扩展方法还包括:

判断指定的所述虚拟端口与所述NVMe存储系统之间的数据连接是否建立成功;

若否,控制提示器提示失败情况。

优选地,所述为每个所述虚拟端口分配连接服务器以及NVMe存储系统所需的标识具体为:

从预设的备用标识列表中,为每个所述虚拟端口分配连接服务器以及NVMe存储系统所需的标识。

为解决上述技术问题,本发明还提供了一种端口扩展装置,包括:

创建模块,用于基于与自身连接的主机总线适配器HBA上的单个物理端口,创建预设数量个虚拟端口;

动作模块,用于对各个所述虚拟端口进行配置,以实现各个所述虚拟端口对于光纤通道的非易失性内存主机控制器接口规范FC-NVMe协议的支持;

分配模块,用于为每个所述虚拟端口分配连接服务器以及NVMe存储系统所需的标识;

连接模块,用于根据所述标识建立对应的各所述虚拟端口与所述NVMe存储系统之间的数据连接。

为解决上述技术问题,本发明还提供了一种端口扩展设备,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现如上所述端口扩展方法的步骤。

为解决上述技术问题,本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述端口扩展方法的步骤。

本发明提供了一种端口扩展方法,考虑到通过虚拟端口也可以获取NVMe存储系统的存储资源并进行数据交互以实现对于业务的支持,因此本申请中对于单台服务器,基于其上的HBA所提供的单个物理端口,便可创建预设数量个虚拟端口,之后使得各虚拟端口支持FC-NVMe协议,并根据为每个虚拟端口分配的标识构建其与NVMe存储系统之间的连接即可,如此一来,基于单台服务器便可以通过大量端口与NVMe存储系统连接并开展业务,该服务器由于端口数量众多,因此可以扩展更多的业务,并且在NVMe存储系统出厂阶段,通过单台服务器便可以提供大量端口从而完成性能测试,降低了成本。

本发明还提供了一种端口扩展装置、设备及计算机可读存储介质,具有如上端口扩展方法相同的有益效果。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对现有技术和实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明提供的一种端口扩展方法的流程示意图;

图2为本发明提供的一种端口扩展的结构示意图;

图3为本发明提供的一种端口扩展装置的结构示意图;

图4为本发明提供的一种端口扩展设备的结构示意图。

具体实施方式

本发明的核心是提供一种端口扩展方法,提升了单台服务器上的数据端口数,促进了单台服务器上的业务发展,降低了性能测试所需的成本;本发明的另一核心是提供一种端口扩展装置、设备及计算机可读存储介质,提升了单台服务器上的数据端口数,促进了单台服务器上的业务发展,降低了性能测试所需的成本。

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参考图1,图1为本发明提供的一种端口扩展方法的流程示意图,该端口扩展方法包括:

步骤S1:基于与自身连接的主机总线适配器HBA上的单个物理端口,创建预设数量个虚拟端口;

具体的,考虑到如上背景技术中的技术问题,又结合考虑到通过虚拟端口也可以获取NVMe存储系统的存储资源并进行数据交互以实现对于业务的支持,因此本申请中欲基于服务器的HBA所提供的有限数量的物理端口,创建出大量的虚拟接口,进而可以通过各虚拟接口以及各物理接口与NVMe存储系统实现数据交互,一方面,对于单台服务器来说其可以通过大量的端口从NVMe存储系统那里获得多个不同的存储资源,便于开展大量不同类的业务,例如将A业务的数据存储分配到指定一个端口,而将B业务的数据存储分配到指定的另一个接口等,促进了基于NVMEoFC的服务器上的业务发展,另一方面,在出厂测试阶段,由于通过单台服务器便可以提供大量的端口,因此便可以实现NVMe存储系统的大量端口的连接性能测试,无需使用多台服务器,降低了测试成本。

具体的,预设数量可以进行自主设定,例如可以设置为256以内的任意数量等,本发明实施例在此不做限定。

步骤S2:对各个虚拟端口进行配置,以实现各个虚拟端口对于光纤通道的非易失性内存主机控制器接口规范FC-NVMe协议的支持;

具体的,在构建好各虚拟端口之后,由于服务器与NVMe存储系统之间实际上是NVMeoFC形式的数据通信,因此若想实现正常的数据连接,那么每一个虚拟端口必须实现对FC-NVMe协议的支持,如此一来虚拟端口可以将服务器传输的NVMe数据转换为光纤传输所需的格式发送到光纤上,并且可以将光纤传输过来的数据转换为NVMe数据提供给服务器。

具体的,该步骤可以理解为分配给各虚拟端口一定的处理资源以便其进行数据的协议转换。

步骤S3:为每个虚拟端口分配连接服务器以及NVMe存储系统所需的标识;

具体的,由于在该数据通讯系统中端口的数量众多,无论对于服务器来说还是对于存储系统来说,都需要准确识别每一个端口,从而顺利地进行数据的分端口处理,因此需要为每个虚拟端口分配连接服务器以及NVMe存储系统所需的标识。

步骤S4:根据标识建立对应的各虚拟端口与NVMe存储系统之间的数据连接。

为了更好地对本发明实施例进行说明,请参考图2,图2为本发明提供的一种端口扩展的结构示意图,其中的Linux Server可以认为是上述的服务器,其中运行着各类业务,FC HBA则为提供物理端口(VN_port)的主机总线适配器,FC-Fabric为光纤路由器,其可以实现光纤数据的路由功能,NVMe Subsystem为NVMe存储系统,其上的FC HBA与服务器侧的属于一类产品,在图2的右侧指出了对于服务器的HBA上的每一个物理端口(VN_port),可以创建若干个虚拟端口NPIV_Port,每一个NPIV_Port右侧有其对应的标识HOST_NQN,而图2中的host nqn配置文件中则可以提供备用标识列表,以便从中选择出未使用的标识分配给各虚拟端口。

具体的,在进行完上述步骤之后,便可以根据标识建立对应的各虚拟端口与NVMe存储系统之间的数据连接,例如通过端口1的标识便可以帮助服务器控制端口1连接到NVMe存储系统等,从而实现NVMe存储系统与大量端口的数据通讯。

本发明提供了一种端口扩展方法,考虑到通过虚拟端口也可以获取NVMe存储系统的存储资源并进行数据交互以实现对于业务的支持,因此本申请中对于单台服务器,基于其上的HBA所提供的单个物理端口,便可创建预设数量个虚拟端口,之后使得各虚拟端口支持FC-NVMe协议,并根据为每个虚拟端口分配的标识构建其与NVMe存储系统之间的连接即可,如此一来,基于单台服务器便可以通过大量端口与NVMe存储系统连接并开展业务,该服务器由于端口数量众多,因此可以扩展更多的业务,并且在NVMe存储系统出厂阶段,通过单台服务器便可以提供大量端口从而完成性能测试,降低了成本。

在上述实施例的基础上:

作为一种优选的实施例,基于与自身连接的主机总线适配器HBA上的单个物理端口,创建预设数量个虚拟端口具体为:

通过端口虚拟化NPIV技术,基于与自身连接的主机总线适配器HBA上的单个物理端口,创建预设数量个虚拟端口。

具体的,NPIV(N_Port Identifier Virtualization,端口虚拟化)技术具有成熟度高以及速度快等优点。

当然,除了NPIV技术外,还可以使用其他方式实现虚拟端口的创建,本发明实施例在此不做限定。

作为一种优选的实施例,对各个虚拟端口进行配置,以实现各个虚拟端口对于光纤通道的非易失性内存主机控制器接口规范FC-NVMe协议的支持包括:

对各个虚拟端口进行配置,以实现各个虚拟端口对于光纤通道的非易失性内存主机控制器接口规范FC-NVMe协议中的进程登陆PRLI以及NVMe连接服务的支持。

具体的,FC-NVMe协议中包括PRLI(Process Login,进程登陆)以及NVMe连接服务,各个虚拟端口均需要实现这些功能才能够实现数据通讯。

其中,NVMe连接服务具体还可以包括Create Association(创建关联)、Create IOconnection(创建IO连接)、Disconnect(切断连接)、NVMe_ACC(NVMe解码)及NVMe_RJT(NVMe编码)。

作为一种优选的实施例,为每个虚拟端口分配连接服务器以及NVMe存储系统所需的标识具体为:

为每个虚拟端口分配唯一的NVMe限定标识NQN以及端口号WWPN。

具体的,每一个虚拟端口具有其唯一的NQN(NVMe Qualified Name,限定标识),用以识别远程NVMe存储目标从而完成对上层fabric命令协议的对接,服务器可以通过其识别每一个虚拟端口,并且每一个NQN对应有一个WWPN(World Wide Port Number,端口号),NVMe存储系统通过其可以识别每一个虚拟端口传输的光纤信号,如此一来便可以通过虚拟端口实现服务器与NVMe存储系统之间的数据通信。

其中,每一个虚拟端口还可以具有WWNN(World Wide Node Number),不过在本发明实施例中,由于均位于一个服务器,因此每一个虚拟端口的WWNN可以为相同的。

作为一种优选的实施例,根据标识建立对应的各虚拟端口与NVMe存储系统之间的数据连接具体为:

响应于通过人机交互装置接收到的对于指定的虚拟端口的连接指令,根据指定的虚拟端口对应的标识建立指定的虚拟端口与NVMe存储系统之间的数据连接。

具体的,工作人员通过人机交互装置可以主动控制连接的建立过程,以便实现虚拟端口能否实现连接的最终监管,例如每控制一个虚拟端口连接之后便可以查看其是否连接成功,从而确保每一个虚拟端口与NVMe存储系统的连接并及时发现异常的情况。

其中,人机交互装置可以为多种类型,例如可以为键鼠以及显示器等,本发明实施例在此不做限定。

作为一种优选的实施例,响应于通过人机交互装置接收到的对于指定的虚拟端口的连接指令,根据指定的虚拟端口对应的标识建立指定的虚拟端口与NVMe存储系统之间的数据连接之后,该端口扩展方法还包括:

判断指定的虚拟端口与NVMe存储系统之间的数据连接是否建立成功;

若否,控制提示器提示失败情况。

具体的,考虑到在控制虚拟端口与NVMe存储系统连接的过程中发生连接失败的情况时,工作人员可能没有一种好的手段快捷的识别到连接失败的情况,从而降低了工作效率,因此本申请中可以在判定指定的虚拟端口与NVMe存储系统之间的数据连接未建立成功的情况下控制提示器提示失败情况,如此一来,工作人员通过提示器便可以在第一时间获取连接失败的情况并定位出该虚拟端口从而及时进行应对处理,提高了工作效率。

其中,提示的具体内容可以为多种,例如可以为:指定虚拟端口XXX连接失败,本发明实施例在此不做限定。

作为一种优选的实施例,为每个虚拟端口分配连接服务器以及NVMe存储系统所需的标识具体为:

从预设的备用标识列表中,为每个虚拟端口分配连接服务器以及NVMe存储系统所需的标识。

具体的,预先创建的备用标识列表可以在标识分配过程中快捷准确地提供待分配的标识,从而提升工作效率并提升标识的准确性,并且其中的每个标识都是唯一的。

当然,除了预设的备用标识列表外,还可以通过其他方式为每个虚拟端口分配连接服务器以及NVMe存储系统所需的标识,例如实时生成标识等,本发明实施例在此不做限定。

请参考图3,图3为本发明提供的一种端口扩展装置的结构示意图,该端口扩展装置包括:

创建模块31,用于基于与自身连接的主机总线适配器HBA上的单个物理端口,创建预设数量个虚拟端口;

动作模块32,用于对各个虚拟端口进行配置,以实现各个虚拟端口对于光纤通道的非易失性内存主机控制器接口规范FC-NVMe协议的支持;

分配模块33,用于为每个虚拟端口分配连接服务器以及NVMe存储系统所需的标识;

连接模块34,用于根据标识建立对应的各虚拟端口与NVMe存储系统之间的数据连接。

对于本发明实施例提供的端口扩展装置的介绍请参照前述的端口扩展方法的实施例,本发明实施例在此不再赘述。

请参考图4,图4为本发明提供的一种端口扩展设备的结构示意图,该端口扩展设备包括:

存储器41,用于存储计算机程序;

处理器42,用于执行计算机程序时实现如前述实施例中端口扩展方法的步骤。

对于本发明实施例提供的端口扩展设备的介绍请参照前述的端口扩展方法的实施例,本发明实施例在此不再赘述。

本发明还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如前述实施例中端口扩展方法的步骤。

对于本发明实施例提供的计算机可读存储介质的介绍请参照前述的端口扩展方法的实施例,本发明实施例在此不再赘述。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。还需要说明的是,在本说明书中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者设备中还存在另外的相同要素。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其他实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

完整详细技术资料下载
上一篇:石墨接头机器人自动装卡簧、装栓机
下一篇:容器镜像获取方法及设备

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!