文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

AWS RDS强制升级的应对之道——版本升级的最佳实践

2024-04-02 19:55

关注
AWS RDS被强制升级是个无奈的事情,版本不支持,而被强制升级会影响业务可用性。与其被动强制升级,不如制定主动升级战略。本文给大家介绍AWS RDS版本升级的最佳实践,为作者呕心泣血之作,整理至此希望可以帮助到大家。


1. AWS RDS的升级周期说明



根据亚马逊的文档 Amazon RDS FAQs上的说明,AWS RDS的大版本,至少能支持3年,小版本至少会支持1年。

AWS RDS强制升级的应对之道——版本升级的最佳实践
根据和AWS的交流得知,一般社区基本版本发布约5个月之后,AWS会发布基于AWS的RDS。


因此,AWS的RDS升级周期是,待社区版本发布后,约5个月,AWS发布对应的版本,每个大版本至少支持3年,每个小版本至少支持1年。


2. AWS RDS的版本过期的后果



根据亚马逊的文档 Amazon RDS FAQs上的说明,当某个大版本或者小版本,过了亚马逊的服务支持期,亚马逊会提前提醒客户(大版本提前6个月提醒,小版本提前3个月提醒),在提醒期过后,AWS会强制自动升级数据库到最新的版本(即使客户选择的是关闭了自动小版本升级)。升级的过程,应用程序无法连接数据库,造成业务影响。

AWS RDS强制升级的应对之道——版本升级的最佳实践


3. 内部升级步骤解析



AWS RDS强制升级的应对之道——版本升级的最佳实践
即:
a). 在升级前,做一次快照,注意这个快照的时间,和数据库的大小的有关。
b). 进行slow shutdown,即set global innodb_fast_shutdown=0然后进行shutdown。由于设置了slow shutdown,因此dirty buffer会刷到磁盘上+insert buffer 也会刷到磁盘上(即system tablespace,ibdata1中)+full purge(即清理无用的undo页)
c). 将mysql挂载到新的存储引擎下,并且禁止远程网络访问;
d). 运行mysql_upgrade程序,升级数据字典。
e). 运行RDS特殊的一些脚本,以便升级RDS封装的表和存储过程。
f). 重启实例,开放网络远程连接。


4. 版本发布路线图



根据社区发布的版本时间,和AWS已经发布的版本的时间,我们可以作出下面的发布路线图。


MySQL:
AWS RDS强制升级的应对之道——版本升级的最佳实践

PostgreSQL:
AWS RDS强制升级的应对之道——版本升级的最佳实践



5. 升级最佳实践



5.1. 大版本升级:

a). 先创建2个replica实例;
b). 升级其中一个实例到高版本,此时,还保持着主从的同步关系;
c).创建dms实例,配置好源和目标的endpoint,和创建好task,注意创建task时选择changes only,并且取消 Start task on create的勾勾。
d). 业务中断开始,将新建的replica实例提升为主库;
d). 点击dms的task中的start ,等待其完成全量数据库的对比,开始准备同步增量数据;
e). 切换应用连接到高版本的数据库;


AWS RDS强制升级的应对之道——版本升级的最佳实践
aws mysql major version upgrade best practise.pdf

下载链接:https://oracleblog.org/working-case/aws-rds-upgrade-best-practise/


5.2. 小版本升级:

方法一:
a). 先创建replica实例,或直接使用现有的replica实例;
b). 升级replica实例到高版本,此时,还保持着主从的同步关系;
c). 业务中断开始,将高版本的replica实例提升为主库;
d). 切换应用连接到高版本的数据库。应用的连接串配置,可以提前配置好,重启应用即可;
AWS RDS强制升级的应对之道——版本升级的最佳实践


aws mysql minor version upgrade best practise.pdf

下载链接:https://oracleblog.org/working-case/aws-rds-upgrade-best-practise/


方法二:
a). 先升级replica实例到高版本,这是所有AWS升级到必要前提,即必须先升级从库;
b). 中断业务和数据库之间的连接,开始升级主库;
c). 将主库升级到高版本;
d). 恢复应用连接;


AWS RDS强制升级的应对之道——版本升级的最佳实践


aws mysql minor version upgrade best practise_2.pdf

下载链接:https://oracleblog.org/working-case/aws-rds-upgrade-best-practise/

 


6. 总结



因此,我们可以制定如下的主动升级战略:


(1). 禁止所有的小版本自动升级;

(2). 根据上面的所述,规定今后MySQL的新安装版本的为5.7.23;

(3). 在一年内,对于之前MySQL 5.5版本,小版本统一过渡到5.5.61,MySQL 5.6版本,小版本统一过渡到5.6.41。这个可以避免MySQL的小版本因为不被支持导致强制升级,并且这2个版本的下一次强制升级时间,至少是在2019年9月之后。(pg类似指导思路);

(4). 在一年内,对于之前的MySQL 5.5版本升级到5.6版本;在两年内,对于MySQL 5.6版本,升级到5.7版本;在两到三年内,统一到MySQL 8.0版本。解决由于多版本共存,导致运维难度增加的问题。(pg类似指导思路);

(5). 后续的版本升级,将会按照1年一升小版本,3年一升大版本的进度推进,以符合AWS RDS的版本支持规则。


作者:何剑敏,某无人机公司运维部,数据库架构师,负责公司云上和云下数据库的架构、规划和运维,专注于整体运维的思路,发挥平台效应,实现云上和云下数据库的统一运维。
阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