dfdfs 发表于 2017-11-8 11:31:16

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 {
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
    }
}
从2192.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
    }
}


页: [1]
查看完整版本: keepalived通过vrr_script实现高可用性案例分析