时间:2022-11-24 14:58:22
序论:好文章的创作是一个不断探索和完善的过程,我们为您推荐一篇医院分布式双活数据中心的网络架构范例,希望它们能助您一臂之力,提升您的阅读品质,带来更深刻的阅读感受。
一、前言
随着医院规模的不断扩大,医疗信息化程度的逐渐提高,医院数据中心业务日益增加。医疗业务的开展对信息系统的依赖性愈发强烈,且需求不断提高。医院对信息系统的稳定运行越来越重视,对业务连续性要求越来越高,重要的业务系统只允许短暂停顿甚至不允许中断业务。从行业建设标准来看,医疗行业互联互通评级、电子病历评级,信息安全三级等保要求,对灾备都有明确要求,以保证医院系统持续运行。出于灾备、资源利用率等方面的考虑,医院可能在不同的物理站点部署自己的数据中心网络,包括医联体内的多地部署等。如何将这些数据中心站点连接起来,降低管理成本、灵活扩充业务等成为医院数据中心的重要任务。EVPN VXLAN不仅为分散在不同位置的物理站点提供二层和三层互联,还可以通过EVPN网关在不同的物理站点之间提供三层互通,实现了不同VXLAN之间及VXLAN与外部网络之间的三层通信。
传统的医院数据中心采用主备模式,主用数据中心对外提供业务,备用数据中心大多时候处于闲置状态。只有在发生灾难宕机的情况下,业务系统才从主迁移到备。这样导致医院投入大量人力和物力建设的备用数据中心大多时候都是处于闲置状态,资源使用率极低。更为重要的是,主-备模式的数据中心的RTO和RPO无法保证业务的连续性,医院信息互联互通测评也对数据灾备恢复有明确的的指标要求,五级乙等要达到RTO≤0.25h,RPO≤0.25h的要求。伴随着医疗数据大集中、业务应用不断增多、以及医院对业务连续性要求的不断提高,分布式双活数据中心的建设已然成为医院数据中心建设的目标和方向。分布式双活数据中心优化了投资利用率、保证了业务连续性。建设分布式双活数据中心需要网络、存储、计算资源甚至包括应用系统等多个方面之间的紧密合作,是一个庞大的系统工程。在数据中心之间建设一张虚拟的大二层网络是实现网络层面分布式双活的基础。通过大二层网络实现跨数据中心的集群和资源共享及故障探测,是保证故障发生后切换过程不丢包的重要手段。
三、大二层网络
(一)Underlay和Overlay
Underlay网络就是传统的物理网络,可实现设备之间互联互通。在这个层面可用的网络设备虚拟化技术包括VSS、CSS、IRF等,从物理层面上构建大二层,难免需要对原来的网络做较大的改动,并且这些技术的大二层网络的范围依然会受到种种条件的限制,包括光纤资源或物理距离的限制。主要还是用于数据中心内部或近距离数据中心之间使用。
Overlay网络通过封装技术、利用Underlay网络提供的三层转发路径,实现报文在不同站点间传递。对于用基于EVPNVXLAN技术实现医院分布式双活数据中心的网络架构白鹏马岚户来说Underlay网络是透明的,只能感知到Overlay网络。Overlay技术架构能够实现虚拟网络与物理网络解耦,分离控制平面与数据平面[1]。这个层面的大二层技术主要有VPLS、OTV(Overlay Transport Virtualization ,覆盖传输虚拟化)、EVI(Ethernet Virtual Interconnection ,以太网虚拟化互联)、EVN(Ethernet virtual Network,以太网虚拟网络)、VXLAN(Virtual Extensible LocalArea Nexwork,虚拟扩展局域网)、EVPN(Ethernet Virtual Private Network,以太网虚拟专用网络)等,其中OTV 属于思科的私有协议,EVI 属于华三的私有协议,EVN属于华为的私有协议[2]。VPLS是一种经过验证且广泛部署的技术,然而当它涉及多宿主和冗余、多播优化、提供简单性、基于流的负载平衡和多路径等情况时,现有的解决方案有许多限制。这些限制却是数据中心的重要考虑因素[3]。当前数据中心应用比较广泛的通用技术是EVPN和VXLAN 技术。
(二)EVPN VXLAN技术
EVPN是一种基于Overlay的二层VPN技术,控制平面采用扩展的BGP协议通告BGP EVPN路由信息,数据平面可以采用VXLAN、NVGRE或MPLS封装方式转发报文[4]。用户的物理站点分散在不同位置时,EVPN可以基于现有的网络,为不同站点提供二层互联。为了支持EVPN,MP-BGP在L2VPN地址族下定义了新的子地址族——EVPN地址族,并为该地址族定义了EVPN NLRI(Network Layer Reachability Information,网络层可达性信息),即EVPN路由。EVPN子地址族使用的地址族编号为:AFI=25,SAFI=70p[5]。EVPN通过MP-BGP可以实现PE/VTEP的自动发现、PW/VXLAN隧道的自动建立、VXLAN隧道与VXLAN隧道的自动关联,无需手工配置,这大大降低了网络部署的难度。而且控制平面和数据平面是分离的,由控制平面负责路由的发布,数据平面负责报文的转发。架构非常清晰、易于管理。相较于VPLS技术EVPN不仅支持多归属的应用场景,还采用MP-BGP宣告二层的MAC/IP信息(即ARP或ND信息),形成二层和三层的控制信令都通过BGP协议来完成。既解决了多归属应用场景时的负载分担、网络故障收敛的问题,又保证了终端之间的隔离,还具有较好的扩展性。VXLAN是一种实现网络虚拟化的Overlay技术,主要应用于数据中心组网, 通过隧道封装在一个共享的三层Underlay 网络上实现二层扩展[6]。基于IP网络、采用“MAC in UDP”封装形式的二层VPN技术。VXLAN可以基于已有的IP网络,为分散的物理站点提供二层互联,并能够为不同的用户提供业务隔离。IANA为VXLAN UDP端口分配了4789端口号,作为目标端口的默认值。VXLAN的一些早期实现为目标端口使用了其他值。为了实现与这些实现的互操作性,目标端口应该是可配置的[7]。由于VXLAN采用了MAC in UDP的封装方式,使虚拟机迁移时IP、MAC不变,实现原始二层报文在IP网络中的透明传输,保证虚拟机迁移前后的IP和MAC不变。VXLAN使用24位的标识符,最多可支持2的24次方(16777216)个VXLAN,支持的租户数目大规模增加,解决了传统二层网络VLAN资源不足的问题。VXLAN只在IP核心网络的边缘设备进行封装和处理,在基于IP网络组建大二层网络时,使网络部署和维护更加容易。EVPN VXLAN是将EVPN与VXLAN结合使用,控制平面采用MP-BGP通告EVPN路由信息,数据平面采用VXLAN封装方式转发报文[8]。EVPN VXLAN通过VXLAN ID来标识VXLAN网络,并为每个VXLAN网络维护独立的MAC地址表,以实现相同VXLAN网络的二层互通、不同VXLAN网络的二层隔离。通过在网络中部署EVPN VXLAN网关,还可以实现不同VXLAN网络的三层互通,以及VXLAN网络与外部网络的三层通信。
四、设计与实现
(一)数据中心站点间互联
医院数据中心的不同物理站点之间首先需要通过传统网络技术互联形成 Underlay网络。然后再利用EVPN VXLAN搭建Overlay大二层网络。由于网络中需要使用BGP路由协议,当EVPN VXLAN网络中的设备属于同一个AS(Autonomous System,自治域系统)时,在建立IBGP邻居时要形成全连接的邻居关系或对等体。若网络设备众多,则网络的配置相当复杂和繁琐,这就需要在网络中部署路由反射器(RR)以减轻网络部署的难度。网络中所有需要建立IBGP邻居关系的设备都只与路由反射器(RR)建立IBGP邻居关系。路由反射器(RR)与IBGP邻居设备之间建立连接后形成邻居设备列表,将从某个IBGP邻居设备收到的路由反射给其他的IBGP邻居设备,形成全连接的邻居关系。EVPN VXLAN通常采用核心——分支的分层结构。核心层设备通常作为路由反射器(RR)反射BGP EVPN路由;分支层设备作为VTEP,转发二层流量或三层流量。EVPN VXLAN网络构建的是一个相对独立的网络空间,可以通过接入外网,实现与外界网络的通信。为了与外界网络互通,在VXLAN网络的边缘,还需要部署边界(Border)设备。边界(Border)设备通过Underlay网络的接口与外网之间运行路由协议学习路由;然后将这些路由引入到EVPN VXLAN网络中。在实际组网中,通常部署多台边界(Border)设备。这些边界(Border)设备都可以通告这些路由,从而形成等价路由负载分担的架构。EVPN VXLAN网络主要包括如下几个组成部分:VTEP:EVPN网络边缘设备,EVPN相关处理均在其上进行。VXLAN隧道:两个VTEP之间的点到点逻辑连接。AC接入电路:连接站点和VTEP的物理电路或虚拟电路,如以太网链路、VLAN,如图1所示为了实现EVPN VXLAN网络的三层互通,需要部署EVPN VXLAN网关。在EVPN VXLAN网关上配置VSI虚接口,并为该接口配置IP地址作为网关地址。EVPN VXLAN网关分为:集中式网关和分布式网关两种。集中式网关:网络中只有一台设备作为网关,不同VXLAN之间的流量以及VXLAN访问外部网络的流量全部通过这个网关处理。这种组网方式配置简单,但网关的压力比较大。分布式网关:网络中多台设备作为网关,能够对本地站点的流量进行三层转发,缓解了网关的压力。在分布式网关组网中,通常边界(Border)设备也需要配置VSI虚接口,用来与外部网络通信。
(二)数据中心间互联
超大规模的医院或在医联体模式下医疗单位,随着业务规模的不断发展,跨地域的数据中心同样需要互联。跨地域、大范围的互联很有可能需要依赖通讯服务提供商作为支撑。服务提供商可能会提供VPLS、PBB-VPLS,EVPN或PBB-EVPN等链路。数据中心间互联通过EVPN VXLAN数据中心互联技术在数据中心之间建立VXLAN-DCI(VXLAN Data Center Interconnect,VXLAN数据中心互联)隧道,实现不同数据中心之间虚拟机的二层和三层互通。
1.使用GW的数据中心互联
当与运营商保持一致控制范围的边界时,可能需要在数据中心网络中使用网关(GW)功能,这是因为网关提供了跨越网络边界时的 VNI转换。根据连接方式的不同,分为解耦互连和集成互连两个解决方案。两者的区别主要在于解耦互连解决方案中数据中心网络和广域网不是同一个的服务提供商,只是EVPN-Overlay与WAN之间简单的连接转换,转换的方式可以基于VLAN或是MPLS 的PW,广域网中部署的L2VPN 拥有技术的独立性,如图2所示。集成互联解决方案中数据中心网络和广域网由同一管理实体运营,可以将网关(GW)和WAN Edge功能集成在同一设备中, EVPN-Overlay网络与WAN中支持的L2VPN 技术之间的控制平面和数据平面互通[9]。集成互联解决方案中不再提供数据中心网络和广域网之间的明确分界链接,网关(GW)可以具有本地AC,如图3所示。
2.使用ASBR的数据中心互联
在不同数据中心网络虚拟边界需要互连,并且网络虚拟边界需要使用本地分配的VNI(例如,类似于MPLS标签)的情况下,可能不需要在数据中心网络的边缘使用网关(GW)。更具体地说,发送网络虚拟边界使用的VNI值由接收业务的网络虚拟边界分配(换句话说,这类似于“下游分配的”MPLS标签)。这使得VNI空间可以在不同的DCN之间解耦,而无需在数据中心边缘设置专用网关,如图4。这种方法可以被视为与上一种方法相反的方法,它有利于数据中心互联设备的简化,而不是使用网络虚拟边界NVE,网络虚拟边界NVE需要维护较大的MAC-VRF(和IP-VRF)表,而数据中心互联设备不需要维护任何MAC(和IP)转发表。此外,DCI设备不需要终止和处理与多归属相关的路由,而是中继这些消息以建立端到端标签交换路径(LSP)。换句话说,这种方法中的DCI设备的运行方式与MPLS VPN 中AS间option B的ASBR类似。这要求使用本地分配的VNI,就像使用下游分配的MPLS VPN标签一样,在所有实际用途中,VNI的功能类似于24位VPN标签。这种方法同样适用于采用MPLS封装的数据中心(或运营商以太网)[10]。
五、负载均衡技术
负载均衡属于网络行业内较为常见的一种技术[11],通过负载均衡技术,可以实现流量在不同数据中心间的调度以及在单独数据中心内多服务器的负载均衡;同时负载均衡设备也是探测业务故障实现自动切换的关键点。不同的负载均衡技术需要部署在网络中的不同位置,以完成各自的流量分发任务。实现灵活业务流量调试,有两个主要的设备:全局负载均衡,主要完成DNS解析功能;本地负载均衡,主要负责对内部服务器健康状态检查、将访问流量分担到不同服务器以及出口流量的链路负载分担等。全局负载均衡可以和本地负载均衡联动,当本地负载均衡检测到管辖的服务器资源故障,不能对外提供服务时,全局负载均衡可以对DNS解析做替换。同时本地负载均衡会实时保持与全局负载均衡联动,将检测到的服务器健康状况上报给全局负载均衡。在分布式双活数据中心方案中,无论是基于IP地址还是DNS发布的双活业务,都可以通过数据中心间大二层网络,将进入到故障数据中心的流量引导到正常数据中心,来保证业务的连续性。从用户角度来看,RTO(Recovery Time Objective,RTO)恢复时间目标[12]可以为0。无论业务访问的是哪个数据中心,或是跨数据中心路径的访问,虚拟的大二层网络都可以为访问流量提供了始终可用的服务站点。
六、结语
传统医院数据中心网络多采用核心交换机VRRP或多虚一虚拟化技术避免单点故障,而以大二层技术为基础的数据中心突破了物理限制,为医院提供分布式双活数据中心的扩展能力。分布式双活数据中心的建设是一个复杂的系统工程,它不仅仅是网络系统双活,更是涉及到服务器、数据库和存储等多个系统,甚至和具体应用也息息相关。EVPN VXLAN技术可以为医院提供更加完善数据中心网络的解决方案。随着网络架构的变革,医院管理层与信息部门也需要不断的提升综合素质和能力,配合更加完善的管理秩序,以应对医院信息化建设中的更多挑战。H
作者:白鹏 单位:天津医科大学总医院