之前做过基于阿里云项目的灾备,说下个人理解吧:
从多个纬度定义你的备份方案:
时间纬度,多久承受核心、非核心业务不可用。
成本维度,评估业务和数据可用性的要求,投入适当比例的成本去建设。SLA绝对和成本挂钩。
容灾级别,什么级别的容灾才是最安全的,Musk说要把特斯拉的数据备份到月球上。
运营难度,越是高级别的容灾要求,对技术要求,建设难度,运维需求都不一样。
然后在公司层面落地了同城热备方案和同城冷备方案,若要完成异地灾备,成本会接近多一倍,所以没有去实施。
这里就不谈这些大case了。
只说几点基于阿里云常用的数据备份方案吧,既经济又高效。
1,ECS快照和镜像
阿里云快照服务是一种无代理的数据备份方式,可以为所有类型的云盘创建崩溃一致性快照,用于备份或者恢复整个云盘。它是一种便捷高效的数据容灾手段,常用于数据备份、制作镜像、应用容灾等。
ECS镜像提供了创建ECS实例所需的信息。创建ECS实例时,必须选择镜像。镜像文件相当于副本文件,该副本文件包含了一块或多块云盘中的所有数据,对于ECS实例而言,这些云盘可以是单块系统盘,也可以是系统盘加数据盘的组合。
我们当前做了近 1TB的快照
2,OSS备份
阿里云对象存储OSS,有多种备份策略。
跨区域备份:跨区域复制(Cross-Region Replication)是跨不同OSS数据中心(地域)的存储空间(Bucket)自动、异步(近实时)复制文件(Object)。
同区域备份:同区域复制(Same-Region Replication)是指将源存储空间(Bucket)中的文件(Object)的创建、更新和删除等操作自动、异步(近实时)地复制到相同地域下的目标Bucket。
定时备份:采用混合云备份服务(HBR) 提供的备份服务,也可以随时恢复数据。
我们采用的是定时备份,因为它是原生的OSS备份服务,提供细粒度的OSS数据保护,灵活的数据版本策略管理,文件恢复简单。
3,数据库备份
基础备份:
默认开启,一般备份到当前机房,备份成本低,恢复快。
异地备份:
RDS提供跨地域备份数据(异地备份)功能,可以将数据备份到另一个地域,用于监管或容灾恢复。
开启:
比如:
两者区别:
4,ACK备份/镜像
ACK备份中心:
使用场景包括:
● ACK集群内持久化应用容灾和同地域集群间迁移
● 混合云容灾和应用迁移
● 公共云跨地域集群之间的容灾
直接开启:
但由于我们flexvolume集群下不支持csdr备份
只能使用开源的 velero
velero
Velero 的基本原理就是将Kubernetes 集群资源对象数据备份到对象存储中,并能从对象存储中拉取备份数据来恢复集群资源对象数据,这里的存储我们使用的是阿里云的OSS
直接展示结果吧。
这里对4个集群不同namespace做了备份
OSS上其中一个备份情况
如果要恢复直接执行velero restore命令。
以后有时间写个文章说明下阿里云ACK下velero的安装和恢复、迁移使用方法。
大家可以参考下https://velero.io/docs/v1.10/file-system-backup/
总结:
基于备份建议要结合我开头说的 4个维度,核心内容是帮助企业平衡 RTO 和RPO 的需求,找到最佳实现技术和手段。 从经济角度,帮助企业找到最佳的总体投入( TCO )和投资回报( ROI )。