H3C 。《 数据中心间二层互联技术方案 》

Sina WeiboBaiduLinkedInQQGoogle+RedditEvernote分享




数据中心间二层互联技术方案

文/康乐

在传统的数据中心服务器区网络设计中,通常将二层网络的范围限制在网络汇聚层以下,通过配置跨汇聚交换机的VLAN,可以将二层网络扩展到多台接入交换机,这种方案为服务器网络接入层提供了灵活扩展能力。近年来,服务器高可用集群技术和虚拟服务器动态迁移技术(如VMware的VMotion),在数据中心容灾及计算资源调配方面得以广泛应用,这两种技术不仅要求在数据中心内实现大二层网络接入,而且要求在数据中心间也实现大范围二层网络扩展。

1 数据中心间二层互联的业务需求

如图1所示,数据中心间通常部署以下三种互联链路,每种互联链路所承载的数据不同,实现的功能不同,并且这三种链路在逻辑上相互隔离。

网络三层互联。也称为数据中心前端网络互联,所谓“前端网络”是指数据中心面向企业园区网或企业广域网的出口。不同数据中心(主中心、灾备中心)的前端网络通过IP技术实现互联,园区或分支的客户端通过前端网络访问各数据中心。当主数据中心发生灾难时,前端网络将实现快速收敛,客户端通过访问灾备中心以保障业务连续性。

网络二层互联。也称为数据中心服务器网络互联。在不同的数据中心服务器网络接入层,构建一个跨数据中心的大二层网络(VLAN),以满足服务器集群或虚拟机动态迁移等场景对二层网络接入的需求。

SAN互联。也称为后端存储网络互联。借助传输技术(DWDM、SDH等)实现主中心和灾备中心间磁盘阵列的数据复制。

图1. 数据中心的三种互联方式

数据中心间网络二层互联的应用场景有以下两种。

1.1 服务器高可用集群

服务器集群(Cluster),是借助集群软件将网络上的多台服务器关联在一起,提供一致的服务,对外表现为一台逻辑服务器。多数厂商(HP、IBM、微软、Veritas等)的集群软件需要各服务器间采用二层网络互连。将集群中的服务器部署于不同数据中心,可实现跨数据中心的应用系统容灾。服务器集群互联通常需要部署两个二层网络,如图2所示。

图2. 服务器集群高可用集群

l 集群软件进程间通信(心跳、会话同步)网络,用于保持和控制主控节点的状态,这个网络上的IP地址不会通过数据中心前端网络发布出去。

l 集群公共通信网络,也就是集群虚IP的接入网络。虚拟IP是集群对外提供服务的地址,类似与路由器上配置VRRP功能时的虚IP,该地址将通过数据中心前端网络向外发布。

1.2 服务器搬迁和虚拟机动态迁移

对数据中心进行扩建或搬迁时,需要将物理服务器从一个数据中心迁至另一个数据中心。在此过程中,考虑以下两个因素,需要在数据中心间构建二层互联网络.

l 当服务器被迁至新机房,若未构建新老中心间的二层互联网络,则面临重新规划新中心服务器IP地址的问题。同时还需修改DNS,或修改客户端应用程序配置的服务器IP。因此,构建跨中心的二层互联网络可保留被迁移服务器的IP地址,进而简化迁移过程。

l 在服务器搬迁期间,经常在给定的时间内,只能将服务器群的一部分服务器迁至新中心,为保证业务连续性,需建立跨中心的服务器集群,因此构建跨越中心的二层互联网络可实现服务器平滑迁移。

与服务器搬迁类似的情况是“虚拟机迁移”。当前,一些服务器虚拟化软件可实现在两台虚拟化的物理服务器之间对虚拟机做动态迁移,如图3所示。迁移至另一中心的虚拟机不仅保留原有IP地址,而且还保持迁移前的运行状态(如TCP会话状态),所以必须将涉及虚拟机迁移的物理服务器接入同一个二层网络(虚拟机在迁移前后的网关不变),这种应用场景要求构建跨中心的二层互联网络。

图3. 虚拟机动态迁移

2 数据中心间二层互联的关键 —— 端到端环路避免

