数据中心的故障类型众多,但故障所导致的结果却大同小异。即数据中心中的设备、链路或server发生故障,无法对外提供正常服务。缓解这些问题最简单的方式就是冗余设计,可以通过对设备、链路、Server提供备份,从而将故障对用户业务的影响降低到最小。但是,一味的增加冗余设计是否就可以达到缓解故障影响的目的?有人可能会将网络可用性与冗余性等同起来。
事实上,冗余性只是整个可用性架构中的一个方面。一味的强调冗余性有可能会降低可用性,减小冗余所带来的优点,因为冗余性在带来好处的同时也会带来一些如下缺点:
w网络复杂度增加
w网络支撑负担加重
w配置和管理难度增加
因此,数据中心的高可用设计是一个综合的概念。在选用高可靠设备组件、提高网络的冗余性的同时,还需要加强网络构架及协议部署的优化,从而实现真正的高可用。设计一个高可用的数据中心网络,可参考类似OSI七层模型,在各个层面保证高可用,最终实现数据中心基础网络系统的高可用,如图1所示。
图1数据中心高可用系统设计层次模型
网络架构高可用设计
企业在进行数据中心架构规划设计时,一般需要按照模块化、层次化原则进行,避免在后续规模越来越大的情况再进行大规模的整改,造成时间与投资浪费。
模块化设计
模块化设计是指在对一定范围内的不同功能或相同功能不同性能、不同规格的应用进行功能分析的基础上,划分并设计出一系列功能模块,模块之间松耦合,力求在满足业务应用要求的基础上使网络稳定可靠、易于扩展、结构简单、易于维护。
层次化设计
包括网络架构分层和应用系统分层两个方面。在当前网络及安全设备虚拟化不断完善的情况下,应用系统分层可完全通过设备配置来实现逻辑分层,不影响网络的物理拓扑。对于网络架构层次化设计,选择三层架构还是二层架构是不少企业进行数据中心网络建设时面临的难题。
从可靠性的角度来看,三层架构和二层架构均可以实现数据中心网络的高可用。近年来随着云计算的逐渐兴起,二层扁平化网络架构更适合云计算网络模型,可以满足大规模服务器虚拟化集群、虚拟机灵活迁移的部署。二层架构和三层架构两者之间没有绝对的优劣之分,企业用户可根据自身的业务特点进行选择。也可以先二层,后续针对某些特定的功能分区采用三层组网。
设备层高可用设计
设备可靠是系统可靠的最基本保证,数据中心核心交换区设备的可靠稳定尤为重要。尽管可以通过架构、策略、配置等的调整和优化等多种手段降低核心设备的故障几率以及影响范围,但若要解决最根本的设备本身的软硬件故障,则必须选用数据中心级的网络设备。
关于数据中心级设备,业界还没有标准的定义,但从目前主流网络设备供应商提供的数据中心解决方案产品可以看出,数据中心级交换机应具备以下特征:
1)控制平面与转发平面物理分离
控制平面与转发平面硬件物理分离,引擎切换时不影响转发,可实现零丢包。同时控制平面与转发平面均提供独立的冗余架构,实现控制与转发两级冗余,保证更高的可靠性。
2)关键部件更强的冗余能力
除了引擎和交换网板的冗余外,此类设备的电源一般均可以配置多块,实现N+M的冗余,保证电源的可靠性更高;另外风扇的冗余也由原来的风扇级冗余,提高到了风扇框冗余,每个独立的风扇框内多个风扇冗余。
3)虚拟化能力
数据中心的复杂度越来越高,需要管理的设备也越来越多,设备的虚拟化可将同一层面(核心、汇聚、接入)的多台设备虚拟化为一台,进行设备的横向整合,简化设备的配置和管理。
4)突发大流量的缓冲能力
基于CLOS架构的数据中心级设备对端口的缓存容量进行扩容,并采用了新一代的分布式缓存机制,将原有的出方向缓存移至入方向,在同样的端口缓存容量条件下,这种分布式的缓存机制可以更好的缓存多对一的拥塞模型,能够更好的吸收数据中心的突发大流量。
链路层(L2)高可用设计
通过以H3CIRF2为代表的虚拟化技术,在不改变传统设计的网络物理拓扑、保证现有布线方式的前提下,实现网络各层的横向整合,即将交换网络每一层的两台、多台物理设备形成一个统一的交换架构,减少了逻辑的设备数量,同时实现跨设备的链路捆绑,消除环路的同时保证链路的高可用。
协议层(L3)高可用设计
数据中心网络的协议层高可用设计可以从以下两个方面考虑:
1)快速检测与切换
为了减小设备故障对数据中心业务的影响、提高网络的可用性,设备需要能够尽快检测到与相邻设备间的通信故障,以便能够及时采取措施,从而保证业务继续进行。通常情况下,路由协议中的Hello报文机制检测到故障所需的时间为秒级,在这时间内会导致数据中心内部Gbps速率级高速数据传输的大量数据丢失。
BFD(BidirectionalForwardingDetection,双向转发检测)在此背景之下产生。它是一套全网统一的检测机制,用于快速检测、监控网络中链路或者IP路由的转发连通状况,保证邻居之间能够快速检测到通信故障,50ms内建立起备用通道恢复通信。BFD检测可部署在广域/域城出口模块,如图9所示。数据中心核心层与外联模块(广域区、城域区)之前运行 OSPF动态路由协议,并在核心层交换机上配置BFD与OSPF路由联动。广域、城域路由设备或链路出现故障时,核心交换机快速感知,并通告OSPF进行快速收敛,缩短数据中心外联数据故障恢复时间。
2)不间断转发
在部署了动态路由协议的数据中心网络中,若设备进行主备切换时,将会导致它与邻居关系出现震荡。这种邻居关系的震荡将最终导致路由协议的震荡与重新计算收敛,使得主备切换路由器在一段时间内出现路由黑洞或者导致邻居将数据业务进行旁路,进而会导致业务出现暂时中断。
为了实现不间断转发,设备本身需要支持数据转发与控制分离,支持双主控设计;同时需要部分保存协议的状态(控制平面),并借助邻居设备的帮助,实现发生主备切换时控制平面的会话连接不重置、转发不中断的目的。其相应的技术为路由协议的GracefulRestart(平滑重启)扩展,简称GR。
GR 机制的核心在于:当某设备的路由协议重启时,能够通知周边设备在一定时间内将到该设备的邻居关系和路由保持稳定。该设备路由协议重启完毕后,周边设备协助其进行路由信息同步,使其各种路由信息在尽量短的时间内恢复到重启前的状态。在整个协议重启过程中,网络路由和转发保持高度稳定,报文转发路径也没有任何改变,整个系统可以不间断地转发IP报文。
应用层(L4~L7)高可用设计
在数据中心网络层面实现L4~L7层的高可用,可采用负载均衡的方案。L4~L7层负载均衡一方面可以提高服务器的响应能力和链路的带宽利用率,另一方面可以保证单台服务器或单条链路出现故障后,业务数据无缝分摊到其它服务器和链路,从而实现数据中心的高可用。
1)链路负载均衡(LLB)
链路负载均衡常部署在数据中心的广域接入区和互联网接入区,通过静态表项匹配及动态链路检测,对多条链路状态进行实时的探测和监控,确保流量以最合理及快速的方式分发到不同链路上,实现业务的高效传输。
对于数据中心广域接入区,由于广域网出口流量仍然是企业内网数据流,在L4层一般可通过IP报文的五元组特征区分出不同的业务流,因此可直接在路由器上通过分层CAR、跨端口的流量转发实现负载分担、关键业务带宽保证、广域链路捆绑。无需专门的LB设备。
2)服务器负载均衡(SLB)
目前大多数应用系统都采用了BS架构,企业数据中心的WEB服务器需要承接来自内网和外网众多用户的连接请求,因此单台服务器的性能和可靠性可能都无法满足,为实现更多的用户接入数和服务器冗余,可在WEB服务器部署负载均衡。服务器的负载均衡部署可采用以下两种方式实现:
服务器集群软件
服务器集群软件(如MSCS)一般要求服务器群在同一VLAN内,其它无特殊要求在此不做详细介绍。
服务器负载均衡(SLB)设备
SLB设备提供VSIP(虚拟服务IP),用户访问VSIP请求服务后,LB设备根据调度算法分发请求到各个实服务。
总结
数据集中意味着风险的集中、响应的集中、复杂度的集中、投资的集中……,高可用设计与部署是企业数据中心建设的永恒话题。“勿在浮沙筑高台”,网络作为数据中心IT基础承载平台,是IT系统高可用的基本保证。数据中心网络要实现高可用,技术并不能解决所有问题,还需要完善的运维流程、规章制度、管理体制等多方面的配合。结合企业业务的发展趋势,不断的总结与积累,是一个长期的、循序渐进的过程。
作者:何妍
来源:51CTO