前提条件
DRDS实例中已创建逻辑库。
已有RDS for MySQL实例与DRDS实例处于相同的VPC,该RDS for MySQL实例没有被其它DRDS实例使用。若需增加DN实例,则DN实例与DRDS实例需要处于相同的VPC。
本特性需满足DRDS内核版本大于等于3.0.8.3版本,建议您使用最新的内核版本来进行分片变更。
操作步骤
1、在分布式关系型数据库,实例管理列表页面,选择目标DRDS实例,单击实例名称,进入实例基本信息页面。
2、在实例基本信息页面左侧导航栏,选择“逻辑库管理”选项卡,查看DRDS实例逻辑库。
3、在逻辑库列表页面,单击“操作”列“分片变更”。
4、在“分片变更”页面,按需填选对应参数,单击测试连接。
说明
DRDS分片变更不支持无主键表。
“变更后逻辑库总分片数”默认显示的是当前已有的总分片数,如果需要增加分片,请填写增加后的总分片数,DRDS会尽量均匀分配到数据节点上。
数据节点和分片数可以增加也可以保持不变,只要分片数有变化,数据都会进行重分布。
数据节点列表默认选中的是已有的实例,也需要填写账号密码进行连接测试。
逻辑库在单数据节点上的物理分片数不超过64。如果因业务需要分片数超过64,请联系DRDS技术人员。
5、连接通过后,单击“下一步”,进入预检查页面。
说明
预检查时,实际还未开始真正的变更,只有点击“确定”下发任务后才开始。
检查项中如果出现风险项,请确保该风险项不会影响业务后,再点击“忽略此风险”,建议先解决风险项,再进行变更。
6、检查完成后,单击“开始分片变更”。
分片变更任务进行中,数据迁移分为全量迁移和增量待处理两个阶段。您可以通过“任务中心”的进度条查看迁移进度,也可以通过在SQL客户端执行 “show migrate status” 命令来查看分片变更的精准进度。
执行命令查看进度
说明
一个源RDS实例查询出一条记录,存在n个源RDS实例会查询出n条记录。
SOURCE_RDS:源RDS实例。
MIGRATE_ID:扩容id。
TABLE_STRUCTURE:表结构。
TABLE_DATA:表数据。
INDEX_DATA:索引数据。
FULL_SUCCEED_COUNT:当前扩容子任务的已完成全量对象总量。
FULL_TOTAL_COUNT:当前扩容子任务的全部全量对象总量。
FULL_PERCENTAGE:当前扩容子任务的全量完成百分比。
将各个扩容子任务的全部全量对象总量和已完成全量对象总量进行汇聚,得到当前扩容任务的全量迁移总量和已完成量,即展示在“任务中心”的进度条数据
7、在“任务中心”点击“查看运行日志”可查看任务的日志记录。
数据迁移完成,若切换策略选择了手动切换,需在“任务中心”点击“切换”将路由切换到新的分片上或者数据节点上。若切换策略选择了自动切换,任务将在设置的切换时间内,自动进行切换。
说明
切换是本次变更的核心操作,未切换前本次分片变更还没有对原数据库中数据产生实质影响,可以通过取消任务来结束本次分片变更任务。
切换过程中,如果分片数未变只增加了RDS for MySQL实例进行分片平移,会禁写,如果分片数有变化,则会禁写禁读。
为了确保数据一致性,切换过程中DRDS服务会进行数据完整性校验,导致切换时间变长,具体时间由数据量大小决定,建议在业务低峰期操作。
8、分片变更结束后数据将会重新分布,确认完数据无误后可单击“清理”来清除原RDS for MySQL数据库实例的数据。
9、请仔细阅读弹窗内容,确认任务没有问题后单击“是”进行清理。
10、清理完成。
11、分片变更结束后,可使用以下命令进行检查。
show data node :查询新的数据节点和物理分片的对应关系。
show db status :查询逻辑库磁盘预估占用。