共计 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 行业资讯频道!