安装环境 RedHat6.3 MySQL-5.6.26
Keepalived版本 1.2.18
当主服务器当掉之后可自动切换到从服务器,主服务器启动后可自动切换回来,切换时间在毫秒级别。
两台MySQL服务器
1 192.168.10.145:3308
2 192.168.10.154:3308
对外提供服务的IP 192.168.10.111:3308
配置两台MySQL服务器互为主从
可参考MySQL主从复制
change master to master_host=’192.168.10.154’, master_user=’rpl’, master_password=’rpl’, master_port=3308;安装keepalived
./configure
make
make install
cp /usr/local/etc/rc.d/init.d/keepalived /etc/rc.d/init.d/
cp /usr/local/etc/sysconfig/keepalived /etc/sysconfig/
mkdir /etc/keepalived
cp /usr/local/etc/keepalived/keepalived.conf /etc/keepalived/
cp /usr/local/sbin/keepalived /usr/sbin/配置keepalived
添加MySQL服务停止时执行的脚本
vi /etc/keepalived/MySQL.sh
service keepalived stop
chmod 755 /etc/keepalived/MySQL.sh修改keepalived配置文件
vi /etc/keepalived/keepalived.conf
关键配置
vrrp_instance VI_1 {
#如果希望主服务重启后不抢夺服务 主state 可配置为 BACKUP
state MASTER
interface eth0
virtual_router_id 61
#从可配置为100
priority 150
advert_int 1
nopreempt
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.10.111
}
}
virtual_server 192.168.10.111 3308 {
delay_loop 6
lb_algo wlc
lb_kind DR
nat_mask 255.255.255.0
persistence_timeout 50
protocol TCP
real_server 192.168.10.145 3308 {
weight 3
notify_down /etc/keepalived/MySQL.sh
TCP_CHECK {
connect_timeout 10
nb_get_retry 3
delay_before_retry 3
connect_port 3308
}
}
}
4 启动keepalived
/etc/init.d/keepalived start
查看日志
vi /var/log/messages
设置开机启动 在MySQL之后启动
vi /etc/rc.d/rc.local
/etc/init.d/keepalived start