keepalived通過vrr_script實現高可用性案例分析
ps -C nginx --no-heading|wc -l
ps -C java --no-heading|wc -l
先確認一下服務器上上面兩個數字
cd /etc/keepalived
vi /etc/keepalived/check_nginx.sh
#!/bin/bash
counter=$(ps -C nginx --no-heading|wc -l)
if [ "${counter}" = "0" ]; then
sleep 2
counter=$(ps -C nginx --no-heading|wc -l)
if [ "${counter}" = "0" ]; then
/etc/init.d/keepalived stop
fi
fi
vi /etc/keepalived/check_tomcat.sh
#!/bin/bash
counter=$(ps -C java --no-heading|wc -l)
if [ "${counter}" -lt "3" ]; then
sleep 2
counter=$(ps -C java --no-heading|wc -l)
if [ "${counter}" -lt "3" ]; then
/etc/init.d/keepalived stop
fi
fi
chmod u+x check_nginx.sh
chmod u+x check_tomcat.sh
主 192.168.3.214
cat /etc/keepalived/keepalived.conf
vi /etc/keepalived/keepalived.conf
global_defs {
notification_email {
}
notification_email_from keepalived@localhost
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id LVS_MASTER
}
vrrp_script chk_nginx {
script "/etc/keepalived/check_nginx.sh"
interval 2
fall 3
}
vrrp_script chk_tomcat {
script "/etc/keepalived/check_tomcat.sh"
interval 2
fall 3
}
vrrp_instance VI_1 {
#state MASTER
state BACKUP
interface eth1
track_interface
{
eth1
}
virtual_router_id 50
priority 150
nopreempt
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.3.197/24 dev eth1 label eth1:1
}
track_script {
chk_nginx
chk_tomcat
}
}
從1服務器 192.168.3.215
global_defs {
notification_email {
}
notification_email_from keepalive@localhost
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id LVS_BACKUP
}
vrrp_script chk_nginx {
script "/etc/keepalived/check_nginx.sh"
interval 2
fall 3
}
vrrp_script chk_tomcat {
script "/etc/keepalived/check_tomcat.sh"
interval 2
fall 3
}
vrrp_instance VI_1 {
state BACKUP
interface eth0
track_interface
{
eth0
}
virtual_router_id 50
priority 100
nopreempt
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.3.197/24 dev eth0 label eth0:1
}
track_script {
chk_nginx
chk_tomcat
}
}
從2 192.168.3.207
cat /etc/keepalived/keepalived.conf
global_defs {
notification_email {
}
notification_email_from keepalived@localhost
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id LVS_MASTER
}
vrrp_script chk_nginx {
script "/etc/keepalived/check_nginx.sh"
interval 2
fall 3
}
vrrp_script chk_tomcat {
script "/etc/keepalived/check_tomcat.sh"
interval 2
fall 3
}
vrrp_instance VI_1 {
#state MASTER
state BACKUP
interface eth0
track_interface
{
eth0
}
virtual_router_id 50
priority 50
nopreempt
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.3.197/24 dev eth0 label eth0:1
}
track_script {
chk_nginx
chk_tomcat
}
}
本文出自 “經驗分享” 博客,請務必保留此出處http://fangxihang.blog.51cto.com/8477908/1979564
keepalived通過vrr_script實現高可用性案例分析