Keepalived 的安装和使用介绍配置文件

政林 2020-05-26 1019浏览 0条评论
首页/正文
分享到: / / / /

Keepalived 的安装和使用介绍配置文件
介绍
Keepalived是一个基于VRRP协议来实现的WEB服务高可用方案,可以利用其来避免单点故障。一个WEB服务至少会有2台服务器运行Keepalived,一台为主服务器(MASTER),一台为备份服务器(BACKUP),但是对外表现为一个虚拟IP,主服务器会发送特定的消息给备份服务器,当备份服务器收不到这个消息的时候,即主服务器宕机的时候,备份服务器就会接管虚拟IP,继续提供服务,从而保证了高可用性。
          +---------VIP(192.168.1.111)----------+
          |                                                       |
          |                                                       |
    server(MASTER) <----keepalived----> server(BACKUP)
    (192.168.1.100)                          (192.168.1.200)

VRRP
在VRRP协议中,有两组重要的概念:VRRP路由器和虚拟路由器,主控路由器和备份路由器。 VRRP路由器是指运行VRRP的路由器,是物理实体,虚拟路由器是指VRRP协议创建的,是逻辑概念。一组VRRP路由器协同工作,共同构成一台虚拟路由器。该虚拟路由器对外表现为一个具有唯一固定IP地址和MAC地址的逻辑路由器。处于同一个VRRP组中的路由器具有两种互斥的角色:主控路由器和备份路由器,一个VRRP组中有且只有一台处于主控角色的路由器,可以有一个或者多个处于备份角色的路由器。VRRP协议使用选择策略从路由器组中选出一台作为主控,负责ARP相应和转发IP数据包,组中的其它路由器作为备份的角色处于待命状态。当由于某种原因主控路由器发生故障时,备份路由器能在几秒钟的时延后升级为主路由器。由于此切换非常迅速而且不用改变IP地址和MAC地址,故对终端使用者系统是透明的。
安装
01    wget http://www.keepalived.org/software/keepalived-1.2.2.tar.gz
02    tar -zxvf keepalived-1.2.2.tar.gz
03    cd keepalived-1.2.2
04    ./configure --prefix=/usr/local/keepalived
05    make
06    make install
07    cd /usr/local/keepalived/etc/
08  cp -r * /etc
09    cp /usr/local/keepalived/sbin/keepalived /usr/sbin/


配置
编辑/etc/keepalived/keepalived.conf
注意一下配置
virtual_ipaddress ,虚拟IP列表
virtual_server,虚拟主机
real_server,真实主机
lb_algo,负载均衡算法

state,主机状态,MASTER是主,BACKUP是从

MASTER:
global_defs {
   notification_email {
     acassen@firewall.loc
     failover@firewall.loc
     sysadmin@firewall.loc
   }
   notification_email_from Alexandre.Cassen@firewall.loc
   smtp_server 192.168.1.100
   smtp_connect_timeout 30
   router_id LVS_DEVEL
}

vrrp_instance VI_1 {
    state MASTER  #标示状态为MASTER
    interface eth0
    virtual_router_id 51
    priority 100  #MASTER权重要高于BACKUP
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.1.111  #虚拟IP
    }
}

virtual_server 192.168.1.111 443 {
    delay_loop 6
    lb_algo rr
    lb_kind NAT
    nat_mask 255.255.255.0
    persistence_timeout 50
    protocol TCP

    real_server 192.168.1.100 443 {
        weight  5 
            TCP_CHECK {
            connect_timeout 10
            nb_get_retry 3
            delay_before_retry 3
            connect_port 443 
        } 
    }

    real_server 192.168.1.200 443 {
        weight  5
            TCP_CHECK {
            connect_timeout 10
            nb_get_retry 3
            delay_before_retry 3
            connect_port 443 
        }
    }

}

BACKUP:
global_defs {
   notification_email {
     acassen@firewall.loc
     failover@firewall.loc
     sysadmin@firewall.loc
   }
   notification_email_from Alexandre.Cassen@firewall.loc
   smtp_server 192.168.1.100
   smtp_connect_timeout 30
   router_id LVS_DEVEL
}

vrrp_instance VI_1 {
    state BACKUP  #标示状态为BACKUP
    interface eth0
    virtual_router_id 51
    priority 99  #BACKUP权重要低于MASTER
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.1.111  #虚拟IP
    }
}

virtual_server 192.168.1.111 443 {
    delay_loop 6
    lb_algo rr
    lb_kind NAT
    nat_mask 255.255.255.0
    persistence_timeout 50
    protocol TCP

    real_server 192.168.1.100 443 {
        weight  5 
            TCP_CHECK {
            connect_timeout 10
            nb_get_retry 3
            delay_before_retry 3
            connect_port 443 
        } 
    }

    real_server 192.168.1.200 443 {
        weight  5
            TCP_CHECK {
            connect_timeout 10
            nb_get_retry 3
            delay_before_retry 3
            connect_port 443 
        }
    }

}


使用
1    /etc/init.d/keepalived start | restart | stop

当启动了keepalived之后,通过ifconfig是看不到VIP的,但是通过#ip a命令是可以看到的。
当MASTER宕机,BACKUP升级为MASTER,这些VRRP_Instance状态的切换都可以在/var/log/message中进行记录。

点击这里给我发
消息
最后修改:2020-05-26 22:47:18 © 著作权归作者所有
如果觉得我的文章对你有用,请随意赞赏
扫一扫支付

上一篇

发表评论

评论列表

还没有人评论哦~赶快抢占沙发吧~