加入收藏 | 设为首页 | 会员中心 | 我要投稿 大连站长网 (https://www.0411zz.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

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

发布时间:2021-12-24 15:45:56 所属栏目:MySql教程 来源:互联网
导读:这篇文章主要为大家展示了keepalived+vip+mysql双机高可用的示例分析,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下keepalived+vip+mysql双机高可用的示例分析这篇文章吧。 1.环境 mysql主从 更新 yum update
这篇文章主要为大家展示了“keepalived+vip+mysql双机高可用的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“keepalived+vip+mysql双机高可用的示例分析”这篇文章吧。
 
1.环境  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双机高可用的示例分析”这篇文章的所有内容,感谢各位的阅读!

(编辑:大连站长网)

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