MySQL + KeepaLived 高可用
Posted henry-bk
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL + KeepaLived 高可用相关的知识,希望对你有一定的参考价值。
mysql + KeepaLived 高可用
1. 基础环境
两台服务器,MySQL互为主从
MASTER 的 IP:10.0.0.11
BACKUP 的 IP:10.0.0.12
2.MASTER 实操
yum -y install keepalived
cd /etc/keepalived
cp keepalived.conf keepalived.conf.bak
vim keepalived.conf
vrrp_instance VI_1 {
state MASTER # 主机的初始身份:MASTER/BACKUP
interface eth0 # VIP绑定网卡设备
virtual_router_id 51 # 路由广播ID,同步ID可以接受广播
priority 100 # 优先级,越大优先级越高,主的初始优先级必须要大于备份的主机
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
10.0.0.90 # VIP地址
}
}
virtual_server 10.0.0.90 3306 { # 虚拟服务器,IP地址是VIP,端口是对应服务的端口
delay_loop 6
nat_mask 255.255.255.0
protocol TCP
?
real_server 10.0.0.11 3306 { # 真实服务器的ip和端口
weight 1
notify_down /tmp/kill.sh # 检测到down状态时要执行的脚本,内容为停止keepalived
TCP_CHECK { # 健康检查模块,通过TCP检查
connect_port 3306 # TCP要检查的端口
connect_timeout 3 # 超时时间
nb_get_retry 3 # 重试次数
delay_before_retry 3 # 检查轮询周期时间
}
}
}
配置文件结束,保存退出
创建脚本
vim /tmp/kill.sh
重启 keepalived 服务
service keepalived restart
查看 VIP 是否生成
ip a
3. BACKUP 实操
yum -y install keepalived
cd /etc/keepalived
cp keepalived.conf keepalived.conf.bak
vim keepalived.conf
vrrp_instance VI_1 {
state BACKIP # 主机的初始身份:MASTER/BACKUP
interface eth0 # VIP绑定网卡设备
virtual_router_id 51 # 路由广播ID,同步ID可以接受广播
priority 90 # 优先级,越大优先级越高,主的初始优先级必须要大于备份的主机
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
10.0.0.90 # VIP地址
}
}
virtual_server 10.0.0.90 3306 { # 虚拟服务器,IP地址是VIP,端口是对应服务的端口
delay_loop 6
nat_mask 255.255.255.0
protocol TCP
?
real_server 10.0.0.12 3306 { # 真实服务器的ip和端口
weight 1
notify_down /tmp/kill.sh # 检测到down状态时要执行的脚本,内容为停止keepalived
TCP_CHECK { # 健康检查模块,通过TCP检查
connect_port 3306 # TCP要检查的端口
connect_timeout 3 # 超时时间
nb_get_retry 3 # 重试次数
delay_before_retry 3 # 检查轮询周期时间
}
}
}
配置文件结束,保存退出
创建脚本
vim /tmp/kill.sh
#!/bin/bash service keepalived stop
重启 keepalived 服务
service keepalived restart
查看 VIP 是否生成
ip a
4. 高可用测试
master 服务器上启动 MySQL keepalived
service mysql restart service keepalived restart
此时表示 master 服务器正在正常使用
service mysql stop
MySQL 停止,代表服务器宕机,此时去查看 Backup 的 IP
master 的 IP,已经漂浮到了 Backup 上,此时,Backup 是主
以上是关于MySQL + KeepaLived 高可用的主要内容,如果未能解决你的问题,请参考以下文章