keepalived通过vrr_script实现高可用性案例分析

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 [email protected]  

 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 [email protected]

 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 [email protected]  

 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实现高可用性案例分析的主要内容,如果未能解决你的问题,请参考以下文章

Keepalived实现服务高可用认识

Keepalived实现服务高可用认识

Keepalived实现服务高可用认识

Nginx+Keepalived实现站点高可用

通过LVS+Keepalived实现exchagne2016访问高可用问题

keepalived实现服务高可用