已配置双主:
系统信息:
mysql主库 192.168.1.81 CentOS 7 mysql 5.7
mysql主库 192.168.1.182 CentOS 7 mysql 5.7
VIP 192.168.1.180
【Keepalived 部署】
yum -y install openssl-devel
tar -zxvf keepalived-2.0.19.tar.gz
cd keepalived-2.0.19
./configure --prefix=/usr/local/keepalived
make && make install
cp ./keepalived/etc/init.d/keepalived /etc/rc.d/init.d/
cp /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/
mkdir /etc/keepalived/
cp /usr/local/keepalived/etc/keepalived/keepalived.conf /etc/keepalived/
cp /usr/local/keepalived/sbin/keepalived /usr/sbin/
echo "/etc/init.d/keepalived start" >> /etc/rc.local
mv /etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf.bak
vi /etc/keepalived/keepalived.conf
vi /etc/keepalived/check_mysql.sh
chmod 755 /etc/keepalived/check_mysql.sh
systemctl start keepalived
systemctl status keepalived
systemctl enable keepalived
! Configuration File for keepalived
global_defs {
router_id my3309
}
vrrp_script check_mysql_3309 {
script "/etc/keepalived/keepalived_check_mysql.sh 3309"
interval 10
timeout 8
}
vrrp_instance keepalived_3309 {
state BACKUP
interface eth0
virtual_router_id 51
priority 101 #备节点为100,其他的都一样!
advert_int 1
nopreempt
authentication {
auth_type PASS
auth_pass 1111
}
track_script {
check_mysql_3309
}
virtual_ipaddress {
192.168.1.180
}
}
vim /etc/keepalived/keepalived_check_mysql.sh
#!/bin/bash
counter=$(netstat -na|grep "LISTEN"|awk '{print $4}'|grep "$1"|wc -l)
if [ "${counter}" -eq 0 ]; then
/etc/init.d/keepalived stop
fi
chmod 755 /etc/keepalived/keepalived_check_mysql.sh
/etc/init.d/keepalived start