_(:△」∠)_ 2024-06-24 18:05 采纳率: 45.5%
浏览 5
已结题

keepalived 发生脑裂

keepalived 配置的主备
192.168.254.182 k8s2 --master
192.168.254.183 k8s3 --bakup
192.168.254.184 vip

keepalived 刚开始启动都是正常的,重启 k8s2即VIP所在主机。发现VIP在主备都有了.

img

k8s2日志:

img

k8s3日志:

img

k8s2和k8s3网络是互通的

k8s2 keepalived.conf配置如下:

img

k8s3 keepalived.conf配置如下:

img

  • 写回答

2条回答 默认 最新

  • 阿里嘎多学长 2024-06-24 18:08
    关注

    以下内容由CHATGPT及阿里嘎多学长共同生成、有用望采纳:


    根据你提供的信息和日志文件,我们可以进行以下步骤来分析和解决keepalived脑裂的问题:

    1. 分析日志文件

    从你提供的日志文件中,我们可以看到:

    • k8s2和k8s3的日志都显示了keepalived服务的启动和停止。
    • k8s2日志显示,它在重启后进入了MASTER状态,并开始发送gratuitous ARP来宣告VIP。
    • k8s3日志显示,它收到了来自k8s2的低优先级的通告,并触发了新的选举,然后也开始发送gratuitous ARP。

    2. 检查配置文件

    • k8s2配置priority 设置为100,这表明k8s2认为自己是master节点。
    • k8s3配置priority 同样设置为100,这表明k8s3也认为自己有资格成为master节点。

    3. 识别问题

    • 配置冲突:k8s2和k8s3的priority都设置为100,这可能导致它们都认为自己有权成为master节点。
    • 网络问题:如果网络配置不当,可能导致VRRP通告没有正确传递,使得两个节点无法正确感知对方的状态。

    4. 提出解决方案

    • 调整优先级:确保k8s2的priority高于k8s3,例如,k8s2设置为101,k8s3设置为100。
    • 网络配置:检查网络配置,确保k8s2和k8s3之间的网络是互通的,并且VRRP通告能够正确传递。
    • 使用unicast:如果可能,配置keepalived使用unicast模式,这样只有master和backup节点之间会发送VRRP通告,减少网络中的冲突。
    • 配置检测脚本:如果使用了脚本进行健康检查,确保脚本能够正确反映服务状态,并且在检测失败时能够降低节点的优先级。

    5. 参考链接

    6. 后续步骤

    • 根据上述建议调整配置,并重新启动keepalived服务。
    • 监控日志文件,确保VIP正确地在主备节点之间切换,没有出现脑裂现象。
    • 如果问题仍然存在,可能需要进一步检查网络设备配置,或者考虑使用专业的网络监控工具来诊断问题。

    希望这些建议能帮助你解决keepalived脑裂的问题。如果需要进一步的帮助,请随时提问。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 6月26日
  • 已采纳回答 6月26日
  • 创建了问题 6月24日

悬赏问题

  • ¥15 35114 SVAC视频验签的问题
  • ¥15 impedancepy
  • ¥15 在虚拟机环境下完成以下,要求截图!
  • ¥15 求往届大挑得奖作品(ppt…)
  • ¥15 如何在vue.config.js中读取到public文件夹下window.APP_CONFIG.API_BASE_URL的值
  • ¥50 浦育平台scratch图形化编程
  • ¥20 求这个的原理图 只要原理图
  • ¥15 vue2项目中,如何配置环境,可以在打完包之后修改请求的服务器地址
  • ¥20 微信的店铺小程序如何修改背景图
  • ¥15 UE5.1局部变量对蓝图不可见