Ubuntu 20.04.1 サーバー、結合されたネットワーク インターフェイス、keepalived が機能しない

Ubuntu 20.04.1 サーバー、結合されたネットワーク インターフェイス、keepalived が機能しない

keepalived2 台の 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

ネットプラン構成に MAC アドレスを追加するという解決策を試した後、keepalived でも同じ問題が発生していることがわかりました。つまり、両方のマシンがマスターとして表示されていたのです。さらに調査を進めると、両方のサーバーの結合インターフェースに使用されている MAC アドレスが同一であることがわかり、これが問題の原因であることがわかりました。

2 番目のサーバーの netplan で結合されたインターフェースの名前を bond0 ではなく bond1 に変更し、その名前を keepalived 構成ファイルで使用すると、両方の結合されたインターフェースに一意の MAC アドレスが設定されるようになり、問題が解決しました。Keepalived は、どのサーバーがマスターで、どのサーバーがバックアップであるかを適切に認識できます。

ご協力ありがとうございました。

レオ

関連情報