1. 程式人生 > >keepalived通過vrr_script實現高可用性案例分析

keepalived通過vrr_script實現高可用性案例分析

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 {

[email protected]

}

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 {

[email protected]

}

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 {

[email protected]

}

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實現高可用性案例分析