docurl=/cn/Products_And_Solution/InterConnect/Solutions/Data_Center/Solution/202012/1364315_473262_0.htm

双活数据中心解决方案

【发布时间:2020-12-10】

伴随着数据大集中、业务应用不断增多、以及用户对业务连续性要求的不断提高,分布式双活数据中心日益越来越受到用户的关注。

文/张涛

传统主-备模式的数据中心只是简单的软硬件资源的堆砌。正常情况下,主用数据中心对外提供业务,备用数据中心处于闲置状态。只有在发生灾难宕机的情况下,业务系统才从主用中心迁移到备用中心来。然而,灾难往往只是小概率事件,企业投入大量人力和物力建设的备用中心大多时候都是处于闲置状态,资源使用率极低。更为重要的是,主-备模式的数据中心的RTO和RPO无法保证业务的连续性。无论采用怎样的优化方式,主-备模式的建设思路对高可用性的提高、业务连续性的保证只能实现量变,却一直没有实质性的跨越。

分布式双活数据中心的出现,让我们找到了优化投资利用率、保证业务连续性的新思路。然而,建设分布式双活数据中心需要网络系统、存储系统、计算资源甚至包括应用系统等多个IT系统之间紧密合作,是一个庞大的系统工程。本文将详细介绍分布式双活数据中心的第一块敲门砖——网络系统双活的部署方案。

简单来讲,网络系统双活主要由以下两大部分技术构成。

数据中心间大二层网络技术——EVI。通过大二层网络,可以实现跨数据中心的集群、资源共享和故障探测,它是保证故障发生后到故障切换中间过程不丢包的重要手段。在数据中心之间建设一张虚拟的大二层网络是实现网络双活的基础

负载均衡技术。通过负载均衡技术,可以实现流量在不同数据中心间的调度以及在单数据中心内多服务器的负载分担;同时,负载均衡设备也是探测业务故障实现自动切换的关键实现点。

一、 数据中心间大二层技术——EVI

实际生产环境中,企业往往已经建设了同城双中心甚至是两地三中心,但是还没有实现二层扩展,因此需要使用EVI实现大二层扩展。EVI是一种先进的“MAC in IP”技术,用于实现基于IP核心网络的L2VPN技术。多数据中心间通过EVI技术在站点的边缘设备上维护路由和转发信息,而无需改变站点内部和核心网络。

EVI整体网络由核心网络、站点网络和虚拟网络组成(如图1所示):

图1 EVI网络模型

图1 EVI网络模型

核心网络是主要由IP路由设备承载的提供站点网络之间互联的网络;

站点网络是通过一台或者多台边缘设备连接到核心网络、具有独立业务功能的二层网络,通常由单个组织管理控制,主要由主机和交换设备组成,边缘设备提供站点之间的二层交换功能;

虚拟网络是站点边缘设备之间建立的虚拟二层网络,提供站点网络之间的二层互联,相互通告连接到边缘设备所有主机和路由器的MAC地址,将多个站点互联形成更大的二层转发域;虚拟网络实现VLAN在不同站点之间的扩展,主要由虚拟接口和虚拟连接组成,在数据平面承载站点间扩展的VLAN的二层流量,在控制平面通过IGP协议在站点之间通告主机和路由器的MAC地址可达性信息,管理平面通过邻居发现协议来实现站点的自动发现功能,简化网络配置管理工作。另外,虚拟网络还实现了ARP、未知单播、组播流量优化功能来减少广播流量对带宽的占用以及对服务器资源的消耗。

通常,数据中心内部不同的VLAN承载不同的业务功能,而需要扩展的数据中心站点也不完全相同。EVI通过虚拟网络支持多实例功能,不同实例的控制平面协议交互以及数据平面流量转发完全隔离。每个实例表示一个VPN,使用Network ID来唯一标识。如图2所示定义了三个VPN实例。

图2虚拟网络多实例示意

图2虚拟网络多实例示意

(如图3所示)在需要二层扩展的数据中心边缘加入支持EVI的互连设备,不需要对原有数据中心架构做大的改动,只要EVI边缘设备之间IP可达,就可以在核心网上构建一张虚拟的二层网络。这样简单灵活的扩展方式大大简化了用户实际部署的复杂度,并且对现网生产业务的影响减少到最小。

图3 EVI典型组网图

图3 EVI典型组网图

通过EVI技术,可以在多个物理形态的数据中心之间建设一张虚拟的大二层网络,将多个物理数据中心里的资源虚拟为一个虚拟数据中心对外提供服务。

二、 负载均衡技术

实现灵活业务流量调试,有两个主要的设备:GTM和LTM。GTM(Global Traffic Manager,全局负载均衡设备)主要完成用户解析DNS功能;LTM(Local Traffic Manager,本地负载均衡设备)主要负责对内部服务器健康状态检查、将访问流量分担到不同服务器以及出口流量的链路负载分担。GTM可以和LTM联动,当LTM检测到本设备管辖的服务器资源故障,不能对外提供服务时,GTM可以对DNS解析做替换。同时LTM会实时保持与GTM联动,将检测到的服务器健康状况上报给GTM。

针对用户不同的业务发布模式,我们细分了以下两种建设场景。

1. 场景一:基于DNS发布业务的双活

图4基于DNS发布业务的双活数据中心

图4基于DNS发布业务的双活数据中心

