平滑扩容流程分为配置>迁移>切换>清理四个步骤。关于平滑扩容基本原理,详情请参见平滑扩容介绍。
示意图
步骤一:配置扩容任务信息
开启扩容任务
首先在PolarDB-X数据库左侧菜单中点击扩容管理,点击右上角扩容按钮,开始扩容配置。
扩容模式选择平滑扩容后,点击下一步。
购买新RDS
在 RDS 实例选择页面,可选择已有RDS实例,也可购买新RDS实例,单击下一步进入预览页面。
注意:
- 为避免对生产环境产生影响,此步骤建议您选择购买新RDS实例进行平滑扩容。
- 对于高权限RDS实例需要输入高权限账号和密码。
结果预览
预览页面中,控制台默认会平均分配相应的物理分库至新添加的RDS实例上。用户也可以手动在新增的RDS实例上添加或删除物理分库。
单击开始扩容按钮,提交平滑扩容任务,此时任务会异步执行。
在数据库管理页面的右上角任务框中能够看到扩容任务执行的状态,直到完成。
步骤二:迁移
新增RDS实例后,平滑扩容会对部分物理分库进行迁移。
迁移任务不会变更原有数据库中数据,不影响在线业务。在切换前,可以通过回滚,放弃本次平滑扩容操作。
说明:
- 在执行切换前,本次扩容还没有对原数据库中数据产生实质影响,因此在切换前都可以通过回滚来放弃本次扩容。
- 扩容期间需要停止清理源RDS的Binlog文件,可能会导致磁盘空间不足,请务必在源RDS实例上预留充足的磁盘空间。一般百分之三十以上为宜。如空间实在无法保证,可以提交工单来扩容RDS存储空间。
- 原RDS实例扩容过程中会有读压力,请尽量在原RDS低负载时操作。
- 扩容期间请勿在控制台提交DDL任务或通过直接连接PolarDB-X执行DDL语句,否则会导致扩容任务失败。
- 扩容需要保证源库中所有表具有主键,如果没有需要事先添加好。
历史数据和增量数据迁移完成后,迁移任务进度会达到100%,此时可以进行切换或者回滚放弃本次扩容。
步骤三:切换
切换任务会将读写流量切换到新增的RDS实例上,整个过程会在3~5分钟内完成。在切换过程中,除了会有一到两次闪断,服务不受影响。请在业务低谷期执行切换。
在任务列表中,单击切换按钮并确认。切换过程会生成一个切换任务,并在任务进度中显示。
切换完成后,在任务进度中会显示清理按钮,表示切换任务已经完成。
步骤四:清理
切换完成后,单击清理按钮并确认。此步骤将删除原RDS上被迁移的分库。清理任务也是一个异步任务,可以在任务进度中查看执行状态。
清理任务完成后,整个平滑扩容过程结束。新增RDS实例会成为PolarDB-X对应逻辑库新的存储节点。
目前平滑扩容是通过迁移物理分库的方式来实现扩容。如果扩容到一定程度,出现一个分库超出了单个RDS实例容量,无法进一步平滑扩容时,可以提交工单,申请增加分库数目并扩容。这时会对数据重新进行HASH计算,重新分配。
注意:
- 清理任务会删除本次扩容后不再使用的数据库,可以考虑备份后再执行此操作。
- 清理操作对数据库有一定压力,请在业务低谷期执行。