Linux进阶--keepalived工作原理介绍

一.、keepalived

『操作环境:rhel6.5』
由于ld仅具有健康检查的作用,而keepalived既可高可用,又可健康检查,为了避免冲突,用keepalived时将ld关掉

1. 实现原理

是类似于layer3,4&7交换机制的软件
作用:主要用作RealServer的健康状态检查以及LoadBalance主机和BackUP主机之间failover的实现(即高可用)

1) 关于双机热备

通常说的双机热备是指两台机器都在运行,但并不是两台机器都同时在提供服务。
当提供服务的一台出现故障的时候,另外一台会马上自动接管并且提供服务,而且切换的时间非常短。

2)VRRP(Virtual Router Redundancy Protocol)虚拟路由冗余协议

keepalived的工作原理是VRRP(Virtual Router Redundancy Protocol)虚拟路由冗余协议。
在VRRP中有两组重要的概念:VRRP路由器和虚拟路由器,主控路由器和备份路由器。

VRRP路由器是指运行VRRP的路由器,是物理实体,虚拟路由器是指VRRP协议创建的,是逻辑概念。一组VRRP路由器协 同工作,共同构成一台虚拟路由器。

VRRP中存在着一种选举机制,用以选出提供服务的路由即主控路由,其他的则成了备份路由。当主控路由失效后,备份路由 中会重新选举出一个主控路由,来继续工作,来保障不间断服务

本文系统环境如下:
master : 172.25.40.1
backup: 172.25.40.2
vip: 172.25.40.100

图解:
在这里插入图片描述

节点A 172.25.40.1 (主节点),
节点B 172.25.40.2(备用节点),
虚拟IP(对外提供服务的IP 172.25.40.100)

在这种模式下,虚拟IP在某时刻只能属于某一个节点,另一个节点作为备用节点存在。

当主节点不可用时,备用节点接管虚拟IP(即虚拟IP漂移至节点B),提供正常服务。

3)原理介绍

keepalived安装在两台物理服务器上,并相互监控对方是否在正常运行。
当节点A正常的时候:节点A上的keepalived会将下面的信息广播出去:
172.25.40.100 这个IP对应的MAC地址为节点A网卡的MAC地址
图中的其它电脑如客户端和NodeB会更新自己的ARP表,对应172.25.40.100的MAC地址=节点A网卡的MAC地址。

当节点A发生故障的时候,节点B上的keepalived会检测到,并且将下面的信息广播出去:
172.25.40.100 这个IP对应的MAC地址为节点B网卡的MAC地址
图中的其它电脑如客户端会更新自己的ARP表,对应172.25.40.100的MAC地址=节点B网卡的MAC地址。

2. 操作流程

1)keepalived安装

这里使用从网下载的原码包进行安装和编译
下载和安装的官方参考文档:
http://www.keepalived.org/doc/installing_keepalived.html
本文中用的原码压缩包版本如下:
keepalived-1.3.6.tar.gz

vm1:
tar -zxf keepalived-1.3.6.tar.gz  # 解压

# 原码编译三步走:
cd keepalived
./configure --prefix=/usr/local/keepalived --with-init=SYSV
make && make install 

# 制作软连接:    
ln -s /usr/local/keepalived/etc/keepalived/ /etc/
ln -s /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/
ln -s /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/init.d/
chmod +x /usr/local/keepalived/etc/rc.d/init.d/keepalived
ln -s /usr/local/keepalived/sbin/keepalived /sbin/

vm4: 
安装操作步骤和vm1一样,但我们为了方便起见我们可以直接将make出来的目录远程传过去,同时将软连接亦可进行远程同步

2)配置keepalived

配置中的state MASTER决定了节点为主节点
priority决定了优先级,比如在有多个备用节点的时候,主节点故障后优先级值大的接管。

vm1 主节点的配置如下:

global_defs {    
    router_id NodeA    
}    
vrrp_instance VI_1 {    
    state MASTER    #设置为主服务器    
    interface eth0  #监测网络接口    
    virtual_router_id 51  #主、备必须一样    
    priority 100   #(主、备机取不同的优先级,主机值较大,备份机值较小,值越大优先级越高)    
    advert_int 1   #VRRP Multicast广播周期秒数    
    authentication {    
    auth_type PASS  #VRRP认证方式,主备必须一致    
    auth_pass 1111   #(密码)    
}    
virtual_ipaddress {    
    172.25.50.100/24  #VRRP HA虚拟地址    
}   

vm4 主节点的配置如下:

global_defs {    
    router_id NodeB    
}    
vrrp_instance VI_1 {    
    state BACKUP    #设置为主服务器    
    interface eth0  #监测网络接口    
    virtual_router_id 51  #主、备必须一样    
    priority 90   #(主、备机取不同的优先级,主机值较大,备份机值较小,值越大优先级越高)    
    advert_int 1   #VRRP Multicast广播周期秒数    
    authentication {    
    auth_type PASS  #VRRP认证方式,主备必须一致    
    auth_pass 1111   #(密码)    
}    
virtual_ipaddress {    
    172.25.50.100/24  #VRRP HA虚拟地址    
}    

3. 测试

注:在打开vm1和vm4之前,其上都没有vip 172.25.14.100/24
打开vm1和vm4上的keepalived
结果显示:vm1上生成vip,vm4上没有
关掉vm1上的keeplived,会发现vip自动漂移到了vm4上
当vm1上的keepalived再次打开时,会发现vip又自动漂移到了vm1上

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值