基于Keepalived的Mysql双主单活故障自动切换方案(一)

举报
pro_cheng 发表于 2017/11/25 14:57:25 2017/11/25
【摘要】 本文介绍了基于Keepalived组件进行Mysql双主单活部署的总体方案。该方案需要两个二层互通的节点和一个浮动IP。正常情况下,主节点具有读、写权限;备节点只有读权限,无写权限。使用Keepaliced组件进行健康检查,主节点故障后,浮动IP切换至备节点。

本文描述基于Keepalived的Mysql双主单活故障自动切换方案工程组网要求及方案总体思路。

1、工程组网要求

1)        节点:部署需要两个节点,并采用二层通信。

2)        浮动IP:需要浮动IP一个。

2、方案概要

    image.png

                                 图1 方案架构图

    

1MySQL双主单活故障自动切换方案部署两个节点,每个节点均部署MySQLKeepalived。两个节点共用一个浮动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

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。