keepalived

keepalived高可用服务工作原理

  keepalived高可用对之间是通过VRRP协议通信的,VRRP协议是通过竞选机制来确定主备的,主的优先级高于备,因此,工作时主会获得所有的资源,备节点处于等待状态,当主挂了时候,备节点,接管主节点的资源,然后顶替主节点对外提供服务。
VRRP协议是通过IP多播包的方式(224.0.0.18)发送的。
  在keepalived之间,只有作为主的服务器会一直发送VRRP广播包,告诉备他还活着,此时备不会抢占主,当主不可用时,即备监听不到主发送的广播包时,就会启动相关服务接管资源,保证业务的连续性。接管速度可以小于1秒。VRRP使用加密协议加密发送广播包。

VRRP介绍

  VRRP(Virtual Router Redundancy Protocol)协议是用于实现路由器冗余的协议,VRRP协议将两台或多台路由器设备虚拟成一个设备,对外提供虚拟路由器IP(一个或多个),而在路由器组内部,如果实际拥有这个对外IP的路由器如果工作正常的话就是MASTER,或者是通过算法选举产生,MASTER实现针对虚拟路由器IP的各种网络功能,如ARP请求,ICMP,以及数据的转发等;其他设备不拥有该IP,状态是BACKUP,除了接收MASTER的VRRP状态通告信息外,不执行对外的网络功能。当主机失效时,BACKUP将接管原先MASTER的网络功能。
  VRRP协议使用多播数据来传输VRRP数据,VRRP数据使用特殊的虚拟源MAC地址发送数据而不是自身网卡的MAC地址,VRRP运行时只有MASTER路由器定时发送VRRP通告信息,表示MASTER工作正常以及虚拟路由器IP(组),BACKUP只接收VRRP数据,不发送数据,如果一定时间内没有接收到MASTER的通告信息,各BACKUP将宣告自己成为MASTER,发送通告信息,重新进行MASTER选举状态。

keepalived部署

keepalived软件安装部署
lb01 lb02负载服务器上均安装

yum install -y keepalived  #两台设备

配置文件

cat /etc/keepalived/keepalived.conf
global_defs {
   notification_email {
     acassen@firewall.loc             填写管理员的邮箱信息
     failover@firewall.loc
     sysadmin@firewall.loc
   }
   notification_email_from xxxxxxx@163.com   定义利用什么邮箱发送邮件
   smtp_server smtp.163.com           定义邮件服务器信息
   smtp_connect_timeout 30            定义邮件发送超时时间
   router_id lb01                     (重点参数)局域网keppalived主机身份标识信息(每台唯一)
   vrrp_skip_check_adv_addr          跳过相邻地址
   vrrp_strict
   vrrp_garp_interval 0
   vrrp_gna_interval 0
}

vrrp_instance VI_1 {                  VRRP协议相关配置
    state MASTER                      keepalived角色描述信息,可配置参数(MASTER,BACKUP)
    interface eth0                    将虚拟ip用于那块网卡
    virtual_router_id 55              表示keepalived家族表示信息
    priority 150                      keepalved服务竞选主备服务器优先级设置(数字越大越优先)
    advert_int 1                      主服务器组播包发送间隔时间
    authentication {                  主备主机之间的认证表示信息
        auth_type PASS                采用明文认证机制
        auth_pass 1111                编写明文密码
    }
    virtual_ipaddress {               设置虚拟ip地址信息
        10.0.0.3/24 dev eth0 label eth0:1  
#虚拟ip,即VIP为10.0.0.88,子网掩码为24位,绑定接口为eth0,别名为eth0:1,此参数备节点设置和主节点相同
    }
}
搭建基础的keepalived配置文件 (lb01)
cat /etc/keepalived/keepalived.conf
global_defs {               
   router_id LVS_01
   vrrp_strict
   vrrp_garp_interval 0
   vrrp_gna_interval 0
}

vrrp_instance VI_1 {
    state MASTER
    interface eth0
    virtual_router_id 51
    priority 150
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
     10.0.0.3/24 dev eth0 label eth0:1
    }
}
systemctl start keepalived
systemctl enable keepalived
搭建基础的keepalived配置文件 (lb02)
cat /etc/keepalived/keepalived.conf
global_defs {
   router_id LVS_02
   vrrp_strict
   vrrp_garp_interval 0
   vrrp_gna_interval 0
}

vrrp_instance VI_1 {
    state BACKUP
    interface eth0
    virtual_router_id 51
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
     10.0.0.3/24 dev eth0 label eth0:1
    }
}
systemctl start keepalived
systemctl enable keepalived
© 版权声明
THE END
喜欢就支持一下吧
点赞15 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    请登录后查看评论内容