Ubuntu 20.04.1 서버, 연결된 네트워크 인터페이스, 연결 유지가 작동하지 않음

Ubuntu 20.04.1 서버, 연결된 네트워크 인터페이스, 연결 유지가 작동하지 않음

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는 어느 서버가 마스터이고 어느 서버가 백업인지 제대로 알 수 있습니다.

모든 도움에 감사드립니다.

사자 별자리

관련 정보