Infiniband网络中IP地址漂移处理方法、装置、系统、存储介质和设备转让专利

申请号 : CN201811393604.1

文献号 : CN109495601B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 杨刚

申请人 : 北京谷数科技有限公司

摘要 :

本发明公开了一种Infiniband网络中IP地址漂移处理方法、装置、系统、存储介质和设备,包括:从Infiniband网络接收RDMA连接请求命令,以及IP地址漂移命令;根据IP地址漂移命令,从IP地址漂移参数中提取准备IP地址漂移的IP地址;设置一个标志,不再接收网络中的任何新的IO请求;处理完成所述IP地址连接上缓存的所有IO请求;断开RDMA连接,删除该IP地址。本申请提供的方案解决了Infiniband网络中IP地址漂移后逻辑链路和物理链路不同步的问题。

权利要求 :

1.一种Infiniband网络中IP地址漂移处理方法,包括:从Infiniband网络接收RDMA(远程直接数据存取)连接请求命令,以及IP地址漂移命令和参数;

根据IP地址漂移命令,从IP地址漂移参数中提取准备IP地址漂移的IP地址;

设置一个标志,表示不再接收Infiniband网络中的任何新的IO请求;

处理完成所述IP地址连接上缓存的所有IO请求;

断开RDMA连接,删除该IP地址。

2.如权利要求1所述的方法,其特征在于,所述RDMA连接采用NFS(网络文件系统)协议的RDMA协议进行连接。

3.一种Infiniband网络中IP地址漂移处理装置,包括:接收模块,用于从Infiniband网络接收RDMA连接请求命令,以及IP地址漂移命令;

提取模块,用于根据IP地址漂移命令,从IP地址漂移参数中提取准备IP地址漂移的IP地址;

设置模块,用于设置一个标志,表示不再接收Infiniband网络中的任何新的IO请求;

缓存处理模块,用于处理所述IP地址连接上缓存的所有IO请求;

执行模块,用于断开RDMA连接,删除该IP地址。

4.一种Infiniband网络中IP地址漂移处理系统,包括存储服务器、计算服务器和交换机,其中:所述存储服务器从Infiniband网络接收RDMA连接请求命令,以及IP地址漂移命令和参数;根据所述IP地址漂移命令,从所述IP地址漂移参数中提取准备IP地址漂移的IP地址;设置一个标志,表示不再接收所述Infiniband网络中的任何新的IO请求;处理完成所述IP地址连接上缓存的所有IO请求;断开所述RDMA连接,删除所述IP地址;

所述计算服务器,用于生成所述RDMA连接请求和所述IO请求;

所述交换机,用与传输所述计算服务器和所述存储服务器之间的数据;

所述存储服务器还用于存储数据,并接收所述IO请求,对数据进行读写操作。

5.如权利要求4所述的系统,其特征在于,所述计算服务器采用NFS协议与所述存储服务器上的文件系统连接。

6.如权利要求5所述的系统,其特征在于,所述计算服务器之间采用网络文件系统协议中的RDMA协议通过所述交换机连接。

7.如权利要求6所述的系统,其特征在于,所述计算服务器包括至少一块IB HCA卡(Infiniband主机通道适配器),所述IB HCA卡与所述交换机连接并传输数据。

8.如权利要求7所述的系统,其特征在于,所述存储服务器包括至少一块硬盘和至少一块IB HCA卡,所述硬盘作为文件系统用于存储数据,所述IB HCA卡与所述交换机连接并传输数据。

9.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行后,使得所述处理器执行如权利要求1至2中任一项所述的方法步骤。

10.一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如权利要求1至2中任一项所述的方法步骤。

说明书 :

Infiniband网络中IP地址漂移处理方法、装置、系统、存储介

质和设备

技术领域

[0001] 本发明涉及计算机存储领域,特别是涉及一种Infiniband网络中IP地址漂移处理方法、装置、系统、存储介质和设备。

背景技术

