背景
对业务系统来说,数据可靠性非常重要。如何通过简单的配置,实现适当有效的备份机制并具备快速恢复能力是本最佳实践所要解决的主要问题。
不同的业务系统,对可用性和备份恢复的要求有很大的不同:对一般系统来说,因为阿里云默认有3份冗余副本、对磁盘和数据库的每天自动备份,并承诺99.9%的可用性,所以不须做更多配置。但为了应对意外情况,需要做好变更日志和本地备份;
对业务价值比较大的系统来说,只要做到严格遵守操作规范和利用阿里云提供高可用、数据备份和恢复机制,无论发生何种类型的故障或灾难,也能降低损失,从容应对;对业务价值特别重大的系统来说,需要考虑异地容灾和建立灾难恢复计划,并定期演练。
阿里云提供的存储类型有:云磁盘、本地磁盘、RDS、OSS和OTS等共5种类型。除了默认的3份存储冗余外,为保证数据的高可靠性,还提供了快照和DB实例等形式的备份恢复机制。
本文将详细介绍如何利用OSS和其他阿里云产品共同配合实现最佳的数据备份与恢复。
OSS优势
OSS存储可能位于多个机房,但一个bucket只位于一个机房(三份冗余存储);其机房内的存储方式与云磁盘相同。与自建存储对比,OSS具有以下优势:
- 方便、快捷的使用方式
- 提供标准的RESTful API接口,丰富的SDK包,客户端工具、控制台,您可以像使用文件一样,方便上传/下载、检索、管理用于Web网站或者移动应用海量的数据。
- 不限文件数目和大小,无限的存储空间根据实际存储量无限扩展,解决传统硬件存储扩容问题
- 支持流式写入和读出,特别适合视频等大文件的边写边读业务场景。
- 支持数据生命周期管理,您可以方便自定义到期数据转入低成本的归档服务或者批量删除。
- 强大、灵活的安全机制
- 灵活的鉴权,授权机制。提供STS和URL鉴权和授权机制,及白名单,防盗链,主子账号功能;
- 提供用户级别资源隔离机制,提供多集群同步机制(可选)。
- 丰富、强大的增值服务
- 图片处理:支持jpg, png, bmp, gif, webp, tiff等多种图片格式的文件格式转换、缩略图、剪裁、水印、缩放等多种操作。
- 音视频转码:基于OSS存储,为您提供高质量,高速并行音视频转码能力,让您的音视频文件轻松应对各种终端设备。
- 内容加速分发:OSS作为源站,搭配CDN进行加速分发,稳定、无回源带宽限制、性价比高,一键配置。
方案
本文以某个有代表性的网站为例来阐明基于阿里云平台的备份与恢复的最佳实践。该网站的系统架构包含负载均衡、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:根据数据类型制定备份策略,例如对该网站可制定如下策略:
固定数据或配置数据:建议使用云磁盘(系统盘)进行存储,操作系统或应用系统升级后,或配置数据更改后,手动制作快照;
临时数据:使用内存或本地磁盘存储,且不需要备份;
持久化数据:建议使用云磁盘(数据盘)或RDS进行存储,相应地可直接使用默认备份或按1~24小时频率通过API方式备份。
简要说明如下:
a)系统盘只存储操作系统和各种软件及其配置;数据盘只存储持久化的业务系统的文件。另外,考虑数据可靠性和性能,推荐使用RDS服务,而不是在云磁盘上自建数据库。
b)因为固定数据和配置数据可以方便地重建,所以此处把它们归类为同类数据。软件升级或配置更新后,进行适当的备份是为了能够快速恢复。
c)为避免自然灾害等不可抗力对快照和实例备份的可能损坏,可以按天或按周进行异地/本地备份。
d)最后,业务方自身也要有严格的系统变更控制流程,并做好变更日志,以规避人为因素引起的故障。
e)阿里云管理控制台提供创建快照及自定义镜像、备份实例等功能,用户也可通过API来操作。详细请参见相关帮助。
恢复策略
仍以该网站为例,考虑故障/灾难情形下的应对措施,主要包括确定恢复类型、制定相应恢复策略两部分:
小批量物理机: 无须人工参与,自动迁移,迁移时长在10~15分钟之间。
整体机房或地域性灾难:一是等待故障恢复;或在阿里云其它可用地域重新申请云产品。
固定/配置数据 :一是从最近的可用快照/自定义镜像恢复;或从本地备份恢复;或从标准镜像重建,并重新配置(依据变更日志)。
持久性数据:一是从可用快照/实例备份恢复; 或从本地备份恢复。
简要说明如下:
1.利用云监控的站点可用性和服务器监控,能够及时发现故障,更早触发恢复过程。
2.数据恢复策略可从以下几个方面来综合考虑。
- 恢复数据库(RDS):通过OSS或本地存储的RDS实例备份来恢复。
- 快速恢复应用服务器(ECS)、云磁盘:通过自定义镜像重装系统或快照回滚来恢复。
- 恢复负载均衡(SLB):更改配置,指向新的应用服务器IP地址。
- 恢复/更改DNS:指向新的负载均衡接口IP地址。
相关链接
关于本文更多细节链接:
http://www.91aliyun.com/aliyun_cloud_server_knowledge/backup_and_recovery/
对象存储OSS产品简介:https://help.aliyun.com/document_detail/31884.html