本问题来自阿里云开发者社区的【11大垂直技术领域开发者社群】。 https://developer.aliyun.com/article/706511 点击链接欢迎加入感兴趣的技术领域群。
一共两台机器(43和47,43为主),虚拟IP可以实现自动在两台机器之间切换,刚开始启动虚拟ip在43上,无法访问;把43的keepalived停掉,虚拟ip到47上,可以访问;重启43的keepalived,无法访问。配置文件内容如下:
两台机器除了router_id和priority不一样外,其他都一样
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
根据您的描述,您在使用Keepalived配置虚拟IP地址(VIP)以实现高可用性(HA)时遇到了问题。Keepalived通过VRRP协议来管理VIP的自动切换,确保服务的持续可用性。您遇到的情况是起初VIP在机器43上时无法访问,而当VIP切换到机器47上则可以正常访问,但当再次尝试让VIP回到43时又变得不可访问。这通常意味着问题可能出在以下几个方面:
网络配置问题:检查机器43的网络配置,包括但不限于VIP的配置、路由表、防火墙规则(iptables或firewalld)等。确认VIP是否正确绑定且没有被其他服务占用,同时确保进出该VIP的流量没有被防火墙规则阻拦。
Keepalived配置问题:请仔细检查两台机器上的Keepalived配置文件,特别是interface指定的网卡名称和IP地址是否正确无误,以及authentication部分设置是否一致,因为这些是常见的配置错误来源。
健康检查脚本或服务状态:如果您的Keepalived配置中包含了track_script或其他健康检查机制,确保这些脚本运行正常且不会误报服务状态。机器43上的某些服务或资源可能未达到启动Keepalived所需的健康标准。
日志分析:查看机器43和47上的Keepalived日志文件,通常位于/var/log/keepalived.log
(具体路径可能因系统而异),日志中可能会有详细的错误信息,帮助定位问题所在。
优先级变化逻辑:确认当43的Keepalived重启后,其优先级是否能正确恢复并高于47,从而重新获得VIP。有时候,配置中的priority值或抢占行为(preempt)可能未按预期工作。
系统资源与权限问题:检查机器43是否有足够的系统资源(如CPU、内存)来处理VIP相关的网络请求,并确认Keepalived进程有足够的权限执行操作。
针对以上几点,您可以逐一排查,从最基础的网络配置开始,逐步深入到更具体的Keepalived配置及系统层面的问题。希望这些建议能帮助您解决问题。如果问题依旧,建议提供更详细的配置文件内容和日志信息以便进一步分析。