设为首页 收藏本站
查看: 841|回复: 0

[经验分享] 测试keepalived备备模式

[复制链接]

尚未签到

发表于 2018-12-30 13:26:01 | 显示全部楼层 |阅读模式
  测试keepalived备备模式
一、需求:应用需要做HA,配置一个vip作为入口,心跳监测服务。使用backup/backup模式通过优先级和track脚本来控制主备
1)分布
主:10.0.200.88,状态:backup,优先级85
备:10.0.200.89,状态:backup,优先级75
vip:10.0.200.90

2)配置文件举例【主】:
[root@200-80 keepalived]# pwd
/etc/keepalived
[root@200-80 keepalived]# ls
backup  bin  keepalived.conf  old
[root@200-80 keepalived]# cat keepalived.conf
# Role: master
! Configuration File for keepalived
global_defs {
router_id LVS_200_88                             # LVS_RealIP第3位_RealIP第4位,备机也是同理
}
vrrp_script CHK_REDIS {
  script "/etc/keepalived/bin/chk_redis.sh"
  interval 3
  weight -20
}
vrrp_instance VIP_REDIS_90 {                      # VIP_服务代号_vip的第4位
  state BACKUP                                    # 备机用:BACKUP,或者主备都BACKUP,通过优先级控制
  interface em2                                   # 指定网卡
  virtual_router_id 90                            # id采用vip的第4位
  priority 85                                     # 优先级,默认主=85,备=75
  nopreempt                                       # 优先级高的那台设置,表明恢复后,不会和BACKUP抢
  advert_int 1                                    # 通告vrrp的间隔时间
  authentication {                                # 主备机的密码要一致
    auth_type PASS
    auth_pass 1111
  }
  virtual_ipaddress {                             # vip写到这里,可以每行一个
    10.0.200.90
  }
  track_script {
    CHK_REDIS
  }
}
和备机的配置区别如下:
[root@200-80 keepalived]# diff keepalived.conf backup/keepalived.conf
1c1
< # Role: master
---
> # Role: backup
5c5
<  router_id LVS_200_88                             # LVS_RealIP第3位_RealIP第4位,备机也是同理
---
>  router_id LVS_200_89                             # LVS_RealIP第3位_RealIP第4位,备机也是同理
18,19c18,19
<   priority 85                                     # 优先级,默认主=85,备=75
<   nopreempt                                       # 优先级高的那台设置,表明恢复后,不会和BACKUP抢
---
>   priority 75                                     # 优先级,默认主=85,备=75
>   #nopreempt                                       # 在优先级高的那台设置,表明恢复后,不会和BACKUP抢

3)监测服务的脚本,此处以redis服务为例:
[root@200-80 keepalived]# cat bin/chk_redis.sh
#!/bin/bash
#
c=$(ps -ef |grep 'redis-server \*:6379' |wc -l)
echo "`date` ---Check HA: start---" >/tmp/test_redis_ha.log
echo "redis_6379 process count: $c" >>/tmp/test_redis_ha.log
if [ $c -gt 0 ]; then
  retval=0
else
  retval=1
fi
echo "return: $retval" >>/tmp/test_redis_ha.log
echo "`date` ---Check HA: end---" >>/tmp/test_redis_ha.log
exit $retval


注1:virtual_router_id是唯一的,使用前请在局域网抓包看看
tcpdump -i em2 -nn vrrp
注2:记得给脚本加上x权限喔,否则无法执行,则表示script执行失败,进而影响到优先级。

二、防火墙放行vrrp协议
因为iptables过滤了vrrp协议,它不属于任何端口,像icmp一样,需要单独放行。
-A INPUT -p vrrp -j ACCEPT
例如,在上面的配置文件中,增加到rc.firewall.txt中,icmp那条策略后
-A INPUT -p icmp -j ACCEPT
-A INPUT -p vrrp -j ACCEPT   rc.firewall.txt
修改
sed -i '/-A INPUT -p icmp -j ACCEPT /a\-A INPUT -p vrrp -j ACCEPT' rc.firewall.txt
应用新策略:
iptables-restore /root/rc.firewall.txt
检查当前生效的策略:
iptables -nL
确认无误后保存
service iptables save  





运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-657615-1-1.html 上篇帖子: lvs(DR) 下篇帖子: lvs +keepalived的dr模式
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表