keepalived双主虚拟路由配置

我使用了两台虚拟机做测试

系统centos7.3

主机A:172.16.1.123

主机B:172.16.1.124

其实和普通配置keepalived差不多,就是复制多了一个vrrp_instance,并将部分参数做适当修改

安装keepalived

yum install keepalived httpd -y

两台主机都需要修改系统参数,使其允许绑定ip,在/etc/sysctl.conf中添加以下内容

net.ipv4.ip_nonlocal_bind = 1

然后执行sysctl -p 生效

接着修改keepalived配置文件,以下是主机A的配置

[root@controller logs]# cat /etc/keepalived/keepalived.conf
global_defs {
    router_id NodeA
}
vrrp_instance VI_1 {
    state MASTER   #一台设置为MASTER一台设置为BACKUP
    interface eth0  #绑定的网卡
    virtual_router_id 66  #随便设置一个id,但是注意,不能与局域网中的其他id冲突
    priority 100  #优先级
    advert_int 1  #周期
    authentication {  #认证类型
    auth_type PASS  #认证方式
    auth_pass 1111  #认证密码
        }
virtual_ipaddress {
    172.16.1.129/24  #vip
    }
}
vrrp_instance VI_2 {
        state MASTER
        interface eth0
        virtual_router_id 67 #这个id也需要与上面的不同
        priority 80
        advert_int 1
        authentication {
        auth_type PASS
        auth_pass 1111
    }
virtual_ipaddress {
        172.16.1.130/24 dev eth0
    }
}
            

主机B的配置文件如下

[root@compute1 ~]# cat /etc/keepalived/keepalived.conf
global_defs {
    router_id NodeB
}
vrrp_instance VI_1 {
    state BACKUP
    interface eth0
    virtual_router_id 66  #与上面的66一致
    priority 99  #因为是BACKUP,所以我们设置得比前面的小
    advert_int 1
    authentication    {
    auth_type PASS
    auth_pass 1111
}
virtual_ipaddress {
    172.16.1.129/24 dev eth0
}
}
vrrp_instance VI_2 {
        state BACKUP
        interface eth0
        virtual_router_id 67
        priority 79
        advert_int 1
        authentication  {
        auth_type PASS
        auth_pass 1111
}
virtual_ipaddress {
        172.16.1.130/24 dev eth0
}
}

启动keepalived

systemctl start keepalived httpd

接着我们设置主机A和主机B的http的web首页分别为this is 123和this is 124

[root@controller logs]# curl 172.16.1.129
this is 123
[root@controller logs]# systemctl stop keepalived
[root@controller logs]# curl 172.16.1.129
this is 124
[root@controller logs]# systemctl start keepalived
[root@controller logs]# curl 172.16.1.129
this is 123
[root@controller logs]# cat /var/www/html/index.html 
this is 123
[root@controller logs]#

可以发现ip会随着keepalived的变动而变动

原文地址:https://www.cnblogs.com/biaopei/p/10862238.html