ps -C nginx --no-heading|wc -ljava
ps -C java --no-heading|wc -lnginx
先確認一下服務器上上面兩個數字tomcat
cd /etc/keepalivedbash
vi /etc/keepalived/check_nginx.sh服務器
#!/bin/bash.net
counter=$(ps -C nginx --no-heading|wc -l)router
if [ "${counter}" = "0" ]; thenserver
sleep 2blog
counter=$(ps -C nginx --no-heading|wc -l)ip
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 {
752119102@qq.com
}
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 {
752119102@qq.com
}
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 {
752119102@qq.com
}
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
}
}