开发者社区> 问答> 正文

阿里云RDS实例平滑升级步骤


一、为何需要升级



1、初期业务量小,RDS配置买低了


2、产品需求增多了,初期设计的表结构要有所变化


二、为何需要平滑


直接在阿里云选择给RDS更改配置会造成一段时间整库不可用,执行增删改sql语句也会造成锁表的情况。这些都会直接影响前台用户的使用,如果数据量少可能瞬间就改完了,但是数据量大的话就无法容忍了。所以终极目标就是在绝对保证用户无感知的前提下,把RDS升级工作完成。


三、升级准备


1、评估现有的RDS实例配置

升级的数据源必须是现有RDS实例的主库,因为全量同步后是需要用主库的binlog做增量同步的。如果现有主库压力已经很大,就必须选择已经相对业务量小的时候去做,以免对现有主库造成冲击。

2、购买一个按时计费的RDS实例

这个实例必须大于等于现有RDS主实例的配置,如果业务量很大读写繁重的话,建议给这个临时RDS主实例下再创建个只读实例。

3、按照现有RDS实例去配置临时RDS实例的白名单

一定要把临时主RDS实例的库建好,读写账号及白名单都配置好以后再去创建它的只读实例,否则极容易出现主从库的白名单不一致的问题。


四、升级步骤


1、创建一个DTS迁移任务,数据源是现有RDS主实例(只需要给只读账号就可以了)目标是新创建的临时RDS实例(必须给具有写权限的账号),一定把全量和增量迁移都勾选上。

2、输入账号密码后选择你需要迁移的表(不需要升级的表可以不选)会进行迁移前的检查工作,这个RDS到RDS一般都不会有什么问题。

3、再校验通过后不要着急点开始迁移,这时候navicat连到临时RDS库看下应该有了刚刚选择的几张表,只不过都是空表没有内容的。然后就可以执行增字段,修改索引等sql语句了。

4、如果通过校验后没有发现空表就直接点开始迁移。整个迁移工作分成3部分,创建表结构、全量同步、增量同步。可以在创建表结构的时候暂停迁移任务,把已经创建的表删掉重新手工创建符合自己要求的表,然后再继续开始迁移也是可以的。

5、都修改好了确认无误后,再去DTS页面上开始迁移就可以了。这个要看数据量的多少以及RDS配置的高低。给个参考值,6G内存、3000IOPS的RDS实例,同步6000万行数据不到30G的库文件大小大概不到1小时能全部迁移完。

6、全量迁移任务完成后,DTS会自动继续做增量同步,正常的增量同步大概会显示延迟1-5秒之间。这时需要修改线上程序代码,把连接原有RDS实例的地方修改为连接临时RDS实例,注意如果是仅仅迁移部分表的话,程序里还需要配置哪些表读老库哪些表读中转库。

7、程序修改好后千万别着急上线,因为代码部署在N台服务器上,发布程序不可能同时生效的。所以这时候应该去修改临时RDS实例表里的主键ID,根据业务繁忙程度和同步线上代码的时间增加一定数量级的自增ID。

8、最后更新线上代码,把所有服务都迁移到读写临时临时RDS上,然后观察两边RDS读写是否正常。不出意外的话线上程序都更新完毕后,旧RDS实例的那些表就不会再有变化了。

9、确认临时RDS实例正常工作后,终止DTS迁移任务,修改老RDS实例上的表名为表名_old以备校验查询。

10、再次创建一个新的DTS迁移任务,这次数据源是临时RDS实例目标是原来的RDS实例。因为临时RDS里的表、字段、索引都已经符合要求了,这次就无需再写任何sql语句,只需要确认空间够用,表名不要重复就ok了。

11、待DTS任务达到增量同步1-5秒延迟的时候,再次修改原有RDS实例里的自增ID,然后再把线上程序恢复成之前读写原有RDS实例的配置。再次发布代码后,确认读写正常,停止这个DTS迁移任务就算整体完工了。


五、注意事项


1、一定要找业务低峰时进行操作

2、DTS迁移任务的时候要时刻注意IOPS的压力

3、如果有主从RDS实例千万注意,主库是多线程写的,而从库是单线程同步的。所以DTS主库迁移成功了,从库要追很久才能同步。

4、严格按照顺序操作,每步都要想好确定无误了再做下一步。

5、千万别忘记更新程序后,把DTS迁移任务结束。如果不结束的话,很可能造成不可估量的严重后果!

展开
收起
小咖秀 2016-02-26 14:29:07 12237 0
2 条回答
写回答
取消 提交回答
  • 好复杂
    2016-02-29 17:52:40
    赞同 展开评论 打赏
  • 阿里云论坛版主,QQ 1978638808
    您的帖子很精彩!希望很快能再分享您的下一帖!
    2016-02-26 16:21:33
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
搭建电商项目架构连接MySQL 立即下载
搭建4层电商项目架构,实战连接MySQL 立即下载
PolarDB MySQL引擎重磅功能及产品能力盛大发布 立即下载

相关镜像