一种提高网络高可用性的方法及装置与流程

文档序号:20438129发布日期:2020-04-17 22:12阅读:315来源:国知局
一种提高网络高可用性的方法及装置与流程

本发明涉及云数据技术领域。本发明进一步涉及一种提高网络高可用性的方法及装置。



背景技术:

随着近几年来云的快速发展,越来越多的用户把部分甚至关键业务或者应用部署到公有云或者私有云上。随着用户数量及业务的快速增长,云服务的提供商深刻体会到了提高云产品的可用性对用户发展和留存的重要性。而面向用户的产品sla(服务水平协议,servicelevelagreement)的实现效果依赖于云服务的各个环节,基础网络是所有产品依赖的一个重要环境,因此如何更有效的提升网络的高可用性对于整体提升产品的sla有着重要作用。

为了实现网络高可用,尤其是叶脊(leaf-spine)网络的高可用,参考图1,目前的主流四种服务器-交换机连接方案:

1.单网卡-单交换机,tor交换机(柜顶交换机)下的各节点均为单点故障点;

2.双网卡-单交换机,服务器双网卡做lacp(链路聚合控制协议,linkaggregationcontrolprotocol)捆绑,解决了服务器的单点故障,但是tor仍为单点故障点;

3.双网卡-交换机堆叠,服务器双网卡做lacp捆绑连接到2台tor交换机上,2台tor交换机需要配置成同厂家同系列的交换机堆叠部署,网络节点全部冗余;

4.双网卡-交换机去堆叠,服务器双网卡做lacp捆绑连接到2台tor交换机上,2台tor交换机需要配置成同厂家交换机进行m-lag(多链路聚合,multi-linkaggregation)工作,网络节点全部冗余。

其中,上述四种方式中的4.双网卡-交换机去堆叠方式具备相对较高的高可用性,但受限于堆叠或者m-lag的特殊要求而需要增添相应的设备,增加了成本且相应地降低了设备的利用率。

因此,需要提出一种更有效地提高网络高可用性的方案,尤其是针对双网卡-交换机去堆叠方式,打破目前服务器与交换机主流连接方案中服务器双网卡连接堆叠交换机和服务器双网卡连接m-lag去堆叠接交换机这两种方案中必须使用同厂商设备的限制,从而实现不同厂商设备之间的异构,进而提高现有设备的利用率及网络的高可靠性。



技术实现要素:

一方面,本发明基于上述目的提出了一种提高网络高可用性的方法,其中该方法包括以下步骤:

服务器通过具有等价路由的两个网卡将相应的arp请求报文分别周期性发送给两个柜顶交换机;

两个柜顶交换机分别根据arp请求报文生成服务器的主机路由并上报给脊交换机;

脊交换机根据主机路由寻径到服务器并通过两个柜顶交换机和两个网卡传输上行流量和/或下行流量;

响应于两个网卡之一出现故障,服务器仅通过另一个网卡及相应的柜顶交换机传输上行流量;

响应于两个柜顶交换机之一超过阈值时间未接收到arp请求报文,通知脊交换机仅通过另一个柜顶交换机及相应的网卡传输下行流量。

根据本发明的提高网络高可用性的方法的实施例,其中服务器通过具有等价路由的两个网卡将相应的arp请求报文分别周期性发送给两个柜顶交换机进一步包括:

为两个网卡配置具有相同掩码的ip地址的等价路由;

服务器根据等价路由通过第一网卡向与第一网卡直联的第一柜顶交换机发送相应的arp请求报文,并且根据等价路由通过第二网卡向与第二网卡直联的第二柜顶交换机发送相应的arp请求报文。

根据本发明的提高网络高可用性的方法的实施例,其中两个柜顶交换机根据arp请求报文生成服务器的主机路由并上报给脊交换机进一步包括:

两个柜顶交换机接收并解析arp请求报文,根据解析到的等价路由相关的信息生成寻径到服务器的主机路由以及关于两个网卡的相应的arp表项;

两个柜顶交换机将主机路由通过外部边界网关协议上报给脊交换机。

