
keepalived
2 台の 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 は、どのサーバーがマスターで、どのサーバーがバックアップであるかを適切に認識できます。
ご協力ありがとうございました。
レオ