Ubuntu 20.04.1 伺服器,綁定網路接口,keepalived 不工作

Ubuntu 20.04.1 伺服器,綁定網路接口,keepalived 不工作

keepalived我設定了綁定網路接口,以便為兩台 Ubuntu 20.04.1 LTS 伺服器上的HaProxy(HaProxy 是 Linux 負載平衡器)設定提供更高的 HA 。使用 netplan 設定的綁定網路介面運作正常,並且使用 進行設定keepalived。但是,keepalived沒有keepalived正確對待叢集的主節點和備份節點,並且都顯示為Master。

# 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

在嘗試了解決方案(需要將 mac 位址新增至 netplan 設定中)後,我發現 keepalived 也出現了相同的問題,即兩台電腦都顯示為主機。進一步調查發現,兩台伺服器上綁定介面使用的 MAC 位址是相同的,這最終成為問題所在。

透過將第二台伺服器上的netplan 中的綁定介面的名稱變更為bond1(而不是bond0),然後在keepalived 設定檔中使用該名稱解決了該問題,因為兩個綁定介面都有唯一的MAC地址。 Keepalived 可以正確判斷哪一台伺服器是主伺服器,哪一台伺服器是備份伺服器。

感謝大家的幫助,

獅子座

相關內容