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

62次阅读
没有评论

共计 2570 个字符,预计需要花费 7 分钟才能阅读完成。

这篇文章主要为大家展示了“keepalived+vip+mysql 双机高可用的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让丸趣 TV 小编带领大家一起研究并学习一下“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 双机高可用的示例分析”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注丸趣 TV 行业资讯频道!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-07-26发表,共计2570字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)