1、灾备背景,数据健壮必要性

数据的安全越来越被企业重视,最近几年不管是私有机房还是共有云上都出现过数据丢失的事件。

数据的丢失,不仅给企业带来无形资产的流失,使业务无法开展;同时也对目前的企业服务数据安全信心给予打击。

阿里云RDS不仅提供了主从实例的解决方案,在灾备方面也提供有丰富的解决方案,本次文档会详细的帮助大家一步一步进行RDS的灾备方案建立,同时在故障发生时候,如何有效进行主实例和灾备实例之间的切换。

2、阿里云提供容灾解决方案

2.1、多可用区实例

阿里云为全世界多个地域提供云计算服务,每个地域(Region)都包含多个可用区(Zone)。同一个地域中的可用区都被设计为相互之间网络延迟很小(3ms以内)以及故障隔离的单元。

RDS单可用区主实例运行在同一个可用区中的两台物理服务器上,可用区内机柜、空调、电路、网络都有冗余。通过异步/半同步的数据复制方式和高效的HA切换机制,RDS为用户提供了高于物理服务器极限的数据库可用性。

为了提供比单可用区实例更高的可用性,RDS支持多可用区实例(也叫做同城双机房或者同城容灾实例)。多可用区实例将物理服务器部署在不同的可用区,当一个可用区(A)出现故障时流量可以在短时间内切换到另一个可用区(B)。整个切换过程对用户透明,应用代码无需变更。

说明:发生容灾切换时应用到数据库的连接会断开,需要应用重新连接RDS。

2.2、灾备实例

RDS多可用区实例的容灾能力局限在同地域的不同可用区之间。为了提供更高的可用性,RDS还支持跨地域的数据容灾。用户可以将地域A的RDS实例A’通过数据传输(Data Transmission)异步复制到地域B的RDS实例B’(实例B’是一个完整独立的RDS实例,拥有独立的连接地址、账号和权限)。

配置了跨地域灾备实例后,当实例A’所在地域发生短期不可恢复的重大故障时,用户在另外一个地域的实例B’随时可以进行容灾切换。切换完成后,用户通过修改应用程序中的数据库连接配置,可以将应用请求转到实例B’上,进而获得高于地域极限的数据库可用性。

 

3、实践内容

接下来我们将从以下几个方面来进行讲解

à 如何创建灾备实例

à 灾备实例的切换

à 如何切换回主实例

 

3.1、如何创建灾备实例

【注】:

如果你是购买的RDS实例是“高可用版”或“金融版”类型,是有创建灾备实例功能的,而“基础版”不提供创建灾备实例功能。创建实例步骤:

操作步骤

创建灾备实例,操作步骤详细见

https://help.aliyun.com/document_detail/26137.html

3.2、灾备实例的切换

如果灾备实例创建成功,源实例在控制台上会有,灾备实例的数量,如图:

云平台灾备 阿里云灾备实施方案_RDS

点击灾备的url,可以查看灾备实例,如图:

云平台灾备 阿里云灾备实施方案_运维_02

可以看到该灾备实例的主实例是:rm-bp1f39i3imtx2zv5f ,在有上角,有【切换为主实例】的功能按钮。

如果主实例出现故障,就需要人工进行处理,处理的工作有以下几个步骤:

²  点击灾备实例的【切换为主实例】,切换为主实例,如下图

云平台灾备 阿里云灾备实施方案_云平台灾备_03

点击确定,该灾备实例变为主实例,如下图

云平台灾备 阿里云灾备实施方案_数据_04

这时候,也可以继续添加灾备实例。

²  在应用层面,要人工修改软件访问的数据库地址,这需要企业的运维人员进行手工切换,重新启动软件服务。

 

3.3、如何切换回主实例

主实例恢复后,需要DTS将灾备实例的数据迁移回主实例,业务切回主实例,然后删除灾备实例重新建一个灾备实例。

下面我们将演示DTS做数据的迁移,如图:

进入到要同步的RDS实例控制台

点击实例,进入基本信息界面

云平台灾备 阿里云灾备实施方案_数据_05

点击【迁移数据库】,如下图

云平台灾备 阿里云灾备实施方案_运维_06

点击【创建迁移任务】

云平台灾备 阿里云灾备实施方案_RDS_07

【注】:如果跨域迁移,源数据库是要申请外网地址的,可以在实例基本信息中点击相关功能开通。

填写目标数据库

云平台灾备 阿里云灾备实施方案_运维_08

点击【授权白名单并进入下一步】

云平台灾备 阿里云灾备实施方案_运维_09

要勾选增量数据迁移,因为在切换应用服务过程中,会有业务数据产生。

云平台灾备 阿里云灾备实施方案_运维_10

点击下一步

云平台灾备 阿里云灾备实施方案_数据_11

 

点击【立即购买并启动】

云平台灾备 阿里云灾备实施方案_运维_12

点击【查看详情】

云平台灾备 阿里云灾备实施方案_云平台灾备_13

云平台灾备 阿里云灾备实施方案_数据_14

3.4、切换后的处理


到此,把灾备的数据通过DTS服务同步到恢复好的数据库实例中,还需要人工进行切换,链接到新的数据库,同时在新的实例上创建一个新的灾备实例;之后可以把现在同步完成的源实例释放到。