MENU

keepalived基础配置

2016 年 06 月 04 日 • 应用服务器

keepalive是一个基于VRRP(虚拟路由冗余协议)来实现高可用,利用避免单点故障,从而实现高可用,现在先不扯那个lvs,lvs和keepalived是两个东西,先说说它的工作原理。虚拟路由冗余协议,可以认为是实现路由器高可用的协议,即将N台提供相同功能的路由器组成一个路由器组,这个组里面有一个master和多个backup,master上面有一个对外提供服务的vip,master会发组播,当backup收不到vrrp包时就认为master宕掉了,这时就需要根据VRRP的优先级来选举一个backup当master。这样的话就可以保证路由器的高可用了。下面是安装及基础配置。需要两台服务器。

安装阶段

1.两台服务器上同时安装软件
[root@master ~]# yum -y install keepalived
[root@master ~]# rpm -qa | grep keep
keepalived-1.2.13-5.el6_6.x86_64
2. 启动 keepalived
[root@master ~]# /etc/init.d/keepalived start   #开启keepalive
Starting keepalived:                                       [  OK  ]
[root@master ~]# ip addr | grep 192.168.
    inet 192.168.200.16/32 scope global eth0
    inet 192.168.200.17/32 scope global eth0
    inet 192.168.200.18/32 scope global eth0  #默认启动三个VIP
[root@master ~]# /etc/init.d/keepalived stop    #停止keepalved
Stopping keepalived:                                         [  OK  ]

配置文件详解

[root@master ~]# vim /etc/keepalived/keepalived.conf 
! Configuration File for keepalived
global_defs {
   notification_email {
   rj-bai@qq.com    ###邮箱地址
   }   
   notification_email_from Alexandre.Cassen@firewall.loc
   smtp_server 127.0.0.1
   smtp_connect_timeout 30
   router_id 1b01                ####id为1b01 不同的keepalived 次id要唯一
}
vrrp_instance VI_1 {             ###实例名字为VI_1 相同的实例的备用节点要和这个相同
    state MASTER                   ###主节点为MASTER,备节点需要为BACKUP
    interface eth0                    ###通信接口为eth0,此参数主备需要一致
    virtual_router_id 55            ###实例ID为55,keepalived.conf里唯一
    priority 150                            ####优先级150 备节点优先级必须别他低
    advert_int 1                           ####通信检查为1秒
    authentication {
        auth_type PASS          ###pass为认证类型 此参数主备节点设置相同
        auth_pass 1111            ####密码是1111    主备节点设置相同
    }
    virtual_ipaddress {
   192.168.0.154/24 dev eth0 label eth0:1                   ####虚拟IP既VIP,主节点和备节点相同
    }
}
master节点配置
! Configuration File for keepalived

global_defs {
   notification_email {
   rj-bai@qq.com
   }
   notification_email_from Alexandre.Cassen@firewall.loc
   smtp_server 127.0.0.1
   smtp_connect_timeout 30
   router_id 1b01
}

vrrp_instance VI_1 {
    state MASTER
    interface eth0
    virtual_router_id 55
    priority 150
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
    10.10.79.213 dev eth0 label eth0:1
    }
}
backup节点配置
! Configuration File for keepalived

global_defs {
   notification_email {
   rj-bai@qq.com
   }
   notification_email_from Alexandre.Cassen@firewall.loc
   smtp_server 127.0.0.1
   smtp_connect_timeout 30
   router_id 1b01
}

vrrp_instance VI_1 {
    state BACKUP
    interface eth0
    virtual_router_id 55
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
    10.10.79.213 dev eth0 label eth0:1
    }
}

测试阶段

测试,结果就是启动keepalived以后,主节点会看见VIP,而备节点则没有,关闭主节点VIP会漂移到备节点,重启开始主节点后VIP会再次飘回主节点,嗯,就这样,试试吧。

1.两台服务器同时开启keepalived,查看结果。

再试试能不能访问到,如果访问不到则毫无疑义。

2.关闭主节点,看一下VIP会不会飘到备节点

3.再次开启主节点,VIP会再次飘回去。

经过测试,想要的结果达到了,这样就实现了高可用,如果两个都宕了,那我也没办法,用三台服务器做我没试过,不知道行不行,你有兴趣可以试一下,结束。

最后编辑于: 2018 年 12 月 10 日
返回文章列表 文章二维码 打赏
本页链接的二维码
打赏二维码