平滑扩容流程分为配置>迁移>切换>清理四个步骤。平滑扩容基本原理请参考平滑扩容介绍。
步骤一:新增 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 计算,重新分配。
注意:
清理任务会删除本次扩容后不再使用的数据库,可以考虑备份后再执行此操作。
清理操作对数据库有一定压力,请在业务低谷期执行。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。