Netplan 구성을 사용하여 Ubuntu 18.04에서 802.3ad 네트워크 바인딩

Netplan 구성을 사용하여 Ubuntu 18.04에서 802.3ad 네트워크 바인딩

eno1, eno2, eno3, eno4802.3ad 프로토콜을 사용하여 명명된 4개의 하드웨어 이더넷 포트를 바인딩하기 위해 Ubuntu 18.04 서버에서 netplan을 구성하는 데 몇 가지 문제가 있습니다. 네트워크 계획을 확인했습니다매뉴얼 페이지다음 구성 파일을 합칩니다 /etc/netplan/50-cloud-init.yaml.

network:
  version: 2
  renderer: networkd
  ethernets:
    eports:
      match: 
        name: eno*
  bonds:
    bond0:
      interfaces: [eports]
      addresses: [192.168.1.101/24]
      gateway4: 192.168.1.1
      nameservers:
        addresses: [8.8.8.8, 8.8.4.4]          
      parameters:
        mode: 802.3ad            
        lacp-rate: fast            
        mii-monitor-interval: 100

명령을 실행한 후 sudo netplan --debug apply다음 메시지가 나타납니다.

** (generate:6473): DEBUG: 00:39:14.911: Processing input file //etc/netplan/50-cloud-init.yaml..
** (generate:6473): DEBUG: 00:39:14.911: starting new processing pass
** (generate:6473): DEBUG: 00:39:14.911: eports: setting default backend to 1
** (generate:6473): DEBUG: 00:39:14.911: bond0: setting default backend to 1
** (generate:6473): DEBUG: 00:39:14.912: Generating output files..
** (generate:6473): DEBUG: 00:39:14.912: NetworkManager: definition eports is not for us (backend 1)
** (generate:6473): DEBUG: 00:39:14.912: NetworkManager: definition bond0 is not for us (backend 1)
DEBUG:netplan generated networkd configuration exists, restarting networkd
DEBUG:no netplan generated NM configuration exists
DEBUG:device eno2 operstate is up, not replugging
DEBUG:netplan triggering .link rules for eno2
DEBUG:device lo operstate is unknown, not replugging
DEBUG:netplan triggering .link rules for lo
DEBUG:replug eno3: unbinding 0000:03:00.0 from /sys/bus/pci/drivers/igb
DEBUG:replug eno3: rebinding 0000:03:00.0 to /sys/bus/pci/drivers/igb
DEBUG:replug eno1: unbinding 0000:01:00.0 from /sys/bus/pci/drivers/igb
DEBUG:replug eno1: rebinding 0000:01:00.0 to /sys/bus/pci/drivers/igb
DEBUG:Cannot replug bond0: cannot read link /sys/class/net/bond0/device: [Errno 2] No such file or directory: '/sys/class/net/bond0/device'
DEBUG:netplan triggering .link rules for bond0
DEBUG:replug eno4: unbinding 0000:04:00.0 from /sys/bus/pci/drivers/igb
DEBUG:replug eno4: rebinding 0000:04:00.0 to /sys/bus/pci/drivers/igb

이 진술을 어떻게 받아들여야 할지 모르겠습니다.

Cannot replug bond0: cannot read link /sys/class/net/bond0/device: [Errno 2] No such file or directory: '/sys/class/net/bond0/device'

디렉토리는 /sys/class/net/bond0명령에 의해 생성되기 때문입니다 netplan apply.

출력을 확인했는데 ifconfig네트워크 장치가 올바르게 구성된 것 같지만 주소가 설정되지 않았습니다 bond0.

bond0: flags=5123<UP,BROADCAST,MASTER,MULTICAST>  mtu 1500
    ether XX:XX:XX:XX:XX:XX  txqueuelen 1000  (Ethernet)
    RX packets 112768  bytes 7785014 (7.7 MB)
    RX errors 0  dropped 54  overruns 0  frame 0
    TX packets 18854  bytes 2337896 (2.3 MB)
    TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

