备份与恢复,解除后顾之忧

对业务系统来说,数据可靠性非常重要。如何通过简单的配置,实现适当有效的备份机制并具备快速恢复能力是本最佳实践所要解决的主要问题。
不同的业务系统,对可用性和备份恢复的要求有很大的不同:

  • 对一般系统来说,因为阿里云默认有3份冗余副本、对磁盘和数据库的每天自动备份,并承诺99.9%的可用性,所以不须做更多配置。但为了应对意外情况,需要做好变更日志和本地备份。
  • 对业务价值比较大的系统来说,只要做到严格遵守操作规范和利用阿里云提供高可用、数据备份和恢复机制,无论发生何种类型的故障或灾难,也能降低损失,从容应对。
  • 对业务价值特别重大的系统来说,需要考虑异地容灾和建立灾难恢复计划,并定期演练。

阿里云提供的存储类型有:云磁盘、本地磁盘、RDS、OSS和OTS等共5种类型。除了默认的3份存储冗余外,为保证数据的高可靠性,还提供了快照和DB实例等形式的备份恢复机制。简要介绍如下:

类型
存储
可靠性(%)
备份恢复
冗余 位置 方式 类型 默认频率/期限
云磁盘 3份(网络) 机房内
99.999
快照 增量 每天/最近三天
RDS 4份
(主从RAID10)
跨机房
跨地域
99.9999
实例 全量
增量
每天/最近三天
OSS 3份(网络) 多机房
99.99999999
N/A

1.     云磁盘
a)      底层是阿里云自主研发的高可用分布式文件系统,系统默认数据保存三份,存储于集群内的各物理机上。
b)      快照为增量方式,支持API调用备份。快照存储于OSS中。
c)       默认系统快照生成的时间是每天凌晨,并保留3天。
d)      回滚时间取决于快照的数据量和快照数量,通常是分钟级别。

2.     RDS
a)      主从热备部署方式,支持机房内、跨机房和跨地域三种部署方式,后两种部署方式可靠性更好。
b)      RDS实例的备份存储在OSS上,支持自动备份和API方式备份。
c)       默认备份策略是每天进行实例备份,并保留7天。默认备份时间是随机时间,用户需要根据自己的业务特点进行设定。
d)      支持异地和不同实例间回滚。
e)      回滚时间取决于实例的备份次数和数据库大小,与在同配置物理机上新建完全相同的库性能相当。

3.     OSS
a)      OSS存储可能位于多个机房,但一个bucket只位于一个机房(三份冗余存储)。
b)      机房内的存储方式与云磁盘相同。

阿里云提供的存储类型有:云磁盘、本地磁盘、RDS、OSS和OTS等共5种类型。除了默认的3份存储冗余外,为保证数据的高可靠性,还提供了快照和DB实例等形式的备份恢复机制

本文以某个有代表性的网站为例来阐明基于阿里云平台的备份与恢复的最佳实践。该网站的系统架构包含负载均衡、CDN、Web Server、缓存Server、数据库系统、文件服务器等。架构示意图如下所示:

本文以某个有代表性的网站为例来阐明基于阿里云平台的备份与恢复的最佳实践。该网站的系统架构包含负载均衡、CDN、Web Server、缓存Server、数据库系统、文件服务器等。

备份策略

该网站直接使用了阿里云的SLB、CDN、RDS和OSS标准产品,并使用ECS搭建Web Server和Cache Server。制定备份策略的主要步骤如下:

Step 1:明确业务涉及到的数据类型,例如该网站的数据类型描述如下:

数据类型 描述
固定数据 固定数据指的是操作系统和通用软件。本例中是Web应用系统及其依赖的第三方组件等。
配置数据 包含用户在阿里云的配置数据和业务系统自身的配置数据,系统需要这些配置数据才能正常运转。这些数据不是临时性的,但也能通过人工或程序自动(API调用)重新配置。本例中是软件配置(Web应用系统等)和在云产品(SLB、CDN、RDS和OSS)上的配置。
临时数据 临时文件、静态文件缓存或其它数据,完全丢失它们,不会影响系统的正常运行。因此,不需要备份它们。本例中是Cache Server上缓存的数据。
持久化数据 这些数据表示了业务的状态,其中包含重要的客户数据。如账号信息和订单信息。这些数据通常存储在数据库中,最终保存在硬盘、SSD等块设备上。数据备份复杂性和难点在这部分数据上。本例中是RDS和OSS中存储的数据。

Step2:根据数据类型制定备份策略,例如对该网站可制定如下策略:

数据类型 推荐存储类型 建议备份策略
固定数据
配置数据
云磁盘(系统盘) 操作系统或应用系统升级后,或配置数据更改后,手动制作快照。
临时数据 内存或本地磁盘 不需要备份。
持久化数据 云磁盘(数据盘) 直接使用默认备份或按1~24小时频率通过API方式备份。
RDS

简要说明如下:
a)      系统盘只存储操作系统和各种软件及其配置;数据盘只存储持久化的业务系统的文件。另外,考虑数据可靠性和性能,推荐使用RDS服务,而不是在云磁盘上自建数据库。
b)      因为固定数据和配置数据可以方便地重建,所以此处把它们归类为同类数据。软件升级或配置更新后,进行适当的备份是为了能够快速恢复。
c)       为避免自然灾害等不可抗力对快照和实例备份的可能损坏,可以按天或按周进行异地/本地备份。
d)      最后,业务方自身也要有严格的系统变更控制流程,并做好变更日志,以规避人为因素引起的故障。
e)      阿里云管理控制台提供创建快照及自定义镜像、备份实例等功能,用户也可通过API来操作。详细请参见相关帮助。

恢复策略

仍以该网站为例,考虑故障/灾难情形下的应对措施,主要包括确定恢复类型、制定相应恢复策略两部分。

恢复类型 建议恢复策略
小批量物理机 无须人工参与,自动迁移,迁移时长在10~15分钟之间。
整体机房
地域性灾难
1.     等待故障恢复;
2.     或在阿里云其它可用地域重新申请云产品。
固定/配置数据 1.     从最近的可用快照/自定义镜像恢复;
2.     或从本地备份恢复;
3.     或从标准镜像重建,并重新配置(依据变更日志)。
持久性数据 1.     从可用快照/实例备份恢复;
2.     或从本地备份恢复。

简要说明如下:
1.       利用云监控的站点可用性和服务器监控,能够及时发现故障,更早触发恢复过程。
2.       数据恢复策略可从以下几个方面来综合考虑。

  • 恢复数据库(RDS):通过OSS或本地存储的RDS实例备份来恢复。
  • 快速恢复应用服务器(ECS)、云磁盘:通过自定义镜像重装系统或快照回滚来恢复。
  • 恢复负载均衡(SLB):更改配置,指向新的应用服务器IP地址。
  • 恢复/更改DNS:指向新的负载均衡接口IP地址。

备份与恢复,解除后顾之忧:等您发表观点呢!

发表评论


快捷键:Ctrl+Enter