Ubuntu 20.04.1 服务器,绑定网络接口,keepalived 不工作

Ubuntu 20.04.1 服务器,绑定网络接口,keepalived 不工作

keepalived我设置了绑定网络接口,以便为在两个 Ubuntu 20.04.1 LTS 服务器上设置的 HaProxy(HaProxy 是 Linux 负载均衡器)提供更高的 HA 。使用 netplan 设置的绑定网络接口工作正常,使用 设置的绑定网络接口工作正常keepalived。但是,keepalived没有keepalived正确处理集群的主节点和备份节点,并且都显示为主节点。

# This file is generated from information provided by the datasource.  Changes
# to it will not persist across an instance reboot.  To disable cloud-init's
# network configuration capabilities, write a file
# /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with the following:
# network: {config: disabled}
network:
   version: 2
   ethernets:
     eth0:
      dhcp4: true
     eth1: 
      dhcp4: false
     eth2: 
      dhcp4: false
   bonds:
    bond0:
     dhcp4: false
     interfaces:
        - eth1
        - eth2
     parameters:
       mode: active-backup
       primary: eth1
     addresses: 
         - 192.168.0.6/24
     nameservers: 
       addresses: 
         - 192.168.0.1

vrrp_instance VI_01 {
    state MASTER
    interface bond0
    virtual_router_id 51
    priority 101
    advert_int 1
    virtual_ipaddress {
        192.168.0.10/24
    }

vrrp_instance VI_01 {
    state BACKUP
    interface bond0
    virtual_router_id 51
    priority 100
    advert_int 1
    virtual_ipaddress {
        192.168.0.10/24
    }
}

有谁知道如何解决这一问题?

谢谢,

狮子座

答案1

在尝试了一种解决方案(需要在 netplan 配置中添加 mac 地址)后,我发现 keepalived 也出现了同样的问题,即两台机器都显示为主服务器。进一步的调查显示,两台服务器上绑定接口使用的 mac 地址相同,这才是问题所在。

通过将第二台服务器上 netplan 中的绑定接口名称更改为 bond1(而不是 bond0),然后在 keepalived 配置文件中使用该名称解决了该问题,因为两个绑定接口都有唯一的 mac 地址。Keepalived 可以正确知道哪个服务器是主服务器,哪个服务器是备份服务器。

感谢大家的帮助,

狮子座

相关内容