在数据中心间实现二层网络互联时,为了提升整网高可用性,必须保证数据中心互联链路冗余性,由此也带来了一个问题——二层环路。因此需要防止由一个远端数据中心的二层环路引起所有数据中心服务器接入网络的故障。消除二层环路技术包括:

l 在接入层网络使能生成树协议(STP)。

l 通过交换机虚拟化技术(如H3C IRF)消除二层环路。

2.1 生成树协议的设计要点

当STP域通过广域链路跨多个数据中心的接入层时,某个中心的故障会引起多个中心的网络震荡。因此在考虑数据中心二层互联的STP部署时,建议将STP域限制在每个数据中心内部。部署方式如图4所示,在数据中心二层互联交换机的面向互联链路的端口上,使能BPDU拦截功能和关闭STP。

图4. 将STP孤立于数据中心内部

这种孤立和分割STP域的方案将简化数据中心二层互联的管理维护工作,即使在某一个数据中心的二层网络发生变化时,也不会导致由STP计算引起的整个二层互联网络的不稳定状态。

2.2 交换机虚拟化技术设计要点

交换机虚拟化技术(如H3C IRF、Cisco VSS等)是将多台交换机连接起来形成一台虚拟的逻辑设备。用户对这台虚拟设备进行管理,来实现对所有成员设备的管理。由于虚拟交换机系统已经被当作为一台设备,因此不同物理设备的端口可以被捆绑在一起被当作一个逻辑端口,在配置与组网上也完全相同于单台设备的端口聚合功能,这种特性被称为“跨设备链路聚合”。

对于数据中心服务器接入层来说,通常使用两台接入交换机对同类业务系统服务器进行接入,以满足服务器双网卡的上行要求,这种拓扑通常采用成VLAN跨汇聚的配置,并使能STP避免二层环路。当使用交换机虚拟化进行网络简化时,对网络汇聚层的虚拟化整合是必要的,因为这是消除STP的关键网络层。对接入层网络来说,有两种方式,如图5所示:

图5. 虚拟交换机消除接入层环路

l 方式A,保持原有网络拓扑和设备独立性不变,将汇聚层做虚拟化,接入交换机双归属上联的两条链路直接进行捆绑,消除了环路,服务器网卡归属到独立的两台交换机。

l 方式B,在两台接入交换机之间增加IRF互联线缆,使得接入层也实现虚拟化整合,服务器双网卡连接的两台交换机虚拟化成一台,则这两台交换机的所有上联线缆可实现跨设备的捆绑,进一步减少逻辑链路数。

无论方式A或方式B,汇聚层的虚拟化都是必要条件,在以下讨论的各种方案中,都建议在网络汇聚层实现交换机虚拟化技术。

3 数据中心间二层互联方案探讨

3.1 承载于裸光纤的虚拟交换机二层互联方案

本文以H3C IRF为例说明虚拟交换机在数据中心间二层互联方案的应用,读者也可将此设计思路应用在其他厂商的虚拟交换机技术上。

如图6所示,有四个分布在不同位置的数据中心,各中心间通过DWDM设备组成一个环状的光传输网络,相邻数据中心间距离小于100公里。每个数据中心内部网络分为接入层、汇聚层和核心层。汇聚层设备采用IRF虚拟化,所以各中心汇聚层在逻辑上只是一台交换机。

图6. 四数据中心光纤环状互联

为实现四中心的二层互联,另需构建一个同时连接四中心汇聚层的互联节点,该节点由两台支持IRF的物理交换机构成,逻辑上为一台交换机。出于高可用性的考虑,这两台物理交换机应部署在不同的数据中心内(A中心和B中心),如图7所示。互联节点与各中心的汇聚层采用双链路捆绑互联。在逻辑结构上,四中心与互联节点构成了一个Hub-Spoke的星形拓扑,其中互联节点为HUB,各中心汇聚层为Spoke。另外,在A中心和B中心间,还需在DWDM设备上划分一个专用的波长λ,做为互联节点的两台IRF成员设备的互联链路,对于IRF虚拟化来说互联链路必须是10GE接口。

图7. 互联节点与各中心的拓扑关系

