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

[经验分享] keepalived 排障

[复制链接]
发表于 2018-12-29 07:29:34 | 显示全部楼层 |阅读模式
  keepalived是一个类似于heartbeat 的 failover工具,跟heartbeat原理不同,keepalived基于vrrp (虚拟路由冗余协议)。
  

  keepalived 经常用于高可用场合,通常搭配LVS,nginx,haproxy等负载均衡器,是一个成熟的高可用方案。
  

  keepalived 两个主机不能正常通信,除了配置错误之外,通常是由于防火墙的原因,很多资料都没有提及这点,难道让服务器裸奔不成。请检查防火墙规则符合下面的条件:
  

  1、keepalived 默认需要使用D类多播地址224.0.0.18 进行心跳通信

  2、keepalived 使用vrp协议进行通信(协议号码为112)
  

  防火墙示例 (仅在centos下测试通过)
  

  
  
#!/usr/bin/env bash
lan=10.0.0.0/24
# Flush the current iptables rules
/sbin/iptables -F
/sbin/iptables -X
/sbin/iptables -Z
/sbin/iptables -P INPUT ACCEPT
# Allow related,established connection
/sbin/iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
/sbin/iptables -A INPUT -p icmp -m icmp --icmp-type 8 -m limit --limit 1/sec -j ACCEPT
# Always trust lookback interface
/sbin/iptables -A INPUT -i lo -j ACCEPT
# Allow  but limit ssh connection
/sbin/iptables -A INPUT -s $lan -p tcp --dport 22 -m recent --set --name ssh --rsource
/sbin/iptables -A INPUT -s $lan -p tcp --dport 22 -m recent ! --rcheck --seconds 60 --hitcount 10 --name ssh --rsource -j ACCEPT
# web service for public
/sbin/iptables -A INPUT -p tcp --dport 80 -j ACCEPT
# Open some ports to local network only
#ntp
/sbin/iptables -A INPUT -s $lan -p udp --dport 123 -j ACCEPT
#snmp
/sbin/iptables -A INPUT -s $lan -p udp --dport 161 -j ACCEPT
#rsync
/sbin/iptables -A INPUT -s $lan -p tcp --dport 873 -j ACCEPT
#nrpe
/sbin/iptables -A INPUT -s $lan -p tcp --dport 5666 -j ACCEPT
# keepalived
/sbin/iptables -A INPUT -i eth1 -d 224.0.0.0/8 -j ACCEPT
/sbin/iptables -A INPUT -i eth1 -p 112 -j ACCEPT
#
/sbin/iptables -P INPUT DROP
/sbin/iptables -P FORWARD DROP
/sbin/iptables -P OUTPUT ACCEPT
#
/etc/init.d/iptables save
/sbin/iptables -n -v -L  

  检测两个keepalived主机之间是否能通信的办法有
  1、停掉一个keepalived,看另外一个keepalived的日志/var/log/messages 里是否有新的日志
  2、用嗅探器抓包,例如:
tcpdump -v -i eth1 host 224.0.0.18
tcpdump -vvv -n -i eth1 host 224.0.0.18  

  参考文章
  http://www.cyberciti.biz/faq/linux-unix-verify-keepalived-working-or-not/
  





运维网声明 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-656999-1-1.html 上篇帖子: keepalived的基础讲解 下篇帖子: keepalived的简单配置
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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