开发者社区> 问答> 正文

DRDS 平滑扩容怎么实现?

平滑扩容流程分为配置>迁移>切换>清理四个步骤。平滑扩容基本原理请参考平滑扩容介绍。

步骤一:新增 RDS 节点

在数据库管理页面右上角,单击平滑扩容按钮,进入新增页面。

扩容1

在 RDS 实例选择页面,添加 RDS 实例,单击下一步进入预览页面。

注意:

如果需要新增5个或5个以上 RDS 实例,需要事先提工单,以防后端迁移资源不足造成迁移不成功。
对于高权限 RDS 实例需要输入高权限账号和密码。
在预览页面中,可以看到迁移到新添加 RDS 上的分库。控制台默认会平均分配分库到新添加的 RDS 实例上。也可以手动向新增的 RDS 实例上添加或删除分库。

单击开始扩容按钮,提交平滑扩容任务,此时任务会异步执行。

在数据库管理页面的右上角能够看到任务执行的状态,直到完成。

数据迁移

步骤二:迁移

新增 RDS 后,需要对分库进行迁移。迁移任务不会变更原有数据库中数据,不会影响业务,只是把待迁移库中的数据同步到新增的 RDS 上。在切换前,可以通过回滚,放弃本次平滑扩容操作。

说明:

在执行切换前,本次扩容还没有对原数据库中数据产生实质影响,因此在切换前都可以通过回滚来放弃本次扩容。
扩容期间需要停止清理源 RDS 的 Binlog 文件 ,可能会导致磁盘空间不足,请务必在源 RDS 实例上预留充足的磁盘空间。一般百分之三十以上为宜。如空间实在无法保证,可以提交工单来扩容 RDS 存储空间。
源 RDS 实例扩容过程中会有读压力,请尽量在源 RDS 低负载时操作。
扩容期间请勿在控制台提交 DDL 任务或通过直接连接 DRDS 执行 DDL 语句,否则会导致扩容任务失败。
扩容需要保证源库中所有表具有主键,如果没有需要事先添加好。
历史数据和增量数据迁移完成后,迁移任务进度会达到100%,此时可以进行切换或者回滚,放弃本次扩容。

步骤三:切换

切换任务会将读写流量切换到新增的 RDS 实例上,整个过程会在3~5分钟内完成。在切换过程中,除了会有一到两次闪断,服务不受影响。请在业务低谷期执行切换。

在任务列表中,单击切换按钮并确认。切换过程会生成一个切换任务,并在任务进度中显示。

扩容切换

切换完成后,在任务进度中会显示清理按钮,表示切换任务已经完成。

步骤四:清理

切换完成后,单击清理按钮并确认。此步骤将删除原 RDS 上被迁移的分库。清理任务也是一个异步任务,可以在任务进度中查看执行状态。

清理任务完成后,整个平滑扩容过程结束。新增 RDS 实例会成为 DRDS 对应逻辑库新的存储节点。

目前平滑扩容是通过移库的方式来实现扩容。如果扩容到一定程度,出现一个分库超出了单个 RDS 容量,无法进一步平滑扩容时,可以提交工单,申请增加分库数目并扩容。这时会对数据重新进行 HASH 计算,重新分配。

注意:

清理任务会删除本次扩容后不再使用的数据库,可以考虑备份后再执行此操作。
清理操作对数据库有一定压力,请在业务低谷期执行。

展开
收起
猫饭先生 2017-10-30 10:31:09 2473 0
0 条回答
写回答
取消 提交回答
问答排行榜
最热
最新

相关电子书

更多
PolarDB-X分布式数据库解决方案 立即下载
PolarDB-X 2.0 全局 Binlog 与备份恢复能 立即下载
分布式数据库DRDS全新升级 立即下载