图8示出了各站点汇聚层与互联节点间DWDM光传输通道的连接关系。互联节点包含A、B两台物理设备,A设备部署在A中心,B设备部署在B中心。从A中心到互联节点有两条链路,其中一条链路是中心内的光纤,另一条链路承载于A、B中心间互联DWDM设备分配的波长λ上。B中心与互联节点连接方式与上述情况类似。对于C、D中心,从汇聚层到汇聚节点的两条链路都承载于DWDM设备分配的波长λ上。依次计算,四中心的二层互联需要占用8个DWDM的波长λ。其中2个λ(必须承载10GE)用于IRF互联,另6个λ用于各中心汇聚到互联节点的链路(A中心1个,B中心1个,C和D各2个,A中心和B中心各有一个链路使用本地光纤资源)。

图8. 汇聚层与互联节点物理连接关系

如“交换机虚拟化技术设计要点”一章所述,对于数据中心内部,为实现服务器双归属高可用接入,建议在接入层也部署IRF虚拟化技术。虚拟化后的接入交换机通过多链路捆绑方式上连至汇聚交换机,一方面可完全避免二层环路,另一方面充分利用接入层上行链路带宽。

这里需要注意,即使在没有环路的二层网络中,也应使能STP,以防止设备配置和物理链路维护中的错误。同时,虽然网络不存在环路,但STP仍有可能影响整个跨多个数据中心的二层网络。例如,当网络拓扑有变化时,TCN BPDU可能会通过二层网络扩展到数据中心以外。因此,有必要控制STP域的范围,对于使能STP的汇聚交换机,应在其面向互联节点的端口上开启BPDU拦截和关闭STP计算,使得各数据中心内的STP域互相分割。

3.2 承载于MPLS网络的VLL或VPLS方案

3.2.1 方案说明

这里所讨论的MPLS网络包括企业自建或由运营商提供给企业的MPLS网络,不管是哪种场景,实现数据中心二层互联的思路都相同:由一对数据中心互联设备(PE)发起二层VPN,实现二层网络(VLAN)在数据中心间的扩展。这里同样要注意端到端的环路避免问题。

承载于MPLS网的数据中心二层互联方案有两种实现技术:

l MPLS VLL(Mpls Virtual Leased Line):实现两数据中心的点到点二层互联。

l VPLS(Virtual Private LAN Service):实现多个数据中心的点到多点二层互联。

MPLS VLL是在MPLS网络上透明传递用户的二层数据。从用户的角度来看,这个MPLS网络就是一个二层的交换网络,通过这个网络,可以在不同站点之间建立二层的连接。VLL可以让两个数据中心的二层互联效果像直接用光纤连接一样。VLL技术通过给用户报文添加双层标签来实现转发:外层标签(隧道标签)是MPLS标签或GRE标签,用于将报文从一个PE传递到另一个PE;内层标签(虚电路标签)是MPLS标签,用来标识PE-CE间链路的标签。如图9所示为基于MPLS VLL技术的双中心二层互联方案。

图9. 基于MPLS VLL的双中心二层互联方案

VPLS是在传统MPLS VLL方案的基础上发展而成,也通过双层标签实现报文转发控制。VPLS可实现点到多点二层互联方案。利用VPLS技术可在MPLS网络上为多个数据中心间模拟了一个以太网交换机,基于MAC地址或者MAC地址加VLAN标识来做出二层端口间的转发决策。一个实现多数据中心二层互联的VPLS实例包括连接到多个PE的多个数据中心,数据中心CE设备(汇聚交换机)直接跟所有与该VPLS实例关联的其它CE(汇聚交换机)通信。在VLL和VPLS方案中心,将PE间建立的两条单向转发路径称之为一条虚链路。如图10所示为基于MPLS VPLS技术的三中心二层互联方案。

图10. 基于MPLS VPLS的三中心二层互联方案

