1、数据中心高可用网络系统设计数据中心作为承载企业业务的重要 IT 基础设施,承担着稳定运行和业务创新的重任。伴随着数据的集中,企业数据中心的建设及运维给信息部门带来了巨大的压力,“数据集中就意味着风险集中、响应集中、复杂度集中”,数据中心出现故障的情况几乎不可避免。因此,数据中心解决方案需要着重关注如何尽量减小数据中心出现故障后对企业关键业务造成的影响。为了实现这一目标,首先应该要了解企业数据中心出现故障的类型以及该类型故障产生的影响。影响数据中心的故障主要分为如下几类: 硬件故障 软件故障 链路故障 电源/环境故障 资源利用问题 网络设计问题本文针对网络的高可用设计做详细的阐述。高可用数据中心
2、网络设计思路数据中心的故障类型众多,但故障所导致的结果却大同小异。即数据中心中的设备、链路或 server 发生故障,无法对外提供正常服务。缓解这些问题最简单的方式就是冗余设计,可以通过对设备、链路、Server 提供备份,从而将故障对用户业务的影响降低到最小。但是,一味的增加冗余设计是否就可以达到缓解故障影响的目的?有人可能会将网络可用性与冗余性等同起来。事实上,冗余性只是整个可用性架构中的一个方面。一味的强调冗余性有可能会降低可用性,减小冗余所带来的优点,因为冗余性在带来好处的同时也会带来一些如下缺点: 网络复杂度增加 网络支撑负担加重 配置和管理难度增加因此,数据中心的高可用设计是一个综
3、合的概念。在选用高可靠设备组件、提高网络的冗余性的同时,还需要加强网络构架及协议部署的优化,从而实现真正的高可用。设计一个高可用的数据中心网络,可参考类似 OSI 七层模型,在各个层面保证高可用,最终实现数据中心基础网络系统的高可用,如图 1 所示。图 1 数据中心高可用系统设计层次模型数据中心网络架构高可用设计企业在进行数据中心架构规划设计时,一般需要按照模块化、层次化原则进行,避免在后续规模越来越大的情况再进行大规模的整改,造成时间与投资浪费。模块化设计模块化设计是指在对一定范围内的不同功能或相同功能不同性能、不同规格的应用进行功能分析的基础上,划分并设计出一系列功能模块,模块之间松耦合,
4、力求在满足业务应用要求的基础上使网络稳定可靠、易于扩展、结构简单、易于维护。不同企业的应用系统可能有一定的差异。在网络层面,根据应用系统的重要性、流量特征和用户特征的不同,可大致分为以下几个区域,如图 2 所示。图 2 企业数据中心典型模块划分需注意几下几点:1) 企业园区网核心与数据中心核心分离,各司其职园区网核心主要承接纵向流量和用户的接入控制(DHCP、认证等);数据中心核心主要承接服务器间的流量(横向流量居多)。数据中心核心交换机上尽可能少的部署策略和配置,保证其互连互通的高可靠、高性能,同时在扩展新的模块时力求达到核心设备配置的零更改,各模块之间互通的松耦合,避免某功能模块的故障影响
5、其它功能模块,实现风险分散、灵活扩展;2) 分布式安全部署与传统的防火墙集中在核心旁挂的方式不一样,在模块化数据中心网络架构中,安全设备应下移到各功能模块的出口(汇聚层)位置,如图 2 的红色网格线所示。而不是旁挂部署在核心交换区,这样做的目的也是分散风险,实现各模块间的松耦合。数据中心核心交换区就像是连接各城市的高速公路,建设时应充分保证其高可靠和高性能,而不部署红绿灯调度;3) 内部服务器区细分子区4) Intranet 服务器区是企业应用系统的关键分区,此分区可根据应用业务的关键性、实时性等特征的不同,可考虑再进行子分区的划分,一般而言可分为“关键业务区”、“通用业务区”、“财务应用区”
6、几类,子分区可以是物理的,也可以是逻辑的。如果是逻辑的,可为每个子分区分配一个虚拟防火墙来部署安全策略。在业务系统复杂,服务器数据较多的情况下(=200 台),建议采用物理子分区,每个子分区采用独立的汇聚交换机和安全设备。层次化设计数据中心层次化设计包括网络架构分层和应用系统分层两个方面。在当前网络及安全设备虚拟化不断完善的情况下,应用系统分层可完全通过设备配置来实现逻辑分层,不影响网络的物理拓扑。对于网络架构层次化设计,选择三层架构还是二层架构是不少企业进行数据中心网络建设时面临的难题。传统网络中,网络各层的职责大致定义如下: 核心层:主要负责的是数据的交换与路由,不负责处理; 汇聚层:主要
7、负责的是数据的处理,选择和过滤等操作; 接入层:主要负责的是数据的接受与发送,负责端到端的链路建立和释放。从可靠性的角度来看,三层架构和二层架构均可以实现数据中心网络的高可用。近年来随着云计算的逐渐兴起,二层扁平化网络架构更适合云计算网络模型,可以满足大规模服务器虚拟化集群、虚拟机灵活迁移的部署。如表 1 所示为二层和三层架构对比,可见,两者之间没有绝对的优劣之分,企业用户可根据自身的业务特点进行选择,也可以先二层,后续针对某些特定的功能分区采用三层组网。三层架构 二层架构可靠性 增加了一层网络设备,意味着故障点增加网络故障点相对较少,但同时故障点也相对集中安全性 网关和安全策略皆部署在汇聚层
8、,方便部署安全策略部署在接入层,相对比较分散,部署工作量大服务器接入数量 较多 较少扩展性 同一功能分区内服务器数量扩展多,可灵活实现物理分区内的子逻辑分区同一功能分区内服务器数量扩展受限运维管理 设备和管理点较多 设备少,管理点较少成本 汇聚和接入设备可灵活选择配合,达到最佳的成本控制接入设备要求较高,选型受限适合场景 服务器数量多,安全策略控制严格的场合服务器集群、虚拟机迁移应用较多,服务器搬迁移动频繁场合表 1 三层组网与二层组网对比模块化、层次化的架构设计将数据中心网络风险进行了分散,将出现问题后的影响降低到最小,同时模块之间的松耦合可增强数据中心的扩展,简化网络运维,降低在扩展的过程
9、中管理员的人为故障,保证数据中心的可用性。设备层高可用设计设备可靠是系统可靠的最基本保证,数据中心核心交换区设备的可靠稳定尤为重要。尽管可以通过架构、策略、配置等的调整和优化等多种手段降低核心设备的故障几率以及影响范围,但若要解决最根本的设备本身的软硬件故障,则必须选用数据中心级的网络设备。关于数据中心级设备,业界还没有标准的定义,但从目前主流网络设备供应商提供的数据中心解决方案产品可以看出,数据中心级交换机应具备以下特征:1) 控制平面与转发平面物理分离传统的园区网交换机一般采用“Crossbar+共享缓存”的交换架构,引擎板继承担控制平面的工作,同时也承担数据转发平面的工作,跨槽位的流量转
10、发报文需要经背板到引擎板的 Crossbar 芯片进行转发。这种架构限制了设备的可靠性和性能: 可靠性限制:引擎需要承接数据转发平面的工作,因此在引擎出现主备倒换时必然会出现丢包。此外引擎 11 冗余,也使得 Crossbar 交换网只能是 11 的冗余,冗余能力无法做的更高。 性能限制:受制于业界当前 Crossbar 芯片的工艺以及引擎 PCB 板卡布线等制造工艺,将 Crossbar 交换网与 CPU 主控单元集中在一块引擎板上的结构,一般单块引擎的交换容量不可能做的太高(一般约 1TB 左右)。数据中心级交换机产品将控制平面与转发平面物理分离,一般有独立的引擎板和交换网板,同时采用 C
11、LOS 多级交换架构,大大提高设备的可靠性及性能。如表 2 所示为 CLOS 架构与传统的 Crossbar+共享缓存交换架构对比。图 3 Crossbar 架构也 CLOS 架构逻辑实现Crossbar+共享缓存 CLOS 多级交换结构 1,单平面交换;2,交换矩阵和控制统一,即引擎承担了交换和控制双重功能;1,多块交换网板共同完成流量交换2,控制和交换硬件分离转发能力 受限于交换网片的交换能力和PCB 单板制造工艺,单引擎达到 1TB 以上就很难提升。多块交换网板同时分担业务流量,相当于 N 倍于单级交换的能力,可实现 510TB 交换容量可靠性 引擎倒换会丢包 控制平面与转发平面硬件物理
12、分离,引擎切换时不影响转发,可实现零丢包冗余能力 引擎 11 冗余,双引擎负载分担式无冗余引擎 11 冗余,交换网板 N+1 冗余表 2 Crossbar 与 CLOS 交换架构对比2) 关键部件更强的冗余能力除了引擎和交换网板的冗余外,此类设备的电源一般均可以配置多块,实现 N+M 的冗余,保证电源的可靠性更高;另外风扇的冗余也由原来的风扇级冗余,提高到了风扇框冗余,每个独立的风扇框内多个风扇冗余。3) 虚拟化能力数据中心的复杂度越来越高,需要管理的设备也越来越多,设备的虚拟化可将同一层面(核心、汇聚、接入)的多台设备虚拟化为一台,进行设备的横向整合,简化设备的配置和管理。4) 突发大流量的
13、缓冲能力随着业务整合、资源共享、数据仓库、数据挖掘及智能分析等业务的部署,数据中心内部和业务服务器之间的横向流量将会越来越多。流量模型的变化会导致多服务器群向一个服务器群的流量、多个应用服务器向同一个数据库服务器的流量越来越频繁。这种多对一的流量模型是一种典型的拥塞模型,如果网络设备的缓存能力不够,将会导致丢包重传,导致业务系统的响应时间变长或中断。基于 CLOS 架构的数据中心级设备对端口的缓存容量进行扩容,并采用了新一代的分布式缓存机制,将原有的出方向缓存移至入方向,在同样的端口缓存容量条件下,这种分布式的缓存机制可以更好的缓存多对一的拥塞模型,能够更好的吸收数据中心的突发大流量。如图 4
14、 所示。图 4 分布式入端口报文缓存设计5) 绿色节能数据中心是企业能耗的主要部门,同时高的能耗将会带来高的发热量,影响设备的电子器件的稳定性,将到据中心设备的稳定运行。选用低能耗设备降低发热量是提高可靠性的一个方面,另一方面设备本身的散热风道设计的合理与否?能否更好的配合机房的空调循环?也影响着数据中心的可靠性。为更好的配合机房冷热风道的布局,机柜中发热量较大的设备最后是前后散热的风道设计。但普通的横插槽设备一般是左右散热的方式,因此应优先考虑采用竖插槽的设备,实现前后散热。链路层(L2)高可用设计在数据中心网络部署中,在实现设备和链路冗余提高可靠性的同时,也会带来环路和复杂度的增加。一旦链
15、路成环路很容易导致广播风暴,耗尽网络链路及设备资源。1) 常见组网方式对于传统的数据中心服务器区接入汇聚交换网络,针对无环设计和有环设计有多种选择方案。如图 5 所示。可以看出,三角形组网提供了更高的接入可用性以及更灵活的服务器扩展能力,所以通常推荐此组网方式。图 5 数据中心服务器接入汇聚常见组网拓扑 优点 缺点1倒 U 型不启用 STP,好管理VLAN 可以跨汇聚层交换机,服务器部署灵活必须通过链路聚合保证高可用性汇聚交换机故障时,服务器无法感知,无法实现高可用接入2正 U 型不启用 STP,好管理双 active 链路,接入交换机密度高不能使 VLAN 跨汇聚层,服务器部署不灵活接入交换
16、机间链路故障,VRRP 心跳报文无法传递,整机做 VRRP 主备切换,故障收敛时间长。3三角形链路冗余,路径冗余,故障收敛时间最短VLAN 可以跨汇聚层交换机,服务器部署灵活存在环路,需要启动 STP 协议4矩形双 active 链路,接入交换机密度高VLAN 可以跨汇聚层交换机有一半的接入层流量要通过汇聚交换机之间的链路。当接入交换机上行链路故障时,所有流量将从一侧的交换机上行。收敛比变小,网络易拥塞,降低网络高可用性。存在环路,需要启动 STP 协议表 3 组网方式优缺点对比需要指出,接入交换机直接双上行与汇聚层设备相连,冗余连接并不是越多越好,最小的三角形环能够提供最快的收敛速度和最高的
17、可用性。例如图 6中右侧图组网拓扑在接入层交换机和汇聚层交换机之间采用全交叉冗余,是一种过度冗余组网,反而增加交换机的生成树计算的复杂性以及故障排错的复杂性,所以不建议按这种方式部署。图 6 过度冗余与推荐组网2) 通过虚拟化技术简化网络虽然三角形组网已经成为数据中心接入设计的最佳实践,但从网络的拓扑设计、环路规避、冗余备份等角度考虑,设计过程是极其复杂的。如 VLAN 的规划、生成树实例的拓扑阻塞、网关冗余选择,包括相应技术的参数选择、配置,故障切换的预期判断等,需要一套十分详细的流程,而在后期网络运行维护过程中面临的压力和复杂度是显而易见的。因此,引入虚拟化设计方式简化网络则显得尤为重要。
18、通过以 H3C IRF2 为代表的虚拟化技术,在不改变传统设计的网络物理拓扑、保证现有布线方式的前提下,实现网络各层的横向整合,即将交换网络每一层的两台、多台物理设备形成一个统一的交换架构,减少了逻辑的设备数量,同时实现跨设备的链路捆绑,消除环路的同时保证链路的高可用。关于 IRF2 技术与应用的详细介绍,请参考本刊“数据中心 IRF2 虚拟化网络架构与应用”一文。协议层(L3)高可用设计数据中心网络的协议层高可用设计可以从以下三个方面考虑:1) 路由协议部署数据中心汇聚层到核心层间可采用 OSPF 等动态路由协议进行路由层面高可用保障。常见连接方式有两种,如图 7 所示。拓扑 1 采用了三角
19、形连接方式,从汇聚层到核心层具有全冗余链路和转发路径;拓扑 2 采用了四边形连接方式,从汇聚层到核心层没有冗余链路,当主链路发生故障时,需要通过路由协议计算获得从汇聚到核心的冗余路径。所以,三角形拓扑的故障收敛时间较短,但要占用更多的设备端口。图 7 数据中心核心汇聚组网设计在采用模块化、层次化设计之后,数据中心内部各分区与核心交换区的路由将会大大简化,针对拓扑 1 的组网方式,可进行 IRF2 横向整合,对汇聚层、核心层的双机设备进行虚拟化,实现跨设备链路捆绑实现汇聚层上行到核心层的多链路负载分担与备份,在此基础之上,核心层与汇聚层仅需要一个 VLAN 三层接口互联,直接在此 VLAN 三层接口上部署静态路由,简化数据中心内部的协议部署。此方式将简化后续运维的复杂度,但对于数据中心外联模块,由于外部路由相对较复杂,可部署 OSPF 动态路由,提高路由选择的灵活性。数据中心总体路由结构如图 8 所示。