根据本发明的提高网络高可用性的方法的实施例,其中脊交换机根据主机路由寻径到服务器并通过两个柜顶交换机和两个网卡传输上行流量和/或下行流量进一步包括:

脊交换机根据主机路由寻径到服务器;

在脊交换机和服务器之间建立经第一柜顶交换机和第一网卡以及经第二柜顶交换机和第二网卡的两条链路,两条链路具有等价路由;

脊交换机与服务器之间根据主机路由通过两条链路传输上行流量和/或下行流量。

根据本发明的提高网络高可用性的方法的实施例,其中响应于两个网卡之一出现故障,服务器仅通过另一个网卡及相应的柜顶交换机传输上行流量进一步包括:

在服务器中配置并运行以太网链路检测守护进程;

通过以太网链路检测守护进程监控到的两个网卡的物理连接状态判断两个网卡是否出现故障。

根据本发明的提高网络高可用性的方法的实施例,其中响应于两个网卡之一出现故障,服务器仅通过另一个网卡及相应的柜顶交换机传输上行流量进一步包括:

响应于两个网卡之一出现故障,从服务器中删除故障的网卡的路由信息;

服务器根据另一网卡的路由信息通过另一个网卡及与另一个网卡直联的柜顶交换机向脊交换机传输上行流量。

根据本发明的提高网络高可用性的方法的实施例,其中响应于两个柜顶交换机之一超过阈值时间未接收到arp请求报文,通知脊交换机仅通过另一个柜顶交换机及相应的网卡传输下行流量进一步包括:

响应于两个柜顶交换机之一超过阈值时间未接收到与其直联的网卡的arp请求报文,判断相应的链路异常;

从异常链路的柜顶交换机中删除主机路由以及与其直联的网卡的arp表项;

异常链路的柜顶交换机通过外部边界网关协议将异常信息通知脊交换机。

根据本发明的提高网络高可用性的方法的实施例,其中响应于两个柜顶交换机之一超过阈值时间未接收到arp请求报文,通知脊交换机仅通过另一个柜顶交换机及相应的网卡传输下行流量进一步包括:

脊交换机根据接收到的异常信息删除脊交换机和服务器之间的异常链路,并通过另一链路向服务器传输下行流量。

根据本发明的提高网络高可用性的方法的实施例,其中该方法进一步包括:

响应于两个网卡之一从故障中恢复,从服务器通过两个网卡将相应的arp请求报文分别周期性发送给两个柜顶交换机。

另一方面,本发明还提出了一种提高网络高可用性的装置,其中该装置包括:

至少一个处理器;和

存储器,该存储器存储有处理器可运行的程序指令,该程序指令在被处理器运行时执行前述实施例任一项的方法的步骤。

采用上述技术方案,本发明至少具有如下有益效果:服务器双网卡上联两台交换机,利用现网中已有的交换机开启arp转路由和快速arp老化功能,同时服务器双网卡配置等价路由,配置相关路由指向2台独立tor交换机,建立关于相同的主机路由的两条实际的数据链路,根据网卡状态及tor交换机接收到的信号切换传输上行流量和下行流量的链路,就可以实现网路节点的冗余,结构简单、配置简洁、稳定性高,无需受限于目前服务器与交换机主流连接方案中堆叠或者m-lag的特殊要求而购置新设备,提高了设备的利用率和网络的可靠性。

本发明提供了实施例的各方面,不应当用于限制本发明的保护范围。根据在此描述的技术可设想到其它实施方式,这对于本领域普通技术人员来说在研究以下附图和具体实施方式后将是显而易见的,并且这些实施方式意图被包含在本申请的范围内。

下面参考附图更详细地解释和描述了本发明的实施例,但它们不应理解为对于本发明的限制。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对现有技术和实施例描述中所需要使用的附图作简单地介绍,附图中的部件不一定按比例绘制,并且可以省略相关的元件,或者在一些情况下比例可能已经被放大,以便强调和清楚地示出本文描述的新颖特征。另外,如本领域中已知的,结构顺序可以被不同地布置。

图1示出了现有的实现网络高可用主流服务器-交换机连接的示意图;

