一、環境準備:
操作系統:CentOS Linux release 7.5.1804 (Core)
mysql版本:mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz
主庫:172.16.8.247
從庫:172.16.8.249
主機名:
172.16.8.247 qas-zabbix-node01
172.16.8.249 qas-zabbix-node02
172.16.8.248 vip
二、mysql5.7安裝及主從複製配置
主庫:172.16.8.247
從庫:172.16.8.249
數據安裝參考:
一、Centos7.5安裝mysql5.7.24二進制包方式部署
二、Centos7.5安裝mysql5.7.24二進制包方式部署(主從複製)
三、Keepalived概述
Keepalived 是一個可以快速構建高用服務的解決方案。設計之初針對 LVS 負載均衡提供高可用 的,它集成對 LVS 集羣管理,包括健康檢查、故障剔除等功能。
Keepalived 使用 VRRP
四 、Keepalived安裝及配置
1、安裝keepalived
主庫、從庫都需要安裝
yum -y install keepalived
2、 配置keeepalived配置文件(主庫)
#vim /etc/keepalived/keepalived.conf
global_defs {
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id mysql-247
}
vrrp_script chk_mysql {
script "/etc/keepalived/scripts/mysql_check.sh"
interval 2
weight -5
fall 2
rise 1
}
vrrp_instance VI_1 {
state BACKUP
interface eth0
virtual_router_id 61
priority 100
advert_int 1
nopreempt
authentication {
auth_type PASS
auth_pass 2222
}
track_script {
chk_mysql
}
virtual_ipaddress {
172.16.8.248
}
}
檢查腳本
vim /etc/keepalived/scripts/mysql_check.sh
#!/bin/bash
counter=$(netstat -na|grep "LISTEN"|grep "3306"|wc -l)
if [ "${counter}" -eq 0 ]; then
service keepalived stop
fi
3、 配置keeepalived配置文件(從庫)
# vim /etc/keepalived/keepalived.conf
global_defs {
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id mysql-249
}
vrrp_script chk_mysql {
script "/etc/keepalived/scripts/mysql_check.sh"
interval 2
weight -5
fall 2
rise 1
}
vrrp_instance VI_1 {
state BACKUP
interface eth0
virtual_router_id 61
priority 99
advert_int 1
authentication {
auth_type PASS
auth_pass 2222
}
track_script {
chk_mysql
}
virtual_ipaddress {
172.16.8.248
}
}
檢查腳本
vim /etc/keepalived/scripts/mysql_check.sh
#!/bin/bash
counter=$(netstat -na|grep "LISTEN"|grep "3306"|wc -l)
if [ "${counter}" -eq 0 ]; then
service keepalived stop
fi