eno1: flags=6211<UP,BROADCAST,RUNNING,SLAVE,MULTICAST>  mtu 1500
    ether XX:XX:XX:XX:XX:XX  txqueuelen 1000  (Ethernet)
    RX packets 290  bytes 19322 (19.3 KB)
    RX errors 0  dropped 0  overruns 0  frame 0
    TX packets 55  bytes 6820 (6.8 KB)
    TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
    device memory 0xdf400000-df47ffff  

eno2: flags=6211<UP,BROADCAST,RUNNING,SLAVE,MULTICAST>  mtu 1500
    ether XX:XX:XX:XX:XX:XX  txqueuelen 1000  (Ethernet)
    RX packets 73991  bytes 29824155 (29.8 MB)
    RX errors 0  dropped 0  overruns 0  frame 0
    TX packets 20848  bytes 2110417 (2.1 MB)
    TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
    device memory 0xdf300000-df37ffff  

eno3: flags=6147<UP,BROADCAST,SLAVE,MULTICAST>  mtu 1500
    ether XX:XX:XX:XX:XX:XX  txqueuelen 1000  (Ethernet)
    RX packets 0  bytes 0 (0.0 B)
    RX errors 0  dropped 0  overruns 0  frame 0
    TX packets 0  bytes 0 (0.0 B)
    TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
    device memory 0xdf200000-df27ffff  

eno4: flags=6147<UP,BROADCAST,SLAVE,MULTICAST>  mtu 1500
    ether XX:XX:XX:XX:XX:XX  txqueuelen 1000  (Ethernet)
    RX packets 0  bytes 0 (0.0 B)
    RX errors 0  dropped 0  overruns 0  frame 0
    TX packets 0  bytes 0 (0.0 B)
    TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
    device memory 0xdf100000-df17ffff  

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
    inet 127.0.0.1  netmask 255.0.0.0
    inet6 ::1  prefixlen 128  scopeid 0x10<host>
    loop  txqueuelen 1000  (Local Loopback)
    RX packets 2923  bytes 184477 (184.4 KB)
    RX errors 0  dropped 0  overruns 0  frame 0
    TX packets 2923  bytes 184477 (184.4 KB)
    TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

이러한 ether XX:XX:XX:XX:XX:XX문은 각 인터페이스의 MAC 주소를 대체합니다. 원시 출력에서는 모든 주소가 동일합니다.

내 시스템을 성공적으로 구성하려면 무엇이 부족합니까?

답변1

cloud-init약간의 조사 끝에 Ubuntu 18.04가 부팅 시퀀스 중에 네트워크 구성 및 초기화를 처리하기 위해 호출되는 유틸리티를 사용한다는 사실을 발견했습니다 . 이 파일 /etc/cloud/cloud.cfg.d/50-curtin-networking.cfg과 기타 .cfg파일은 설정을 재구성하는 데 사용됩니다 cloud-init. 내 프로필 설정은 다음과 같습니다.

network:
  version: 2
  ethernets:
    eports:
      match:
        name: eno*
      optional: true
  bonds:
    bond0:
      interfaces: [eports]
      addresses: [192.168.1.101/24]
      gateway4: 192.168.1.1
      nameservers:
        addresses: [8.8.8.8, 8.8.4.4]
      parameters:
        mode: 802.3ad
        lacp-rate: fast
        mii-monitor-interval: 100

optional: true매개변수는 시스템이 시작 시 유효한 네트워크 연결을 기다리지 않도록 하여 시스템이 시작될 때까지 2분을 기다리는 수고를 덜어줍니다. 구성 파일을 업데이트한 후 다음 명령을 실행하여 구성을 업데이트합니다.

cloud-init clean -reboot

또는 다음 명령을 실행하여 컴퓨터를 다시 시작하지 않고 일부 디버깅 정보를 얻을 수 있습니다. 그러나 변경 사항을 커밋하려면 초기 부팅 단계에서 다시 시작해야 합니다.

cloud-init clean
cloud-init init
cloud-init status 

관련 정보