
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는 어느 서버가 마스터이고 어느 서버가 백업인지 제대로 알 수 있습니다.
모든 도움에 감사드립니다.
사자 별자리