zoukankan      html  css  js  c++  java
  • keepalive的简单应用——管理VIP的飘动

          VIP的飘动可以为我们解决很多问题,以前我试过使用ifup/ifdown的方式控制网卡的up/down来实现,这种方式有个小问题,就是每次VIP飘动之后都要等上几十秒才能生效,感觉时间比较长,而且还要配合一些逻辑脚本才能很好地工作,有没有更好的方法呢?当然有,这就是本文的主角——keepalived。

          安装很简单:

    tar zxvf keepalived-1.1.20.tar.gz  
    cd keepalived-1.1.20
    ./configure --prefix=/
    make
    make install 

          修改一下 /etc/keepalived/keepalived.conf 这个配置文件就可以用了,以下是我的环境,192.168.10.141和192.168.10.142是两个VIP,可以在两台服务器之间飘动:

    image

          主机的配置:

    global_defs {
       notification_email {
         failover@firewall.loc
       }
       notification_email_from Alexandre.Cassen@firewall.loc
       smtp_server 192.168.0.48
       smtp_connect_timeout 10
       router_id nginx
    }
    
    vrrp_instance VI_141 {
        state BACKUP
        interface eth0
        virtual_router_id 141
        priority 50
        advert_int 1
        authentication {
            auth_type PASS
            auth_pass 141
        }
        virtual_ipaddress {
            192.168.10.141/26 dev eth0
        }
    }
    
    vrrp_instance VI_142 {
        state BACKUP
        interface eth0
        virtual_router_id 142
        priority 100
        advert_int 1
        authentication {
            auth_type PASS
            auth_pass 142
        }
        virtual_ipaddress {
            192.168.10.142/26 dev eth0
        }
    }

          备机的配置:

    global_defs {
       notification_email {
         failover@firewall.loc
       }
       notification_email_from Alexandre.Cassen@firewall.loc
       smtp_server 10.168.0.48
       smtp_connect_timeout 10
       router_id nginx
    }
    
    vrrp_instance VI_141 {
        state BACKUP
        interface eth0
        virtual_router_id 141
        priority 100
        advert_int 1
        authentication {
            auth_type PASS
            auth_pass 141
        }
        virtual_ipaddress {
            192.168.10.141/26 dev eth0
        }
    }
    
    vrrp_instance VI_142 {
        state BACKUP
        interface eth0
        virtual_router_id 142
        priority 50
        advert_int 1
        authentication {
            auth_type PASS
            auth_pass 142
        }
        virtual_ipaddress {
            192.168.10.142/26 dev eth0
        }
    }

          乍一看,主机和备机的配置文件是一样的,仔细看一下priority的值,使用以下命令即可将keepalived加入linux的服务中:

    chkconfig --add keepalived ;

          通过启、停keepalived这个服务即可观察到VIP的飘动,至于为什么VIP飘动后可以很快地生效,还有待研究。

  • 相关阅读:
    [知乎作答]·关于在Keras中多标签分类器训练准确率问题
    [深度应用]·Keras极简实现Attention结构
    工作队列work queues 公平分发(fair dispatch) And 消息应答与消息持久化
    RabbitMQ 之 WorkQueues工作队列
    RabbitMQ初体验
    RabbitMQ 简单了解以及使用
    画龙点睛 之RabbitMQ 初来乍到
    JVM 深入浅出
    HashMap和ConcurrentHashMap和HashTable的底层原理与剖析
    Lucene
  • 原文地址:https://www.cnblogs.com/killkill/p/1922360.html
Copyright © 2011-2022 走看看