赞
踩
{"LatestVersion":*V1*,"Status":{"ClusterA":"*V1*","ClusterB":"*V0*"}
项目空间数据跨集群复制与同步:
MaxCompute中的的项目空间支持多个计算集群的配置,并且在元数据中有关于多个集群中每一份数据的版本信息,为了便于数据管理交互和计算,为了统一进行数据资源和计算资源的调度管理,MaxCompute设计并实现了项目空间中数据的跨集群复制与同步功能。
MaxCompute中当一份数据版本更新后,会触发一个分布式的跨集群数据复制任务,将数据复制到其他计算集群。 也可以针对项目空间中的数据进行统一的数据复制配置,如数据复制的内容及范围,频率及规则。同时跨集群复制同步也,通过对复制任务数的限制可以对机房间数据复制流量进行控制,用以从策略和方式上影响数据分布状态。
MaxCompute容灾基于以上三个系统特点和实现,从逻辑上确保服务能够支持多个逻辑集群,同一个项目空间能够跨集群管理,从物理上可以对同一份数据进行异地多机房存储与同步,并通过统一的数据同步方案进行数据同步管理和调度。在元数据容灾的基础上,形成了一套MaxCompute大数据容灾方案,该容灾方案依赖于数据的异地存放与元数据版本管理,服务运行中的数据状态如下图所示:
主备机房中都会部署一套完整的MaxCompute服务(控制集群、计算集群、tunnel,MaxCompute前端);
对于这个方案,主备机房各有一套MaxCompute服务,模块说明如下:
在正常工作状态下,主机房的MaxCompute提供服务,备机房的MaxCompute没有服务请求,上层数据业务都只通过两个服务域名使用MaxCompute:
MaxCompute服务域名:指向命令前端集群的虚拟IP,即系统架构图中的VIP2
Tunnel服务域名:指向Tunnel前端集群的虚拟IP,即系统架构图中的VIP1MaxCompute通过数据异步复制机制,不断将主机房的MaxCompute数据同步到备机房的计算集群,MaxCompute引入数据版本的机制。
容灾切换
容灾切换分计划内和计划外,对于计划内的切换,查看数据实时同步状态,选择某个已经完全同步的时刻进行容灾切换,这样RTO会非常短(分钟级),RPO为当前时刻,不需要回补数据。除了选择执行的时间点外,计划内和计划外的容灾切换流程是一致的。
主备容灾切换流程如下:
对于在数据同步复制过程中发生主集群故障的数据,此时数据状态如下图所示,需进行复制同步状态检查及恢复操作。 MaxCompute依托大数据管家进行集群和服务运维,在大数据管家中开发了支持(Resource/volume/table)的未同步数据状态检查及元数据修复。
对于计划内的切换,UMM和OTS不会有数据丢失,且RTO为0,对于计划外的切换,可能有短暂时间内的数据丢失,通常是秒级,对于MaxCompute这样的离线大规模数据处理系统,忽略这段短暂时间内meta数据丢失的影响。
对于MaxCompute这种大规模离线数据处理系统来说,数据加工往往有突发的情况,在某个时间段产出的数据量可能非常大,受限于机房间的带宽,新上传的和新计算的数据复制到备机房需要一定的时间,MaxCompute提供实时查看当前未同步的数据表/分区,实时的容灾数据同步率等信息,实时数据同步率主要取决于两个因素的影响:
因为数据复制也是以飞天分布式任务来进行的,需要用到主机房的MaxCompute计算集群的计算资源(主要是CPU和内存),MaxCompute可以根据这两个因素给出数据同步完成的时间预估。
数据中心灾难恢复流程,主要围绕两个指标RPO和RTO,借下图来说明MaxCompute容灾方案的细节: MaxCompute的多控制、多计算集群的架构天然的支持高可用和数据容灾场景,在机房或集群遭受不可恢复性破坏时,确保数据不会丢失,业务不受影响。
MaxCompute是典型的离线计算平台,需要支持大量数据的写入操作,只能选择异步复制。
容灾配置及部署对RPO/RTO的影响
控制集群切换(容灾模式)
计算集群切换(容灾模式)
未同步数据检查
1, 正向切换和反向切换
正切和回切方案是一样的,MaxCompute数据异步复制系统只根据计算集群的数据版本来做数据复制,当切换到备机房后,备机房的数据版本会更新,数据会从备机房复制回原来的主机房,从而完成数据的同步。
所以,回切的步骤和正切的步骤一致。但需要等待数据从备用机房同步到主机房完成后做默认计算集群切换,不然会造成两边数据不一致问题。
2, MaxCompute容灾方案建立在依赖系统容灾的基础上,依赖系统服务状态对MaxCompute容灾及功能使用非常重要,在做方案过程中,需要综合考虑整体服务级的容灾方案,不仅着眼与MaxCompute系统本身,对其依赖系统容灾方案,冗余配置,服务状态,数据状态都需要通盘考虑。
3,大数据服务容灾是典型的分布式系统容灾方案涉及到系统间协调,主要考虑点为数据状态,服务状态切换,在灾难发生时最大程度保护重要数据,尽快使服务恢复,对客户影响降到最小。
4,系统设计的前瞻性对容灾方案及最终落地方案影响很大,客户业务状况对容灾场景和方案设计及实现影响很大。
5,大数据容灾部署状态及灾难发生后的容灾切换只是系统能力中的一个,更多的工作在于从业务层面合理分配数据资源,系统设计层面支持容灾能力,容灾切换和操作过程中准确判断系统及数据状态,是一个需要客户和服务提供商也就是Maxcompute平台团队共同面对的问题。
6,容灾方案都有一定的场景限制,本大数据容灾方案集中讨论了在异地单机房故障情况下容灾切换能力,对于上层业务系统适配链接使用多地MaxCompute服务没有阐述。这一点上也需要服务提供方和客户方共同参与,协调沟通最符合业务场景的大数据容灾方案与项目实践。
作者:扬舟
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。