keepalived+MySQL实现高可用

本文介绍了如何利用keepalived的VRRP协议和MySQL双主复制实现高可用性。当主节点故障时,VIP会自动漂移到备份节点,确保服务不间断。详细步骤包括MySQL双主复制的配置、keepalived的安装和配置,以及高可用性的测试。
摘要由CSDN通过智能技术生成

Snipaste_2020-08-03_23-21-47



(一)keepalived概述

Keepalived通过VRRP(虚拟路由冗余协议)协议实现虚拟IP的漂移。当master故障后,VIP会自动漂移到backup,这时通知下端主机刷新ARP表,如果业务是通过VIP连接到服务器的,则此时依然能够连接到正常运行的主机,RedHat给出的VRRP工作原理如下图:

wps1


本来对VIP漂移有一定了解的我,看了上面的图后,越来越懵了。因此只能根据我的个人理解,来对keepalived的VIP漂移做一个解释了,假设我现在有一套这样的环境:
主机A的IP地址为:192.168.10.11
主机B的IP地址为:192.168.10.12

我们再单独定义一个keepalived使用的VIP:192.168.10.10

当2台主机安装了keepalive并正常运行时,keepalive会选择一个节点做为主节点(这里假设为主机A,IP为192.168.10.11),由于A是主节点,所以主机A上还会生成一个IP地址192.168.10.10,即虚拟IP(Virtual IP,也称VIP),此时我们使用192.168.10.10访问主机,访问到的主机是A;假如A主机上的keepalived由于某些原因(例如服务器宕机、用户主动关闭…)关闭了,keepalived备用节点会检查与主节点keepalived的通信是否正常,检测到不正常,则会提升一个备节点为主节点,相应的虚拟IP也会在对应的主机上生成,从而实现高可用的目的。

Snipaste_2020-08-03_18-54-27


(二)MySQL是如何结合keepalived实现高可用的

在MySQL中,通过搭建MySQL双主复制,保持2台主机上的MySQL数据库一模一样,并在2台主机上安装keepalived软件,启用VIP,用户应用程序通过VIP访问数据库。当包含VIP的主机上的数据库发生故障时,关闭keepalived,从而将VIP漂移到另一个节点,用户依然可以正常访问数据库。 (这里需要注意,虽然MySQL架构双主复制,2个节点都可以写入数据,但是我们在使用的时候,是通过VIP访问其中一个实例,并没有2个数据库实例一起使用)。这里我简单画了一个流程图,来说明keepalive与MySQL实现高可用的过程:

Snipaste_2020-08-03_19-30-48


(三)keepalived+MySQL实现高可用过程实现

基础环境规划:

主机名 IP地址 备注
服务器A hosta 192.168.10.11 keepalive主节点
服务器B hostb 192.168.10.12 keepalive备节点
192.168.10.10 虚拟IP,会在keepalive启动后分配到上面2台机器的主节点上


(3.1)搭建MySQL双主复制环境

STEP1:安装MySQL过程见:https://www.cnblogs.com/lijiaman/p/10743102.html

STEP2:配置双主复制参数

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值