加入收藏 | 设为首页 | 会员中心 | 我要投稿 银川站长网 (https://www.0951zz.com/)- 云通信、基础存储、云上网络、机器学习、视觉智能!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

keepalived+vip+mysql双机高可用的示例解析

发布时间:2023-10-16 13:02:17 所属栏目:MySql教程 来源:
导读:这篇文章主要为大家展示了“keepalived+vip+mysql双机高可用的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“keepalived+vip+mysql双机高可

这篇文章主要为大家展示了“keepalived+vip+mysql双机高可用的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“keepalived+vip+mysql双机高可用的示例分析”这篇文章吧。

环境 mysql主从

更新

 yum update glib*

配置第三方源

yum install -y epel-release

直接通过yum安装keepalived

#查看是否有安装包

yum list |grep keepalived

安装

yum install  keepalived.x86_64

各种参数定义查看如下bolg

http://blog.csdn.net/zhu_tianwei/article/details/43603135

真实生产环境案例

master

路径/etc/keepalived/keepalived.conf

通过权重 priority 0-250 来判断 主从

#######################master###########################

global_defs {

  router_id HA_MySQL

}

vrrp_instance VI_1 {

   state BACKUP

   interface em1

   virtual_router_id 12

   priority 120

   advert_int 1

   nopreempt

   authentication {

     auth_type PASS

     auth_pass 1111

   }

   virtual_ipaddress {

   #vip

    192.168.27.12

   }

}

virtual_server 192.168.27.12 3306 {

   delay_loop 2

   lb_algo wrr

   lb_kind DR

   persistence_timeout 60

   protocol TCP

   real_server 192.168.27.73 3306 {

     weight 3

     inhibit_on_failure

    #检查真实ip的端口3306 是否down 如果down 执行stop_keeplived.sh

     notify_down /usr/local/keepalived/sbin/stop_keeplived.sh

     TCP_CHECK {

       connect_timeout 10

       nb_get_retry 3

       delay_before_retry 3

       connect_port 3306

     } 

   }

}

###########################slave###############################

slave

通过权重 priority 0-250 来判断 主从

global_defs {

  router_id HA_MySQL

}

vrrp_instance VI_1 {

   state BACKUP

   interface em1

   virtual_router_id 12

   priority 100

   advert_int 1

   #nopreempt

   authentication {

     auth_type PASS

     auth_pass 1111

   }

   virtual_ipaddress {

    #vip

    192.168.27.12

   }

}

virtual_server 192.168.27.12 3306 {

   delay_loop 2

   lb_algo wrr

   lb_kind DR

   persistence_timeout 60

   protocol TCP

   real_server 192.168.27.72 3306 {

     weight 3

     notify_down /usr/local/keepalived/sbin/stop_keeplived.sh

     TCP_CHECK {

       connect_timeout 10

       nb_get_retry 3

       delay_before_retry 3

       connect_port 3306

     } 

   }

}

################stop_keeplived.sh############

/usr/local/keepalived/sbin/stop_keeplived.sh

内容

#! /bin/bash 

echo "test" > text.txt

/etc/init.d/keepalived stop

#遇到的错误

停止mysql 3306端口

service mysqld stop

正常应该是vip 进行漂移,但是却没有漂,查看keepalived状态

service keepalived status

发现 ipvs: Protocol not available 提示信息

此问题 导致vip无法漂移

原因是ip_vs模块系统默认没有自动加载

查看ip_vs模块

lsmod | grep ip_vs 若没有值需要手工加载

modprobe ip_vs

modprobe ip_vs_wrr

lsmod | grep ip_vs正常输出

[root@hs-73 sbin]# lsmod | grep ip_vs

ip_vs_wrr       12697 0 

ip_vs        140944 2 ip_vs_wrr

nf_conntrack     105745 1 ip_vs

libcrc32c       12644 2 xfs,ip_vs 

设置开机加载

/etc/rc.local

将modprobe ip_vs

  modprobe ip_vs_wrr

写入rc.local配置文件

到此 问题解决

vip 可以正常漂移

使用命令 ip a 可以查看vip

-----keepalived 对应的机器必须开启112端口 否则 两边无法通信

以上是“keepalived+vip+mysql双机高可用的示例分析”这篇文章的所有内容,感谢各位的阅读!

(编辑:银川站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章