APP下载

云平台容灾技术研究与实现

2021-07-26陈刘忠展亚南张旭东

网络安全技术与应用 2021年5期
关键词:灾备容灾日志

◆陈刘忠 展亚南 张旭东

(1.电科云(北京)有限责任公司南京分公司 江苏 21000;2.中国电子科技集团公司第二十八研究所 江苏 21000)

云计算是一种按需分配的IT 资源供给方式,可以满足对IT 资源的“拿来就能用”,“想要就能有”的需求。企业上云,是一个近年来比较热门的话题。云计算中的虚拟化技术带来“弹性、灵活、安全、低成本”特性,使“上云是常态,不上云是例外”成为共识。但是上云意味着数据会集中保存在公共数据中心,数据中心安全影响到云上所有应用数据的安全,因此数据中心容灾技术成为云解决方案需要考虑的问题。本文研究并实现了以openstack+ceph 云解决方案的容灾技术。

1 容灾系统衡量指标

容灾系统是指在距离相隔较远的不同地方,建立两套或多套作用功能相同的系统,这几套系统之间可以相互进行数据转移和功能业务的切换。当一方系统因某些意外故障停止工作的时候,另外一套系统可以完全恢复数据或将工作接管起来,使得该系统可以继续正常工作。

按照SHARE 78 的国际标准,容灾系统被分为7 层,为各容灾等级的评定标准。衡量容灾系统质量的指标主要有两个,分别是RTO和RPO。

RTO(Recovery Time Objective):系统恢复时间,这一指标主要关注的是应用的恢复时间,关注业务系统所能容忍的停止服务的最长时间,代表业务系统从故障到恢复正常的时间。

RPO(Recovery Point Objective):丢失的数据量,这一指标主要关注的是灾难发生后数据的丢失量。RPO 用以反映容灾系统恢复数据完整性,代表业务系统所能容忍的数据丢失量。

2 Ceph 数据异步复制原理

Ceph 块存储是实时备份实现原理,是异步复制数据到备份数据中心存储,是一个Tier5 级别的容灾方案。本容灾模块数据备份分为两个阶段:启动阶段和实时复制阶段。

启动阶段:第一次加入时对整个块的数据做一次全量的快照,之后将快照同步到备端数据中心后创建一个镜像基础块设备,原理图如图1所示。

图1 启动阶段数据同步原理图

实时同步阶段:实时同步阶段中,数据同步模块会从主集群的日志中读取数据,在备集群增量回放数据,实现主集群存储层和备集群存储层的实时数据一致性能。实时同步阶段原理如图2所示。

图2 实时同步阶段数据同步原理图

计算层数据写入时先将数据封装成一个事务顺序写入日志盘,日志盘落盘后再写入设备盘,这样就可以保证主备集群数据的一致性。同时,同步模块可以实时从日志盘中顺序回放事务,写入备集群块设备。这样的架构设计主备集群存储层数据保证了弱一致性,解决了主备集群数据强一致性导致的数据主集群io 延迟问题。但是由于需要先写日志盘,导致主集群io 延迟增加主要是写日志盘的时间,可以使用更高性能的存储介质存放日志以减小对延迟的影响。

3 云容灾架构设计

同步模块包括数据同步模块和元数据同步模块两个部分。数据同步模块实时同步存储层块设备数据;元数据同步模块同步计算层虚拟机、云硬盘和镜像的元数据。为在容灾切换时能够快速恢复虚拟机,需在备数据中心创建一个占位虚拟机实现容灾切换虚拟机秒级恢复。

计算层容灾主要包括虚拟机、云硬盘、镜像和网络,分别对应OpenStack 中的nova、cinder、glance、neutron 模块。容灾架构设计如图3所示。

图3 容灾架构设计图

4 云容灾流程设计

容灾流程包含创建容灾组、加入容灾资源、容灾切换、停止数据同步、移除容灾资源、清理容灾组六种关键流程。

(1)加入容灾资源:灾备资源是用户需要进行灾备的虚机和云盘的统称,相互关联的资源需要添加到同一个容灾组中进行统一管理和容灾备份。为了在备端快速进行灾难恢复,备端需要创建相同的资源(占位资源)和主端资源进行一一映射。

容灾资源加入容灾组之后会自动收集主端虚机的port、子网、网络、安全组、flavor、启动方式、云盘信息。根据这些信息在备端恢复出来相应的资源,加入容灾资源流程如图4所示。

图4 加入容灾资源流程图

用户将相关联的资源加入容灾组中,容灾服务读取容灾资源的所有元数据信息通过RPC 调用在备集群创建占位资源,之后开启存储层数据同步,实时在往备集群同步存储层数据。

(2)容灾切换:当主数据中心由于故障或者其他原因导致无法提供服务时,需要进行灾备切换,把备端强制升级为主端,并利用备份的数据来恢复服务;同时当主端恢复后,需要继续和备端进行数据同步,把备端的数据同步到主端,保持主备端数据的一致性。容灾切换流程如图5所示。

图5 容灾切换流程图

●主集群宕机切换流程:当主集群故障宕机不能提供服务时,需要在备集群进行灾备处理,将备集群备服虚拟机升级为主提供服务。当然为了虚拟机的ip 地址、mac 地址一致,主备集群采用大二层打通的方式,在备份升级为主的同时进行ip 地址指定,保证备集群虚拟机计算、存储、网络等所有信息与主集群保持一致对外提供服务。

●主集群恢复切换流程:主数据中心故障恢复正常,需要在主端再次进行灾备处理,把备集群资源数据同步到主集群。需要将主集群虚拟机先降级为备,从备集群同步数据到主集群保证主备集群数据一致后,再进行容灾切换将主集群虚拟机恢复对外提供服务,备集群再次降级为备。

(3)停止数据同步:因为业务部分虚拟机不需要再继续容灾,或者为了节省容灾网络和备集群存储空间暂停同步。这时需要支持停止数据同步功能,停止容灾功能是以容灾组为单位进行,并且停止容灾之后会清理该容灾组在备集群的数据存储资源。停止容灾的流程包括存储层数据同步停止和备集群存储层数据清理两个步骤。

(4)删除容灾资源:如果某些资源不再需要,可以删除资源。但是如果资源已经在灾备组中,则必须从主端发起移除资源。之后容灾服务会先检查状态,然后清理主备映射关系,后删除主机群资源。备集群资源由用户决定是否删除。删除容灾资源流程如图6所示。

图6 容灾切换流程图

(5)删除灾备组:当用户不再需要对某个灾备组中的资源进行灾备时,可以在中止数据同步之后删除灾备组。如果灾备组正在开启同步或者正在切换,在这种中间状态下,也不允许删除灾备组。在主集群检查状态后删除资源映射和容灾组映射,同时在备集群也删除它们。之后删除主集群灾备组,备集群灾备组由用户决定是否删除。

删除灾备组的流程图如图8所示。

图7 删除灾备组的流程图

5 总结

本文主要介绍了Openstack+ceph 云平台Tier5 级备份容灾的原理、架构设计和流程设计,并且本文介绍的方案已经在生产环境中经过验证,为今后云平台容灾设计提供参考。

猜你喜欢

灾备容灾日志
一名老党员的工作日志
扶贫日志
基于铁路主数据中心建设的灾备管理系统框架研究
高速公路收费中心容灾备份系统建设方案分析
雅皮的心情日志
游学日志
关于建筑企业容灾备份系统方案的探讨
轨道交通清分系统灾备升级方案研究
基于数据容灾技术在企业信息系统中的应用研究
深蓝云海“云灾备”正式上线