[0002] 网络附属存储(Network Attached Storage,NAS)集群是由多个节点构成的一种松散耦合的计算服务器结合,协同起来对外提供服务。其中IP地址漂移是高可用集群NAS中的必备的功能,具有此功能的集群NAS,能够在不中断主机业务的情况下,快速将故障端口上的业务迁移到其他同种类型的可用端口上,而用户无感知。当故障端口恢复工作后,又可重新接管之前的业务。
[0003] 在高性能集群NAS中一般使用的Infiniband网卡(IB卡)的远程直接数据存取(Remote Direct Memory Access,RDMA)作为业务通道,InfiniBand 是一种支持多并发链接的“转换线缆”技术,不是用于一般网络连接的,它的主要设计目的是针对服务器端的连接问题的。这样就会出现一个问题:
[0004] 基于Infiniband网络的集群NAS的ip地址漂移是根据IP的变化而自动切换业务网口,但是IB卡的RDMA并不依赖IP,依赖的是IB卡端口的全局唯一标识符(Globally Unique Identifier,GUID)。当业务IP变动,IB卡的连接并没有断开的情况,就会出现逻辑链路和物理链路不同步的情况,导致业务并不会自动进行切换。

发明内容

[0005] 本发明的目的是提供一种可以解决基于Infiniband网络的集群NAS使用 IB卡的RDMA作为业务通道时无法自动进行IP地址漂移问题的方法,可以让集群NAS使用IB卡的RDMA大幅提升性能的同时又可以保证集群NAS 的高可用性,在出现故障时可以自动根据IP地址进行业务口切换。
[0006] 一种Infiniband网络中IP地址漂移处理方法,包括:
[0007] 从Infiniband网络接收RDMA连接请求命令,以及IP地址漂移命令;
[0008] 根据IP地址漂移命令,从IP地址漂移参数中提取准备IP地址漂移的 IP地址;
[0009] 设置一个标志,表示不再接收Infiniband网络中的任何新的IO请求;
[0010] 处理完成所述IP地址连接上缓存的所有IO请求;
[0011] 断开RDMA连接,删除该IP地址。
[0012] 一种IP地址漂移处理装置,包括:
[0013] 接收模块,用于从Infiniband网络接收RDMA连接请求命令,以及IP 地址漂移命令;
[0014] 提取模块,用于根据IP地址漂移命令,从IP地址漂移参数中提取准备 IP地址漂移的IP地址;
[0015] 设置模块,用于设置一个标志,表示不再接收Infiniband网络中的任何新的IO请求;
[0016] 缓存处理模块,用于处理所述IP地址连接上缓存的所有IO请求;
[0017] 执行模块,用于断开RDMA连接,删除该IP地址。
[0018] 一种Infiniband网络中IP地址漂移处理系统,包括存储服务器、计算服务器和交换机:
[0019] 所述存储服务器从Infiniband网络接收RDMA连接请求命令,以及IP 地址漂移命令和参数;根据所述IP地址漂移命令,从所述IP地址漂移参数中提取准备IP地址漂移的IP地址;设置一个标志,表示不再接收所述 Infiniband网络中的任何新的IO请求;处理完成所述IP地址连接上缓存的所有IO请求;断开所述RDMA连接,删除所述IP地址。
[0020] 所述计算服务器,用于生成所述RDMA连接请求和所述IO请求;
[0021] 所述交换机,用与传输所述计算服务器和所述存储服务器之间的数据。
[0022] 所述存储服务器还用于存储数据,并接收所述IO请求,对数据进行读写操作。
[0023] 进一步地,所述计算服务器采用NFS协议与所述存储服务器上的文件系统连接。
[0024] 进一步地,所述计算服务器之间采用网络文件系统协议中的RDMA协议通过所述交换机连接。
[0025] 进一步地,所述计算服务器包括至少一块IB HCA卡,所述IB HCA卡与所述交换机连接并传输数据。
[0026] 进一步地,所述存储服务器包括至少一块硬盘和至少一块IB HCA卡,所述硬盘作为文件系统用于存储数据,所述IB HCA卡与所述交换机连接并传输数据;
[0027] 一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行后,使得所述处理器执行以下步骤:
[0028] 从Infiniband网络接收RDMA连接请求命令,以及IP地址漂移命令;
[0029] 根据IP地址漂移命令,从IP地址漂移参数中提取准备IP地址漂移的 IP地址;
[0030] 设置一个标志,表示不再接收Infiniband网络中的任何新的IO请求;
[0031] 处理完成所述IP地址连接上缓存的所有IO请求;
[0032] 断开RDMA连接,删除该IP地址。
[0033] 一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行以下步骤:
[0034] 从Infiniband网络接收RDMA连接请求命令,以及IP地址漂移命令;
[0035] 根据IP地址漂移命令,从IP地址漂移参数中提取准备IP地址漂移的 IP地址;
[0036] 设置一个标志,表示不再接收Infiniband网络中的任何新的IO请求;
[0037] 处理完成所述IP地址连接上缓存的所有IO请求;
[0038] 断开RDMA连接,删除该IP地址。
[0039] 上述Infiniband网络中IP地址漂移处理方法、装置、系统、存储介质和设备,当接收到IP地址漂移命令时,从IP地址漂移参数中提取准备IP地址漂移的IP地址,通过设置标志来拒绝网络中的任何新的IO请求,等待该IP 地址的连接上缓存的所有请求处理完,断开RDMA连接,删除该IP地址。实现了业务IP变动时,IB卡的连接自动断开,进而实现了业务自动切换。

