高可用性需求是数据中心最重要的需求之一,由于数据中心承载着网络中的重要业务数据,所以业务的高可用性(即业务的连续性)受到极大关注。不同等级的数据中心对网络的高可用性有着不同的要求,但设备和链路的冗余设计是最基本最普遍的要求,而区别主要在于网络故障对业务恢复的快慢影响。对数据中心而言,高可用性涉及到网络、服务器、存储、电力、制冷等多个方面的因素,本文主要阐述数据中心网络架构的高可用需求以及典型测试案例。
1 数据中心HA设计需求
1.1 数据中心HA设计的重要性
网络中节点和链路的故障总是无法完全避免的,所以提升网络可用性的重要方法之一是整体架构的冗余设计,通过设备或链路失效时的备份接管,尽量减少系统的故障恢复时间。
表1是不同等级的可用性与总故障时间(以一年为时间段)的对应关系表:
表1 不同等级可用性与一年内的总故障时间的对应关系
为什么数据中心网络的可靠性如此重要呢?简单来说,有以下几个方面原因:
1、业务的多样性和高度集中性
无论是从机房规模、业务种类,还是架构复杂性方面,今天的数据中心都在快速扩展。高性能服务器、虚拟化和高速以太网等新技术都着眼于将多种流量类型,如数据、存储、视频和语音等汇聚在单一的网络架构中。业务的高度集中使得网络故障的影响和损失扩大,从而也提高了对网络可靠性的需求。
2、超大型数据中心对高可靠性的需求
超大型数据中心,尤其是一些重载型数据中心,其对网络的利用率及链路带宽的使用具有很高的比率。按一条60%利用率的10GE链路来看,即使中断0.1秒也会丢失600M左右的数据。如果按照5个9的标准计算,一年累计中断5.256分钟即315.36秒,一条10GE链路将丢失大约1.892T的数据。越是关键的位置,网络故障的影响将越加严重,固然对HA的能力要求越高。
3、高速链路带来的丢包风险
同样重要的是,现在数据中心边缘端口正变得越来越快。正如服务器中的千兆以太网接口推动了交换机的万兆以太网的部署一样,服务器万兆接口的普及也将推动数据中心核心网对40GE和100GE以太网的迫切需求。带宽的增长自然会对核心网带来更大的HA风险。40GE或100GE的链路故障带来的损失更加严重,如果链路承载了关键业务的重要数据,这样的损失将是不可接受的。用户对可用性的要求随着设备性能的提高,只会越来越苛刻。
4、云计算对基础设施高可靠性需求的提高
目前云计算正逐渐成为一种现实,而且越来越多的私有云和公共云的部署使用都已经充分证明了其存在的意义。基础设施即服务(IaaS)的吸引力也在不断增加。有多种能力可以增强IaaS云的可用性,例如实时迁移、动态资源调度和自动重启等。虚拟机的实时迁移产生了额外的网络流量,这对于已经处于高负荷状态的网络提出了额外的需求,所以实际的结果可能导致性能或可用性的进一步恶化。网络延时和丢包会导致虚拟机迁移的失败,在实时迁移过程中测量虚拟机的停机时间,以及大规模虚拟机迁移的成功率等都是数据中心HA的新关注要点。
1.2 全局测试与数据中心HA
随着数据中心网络的不断变化和发展,一个关键的问题是:怎样才能尽可能的了解真实网络的HA故障切换指标?这种情况下,全局性的测试方法有助于确保实现复杂的相关功能和多设备的组合运用。“全局测试”不仅可以测试单个数据中心组件,而且可以测量整个数据中心的能力,并产生有意义的结果。全局测试还可以涵盖TCP/IP的所有层次,并且可以测量通过数据中心网络任意路径的流量。在一个数据中心环境中,全局的HA测试意味着不仅是只对单个网络组件的HA性能进行测试,还要确保每一个组件与数据中心其它新旧组件配合起来协同运作的可靠性和整体的HA能力。
全局测试的特点是基于真实应用的流量模拟来衡量网络的整体指标,通过对流量特征的构造模拟,精确统计网络的功能、性能和HA各项指标。基于测试结论分析评估网络整体架构的合理性、扩展性等,为网络优化提供数据参考。通过采用全局性的整体方案验证和性能测量方法,能够使这种复杂系统的测试评估更加简化。
2 全局的HA测试方法
2.1 流量模拟
数据中心的业务流量主要分为服务器之间的内部流量和用户端与服务器之间的外部流量,也称为“东西向”流量和“南北向”流量。对应RFC规范中定义的测试流量类型则是“非网格型”和“部分网格型”,两者的组合可以看作“全网格型”.由于转发路径和设备的处理方式不同,HA测试中需要同时关注这两类流量的故障恢复情况。如图1所示。
图1 数据中心流量模拟
2.2 故障事件模拟
通过模拟网络失效来计算HA指标,可以简单的将失效归类为链路故障、板卡故障、设备故障、多设备故障和站点故障。这些故障事件发生的概率依次降低,所以HA测试的关注点主要集中在链路、板卡和设备故障上,这也是数据中心网络HA设计的最基本要求。常用的操作方式为接口的Up/Down 、线卡的拔出/插入、机框的加电/断电等,特殊情况下也可以通过测试仪或被测设备的系统软件功能来模拟HA事件。
2.3 HA测试量化统计
通过HA测试,不仅可以验证被测系统在某些异常情况下是否可以保证功能的可用性,同时也可以通过精确统计得到业务流量中断的量化指标。通过测试仪器构造一定速率的数据报文经过被测系统转发,模拟某些故障情况下的报文丢失并统计出数量,从而计算出流量的中断时间,来衡量被测系统的HA性能指标。计算公式如下:
故障失效恢复时间=(发包端口发包数-收包端口收包数)÷ 链路转发速率
也可以通过L4-L7层测试仪模拟上层业务交互来更直观的了解被测系统在各类异常情况下对业务的影响。如图2所示。
图2 BPS测试仪显示TCP新建连接抖动情况
对于通过测试仪发起或参与的模拟网络事件的测试项,还可以通过测试仪自身提供的高精度采样功能来更加精确统计设备或网络的性能。例如,在通过测试仪发送路由表项来测试设备的路由学习性能时,可以通过如图3所示的高精度采样功能来统计时间。
图3 TestCenter测试仪显示的高精度采样功能
3 数据中心HA测试案例
3.1 IRF典型组网HA测试
图4 数据中心IRF典型组网
如图4所示,这是典型的数据中心网络(接入5120+核心12500)两层拓扑结构,核心层两台S12500采用IRF模式,可以简化网络逻辑结构,提高设备利用效率并简化网络管理。接入层采用5120EI交换机做二层双上行接入,接入层链路为跨机筐链路聚合。出口设备采用SR6600路由器与12500交换机运行OSPF或BGP路由协议,12500与SR6600之间都为双上行三层等价链路。其中,SR6600模拟了广域网出口设备,但在真实场景中使用高端交换机较多。5120EI和SR6600分别连接两个应用层测试仪(构造具有状态特征的UDP和TCP流量)端口。通过对设备故障和链路故障的模拟,可以直观得到组网中应用层业务的收敛时间、IRF和LACP的HA切换时间等。
需要精确统计时,可以用测试仪以标准报文大小模拟跨S5120EI和SR6600的南北向普通三层数据流,并以Full Mesh方式进行测试。记录异常情况下全局系统的丢包数量从而计算HA中断切换时间,重复测试3次记录平均数据,如表2所示。这些数据对于评估网络整体的HA能力,优化应用层业务部署都有重要意义。
普通流量丢包情况(带宽500Mbps,128字节,422297 FPS)
表2 常见的IRF故障模拟和测试数据
通过测试数据可以很直观的了解到整个网络架构中各种应用在不同类型的故障情况下HA收敛的好坏指标。比如表2所示,链路中断的HA收敛时间好于设备重启的,设备重启与交换机主控故障的HA时间相近,交换矩阵故障中断时间最长等等。在了解到这些异常情况对网络的影响程度后,便可以有针对性的通过网络设计和优化配置加以改进,从而增加整个网络架构的HA能力。
3.2 路由典型组网HA测试
图5 数据中心路由性能HA测试组网
图5的测试组网也模拟了典型的数据中心网络。接入层交换机使用两台真实设备,在大规格测试项中会使用测试仪模拟更多的接入交换机。核心设备之间采用普通的三层路由结构,机房或站点间的出口设备“MAN Core”采用一台高端交换机模拟,MAN Core通过多条等价三层链路与内部核心Core1和Core2连接。
初始情况下,测试仪端口1(与Access1相连)发向端口2(与Access2相连)的东西向流量是不通的。在测试仪端口2上发布路由后,等待各设备都学习到路由后才会收到报文。记录测试仪从发布路由到测试仪收到流量的时间差,这个差值就是全网路由学习时间。由于采用传统的测量流量图记录时间的方法误差较大,可以采用TestCenter3.7版本中的高精度采样功能来计算学习时间。如图6所示。
图6 TestCenter高精度采样
为了测试的方便与准确,采用了TestCenter软件中的command sequence功能执行流量、路由及采样触发的操作:
撤销路由->停止流量发送等待10s->清除所有计数->等待5s->开始发送流量->等待5s->开始高精度采样->等待5s->发布ospf路由->触发高精度采样。
command sequence执行完成后,等待高精度采样进行10s,然后点击端口高精度采样视图下的show chart:
红线为开始出发发布路由的时间,蓝色线为流量曲线,测量两个时间的时间差便可得到路由在网络中的学习时间。
Access2相连的测试仪上发布、撤销一条路由,在Access1设备上学习到的时间,我们分别使用OSPF和BGP两种路由协议测试10次的结果如下:
BGP :
撤销平均值:8.06ms;发布平均值:1.57s
OSPF:
撤销平均值:7.88s;发布平均值:1.29s
测试结果表明BGP路由的撤消收敛时间明显优于OSPF.为了降低网络故障对业务的影响,提高数据中心内部的HA性能,采用什么样的路由协议一直被很多用户所关注。对于路由协议的运用,有一些传统的使用模式,比如在数据中心内部OSPF是被大家广泛认可、使用较多的路由协议。而BGP是广域网上几乎绝对的域间路由协议,但它只用于广域链路的观念正在慢慢地被改变。基于上述的测试结果,越来越多的用户也会逐渐认可并开始实践采用BGP作为站点内部路由协议的解决方案。
4 结束语
通过全局的组网HA测试,我们可以模拟数据中心真实的应用场景和业务类型,直观和精确的了解不同类型的故障下HA的收敛情况。也可以了解不同技术和协议在特定组网中的HA性能对比情况,根据其特点和优劣势来做出选择,从而更好的设计和优化用户的真实环境。