图2示出了根据本发明的提高网络高可用性的方法的实施例的示意性框图;

图3示出了根据本发明的服务器-交换机连接的示意图。

具体实施方式

虽然本发明可以以各种形式实施,但是在附图中示出并且在下文中将描述一些示例性和非限制性实施例,但应该理解的是,本公开将被认为是本发明的示例并不意图将本发明限制于所说明的具体实施例。

在下文就本发明的实施例的说明中需要注意的是,其中提到的步骤的编号在没有特殊说明的情况下,仅用于便捷明确地指示该步骤,并不限定所述步骤的顺序。

图2示出了根据本发明的提高网络高可用性的方法的实施例的示意性框图。在如图2所示的实施例中,该方法至少包括以下步骤:

s1:服务器通过具有等价路由的两个网卡将相应的arp请求报文分别周期性发送给两个柜顶交换机;

s2:两个柜顶交换机分别根据arp请求报文生成服务器的主机路由并上报给脊交换机;

s3:脊交换机根据主机路由寻径到服务器并通过两个柜顶交换机和两个网卡传输上行流量和/或下行流量;

s4:响应于两个网卡之一出现故障,服务器仅通过另一个网卡及相应的柜顶交换机传输上行流量;

s5:响应于两个柜顶交换机之一超过阈值时间未接收到arp请求报文,通知脊交换机仅通过另一个柜顶交换机及相应的网卡传输下行流量。

首先,为了执行本发明范围内的实施例的方法,需要在交换机侧和服务器侧分别部署相关配置,包括:

交换机侧配置:

1、为两台tor交换机配置相同或者不同的ip均可;

2、启用arp代理功能;

3、启用arp转主机路由功能;

4、配置arp超时阈值时间以便在服务器不响应arp时快速撤回主机路由,例如配置超时阈值时间为5秒等;

5、2台tor(柜顶)交换机和上层spine(脊)交换机均建立ebgp(外部边界网关协议,externalbordergatewayprotocol)邻居。

服务器侧配置:

1、服务器的系统版本需要内核版本支持l4hash(哈希)方式ecmp(等价路由,equal-costmultipathrouting);

2、服务器的两个网卡配置相同的32位掩码的ip地址,保证对于上层节点来说到达此服务器的路由路径完全等价;

3、配置默认等价路由,同时指向两个网卡;

4、配置arping命令到默认启动中,保证网卡up后,两个网卡分别发送arp报文让交换机学习到arp表项,加快收敛。

在此基础上,参考图3的根据本发明的服务器-交换机连接的示意图,根据本发明的方法的实施例可执行为:首先步骤s1从服务器10通过具有等价路由的两个网卡12、14将相应的arp请求报文分别周期性发送给两个柜顶交换机22、24。步骤s2在两个柜顶交换机22、24根据arp请求报文生成服务器10的主机路由并上报给脊交换机30。也就是说,该主机路由是针对服务器10的主机路由,脊交换机30利用该主机路由可以直接寻径到该服务器而不需针对两个柜顶交换机22、24或两个网卡12、14进行处理,换句话说,对于上层节点即上层的脊交换机30来说,下层节点即下层的两个柜顶交换机22、24或两个网卡12、14是无感的,脊交换机30只需知道其要对接的服务器10是谁,而不需明白路径为何。因此,步骤s3从脊交换机30根据主机路由寻径到服务器10并通过两个柜顶交换机22、24和两个网卡12、14传输上行流量和/或下行流量。上行流量尤其指从服务器10向脊交换机30上传的数据流量,下行流量尤其指从脊交换机30向服务器10下发的数据流量。在网络中各级节点均正常运行的情况下,网络中的数据如上所述地在服务器和交换机之间传输。当节点出现故障时,为了保证网络的高可用,需要执行相应地冗余保护机制,其中当服务器10的两个网卡之一12或14出现故障时,步骤s4中服务器10仅通过另一个网卡14或12及相应的柜顶交换机24或22传输上行流量,即服务器不再通过两个柜顶交换机22、24和两个网卡12、14传输上行流量,而是主动停止故障网卡12或14的工作,而仅使用另一个网卡14或12及相应的柜顶交换机24或22。另一方面,当两个柜顶交换机之一22或24超过阈值时间未接收到arp请求报文,说明相应的数据链路上出现了故障,无法正常传输数据,因而步骤s5发现故障的柜顶交换机22或24通知脊交换机30仅通过另一个柜顶交换机24或22及相应的网卡14或12传输下行流量。至此,在不再受限于交换机堆叠或者m-lag的特殊要求的情况下,两个柜顶交换机22、24和两个网卡12、14互为冗余以保证网络的高可用性。由此可以完成服务器双网卡双上行与两台tor交换机的连接,不需要修改服务器linux内核,服务器侧支持2层方式或bgp(边界网关协议,bordergatewayprotocol)路由方式接入网络。两台tor交换机完全独立,异构的交换机也避免了单一厂商的风险,提高了网络侧的稳定性。