附图说明

[0040] 图1为本发明的系统的物理拓扑图;
[0041] 图2为本发明的数据传输架构示意图;
[0042] 图3为本发明的数据传输流程图;
[0043] 图4为本发明的Infiniband网络中IP地址漂移处理方法流程图;
[0044] 图5为本发明的Infiniband网络中IP地址漂移处理装置组成结构示意图。

具体实施方式

[0045] 下面结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所提供的实施例仅仅用于解释本发明,并不用于限定本发明。另外,以下所提供的实施例是用于实施本发明的部分实施例,而非提供实施本发明的全部实施例,在不冲突的情况下,本发明实施例记载的技术方案可以任意组合的方式实施。
[0046] 需要说明的是,本发明实施例中,术语“包括”、“包含”或者其任何变体意在涵盖非排他性的包含,从而使得包括一系列要素的方法或者装置不仅包括所明确记载的要素,而且还包括没有明确列出的其他要素,或者是还包括为实施方法或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的方法或者装置中还存在另外的相关要素(例如方法中的步骤或者装置中的模块,例如的模块可以是部分电路、部分处理器、部分节点、部分程序或软件等等)。
[0047] 例如,本发明实施例提供的Infiniband网络中IP地址漂移处理方法包含了一系列的步骤,但是本发明实施例提供的Infiniband网络中IP地址漂移处理方法不限于所记载的步骤,同样地,本发明实施例提供的Infiniband网络中IP地址漂移处理装置包含了一系列的模块,但是本发明实施例记载的装置不限于包括所明确记载的模块。
[0048] 对本发明实施例进行详细说明之前,对本发明实施例中涉及的名词和术语进行说明,本发明实施例中涉及的名词和术语适用于如下的解释。
[0049] 1)无限带宽技术(Infiniband),是一种支持多并发链接的“转换线缆”技术,不是用于一般网络连接的,它的主要设计目的是针对服务器端的连接问题。通过InfiniBand网络传送数据时,数据是以数据包方式传输,这些数据包会组合成一条条信息。这些信息的操作方式可能是远程直接内存存取的读写程序,或者是通过信道接受发送的信息,或者是多点传送传输。
[0050] 2)网络附属存储(Network Attached Storage,NAS)集群,连接在网络上,具备资料存储功能的装置,因此也称为“网络存储器”。它是一种专用数据存储服务器。它以数据为中心,将存储设备与服务器彻底分离,集中管理数据,从而释放带宽、提高性能、降低总拥有成本、保护投资。
[0051] 3)远程直接数据存取(RDMA),就是为了解决网络传输中服务器端数据处理的延迟而产生的。RDMA通过网络把资料直接传入计算机的存储区,将数据从一个系统快速移动到远程系统存储器中,而不对操作系统造成任何影响,这样就不需要用到多少计算机的处理功能。它消除了外部存储器复制和上下文切换的开销,因而能解放内存带宽和CPU周期用于改进应用系统性能。
[0052] 4)IP地址漂移,利用共享的“虚拟”IP地址,当本地进行节点切换与路由切换,使另一端的发送和收方端没有感觉到本地节点地址有变化,保证了通信的连续性,起到断点保护的作用。
[0053] 5)网络文件系统(NFS),它允许网络中的计算机之间通过TCP/IP网络共享资源。
[0054] 6)Infiniband主机通道适配器(IB HCA卡),Infiniband接口卡的一种。
[0055] 图1为一个实施例中Infiniband网络中IP地址漂移处理方法的应用环境图。参照图1,该Infiniband网络中IP地址漂移处理方法应用于Infiniband 网络中IP地址漂移处理系统。该系统包括包括计算服务器,存储服务器和交换机。计算服务器用于处理存储服务器经所述交换机输出的数据。存储服务器用于从Infiniband网络接收RDMA连接请求命令,以及IP地址漂移命令和参数;根据所述IP地址漂移命令,从所述IP地址漂移参数中提取准备 IP地址漂移的IP地址;设置一个标志,表示不再接收所述Infiniband网络中的任何新的IO请求;处理完成所述IP地址连接上缓存的所有IO请求;断开所述RDMA连接,删除所述IP地址。交换机用于传输计算服务器和存储服务器之间的数据。存储服务器还用于存储和传输所述计算服务器需处理的数据。
[0056] 在一实施例中,为了保证集群NAS的高可靠性,存储服务器的数量至少为2台以上。为了降低系统的运维成本和部署成本,计算服务器通常采用 X86架构的PC服务器。
[0057] 图2为数据传输架构示意图。参照图2,在一实施例中,计算服务器包括至少一块IB HCA卡,所述IB HCA卡与交换机连接并传输数据;
[0058] 在一实施例中,存储服务器包括至少一块硬盘和至少一块IB HCA卡,硬盘作为文件系统用于存储数据,IB HCA卡与交换机连接并传输数据;
[0059] 在一实施例中,交换机采用Infiniband交换机。
[0060] 在一实施例中,计算服务器采用NFS协议(Network File System)与存储服务器上的文件系统连接。
[0061] 在一实施例中,计算服务器之间采用NFS的RDMA协议通过Infiniband 交换机连接。
[0062] 本领域的技术人员可以理解,计算服务器、存储服务器和交换机可以是位于集群NAS环境中。在集群NAS环境中,正确的IP地址漂移根据IP的变化而自动切换业务网口,应该是软件层和物理层一起断,然后到对端去连接,但是Infiniband网络中IP地址漂移后,因为IB卡的RDMA并不依赖IP,依赖的是IB卡端口的全局唯一标识符(Globally Unique Identifier,GUID),当业务IP变动,IB卡的连接并没有断开的情况,就会出现逻辑链路(软件层)和物理链路(物理层)不同步的情况,导致业务并不会自动进行切换,也就是IB卡无法支持IP地址漂移。
[0063] 作为实现本发明实施例Infiniband网络中IP地址漂移处理方法的一个可选实施例,图3为本发明实施例提供的Infiniband网络中IP地址漂移处理方法的一个可选的流程示意图,以下进一步说明。
[0064] 步骤101:请求连接。
[0065] 在所述存储服务器部署Prodigy集群NAS系统,利用存储池技术将硬盘格式化为zfs文件系统,并通过NFS将该文件系统共享出去,所述计算服务器通过Infiniband交换机,并采用NFS的rdma协议向所述存储服务器发送 mount请求消息,交换数据。
[0066] 步骤102:建立连接。
[0067] 所述计算服务器采用NFS协议的rdma协议与所述存储服务器建立连接。
[0068] 步骤103:进行读写业务。
[0069] 所述计算服务器循环对所述存储服务器的目录进行文件创建,删除,读写,修改,移动等操作。
[0070] 步骤104:手动切换存储池。
[0071] 在所述计算服务器业务进行的同时,所述存储服务器通过集群NAS系统的命令zpool release pool,手动切换存储池,触发IP地址漂移。
[0072] 步骤105:断开IB的RDMA连接,详细流程见图4。
[0073] S1,接收RDMA连接请求命令,以及IP地址漂移命令;
[0074] S2,根据IP地址漂移命令,从IP地址漂移参数中提取准备IP地址漂移的IP地址;
[0075] S3,设置一个标志,表示不再接收Infiniband网络中的任何新的IO请求;
[0076] S4,处理完成所述IP地址连接上缓存的所有IO请求;
[0077] S5,断开RDMA连接,删除该IP地址。计算服务器重新发起连接请求时,由于连接请求的目的IP地址在该存储服务器中并不存在,会拒绝所述计算服务器的连接请求。
[0078] 步骤106:IP地址漂移。
[0079] 存储服务器执行zpool release pool后,存储池会自动切换到另外一个存储服务器上,同时集群的IP地址也会跟着漂移到另外一个存储服务器上。
[0080] 步骤107:重新建立连接.
[0081] 计算服务器发现RDMA连接断开后,会主动重新根据mount时的IP地址建立nfs的连接,而此时存储池的IP地址已经漂移到另外一个存储服务器上了,另外一个存储服务器接收到所述计算服务器的重新连接请求后,发现连接请求的目的IP地址在本地存在,则允许接收连接请求,成功和所述主机建立新的连接。
[0082] 步骤108:业务恢复.
[0083] 所述计算服务器和另外一个存储服务器成功连接后,并不知道连接的存储服务器已经发生了变化,所述主机认为只是连接断开了一会儿然后又重新连接上了,整个过程对所述主机节点透明,连接恢复后,所述主机节点可以正常的进行读写业务。
[0084] 应用本发明上述实施例,具有以下有益效果:
[0085] 解决了Infiniband网络中IP地址漂移后逻辑链路和物理链路不同步的问题,连接被认为只是短暂断开了,连接恢复后,可以正常的进行读写业务,让集群NAS使用IB卡的RDMA大幅提升性能的同时又可以保证集群NAS 的高可用性,在出现故障时可以自动根据IP地址进行业务口切换。
[0086] 作为实现本发明实施例的一个可选实施例,本发明实施例Infiniband网络中IP地址漂移处理方法包括:
[0087] 1)请求连接
[0088] 在所述存储服务器DFA部署Prodigy集群NAS系统,利用存储池技术将硬盘格式化为zfs文件系统/poola/fs,并通过NFS将该文件系统共享出去,所述计算服务器通过Infiniband交换机,并采用NFS的rdma协议向所述存储服务器发送mount请求消息,交换数据;
[0089] 2)建立连接
[0090] 所述计算服务器采用NFS协议的rdma协议与所述存储服务器建立连接;具体命令如下:mount-t nfs-o vers=3,proto=rdma,port=20049 192.168.36.120:/poola/fs/mnt/test
[0091] 3)进行读写业务
[0092] 所述计算服务器循环对所述存储服务器的目录/mnt/test进行文件创建,删除,读写,修改,移动等操作。
[0093] 4)手动切换存储池
[0094] 在所述计算服务器业务进行的同时,所述存储服务器DFA通过集群 NAS系统的命令zpool release poola,手动切换存储池;
[0095] 5)断开IB的RDMA连接。
[0096] 所述存储服务器DFA在切换存储池前会通过IOCTL的方式下发一个断开RDMA连接的命令给内核的RPC的RDMA模块,并将准备IP地址漂移的IP地址“192.168.20.120”作为参数传输给RPC的RDMA模块,RPC的 RDMA模块接收到断开RDMA连接的命令和IP地址后,将会设置一个标志,表示“192.168.20.120”这个接口不再接收所述计算服务器的任何请求,RPC 模块拒绝所述计算服务器的发往“192.168.20.120”这个接口的所有IO请求。 RPC模块等待“192.168.20.120”的连接上缓存的所有请求处理完,再主动的断开RDMA连接,同时从该存储服务器DFA中删除该IP地址。所述计算服务器重新发起连接请求时,所述存储服务器DFA判断连接请求的目的 IP“192.168.20.120”地址是否存在该存储服务器中,由于IP地址“192.168.20.120”在存储服务器DFA已经被删除,则拒绝所述计算服务器的连接请求。
[0097] 6)IP地址漂移
[0098] 所述存储服务器DFA执行zpool release poola后,poola存储池会自动切换到另外一个存储服务器DFB上,同时集群的IP地址“192.168.20.120”也会跟着漂移到另外一个存储服务器DFB上。
[0099] 7)重新建立连接
[0100] 所述计算服务器发现RDMA连接断开后,会主动重新根据mount时的 IP地址“192.168.20.120”建立nfs的连接,而此时存储池的IP地址已经漂移到另外一个存储服务器DFB上了,存储服务器DFB接收到所述计算服务器的重新连接请求后,发现连接请求的目的IP地址在本地存在,则允许接收连接请求,成功和所述主机建立新的连接。
[0101] 8)业务恢复
[0102] 所述计算服务器和另外一个存储服务器DFB成功连接后,并不知道连接的存储服务器已经发生了变化,所述主机认为只是连接断开了一会儿然后又重新连接上了,整个过程对所述主机节点透明,连接恢复后,所述主机节点可以正常的进行读写业务。
[0103] 本发明实施例还提供了一种Infiniband网络中IP地址漂移处理装置,图 5所示为本发明实施例提供的的组成结构示意图,参见图5,本发明实施例提供的Infiniband网络中IP地址漂移处理装置包括:
[0104] 接收模块11,用于从Infiniband网络接收RDMA连接请求命令,以及 IP地址漂移命令;
[0105] 提取模块12,用于根据IP地址漂移命令,从IP地址漂移参数中提取准备IP地址漂移的IP地址;
[0106] 设置模块13,用于设置一个标志,表示不再接收Infiniband网络中的任何新的IO请求;
[0107] 缓存处理模块14,用于处理所述IP地址连接上缓存的所有IO请求;
[0108] 执行模块15,用于断开RDMA连接,删除该IP地址。
[0109] 本发明实施例还提供一种存储有计算机程序的计算机可读存储介质,例如存储有计算机程序的存储器,所述计算机程序被处理器执行时实现以下步骤:从Infiniband网络接收RDMA连接请求命令,以及IP地址漂移命令;根据IP地址漂移命令,从IP地址漂移参数中提取准备IP地址漂移的IP地址;设置一个标志,表示不再接收Infiniband网络中的任何新的IO请求;处理完成所述IP地址连接上缓存的所有IO请求;断开RDMA连接,删除该IP地址。
[0110] 上述计算机可读存储介质可以是只读内存(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、只读光盘(Compact Disc Read-Only Memory,CD-ROM)、磁带、软盘和光数据存储设备等。
[0111] 本发明实施例还提供一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,计算机程序被所述处理器执行时,使得处理器执行以下步骤:从Infiniband网络接收RDMA连接请求命令,以及IP地址漂移命令;根据IP地址漂移命令,从IP地址漂移参数中提取准备IP地址漂移的IP地址;设置一个标志,表示不再接收Infiniband网络中的任何新的IO请求;处理完成所述IP地址连接上缓存的所有IO请求;断开RDMA连接,删除该IP地址。
[0112] 上述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围内。