按照传统网络设计思路,二层网络只部署在园区或数据中心内部,二层网络的范围不会很大,而且构成二层网络的物理链路都是很稳定的铜缆或光纤。将二层网络扩展到多个数据中心的方案,超出了二层网络协议对网络扩展性和链路质量适应性的要求。而三层网络来说(MPLS或IP),本身却很适合广域网长距离大规模组网。相对于二层网络来说三层网络比较稳定,并且有很多快速收敛技术(如BFD)用以保证网络高可用性,因此三层网络可以为二层扩展提供稳定链路质量的虚链路,任何发生在网络物理层的问题对承载于三层技术上的二层网络都是透明的。

3.2.2 VLL和VPLS方案中的二层环路避免

点到点的VLL方案在PE间无环路,多点互联的VPLS通过水平分割避免PE间环路。按前文所述(生成树协议的设计要点),每个数据中心都设计为一个独立STP域,因此在数据中心内也不存在环路。然而,由于数据中心汇聚(CE)通过双归属上行到PE,造成在整个多中心二层互联网络中出现环路,如图11的红色虚线。因此在规划多中心二层扩展方案时,应从端到端的角度去考虑环路避免问题。

图11. 多中心二层互联的环路问题

通常的思路是将STP域延伸至整个二层网络可避免多中心间环路,但由此将使网络故障域过大,且维护管理困难,形成“牵一发而动全身”的被动局面。因此,STP延伸方案不可取。避免环路的另一种方案是采用交换机虚拟化技术,分别将两台PE和CE设备各虚拟化成一台逻辑设备,并在PE与CE间采用双链路捆绑方式互联,则可实现端到端环路避免,如图12

图12. 多中心二层互联的环路问题

3.3 承载于IP网络的VLL Over GRE或VPLS Over GRE方案

当多个数据中心间只有IP互联网络时,可以借助VLL Over GRE或VPLS Over GRE来实现二层互联方案。VLL和VPLS技术方案本身需要在PE与对端PE间建立一条可承载多个虚链路(pseudowire)的隧道,这个隧道可以是MPLS或GRE隧道。对于VLL或VPLS的MPLS隧道实现来说,报文的外层标签为MPLS标签;相应的GRE隧道方式则为 IP+GRE 。因此VLL Over GRE方案和VPLS Over GRE方案在组网拓扑、二层环路避免等设计要素上,与基于MPLS隧道的VLL和VPLS的要求基本相同,此处不再赘述。

3.4 三种方案对比分析

从报文转发性能以及故障收敛时间来看,以上三种方案都可实现数据中心间二层互联,并且能解决端到端的环路避免问题。

数据中心间基于光传输网络和交换机虚拟化技术的Hub-Spoke星形拓扑方案,配置管理简单、扩展性强,如果需要互联的数据中心在城域网范围内,且采用光纤资源充足,则建议采用这种方案。该方案的链路利用率高(报文在多条互联链路间做分担),故障收敛快(小于1秒),既可以做点对点互联,也可做点到多点互联。

当数据中心间没有专用的光纤资源,或者由于相距太远(大于100公里)使得部署光纤的成本很高时,可选择基于MPLS或IP GRE隧道的VLL方案实现点到点的数据中心间二层互联,还可选择基于MPLS或IP GRE隧道的VPLS方案实现点到多点数据中心间二层互联。

三种方案的差异对比如表1所示。

互联链路成本 互联扩展距离 传输效率 易维护性 适用场景
裸光纤/DWDM 小于100公里 容易 点到点、点到多点
MPLS VLL 无限制 较容易 点到点
MPLS VPLS
VLL Over GRE 无限制 较容易 点到点
VPLS Over GRE

表1 三种方案综合对比

4 结束语

数据中心内通常采用服务器二层接入方案,以实现灵活扩展能力。随着企业对业务连续性要求和计算资源灵活调度能力要求的不断提升,必然将面临二层网络在多数据中心间的扩展问题。本文提出三种不同实现方案,且都具备拓扑稳定、高可用和可扩展的特点,但各种方案亦有部署差异。方案没有最好的,只有最适合的。希望通过本文的阐述与分析,给读者一些帮助与启发,以便未来实现多中心互联时选择最适合的技术方案。

(5个打分, 平均:5.00 / 5)

雁过留声

“H3C 。《 数据中心间二层互联技术方案 》”有1个回复

  1. yongsheng gong 于 2017-07-12 2:44 上午

    谢谢分享