在本发明的提高网络高可用性的方法的一些实施例中,步骤s1服务器通过具有等价路由的两个网卡将相应的arp请求报文分别周期性发送给两个柜顶交换机进一步包括:

s11:为两个网卡配置具有相同掩码的ip地址的等价路由;

s12:服务器根据等价路由通过第一网卡向与第一网卡直联的第一柜顶交换机发送相应的arp请求报文,并且根据等价路由通过第二网卡向与第二网卡直联的第二柜顶交换机发送相应的arp请求报文。

具体地说,步骤s1为服务器10的两个网卡12、14配置具有相同掩码的ip地址的等价路由,例如相同的32位掩码的ip地址,保证对于上层节点即脊交换机30来说到达此服务器10的路由路径完全等价。另外,由于在联接上来说,第一网卡12与第一柜顶交换机22直联,第二网卡22与第二柜顶交换机24直联,因此服务器10的网卡12、14启动后,服务器10会根据配置的等价路由同时向与两个网卡12、14分别直联的柜顶交换机22、24发送arp请求报文,即步骤s12从服务器10根据等价路由通过第一网卡12向与第一网卡12直联的第一柜顶交换机22发送相应的arp请求报文,并且从服务器10根据等价路由通过第二网卡14向与第二网卡14直联的第二柜顶交换机24发送相应的arp请求报文。

在本发明的提高网络高可用性的方法的一些实施例中,步骤s2两个柜顶交换机根据arp请求报文生成服务器的主机路由并上报给脊交换机进一步包括:

s21:两个柜顶交换机接收并解析arp请求报文,根据解析到的等价路由相关的信息生成寻径到服务器的主机路由以及关于两个网卡的相应的arp表项;

s22:两个柜顶交换机将主机路由通过外部边界网关协议上报给脊交换机。

服务器10上联的tor柜顶交换机22、24在收到服务器10发送的arp请求报文后,进行arp学习,即步骤s21两个柜顶交换机22、24接收并解析arp请求报文,同时根据解析到的等价路由相关的信息生成寻径到服务器10的主机路由以及关于两个网卡12、14的相应的arp表项。随后步骤s22两个柜顶交换机22、24将主机路由通过ebgp外部边界网关协议上报给脊交换机30,即两个tor柜顶交换机22、24将步骤s21生成的寻径到服务器10的主机路由通过ebgp通告到上层spine脊交换机30中。

在本发明的提高网络高可用性的方法的一些实施例中,步骤s3脊交换机根据主机路由寻径到服务器并通过两个柜顶交换机和两个网卡传输上行流量和/或下行流量进一步包括:

s31:脊交换机根据主机路由寻径到服务器;

s32:在脊交换机和服务器之间建立经第一柜顶交换机和第一网卡以及经第二柜顶交换机和第二网卡的两条链路,两条链路具有等价路由;

s33:脊交换机与服务器之间根据主机路由通过两条链路传输上行流量和/或下行流量。

