近年来,伴随云计算技术的快速发展和成熟,邮储银行积极推进私有云建设,并以此为基础,进一步搭建了可高效支持敏捷开发与快速上线的高可靠、高性能基础平台。与此同时,随着多地多数据中心布局的稳步推进,为更好满足不同应用、数据库的分布式部署需求,邮储银行云平台建设也逐步开始向同城多活、异地灾备的分布式云方向演变。
一、多中心分布式云网络需求分析
1.同城双中心是一个整体双活架构
在架构方面,分布式云网络基于跨数据中心(DC)的二层互联网络,支持将同一个云区域(Region)部署于同城数据中心之间,并使用虚拟扩展局域网(VXLAN)技术实现端到端二层互通,进而形成低时延、大带宽的同城互联网络,以更好满足云管理需求、业务同城备份需求和主从Region仲裁节点的较低时延需求。
如何搭建云平台2.同城中心之间提供双活出口
在部署方面,主Region管理面跨可用分区(AZ)同时部署于同城DC1与同城DC2。在此模式下,针对分布式云网络内的故障AZ切换场景,以及DC1出口故障时保持对外管理地址不变等需求,
同城DC互联网络可对外提供双活接入,即确保DC1出口入云或DC2出口入云的效果一致,并全面覆盖云内切换及云外切换等多种场景的网络需求。
3.多中心之间大流量数据同步
在传输方面,多中心布局在同城之间需要进行实时数据同步,异地之间则是进行异步数据同步(通常由广域网承载)。然而,金融业日常产生的数据量较大,因此需要重点考虑流量在同城及异地的转发路径问题,以避免大流量转发对现有实时生产流量产生冲击。
结合上述需求,分布式云网络的建设重点在于如何将同城两个DC当作一个整体,并使云内、云外切换可以做到解耦。此外,针对带宽尤其是广域网及同城之间的带宽,也需要提前进行合理规划,力求在满足分布式应用大流量传输的同时,不影响实时交易流量。
二、多中心分布式云网络架构设计
随着邮储银行新一代核心业务系统正式上线,新系统对多中心多活网络在高可用性、灵活性等方面均提出了更高要求。为此,邮储银行数据中心积极开展同城多活、异地灾备的分布式云网络建设。新一代核心业务系统分布式云网络在云平台架构上主要可分为两个云Region,
Region1为主Region,在同城双数据中心之间部署;Region2为从Region,部署在异地数据中心,为灾备Region,上述架构支持在业务面通过应用实现多活。
在架构层面,多中心分布式云网络的设计目标是在正常情况下实现云内无感跨数据中心,以及在某一数据中心遇到灾难时,可由另一数据中心完全承载所有业务角,并实现云内切换、云外无感,进而可在一个分布式云网络内部将同城两个数据中心当作一个整体看待。目前,业界通用的云平台组网模式一般为Border—Spine—Leaf三层架构,即所有的Leaf均连接到Spine上,并在Underlay层面实现路由打通。如果要进行跨中心部署,则按照三层架构要求,所有的Leaf均需要上联至两个数据中心的Spine,但这将极大消耗同城数据中心间的传输资源。针对上述难点,邮储银行面向跨数据中心同Region以及各数据中心不同AZ的场景,设计搭建了同城双活分布式云网络架构(如图1所示)。
图1 同城双活分布式云网络架构
同城双活分布式云网络架构主要有以下四大特点:一是双数据中心对等建设Border—Spine—
Leaf网络架构,任意数据中心出现问题,另一数据中心均可以完全承载。二是在Border之间使用裸光纤波分线路(40G/100G),实现双数据中心互联互通,同时为提高网络架构冗余的可靠性,使用了多个不同运营商的传输线路进行互联,以避免DC之间互联线缆同时中断导致同城数据中心分裂。三是选择BGP作为Underlay路由协议,并基于BGP的属性对双中心路由进行灵活控制,以满足云平台管理面的主备互通需求。四是Overlay部署在各Leaf之间实现三层路由可达,且支持VXLAN的隧道建立在任意两端,充分满足了同城数据中心的二层互访需求。此外,对于异地灾备的分布式云网络架构,由于异地数据中心属于两个Region,因此对网络无二层需求,仅需要仲裁、管理面的三层路由可达。
三、同城双活分布式云网络出口设计与实践
在同城双活分布式云网络的出口设计方面,邮储银行重点关注了三项内容:一是同城DC1、DC2均需要在对应的管理Border上发布相同的云管理网段,而其他业务系统也可通过DC1及DC2的Border访问云内管理系统。二是为满足安全管控需求,需要在Border之后部署防火墙设备,并确保来回路径的一致性,即来回流量均需要经过同一对防火墙。为此,邮储银行采用了将防火墙旁挂于Border的方式(DC1及DC2基于Border向外部发布相同的管理路由),且
为了确保经过防火墙来回路径的一致性,在同城双数据中心之间确定了主DC和备DC,且仅当主DC(DC1)出口发生故障时,网络才会切换至备DC(DC2)出口。三是不实施云外改造,即云网络切换尽量在Border内完成,以最终实现云内、云外网络解耦。结合以上重点因素,同城双活分布式云网络出口设计如图2所示。