杭州华三分布式双活数据中心解决方案2随着人类社会活动越来越依赖于网络,基于网络的业务连续性成为IT建设的首要目标。这意味着无论是否有中断,网络与关键任务应用系统都能够不间断地创造产值并提高公司的业务持续性。多个数据中心与灾备中心共同保障业务的持续能力成为必然的选择。但是,灾备中心的建设属于“养兵千日,用兵一时”,动作大、花费大,但回报收益有限甚至甚微。灾备中心建设往往跟主数据中心是1:1的投入,但综合的收益却很难达到1:1。表现出来就是主数据中心处于正常运转时,灾备中心处于备用状态,人力物力资金投入无法有效利用,在灾难发生时容易掉链子,RTO、RPO很难达到预期目标。目前,以银行为代表的、包括政府、公共交通、能源电力等诸多行业用户,开始将关注点转向“分布式多活数据中心”(DistributedActive/ActiveDataCenters)的建设。分布式多活数据中心将业务分布到多个数据中心,彼此之间并行为客户提供服务,分布式多活包括两大关键特征——分布式和多活,体现出企业级用户在建设与使用数据中心时对资源调度利用和业务部署灵活性的新思路。多活数据中心带来的优势是显而易见的,但其建设是一个复杂的系统工程。在技术层面,不仅涉及到服务器/虚拟机之间的集群协同,还包括数据的复制与同步,更重要的是涉及到跨数据中心的网络互联互通及分支/Internet用户对DC的访问,因此网络对业务的感知能力及对流量的牵引成为方案设计与部署的重中之重;此外,网络访问控制策略的迁移、服务器网关及数据同步对网络带宽与服务质量的要求、IP地址设置、路由发布控制、网关设计、防火墙状态会话、流量路径规划及迂回控制等技术都是设计上必须要考虑和解决的问题。图1双中心模式下的网络互联前言Web/VMAPP/VMDB/VM存储Web/VMAPP/VMDB/VM存储3成本高,同时MPLS网络配置复杂,同时也需要设计STP域隔离及VRRP报文隔离,维护困难,随着二层域的扩大,广播域扩展到多个中心。○基于IP网络的VLLOverGRE或VPLSOverGRE方案与基于MPLS网络的VLL或VPLS技术的区别仅仅是承载网变为IP网络,其他设计完全一样,所以也面临同样的设计及运维问题。H3C新一代大二层网络设计针对传统数据中心二层网络扩展技术面临的问题,H3C推出了一种新型的大二层扩展技术EVI(EthernetVirtualInterconnection),他是一种MACOverIP的二层互联技术,承载在现有的IP网络之上,适应性强,价格低廉,同时针对数据中心大二层扩展面临的问题,做了针对性的设计,能够天然解决传统大二层网络扩展带来的各种问题,并对ARP泛洪等应用进行了优化,且配置部署非常简单,EVI典型组网方案如下:图3EVI典型组网EVI部署时,为了不影响现有数据中心网络,同时由于跨中二层信息交互比较频繁,所以一般情况是在数据中心汇集设备上旁挂两台(不考虑冗余也可以是一台)EVI设备进行EVI互联,当数据中心站点EVI设备上线时,原有的EVI节点不需要做任何改变就能够自动完成所有EVI虚链路的建立,进而实现大二层网络的扩展。在分布式数据中心解决方案中,为了实现跨中心计算资源的动态调配,一般采用虚拟机迁移技术(H3CDRS,VMWareVMotion),同时采用服务器高可靠性集群计算实现跨数据中心的应用级容灾,这两种应用场景统称为“分布式数据中心(DistributedDataCenter)部署方式”,其特点是一个应用系统在IP地址不变的情况下可以在不同数据中心对外提供服务,但同一时段此应用只出现在一个数据中心,数据中心的访问用户不感知这种变化。虚拟化从根本上改变了数据中心网络架构的需求,最重要的一点就是,虚拟化引入了虚拟机动态迁移技术,从而要求网络支持大范围的二层域,大二层网络技术应运而生,以帮助解决二层网络的扩展。图2双活数据中心大二层网络传统大二层网络设计所面临的问题传统大二层扩展技术包括裸光纤二层互联技术、基于MPLS网络的VLL或VPLS技术,基于IP网络的VLLOverGRE或VPLSOverGRE方案(具体设计见IP领航数据中心特刊《数据中心间二层互联》),通过特殊的配置和手段,这三种技术都能够实现数据中心二层互联并且能够解决端到端的环路问题,但是部署起来也面临非常大的问题:○基于裸光纤的二层互联技术前提要求必须有裸光纤资源,同时距离不得超过100KM,使用成本高昂,STP域隔离设计复杂,随着二层域的扩大,广播域扩展到多个中心。○基于MPLS网络的VLL或VPLS技术,要求承载网为MPLS网络,其中MPLS网络可以自建也可以是运营商提供,分布式双活数据中心大二层网络设计DWDMDWDMDWDMServerServerSANSANLayer2Layer2Layer2Layer2Layer3Layer3园区分支三层互联二层互联数据中心1数据中心2EVIAggDeviceAccessDeviceAccessDeviceCoreDeviceEdgeDeviceEdgeDeviceCoreDeviceAggDeviceEVIEVIEVIEVIIPWANSiteASiteBL2linkL3linkEVITunnel4在分布式双活数据中心网络环境下,通过数据中心前端分布式双活技术,用户能快速访问“距离最近”的可用数据中心相对应的业务,提高服务响应速度,提升用户访问体验。数据中心的业务对外发布时,可以采用纯IP地址也可以采用DNS域名方式。根据业务对外发布方式的不同,数据中心前端也相应采用不同的技术实现分布式网络双活。基于IP发布业务的前端网络双活设计如图4所示,当业务采用纯IP方式对外发布时,正常情况下只有主中心DCA对外发布业务路由,从而将用户访问流量牵引到主中心,实现主中心业务访问。而备中心DCB的流量管理设备(支持RHI特性)只探测业务地址,因没有探测到而不对外发布业务路由,实现主中心的备份作用。当主中心业务迁移到备中心后,备中心的流量管理设备探测到业务IP已经转移到备中心,从而对外发布业务路由,引导用户访问备中心的业务IP,从而实现基于纯IP发布业务的数据中心前端网络双活。图4基于IP发布业务主中心提供业务值得注意的是,该方案需要备中心流量管理设备支持RHI特性(如图3所示),能够对外发布路由。数据中心间需配置网关分离。实现网关分离有两种方式:○一种方式是手工配置。可以在汇聚交换机中,配置VRRP协议以交换机的实MAC地址方式回应服务器对网关地址的ARP请求(单播的ARP应答报文),并且在DCI设备的对应端口上丢弃VRRP的Hello报文和对端交换机以实MAC发来的ARP应答报文。○另外一种方式是在DCI设备上采用EVI(下一章节介绍)技术来实现对于报文的隔离,当互联的各个数据中心站点网络拥有本地的三层网关时,为了保证流量从本地网关进行三层转发,可以配置EVI-ISIS进行MAC路由策略过滤,不允许发布网关的虚拟MAC地址到其他站点。而且边缘设备要过滤丢弃从其他站点收到的异地网关发送的免费ARP。这种情况下,边缘设备对未知组播报文不会泛洪到其他站点,包括VRRP协议报文。当需要在站点间部署单侧网关方案时,可以在配置VRRP协议MAC为选择性泛洪MAC,从而允许站点之间交互VRRP协议报文。图5基于IP发布业务备中心提供业务分布式双活数据中心前端网络设计虚拟机VM=10.1.1.100网关GW=10.1.1.1WANWANWANL2Links(GEor10GE)AccessL3Links(GEor10GE)Probeto10.1.1.100FailedPublicNetworkIS10.1.1.100OK?DCBDCAVLANAAggAccessAgg144.254.100.0/25&144.254.100.128/25144.254.100.0/24BackupforDataCenterAvmwarevmwareVM10.1.1.100GW10.1.1.1Layer3CoreIntranetISPBISPAL2Links(GEor10GE)L3Links(GEor10GE)10.1.1.1VRRPVIPProbeto10.1.1.100isOKPublicNetworkDCBDCAVLANAAggAccessAgg144.254.100.0/25&144.254.100.128/25144.254.100.100/32isadvertisedintoL3usingRHIvmwarevmware10.1.1.1VRRPVIPIS10.1.1.100OK?RHI5○步骤3:SLB1设备对用户A的流量做NAT(地址转换),报文的源IP被改为SLB1的接口地址IP-1地址,目的地址被改为虚机的真实地址VM-IP。○步骤4:虚机到用户A的回程报文的源IP是VM-IP,目的IP是SLB的接口地址IP-1。由于虚拟机的网关指向汇聚交换机,从虚拟机到用户A的回程流量经汇聚交换机转发到主SLB1上。○步骤5:SLB1查会话表,将该IP报文的源地址改为VIP-1,将目的地址改为用户A的实际IP,最后该IP报文经核心广域网转发到用户A。如图7所示,某时刻,数据中心1的管理员在将app.h3c.com对应的虚拟机通过vCenter迁移至数据中心2,此时有两个制约因素要求用户A访问虚拟机的流量仍然将数据中心1作为访问流量的入口:图7虚拟机迁移后已上线用户流量由于用户A的终端设备(PC)具有本地DNS缓存,在DNS缓存超时之前,用户A的终端仍然将app.h3c.com解析成VIP-1。由于从用户A的终端设备到提供app.h3c.com业务的虚机的访问路径上存在防火墙,且防火墙通常采用基于TCP/UDP状态的会话检查机制,所以对于已经上线的用户A(防火墙上已建立用户A到虚机的会话表项),必须保证虚机迁移后,从用户A到虚机的访问路径仍然保持原有路径(经过原来的防火墙)。上述限制条件意味着从用户A访问app.h3c.com的数据流在步骤2和步骤3会发生如下变化:○步骤2:SLB1上经过NAT处理后的报文被转发至数据中心1的汇聚交换机(有VM-1对应的直连网段路由),该汇聚交换机查ARP表后,将报文发往与数据中心2的汇聚交换机相连的端口。数据中心2的汇聚交换机查MAC表,完成最终转发。○步骤3:由于数据中心1的汇聚设备与数据中心2的汇聚设备采用了网关分离部署方式,所以虚机到用户A的回程基于DNS发布业务的前端网络双活设计当业务系统基于DNS域名方式对外发布时,可通过动态DNS可以实现访问流量的智能分发调配无需增加广域网开销。该方案有两个关键技术,一是“网关分离”,在本文前一章节有详细说明,此处不再赘述。另一关键技术是“动态DNS解析技术”,同一个虚机在不同数据中心通过NAT(由SLB设备实现)呈现不同的服务IP地址。GSLB作为DNS服务器,虚机的迁移事件可触发vCenter上的可执行脚本,远程修改GSLB上虚机对应的DNS记录,由此实现新上线用户的三层路径优化。如图6所示,数据中心1、数据中心2的服务器采用了VMware虚拟化技术,vCenter部署在数据中心1,网络汇聚层实现二层互联,两个数据中心同时部署同一个网段的网关,网关IP地址相同,虚机就近选择本数据中心的网关进行三层流量转发;汇聚层设备上旁挂主备方式部署的SLB设备,汇聚于核心路由器间部署主备方式的防火墙;广域网中部署了基于DNS技术的GSLB设备,客户机端通过域名方式访问数据中心的业务系统。当管理员通过数据中心1中的vCenter将业务系统app.h3c.com对应的虚拟机从数据中心1迁移至数据中心2时,当前已在线用户的访问流量不中断(可以存在三层方案次优路径),而新上线访问app.h3c.com的用户选择三层最优路径访问位于数据中心2的虚机。图6基于DNS发布业务双活方案如图6所示,当app.h3c.com对应的虚拟机运行在数据中心1时的流量如下:○步骤1:某用户A希望访问app.h3c.com,其客户机向本地部署的D