具体地,在产生需要传输的数据流量时,步骤s31脊交换机30根据主机路由寻径到服务器10,随后步骤s32自发的在脊交换机30和服务器10之间建立经第一柜顶交换机22和第一网卡12以及经第二柜顶交换机24和第二网卡14的两条链路,且这两条链路具有等价路由,即上层spine交换机会在本机中生成两条ecmp的等价路由。基于此,步骤s33脊交换机30与服务器10之间根据主机路由通过两条链路传输上行流量和/或下行流量,即从spine脊交换机30到服务器10的流量,通过ecmp的两条链路,经由两个柜顶交换机22、24分别从两个网卡12、14进入服务器10。

在本发明的提高网络高可用性的方法的一些实施例中,步骤s4响应于两个网卡之一出现故障,服务器仅通过另一个网卡及相应的柜顶交换机传输上行流量进一步包括:

s41:在服务器中配置并运行以太网链路检测守护进程;

s42:通过以太网链路检测守护进程监控到的两个网卡的物理连接状态判断两个网卡是否出现故障。

在这些实施例中,在服务器侧还进行了进一步的配置,即配置并运行以太网链路检测守护进程来检测网口的状态,监控物理连接,优选地以ifplugd进程作为守护进程。当物理连接发生up/down状态改变时,能及时执行相应arpping和路由修改操作。也就是说,服务器10中以太网链路检测守护进程在后台运行,实时监控两个网卡12、14的链路状态。通过以太网链路检测守护进程监控到的两个网卡12、14的物理连接状态判断两个网卡12、14是否出现故障。

在本发明的提高网络高可用性的方法的一些实施例中,步骤s4响应于两个网卡之一出现故障,服务器仅通过另一个网卡及相应的柜顶交换机传输上行流量进一步包括:

s43:响应于两个网卡之一出现故障,从服务器中删除故障的网卡的路由信息;

s44:服务器根据另一网卡的路由信息通过另一个网卡及与另一个网卡直联的柜顶交换机向脊交换机传输上行流量。

在这些实施例中当服务器10的两个网卡之一12或14出现故障时,服务器10主动停止故障网卡12或14的工作,即步骤s43从服务器10中删除故障的网卡12或14的路由信息。并且服务器10将另一个网卡14或12及相应的柜顶交换机24或22用于上行的数据流量传输,即步骤s44服务器10根据另一网卡14或12的路由信息通过另一个网卡14或12及与另一个网卡14或12直联的柜顶交换机24或22向脊交换机30传输上行流量。

在本发明的提高网络高可用性的方法的一些实施例中,步骤s5响应于两个柜顶交换机之一超过阈值时间未接收到arp请求报文,通知脊交换机仅通过另一个柜顶交换机及相应的网卡传输下行流量进一步包括:

s51:响应于两个柜顶交换机之一超过阈值时间未接收到与其直联的网卡的arp请求报文,判断相应的链路异常;

s52:从异常链路的柜顶交换机中删除主机路由以及与其直联的网卡的arp表项;

s53:异常链路的柜顶交换机通过外部边界网关协议将异常信息通知脊交换机。

从柜顶交换机22、24的角度来说,当两个柜顶交换机之一22或24超过阈值时间(例如5秒)未接收到arp请求报文,步骤s51判断相应的数据链路上出现了异常,例如相应的网卡12或14故障等,无法正常传输数据。因而步骤s52从异常链路的柜顶交换机22或24中删除主机路由以及与该柜顶交换机22或24直联的网卡12或14的arp表项,即停止该异常链路。然后步骤s53异常链路的柜顶交换机22或24通过外部边界网关协议ebpg将异常信息通知脊交换机30,以便脊交换机30仅通过另一条链路即另一个柜顶交换机24或22及相应的网卡14或12传输下行流量。

在本发明的提高网络高可用性的方法的一些实施例中,步骤s5响应于两个柜顶交换机之一超过阈值时间未接收到arp请求报文,通知脊交换机仅通过另一个柜顶交换机及相应的网卡传输下行流量进一步包括:

s54:脊交换机根据接收到的异常信息删除脊交换机和服务器之间的异常链路,并通过另一链路向服务器传输下行流量。

