这篇文章主要为大家展示了“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双机高可用的示例分析”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。