(如图4所示)基于DNS发布业务的数据中心网络双活主要由以下五部分完成:

①GTM通过就近性探测实现客户端访问路径的优化;

②GTM根据就近性探测结果实现数据中心之间流量分担;

③LTM对服务器进行健康检查并上报给GTM;

④GTM根据LTM上报的服务器状态实现业务的自动切换;

⑤LTM实现对多链路出口的选择;

步骤①和②主要是DNS解析的过程。正常情况下,GTM上记录了A和B两个数据中心入口的IP地址。当有用户解析业务的IP地址时,GTM会根据设置的策略向用户返回不同IP地址。这样,用户访问流量可以分担到两个数据中心中。这个策略可以是根据两个数据中心当前的负载情况,也可以是根据用户所在地域将用户引导至不同的数据中心。总之,GTM提供了丰富的选择策略用于调度两个中心的访问流量。

图5 DNS解析流程

图5 DNS解析流程

如图5所示为用户访问网站www.h3c.com.cn DNS解析过程说明举例。可见,当第一个用户访问业务时,GTM返回数据中心A的IP地址,流量进入数据中心A。当第二个用户访问业务时,GTM可以返回数据中心B的IP地址,这样流量就进入了数据中心B。通过这种最简单的轮询机制,实现用户流量在两个数据中心间智能调度,同时可以在GTM上设置更为复杂的调度策略。

步骤③和⑤主要由LTM完成。LTM会实时的检测本设备管辖范围内服务器的健康状况,这种检测可以是基于ICMP、TCP、HTTP等。同时LTM会记录各个服务器的负载情况,对于外界进来的访问流量,LTM会选择内部最优的服务器提供服务,做到内部服务器的负载均衡。当然,当内部服务器发生故障时,LTM会将故障结果通告给本地的GTM。对于从服务器返回的流量,LTM可以根据出口链路的负载情况做链路分担。

步骤④由GTM来完成,主要针对数据中心内服务器全部宕机的情况。当LTM检测到管辖的服务器全部宕机,即本中心不能在对外提供服务时,会通告给GTM。这样,GTM会将业务域名下对应的该中心的IP地址置于非正常状态。后续有访问业务的DNS解析请求时,GTM不会再返回该中心的IP地址,所有解析都返回另一个数据中心的IP地址。这样就完成了故障时自动智能的切换。

以上为流量在故障发生后切换的机制。在实际生产环境中,本地DNS服务器通常有较长时间的缓存。当GTM收到LTM的业务故障通知,将DNS解析地址切换后,本地DNS缓存的地址或许还是之前使用的地址,那么该DNS服务器下的客户端仍旧会访问到业务故障的数据中心。在传统模式下,用户将无法获得服务;在分布式双活数据中心方案中,可以通过数据中心间大二层网络,将进入到业务故障的数据中心的流量引导到业务正常的数据中心来保证业务的连续性。因此,从用户角度来看,业务可以做到零中断,无论业务访问的是数据中心A还是B,或是从A到B的跨中心路径,虚拟的大二层网络为访问流量提供了一个始终可用的服务站点。

2. 场景二:基于IP地址发布业务的双活

该场景主要是通过IP地址和IP路由实现对用户流量的调度(如图6所示)。

图6 基于IP地址发布业务的双活数据中心模型

图6 基于IP地址发布业务的双活数据中心模型

正常情况下,数据中心A和B分别对外发布不同的IP地址和路由。此时,两个IP地址均路由可达,都可以对外提供服务。(如图7所示)LTM会实时监测本设备管辖的服务器,当服务器故障、本中心不能对外提供服务时,LTM会通过RHI(Route Health Injection,健康路由注入)功能撤销对外发布的路由,同时数据中心B的LTM会对外重新发布被数据中心A撤销的路由,这样,同一个IP地址的业务由数据中心B来提供。数据中心A和B的LTM之间需要通过二层互连网络(EVI)保持联动。同理,当数据中心A的LTM故障时,同样的切换也会发生。

图7 基于IP地址发布业务的故障切换

图7 基于IP地址发布业务的故障切换

由此不难看出,RHI是实现基于IP地址发布业务双活的关键。该功能通常由SLB技术实现。SLB周期性的检测服务器/虚拟机的存活状态,当检查结果正常时,SLB向骨干网中发布一条该主机地址的主机路由,用于用户的正常访问;当检查结果异常时,撤销该主机路由。LTM健康路由注入、撤销过程实际上是LTM与网络设备路由交互的过程。网络设备必须能够良好的与LTM进行路由的学习,同时可以将从LTM学习到的路由信息准确的发布到网络系统中,从而准确的控制客户端得到的路由信息。本方案中,通过数据中心A和B中两台LTM的配合实现用户业务动态调整。

如同场景一,当一个数据中心业务故障后到业务成功切换到另一个数据中心的中间过程中,可以通过数据中心间的虚拟大二层网络保障故障切换过程中业务的连续性,以保证业务始终可用。

三、 结束语

分布式双活数据中心的建设是一个复杂的系统工程,它不仅仅要求网络系统双活,更是涉及到服务器系统、数据库系统和存储系统,甚至和客户的具体应用也是息息相关。网络系统是数据中心对外提供服务的通道,有了网络的双活,伴随着数据库系统和存储系统双活技术的不断成熟,相信分布式双活数据中心方案可以为用户提供更加完美的数据中心双活体验。

联系我们