Keepalived的部署验证

一、简述 

Keepalived 组件是Linux服务器端做高可用方案的常用组件,它通过在主备节点配置虚IP的方式,实现主节点故障时自动转移切换到备节点,实现高可用性。


二、部署安装 

1、需要准备两个节点    ,如 172.20.27.121  , 172.20.27.128

2、需要准备一个测试用的虚拟IP ,如 172.20.27.205

3、安装 

      yum install keepalived  

      systemctl  start/status/restart/stop  keepalived.service

4、配置 ( /etc/keepalived/keepalived.conf )

! Configuration File for keepalived

global_defs {
   router_id name  # 定义标识  
}

vrrp_script  chk_ngnix {   ## 定义需要检测的服务
   script "/etc/keepalived/check_nginx.sh"    # 检测的脚本  
   interval 5     ## 间隔时间 秒
   weight -20     ## 权重降低  脚本返回非 0  
   fail 2         ## 连续两次失败 算失败
   rise 1         ## 成功一次  就算成功,恢复 priority 
}


vrrp_instance VI_1 {
    state MASTER       ## 初始状态 
    interface eth0      ## 绑定的网卡 ,必须按实际机器的网卡填 , 
    garp_master_delay 10   ## 
    smtp_alert
    virtual_router_id 51   ## 路由标识 , MASTER和BACKUP 必须一致,   同一网段里有多个VIP时, 需要配置不一样的, 或者使用单播模式, 默认是组播通信方式
    priority 100   
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    unicast_src_ip 172.20.27.121       ## 单播 方式 本机IP ,,   
    unicast_peer {
		172.20.27.128                 ## 单播 方式 另一节点的IP   ,或者多个,    backup 节点  配置需要反过来
	}
    virtual_ipaddress {         
        172.20.27.205    ## 虚拟IP 可以是一个或者多个      
    }
}


三、测试验证 

1、明确验证测试场景及预期  

        挑选两个节点部署 keepalived 和nginx服务 ,验证vip 是否自动漂移,以及漂移时的变化 

        启动keepalived 时会将vip 加入到网卡, 两个keepalived 服务只会有一个Master 节点, master所在节点,网卡有VIP, backup节点,进程状态是backup state , 网卡是没VIP的, 

        在将Master keepalived 停止掉后,  另一节点自动变更为Master,  网卡会更新写入VIP ,对外提供服务。

2、验证 

 准备nginx 作为运行的服务,设定一个可访问的页面作为测试可用性的例子 ,默认都先运行好nginx 服务, 且设定主备节点上的页面内容不一样,以便区分。

以128节点为主,121节点为备, 启动keepalived 服务,启动后可以观察到121节点上没有绑定205虚IP:

用虚IP访问nginx ,可以看到页面

模拟故障,通过停止keepalived服务模拟故障,可以观察到虚IP发生了转移

在备节点121上可以看到虚IP已经转移到节点上了, keepalived的状态日志有显示状态变化“entering Master  state ”

仍然访问虚IP指向的页面 ,可以看到是121的页面

可以看到keepalived能否实现故障转移


四、常见问题   

vrrp_id 配置相同导致异常

 同一网段内多组虚IP 的keepalived 的 virtual_router_id  使用的都是100 ,默认的组播模式 ,keepalived 服务会收到别的keepalived发送的心跳包,但是心跳包里面的虚IP不同,冲突造成心跳检测不稳定,这样会引起keepalived 备节点发生异常的状态切换, 修改后没有错误打印 


五、 参考资料

1、keepalived组播与单播的深入对比  keepalived组播与单播的深入对比

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值