数据中心网络高可用技术
数据中心网络高可用技术
高可用性,金融数据中心建设中最受关注的问题之一。高可用性设计是个系统工程,其内容涉及构成数据中心的四个组成要素(网络、计算、存储、机房基础设施)的多方面内容,本文聚焦网络系统,阐述了多种网络高可用技术在数据中心的部署最佳实践。
一、高可用性的定义
系统可用性(Availability)的定义公式为:
Availability = MTBF / ( MTBF + MTTR ) × 100%
MTBF(Mean Time Between Failure),即平均无故障时间,是描述整个系统可靠性(reliability)的指标。对于一个网络系统来说,MTBF是指整个网络的各组件(链路、节点)不间断无故障连续运行的平均时间。
MTTR(Mean Time to Repair),即系统平均恢复时间,是描述整个系统容错能力(fault-tolerant capability)的指标。对于一个网络系统来说,MTTR是指当网络中的组件出现故障时,网络从故障状态恢复到正常状态所需的平均时间。
从公式可看出,提高MTBF或降低MTTR都能提高网络可用性。造成数据中心网络不可用的因素包括:设备软硬件故障、设备间链路故障、维护升级、用户误操作、网络拥塞等事件。针对这些因素采取措施,如提高软硬件质量、减少链路故障、避免网络拥塞丢包、避免用户误操作等,使网络尽量不出故障、提高网络MTBF指标,也就提升了整网的可用性水平。然而,网络中的故障总是不可避免的,所以设计和部署从故障中快速回复的技术、缩小MTTR指标,同样是提升网络可用性水平的手段。
在网络出现故障时,确保网络能快速回复的容错技术均可以归入高可用技术。常用的网络高可用技术可归为以下几类:
l 单设备的硬件冗余:冗余电源、冗余风扇、双主控、板卡支持热插拔;
l 物理链路捆绑:以太网链路聚合,基于IRF的跨设备以太网链路聚合;
l 二层冗余路径:STP、MSTP、SmartLink;
l 三层冗余路径:VRRP、ECMP、动态路由协议多路径;
l 故障检测:NQA、BFD、OAM、DLDP;
l 不间断转发:GR、热补丁升级;
l L4-L7多路径:状态热备、非对称路径转发。
在进行高可用数据中心网络规划时,不能只将上述技术进行简单叠加和无限制的冗余,否则,一方面会增加网络建设整体成本,另一方面还会增加管理维护的复杂度,反而给网络引入了潜在的故障隐患。因此在进行规划时,应该根据网络结构、网络类型和网络层次,分析网络业务模型,确定数据中心基础网络拓扑,明确对网络可用性最佳的关键节点和链路,合理规划和部署各种网络高可用技术。
ECMP(Equal-cost multi-path)
ECMP是一个逐跳的基于流的负载均衡策略,当路由器发现同一目的地址出现多个最优路径时,会更新路由表,为此目的地址添加多条规则,对应于多个下一跳。可同时利用这些路径转发数据,增加带宽。ECMP算法被多种路由协议支持,例如:OSPF、ISIS、EIGRP、BGP等。在数据中心架构VL2中也提到使用ECMP作为负载均衡算法。
对于未开启ECMP的网络来说,无法充分利用路径资源。如图1所示,假设从S0到Server的为S0-S1-S2-S4即图中橘色路径,那么即便存在另一条等价路径,蓝色路径,路由器仍然会每次选择第一条橘色路径转发数据。除非此条路径发生拥塞,才会重新选择路径。
当开启ECMP功能时,便可同时利用两条路径,进行基于流的负载均衡,例如主机A到Server的数据流选择橘色路径,主机B到Server的数据流选择蓝色路径。
GR(Graceful Restart)
GR技术产生的背景:
1、分布式架构并支持不间断转发技术的设备,要求控制平面和数据平面分离。
2、控制平面负责路由计算、表项下发等;数据平面根据控制平面下发的转发表项进行数据转发。
3、在主备引擎切换时,备引擎上有数据平面信息,可以快速接替主引擎完成数据转发;但备引擎无控制面信息(比如动态路由数据库、邻居关系等),那么将导致其邻接设备检测到本设备动态协议中断,邻接的设备动态路由重新收敛,导致整网路由黑洞或路由旁路。
4、动态路由的收敛时间将是分钟级别的,无法满足不间断转发需求。
GR的原理:
Graceful Restart(优雅重启),主要是为了实现在协议的重新启动过程中数据转发不间断。在管理板主备切换过程中,GR功能使动态路由邻居的路由转发表项保持住,待新的邻居协商收敛完成后再进行表项刷新,使得网络拓扑保持稳定,维持转发表;保障业务不中断。
GR的两个角色:
Restarter:要执行优雅重启的设备
Helper :辅助Restarter完成优雅重启,是Restarter的邻接设备
二、数据中心网络高可用部署方案
1. 数据中心服务器区典型组网
图1. 高可用扁平化架构典型组网
图1是典型的数据中心服务器区分层网络拓扑(接入、汇聚、核心)。接入层交换机为服务器提供高可用网络接入。汇聚层设备做为服务器的网关,并通过部署应用优化设备(如服务负载分担设备)以减轻服务器的处理负担,并提高服务器系统的可用性。汇聚层部署的安全设备(如防火墙)做为整个服务器区的安全边界,为服务器提供访问控制。建议在汇聚层采用与交换机一体化的应用优化或安全插板部署方式,以代替传统的独立盒式设备。采用插板方式的好处是降低能耗、减少布线复杂性,从而提升网络的整体可用性。
2. 网络接入层高可用部署方案
接入层到汇聚层有4种连接方式,如图2所示,分别为:倒U形接法(拓扑1)、U形接法(拓扑2)、矩形接法(拓扑3)和三角形接法。不同类型的接法以二层链路的物理拓扑为评判依据,比如对于矩形接法(拓扑3),接入交换机之间、接入交换机与汇聚交换机之间、汇聚交换机之间均以二层链路互联,并且两台接入交换机与两台汇聚交换机构成了矩形的二层互联拓扑。
图2. 高可用扩展多级架构典型组网
接入层的四种拓扑的比较:
拓扑 |
优点 |
缺点 |
备注说明 |
1 倒U形 |
不启用STP,网络管理简单。 VLAN可以跨汇聚层交换机,服务器二层的扩展灵活。 |
汇聚交换机故障时,造成其同侧接入交换机上的服务器不可达,无法实现高可用接入 |
|
2 U形 |
不启用STP,网络管理简单。 接入交换机与汇聚交换机之间有冗余链路。 |
VLAN不能跨汇聚交换机,服务器部署不灵活。 接入交换机间链路故障时,VRRP心跳报文无法传递,网络处于不稳定状态。 |
|
3 矩形 |
接入交换机与汇聚交换机之间有冗余链路。 VLAN可以跨汇聚层交换机 |
当接入交换机上行链路故障时,所有流量将从另一侧的交换机上行,网络收敛比变小,网络易拥塞,降低了网络可用性。 |
|
4 三角形 |
接入交换机与汇聚交换机之间有冗余链路、冗余路径。 VLAN 可以跨汇聚层交换机,服务器部署灵活 |
生成树计算比矩形拓扑复杂。 |
推荐方式 |
表1. 四种拓扑连接方式的对比
由上表可以看出,三角形组网(拓扑4)提供了更高的接入可用性以及更灵活的服务器扩展能力,所以对于数据中心独立服务器的接入,建议采用三角形组网方式。
由于接入层三角形组网存在二层环路,所以需要在交换机上使能多生成树协议MSTP(Multiple Spanning Tree Protocol)。汇聚层交换机(或汇聚交换上的L4/L7层设备)部署虚拟路由器冗余协议(virtual router redundancy protocol, VRRP),并将VRRP组的虚拟IP地址作为服务器网关。对于接入层这种典型的MSTP+VRRP部署方式,还应关注以下几点:
l 利用MSTP多实例特性,合理规划VLAN与实例映射关系,实现业务流量的负载分担。如图3,VLAN50对应的STP实例的根桥在AGG_SW2(VLAN50在ACC_SW1与AGG_SW1、及ACC_SW2与AGG_SW1之间的转发被阻塞),VLAN30对应的STP实例的根桥在AGG_SW1(VLAN 30在ACC_SW1与AGG_SW2、ACC_SW2与AGG_SW2之间的转发被阻塞)。
l 规划多个VRRP组,实现服务器网关的备份和负载分担。如图3,在正常转发时汇聚交换机(AGG_SW1、AGG_SW2)分别作为VLAN30和VLAN50的VRRP Master设备。如汇聚层部署了L4/L7设备(如防火墙),则在L4/L7设备上规划VRRP组,并将VRRP的虚拟IP作为服务器的网关。
图3. 接入层MSTP+VRRP部署
l 在汇聚交换机上指定根桥。恰当放置根桥不但可优化生成树协议所选择的路径,还可以为数据提供明确的路径,明确的路径使排错和配置网络变得更为容易。通过在汇聚层交换机上手工配置根桥的主、备策略,确保生成树在二层链路形成最佳的树型拓扑。
l 汇聚交换机上联的三层接口配置“STP Disable”命令。对于不需要参与STP的端口应关闭STP特性,由此可节省设备的CPU资源和BPDU报文的发送范围,以降低网络发生故障的几率。
l 接入交换机与服务器直连端口设置为“边缘端口”。网络拓扑变化时,边缘端口不会产生临时环路。因此,如果将服务器接入端口配置为边缘端口,则该端口可以快速迁移到转发状态,降低网络的故障收敛时间。。
l 接入交换机与服务器相连的端开启“BPDU保护”功能,如图3。边缘端口正常情况不应收到生成树协议的配置消息,如有人伪造配置消息恶意攻击设备,会引起生成树重新计算,启动BPDU保护功能可防止这种攻击,避免发生网络拓扑震荡。
l 接入交换机上行端口开启“环路保护”功能,如图3。如果接入交换机上行端口发生链路拥塞或者单向链路故障时,环路保护功能会将根端口的角色变为指定端口,端口的状态为Discarding;原来被阻塞端口同样也变为指定端口,状态为Discarding 状态,不转发报文,从而不会在网络中形成环路,避免引起网络拓扑震荡。
l 汇聚交换机(根桥和备份根桥)与接入交换机互联的端口开启“root保护”功能,如图3。当开启“root保护功能”的端口收到优先级高的配置消息时,该端口的状态将被设为Discarding,不再转发报文。当足够长的时间内没有再次收到更优的配置消息时,端口会恢复正常状态。这种功能可避免错误的配置或网络攻击造成汇聚交换机失去根桥地位而引起网络拓扑变化。
l 交换机上开启“TC-BPDU保护”功能。为了避免交换机频繁收到TC报文而去频繁删除MAC和ARP表项,继而引起CPU繁忙并造成网络业务中断的情况,应在交换机上开启TC保护功能。
l 在交换机上开启loopback-detection(端口环回检测)功能,防止错误的配置或连接形成端口自环。
l 汇聚与接入层交换机相连的端口避免配置trunk all,只允许使用的Vlan通过,如图3中(只允许Trunk VLAN30和Trunk VLAN50),各个双归属环用Vlan隔开,防止一个环上的广播泛到另一个环上去。
3. 网络汇聚层高可用部署方案
网络汇聚层作为网络接入层的流量会集点和服务器的网关,需要部署防火墙做为整个服务器区的安全控制边界,还需要部署应用优化设备(服务负载分担、SSL卸载等)用以减轻服务器的负担,提高应用响应速度。建议在服务器群区域网络汇聚层采用集成在机架式交换机上的安全和应用优化多业务板卡,优点在于简化机架布线、提高系统可用性、降低设备整体功耗。
图4是汇聚层交换机上部署防火墙插板(FW)和负载分担插板(LB)时的路由设计。FW板卡作为服务器网关,采用三层路由模式为访问服务器的流量提供转发,并提供攻击防御、策略管理等功能。LB板卡采用单臂旁挂部署方式。缺省网关指定在汇聚交换机上。外部用户访问虚服务的流量在LB板卡上进行负载分担与源目的地址变换后,再通过FW访问内部服务器。
图4. 汇聚层FW+LB的部署
图5是汇聚层FW与LB的双机高可用部署方案。核心与汇聚交换机间运行OSPF协议。当任一节点整机或链路故障时,网络依靠OSPF进行故障收敛。两个LB之间运行VRRP,汇聚交换机将去往服务器IP地址的下一跳指向LB的VRRP虚IP地址,当LB主路径板卡故障时,通过VRRP可以切换到备份卡上继续流量转发。两个FW之间也运行VRRP,FW主路径板卡故障时,通过VRRP可以切换到备份卡上恢复流量。汇聚交换机之间需要Trunk V100/V400/V500
图5. 汇聚层FW+LB的部署
汇聚层到核心层间采用OSPF等动态路由协议进行路由层面高可用保障。常见连接方式有两种,如图6。拓扑1采用了三角形连接方式,从汇聚层到核心层具有全冗余链路和转发路径;拓扑2采用了四边形连接方式,从汇聚层到核心层没有冗余链路,当主链路发生故障时,需要通过路由协议计算获得从汇聚到核心的冗余路径。所以,三角形拓扑的故障收敛时间较小,但三角形拓扑要占用更多的设备端口,建网成本较高。
图6. 汇聚层与核心层的拓扑
4. IRF虚拟化技术高可用最佳实践
图7. 传统架构服务器群网络拓扑与IRF架构服务器群网络拓扑对比
对于接入层而言传统架构为保证网络高可用性通常采用MSTP+VRRP,这种组网需要在接入交换机与汇聚交换机间运行MSTP协议,管理和维护较复杂。但当接入交换机和汇聚交换机都采用IRF架构之后,可将每两台交换机(也可以是多台)配置成一个IRF堆叠组,两台汇聚交换机也配置成一个堆叠组,接入交换机与汇聚交换机之间通过捆绑链路连接,如图7。从逻辑上看,一个堆叠组就是一台设备,因此接入交换机和汇聚交换机间不存在二层环路,可以避免MSTP的配置管理,简化网络设计。
图8是采用IRF设计时的网络高可用性切换方式。情况A是正常转发路径,服务器流量经过网络接入层和汇聚层的IRF堆叠组。情况B,当接入层IRF堆叠组的一台交换机出现故障,服务器网卡进行切换,通过IRF另一台交换机即可恢复网络通信,而汇聚层设备无需任何变化,数据流仍从同一聚合链路进入网络。情况C,汇聚层设备出现单台故障,服务器不感知,只由接入交换机将流量转发到聚合链路,汇聚层存活的交换机感知的仍是从现有聚合链路接收数据流。情况D,发生捆绑链路故障,交换机会将数据流转发到捆绑组存活链路上,对于IRF交换机组来说,数据流转的逻辑接口并未改变。
图8. IRF组网的HA部署
三、 结束语
对数据中心而言,高可用性永远是必不可少的重要需求。数据中心的核心是业务数据,网络作为承载层需要保证运行于其上的数据的安全性与可用性,尤其是在网络节点链路发生故障情况下要确保业务可用与数据零丢失。从传统的环路冗余到现在的IRF堆叠,数据中心网络高可用技术将会不断优化进步,更好的满足高速发展的数据中心业务应用需求。