APP下载

一种基于占位虚拟机的云数据中心高可用方案

2019-09-16黄颖徐岚

数码世界 2019年7期

黄颖 徐岚

摘要:本文针对分布式云数据中心间“数据跨中心备份、服务按需接管”的中心级高可用能力,提出一种基于占位虚拟机的云高可用方案,并将系统技术架构分为网络层、云平台层、数据层、服务层、访问接八层五个层次,分析7每层的高可用技术应用策略,该方案具备较好的应用推广前景。

关键词:高可用 占位虚拟机 云数据中心

1高可用相关概念

随着虚拟化、网络化、服务化技术的快速发展,云架构已在各个领域大量运用,数据中心作为云资源的提供者承载了大量不同类型的应用。目前单一的数据中心已发展为分布式云数据中心模式,对分布式云数据中心构成一体化高可用能力的需求也越来越迫切。

在业界通常概念定义中,高可用性(High AvailabiLity, HA)用来描述一个系统经过专门的设计,以减少停工时间,而保持其服务的高度可用性。业界通常说的数据中心双活,也属于高可用能力的范畴。描述系统高可用能力,一般有两个重要指标:系统恢复时间(RTO)和数据恢复点目标(RPO)。RTO是针对服务丢失,从业务系统故障开始,到业务系统恢复正常之间的时间段。RPO是针对数据丢失.指业务系统和应用数据恢复正常后,系统及生产数据能恢复到过去的哪个时间点。

一般来说,数据中心高可用能力根据备用中心活跃程度由低到高,可定义为5个等级,如图1所示。对于最高等级的全集双活,两中心技术架构应是完全对称、去中心化的,需要從底层网络到上层应用进行一体化设计,实现起来难度很大,性价比不高。在大多数工程实践中,一般结合高可用性需求在冷备、热备、只读、分片4个等级中选择,也可采用混合架构,对系统进行分层,不同层采用不同的高可用技术策略。

2高可用方案简述

在某大型系统建设了相距100公里以内的两个数据中心,作为逻辑一体的后台,共同对前台客户端提供服务。其中,系统的主用中心已经上线常态化运行,系统内的业务应用服务运行在华为云平台(fusion cloud2.0.6),数据分别存储在物理服务器部署的ORACLEllg、Hadoop、HBase上。现要求在应用层软件不改造、两中心对外信息交互服务的IP地址保持一致等前提下,提供两中心的高可用方案,确保发生中心级故障时,核心数据RPO≈O,系统切换时间RTO在1小时内。

经过用户需求分析,提出一种基于占位虚拟机的云数据中心高可用方案,即依托华为云平台基于占位虚拟机的高可用能力,将两中心云平台构建为“一朵云”,通过底层存储双活技术,将主用中心云存储节点上的虚拟机同步到备用中心。在该模式下,相当于在备用中心实时复制一套主用中心的服务(IP地址保持一致);平时主用中心对外服务、备用中心离线备份;故障时,拉起备用中心占位虚机,切换数据库,由备用中心对外提供服务。由于中心切换时,需拉起占位虚机,相当于重启动备用系统,因此该方案适用于RTO要求不高、现有业务需快速具备高可用能力的场景。

3关键技术分析

要实现系统级高可用架构需对数据中心的各个层面进行高可用设计,将系统技术架构分为5层,分别为网络层、云平台层、数据层、服务层和访问接人层。每一层采用不同的技术策略,实现整中心的高可用能力,如图2所示。

下面对每一层高可用技术进行分析:

(1)网络层

通过大二层网络和虚拟机迁移,在网络层提供计算服务的灾后恢复、负载均衡、异地容灾和双机热备等抗毁能力[6],采用虚拟路由冗余协议VRRP(Virtual Router Redundancy Protocol),把分布于两个数据中心的路由设备联合组成一台虚拟的路由设备,将虚拟路由设备的IP地址作为用户的默认网关实现与外部网络通信。对路由设备采用主从备份方式配置,通过对路由设备的优先级调整,设置VRRP虚拟网关的主备状态。当主用网关设备发生故障时,VRRP机制能够选举新的网关设备承担数据流量,从而保障网络的可靠通信。

(2)云平台层

两数据中心和仲裁区组成“一朵云”,其中两中心的云管理节点、存储节点之间网络互通,主用后台的存储节点向备用中心存储节点同步数据,第三方的仲裁服务器与主备的管理节点通信,发生中心级故障时,通过仲裁服务器避免出现脑裂情况。

(3)数据层

系统中在用的数据存储方式主要是ORACLE、Hdfs和Hbsae三种,部署在物理服务器上,分别采用不同的技术策略。

关系型数据库的高可用技术主要有数据库集群技术和复制技术[7]两类。一般,在中心内,可通过搭建ORACLE RAC实现高可用,在中心间的高可用技术有Data Guard、Golden Gate、RAC跨双中心部署、Extended RAC等几种。其中,前两种属于数据库复制技术,后两种属于数据库集群技术。对这几种技术的分析比对,Data Guard方式稳定性高,部署难度最小,对业务系统影响也最小,但属于一写多读模式,备升主切换时间在分钟级;其它三种技术都处于双写模式,实时切换,但部署环境要求高,维护成本高。综合考虑高可用要求及维护成本,在两数据中心间采用Data Guard方式,保证在RTO分钟级的条件下核心数据RPO≈O。

在中心内搭建了Hadoop集群数据存储Hdfs和Hbase中,在中心间,Hdfs数据采用Distcp命令进行两个中心分布式文件系统间的数据同步方式;Hbae数据采用基于协处理器的增量数据同步方式。

(4)服务层

服务层的高可用实现机制一般有三类,一是基于主机集群技术,二是基于中间件软件自身集群实现功能,三是基于负载均衡设备方式。这三类方式需要增加第三方集群软件、负载均衡器设备等设备/软件。因此,在无法增加其它设备的条件下,采用华为云平台的占位虚拟机,可方便实现服务层的备份和切换,但服务切换需进行虚拟机拉起操作,根据虚拟机数量和应用服务启动先后顺序的限制,服务层RTO -般在15至25分钟内。

(5)访问接入层

本系统中,数据中心面向前台和与外部系统的信息路由方式是基于IP的寻址方式。同样采用华为云平台的占位虚拟机,在中心级切换时,对外的IP地址不变化,前台和外部系统的服务寻址配置不改变。

4总结

高可用、持续服务已成为各类数据中心的基本需求,系统技术架构也正向分布式云数据中心架构转变。本文提出的一种基于占位虚拟机的云数据中心高可用方案,可初步支撑主备数据中心间的数据备份与服务接替,并已通过了工程实践,具备一定的推广应用场景。要实现RTO秒级的数据中心双活/多活能力,还需要对网络、云平台、数据存储、应用服务等进行全系统一体化设计,紧密联动,才能真正做到数据中心对外业务不中断。

参考文献

[1]何锡点,崔隽,刘祥,等,面向作战任务的云资源统一规划与动态重组技术[J].指挥信息系统与技术,2019.10 (2)

[2]邹仁明,彭隽,李军.OpenStack开源云平台高可用架构的设计与实现[J].计算机科学,2014 (10)

[3]张龙兴,朱志祥,梁小江.一种基于云计算的高可用性集群设计与实现[J].西安文理学院学报(自然科学版),2014 (3)