从脊交换机30的角度来说,脊交换机30接收到异常链路的柜顶交换机22或24通知的异常信息后,根据该信息删除脊交换机30和服务器10之间的异常链路,进一步地删除步骤s32中上层spine交换机30在本机中生成两条ecmp的等价路由中对应于异常链路的那一个,并通过另一链路向服务器10传输下行流量,也就是将下行流量全部切换到另一条链路上。

在本发明的提高网络高可用性的方法的一些实施例中,该方法进一步包括:

s6:响应于两个网卡之一从故障中恢复,从服务器通过两个网卡将相应的arp请求报文分别周期性发送给两个柜顶交换机。

在服务器10的两个网卡之一12或14出现故障后,经过网卡的自恢复或者人工维护后,如果两个网卡之一12或14从故障中恢复正常功能,则步骤s6从服务器10通过两个网卡12、14将相应的arp请求报文分别发送给两个柜顶交换机22、24,或者说是重新执行步骤s1,并进一步执行步骤s2、s3,再次建立双网卡-交换机去堆叠的高可用网络。

另一方面,本发明还提出了一种提高网络高可用性的装置,其中该装置包括:至少一个处理器;和存储器,该存储器存储有处理器可运行的程序指令,该程序指令在被处理器运行时执行前述实施例任一项的方法的步骤。

本发明实施例公开所述的装置、设备等可为各种电子终端设备,例如手机、个人数字助理(pda)、平板电脑(pad)、智能电视等,也可以是大型终端设备,如服务器等,因此本发明实施例公开的保护范围不应限定为某种特定类型的装置、设备。本发明实施例公开所述的客户端可以是以电子硬件、计算机软件或两者的组合形式应用于上述任意一种电子终端设备中。

本文所述的计算机可读存储介质(例如存储器)可以是易失性存储器或非易失性存储器,或者可以包括易失性存储器和非易失性存储器两者。作为例子而非限制性的,非易失性存储器可以包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦写可编程rom(eeprom)或快闪存储器。易失性存储器可以包括随机存取存储器(ram),该ram可以充当外部高速缓存存储器。作为例子而非限制性的,ram可以以多种形式获得,比如同步ram(dram)、动态ram(dram)、同步dram(sdram)、双数据速率sdram(ddrsdram)、增强sdram(esdram)、同步链路dram(sldram)、以及直接rambusram(drram)。所公开的方面的存储设备意在包括但不限于这些和其它合适类型的存储器。

采用上述技术方案,本发明至少具有如下有益效果:服务器双网卡上联两台交换机,利用现网中已有的交换机开启arp转路由和快速arp老化功能,同时服务器双网卡配置等价路由,配置相关路由指向2台独立tor交换机,建立关于相同的主机路由的两条实际的数据链路,根据网卡状态及tor交换机接收到的信号切换传输上行流量和下行流量的链路,就可以实现网路节点的冗余,结构简单、配置简洁、稳定性高,无需受限于目前服务器与交换机主流连接方案中堆叠或者m-lag的特殊要求而购置新设备,提高了设备的利用率和网络的可靠性。

应当理解的是,在技术上可行的情况下,以上针对不同实施例所列举的技术特征可以相互组合,从而形成本发明范围内的另外实施例。此外,本文所述的特定示例和实施例是非限制性的,并且可以对以上所阐述的结构、步骤及顺序做出相应修改而不脱离本发明的保护范围。

在本申请中,反意连接词的使用旨在包括连接词。定或不定冠词的使用并不旨在指示基数。具体而言,对“该”对象或“一”和“一个”对象的引用旨在表示多个这样对象中可能的一个。然而,尽管本发明实施例公开的元素可以以个体形式描述或要求,但除非明确限制为单数,也可以理解为多个。此外,可以使用连接词“或”来传达同时存在的特征,而不是互斥方案。换句话说,连接词“或”应理解为包括“和/或”。术语“包括”是包容性的并且具有与“包含”相同的范围。

上述实施例,特别是任何“优选”实施例是实施方式的可能示例,并且仅仅为了清楚理解本发明的原理而提出。在基本上不脱离本文描述的技术的精神和原理的情况下,可以对上述实施例做出许多变化和修改。所有修改旨在被包括在本公开的范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1