基于Keepalived的Mysql双主单活故障自动切换方案(一)
【摘要】 本文介绍了基于Keepalived组件进行Mysql双主单活部署的总体方案。该方案需要两个二层互通的节点和一个浮动IP。正常情况下,主节点具有读、写权限;备节点只有读权限,无写权限。使用Keepaliced组件进行健康检查,主节点故障后,浮动IP切换至备节点。
本文描述基于Keepalived的Mysql双主单活故障自动切换方案工程组网要求及方案总体思路。
1、工程组网要求
1) 节点:部署需要两个节点,并采用二层通信。
2) 浮动IP:需要浮动IP一个。
2、方案概要
图1 方案架构图
1)MySQL双主单活故障自动切换方案部署两个节点,每个节点均部署MySQL和Keepalived。两个节点共用一个浮动IP,并使用浮动IP对外提供服务,浮动IP挂载在主节点。MySQL负责存储数据并完成两数据库中数据实时同步,Keepalived负责对MySQL进行健康检查,并在检测到故障时切换浮动IP至另一节点。
2) 正常情况下,主节点具有读、写权限;备节点只有读权限,无写权限。
3)主备角色通过Keepalived组件进行判断。每间隔一段时间(如3秒)对数据库进行一次简单查询,若查询成功则认为MySQL正常。若查询失败,则对MySQL服务状态进行检查,并分以下两种情况处理:
(1)若MySQL服务正常,则间隔一段时间(如5秒)对数据库再进行一次简单查询,连续查询三次均失败,则进行主备切换。否则不进行主备切换。
(2)若MySQL服务异常,直接进行主备切换。
4)主备切换时,首先锁定原主节点,使其只有读权限,无写权限。然后,查看数据同步情况,待数据同步完毕或超时后,原备节点升主, 解除锁定,同时具备读写权限。最后,浮动IP切换至原备节点,主备切换完毕。
Mysql、Keepalived的详细部署方式以及其他实现细节,会在后续博客中进行讲解。
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)