keepalived实现双机互备

网站入口使用nginx来进行代理和缓存,为提供高可用,两个入口机器使用keepalived来进行互备。

需要两个VIP绑定在两个入口代理机器上,vip1在proxy1上为master,vip2在proxy1上为slave。vip1在proxy2上为slave, vip2在proxy2上为master。

当proxy1上服务或机器出现故障时,vip1就自动漂移到proxy2上,在proxy2上有两个vip 和 机器本身的ip。

    #keepalived 配置,检查本机上nginx进程是否存在。

    vrrp_script chk_nginx {
        script "killall -0 nginx"
        interval 2                      # check every 2 seconds
        weight 55                      # add 2 points of prio if OK
    }

master和slave的priority 差值小于脚本中的weight值。

priority 150

这样在master上nginx进程不存在时,slave的priority就会大于master,VIP也就会漂移过去。

! Configuration File for keepalived
global_defs {
    notification_email {
            xxx@
     }   
     notification_email_from xxx@    
     smtp_server 127.0.0.1    
     smtp_connect_timeout 30    
     router_id proxy1
 }
 vrrp_script chk_nginx {
     script "killall -0 nginx"     
     interval 2                      # check every 2 seconds    
     weight 55                       # add 2 points of prio if OK
 }
 vrrp_instance VI_1 {
     state MASTER    
     interface bond0    
     virtual_router_id 71    
     priority 150    advert_int 1    
     authentication {    
         auth_type PASS        
         auth_pass xxx   
     }    
     virtual_ipaddress {    
         x.x.x.x    
     }   
     track_script {    
         chk_nginx  
     }   
     track_interface{        
         bond0            
         bond1    
     }
 }



你可能感兴趣的:(nginx,keepalived,高可用)