Ubuntu에서 네트워크 본딩 또는 팀 구성을 구성하는 방법


네트워크 인터페이스 본딩은 단일 인터페이스가 케이블 장애시 링크 중복성을 제공하거나 제공 할 수있는 것보다 더 많은 대역폭을 제공하기 위해 더 많은 물리적 네트워크 인터페이스를 바인딩하는 것으로 구성된 Linux 서버에서 사용되는 메커니즘입니다. 이러한 유형의 링크 중복성은 Linux에서 Bonding, Teaming 또는 Link Aggregation Group (LAG)과 같은 여러 이름을 갖습니다.

Ubuntu 또는 Debian 기반 Linux 시스템에서 네트워크 본딩 메커니즘을 사용하려면 먼저 본딩 커널 모듈을 설치하고 본딩 드라이버가 modprobe 명령을 통해로드되는지 테스트해야합니다.

$ sudo modprobe bonding

Debian 또는 Ubuntu의 이전 릴리스에서는 아래 명령을 실행하여 ifenslave 패키지를 설치해야합니다.

$ sudo apt-get install ifenslave

시스템에서 처음 두 개의 물리적 NC로 구성된 본드 인터페이스를 생성하려면 아래 명령을 실행하십시오. 그러나 본드 인터페이스를 생성하는이 방법은 일시적이며 시스템 재부팅이 지속되지 않습니다.

$ sudo ip link add bond0 type bond mode 802.3ad
$ sudo ip link set eth0 master bond0
$ sudo ip link set eth1 master bond0

모드 0 유형에서 영구 본드 인터페이스를 생성하려면 아래 발췌 부분과 같이 인터페이스 구성 파일을 수동으로 편집하는 방법을 사용하십시오.

$ sudo nano /etc/network/interfaces
# The primary network interface
auto bond0
iface bond0 inet static
	address 192.168.1.150
	netmask 255.255.255.0	
	gateway 192.168.1.1
	dns-nameservers 192.168.1.1 8.8.8.8
	dns-search domain.local
		slaves eth0 eth1
		bond_mode 0
		bond-miimon 100
		bond_downdelay 200
		bound_updelay 200

본드 인터페이스를 활성화하려면 네트워크 서비스를 다시 시작하고 물리적 인터페이스를 종료 한 다음 본드 인터페이스를 높이거나 시스템을 재부팅하여 커널이 새 본드 인터페이스를 선택하도록합니다.

$ sudo systemctl restart networking.service
or
$ sudo ifdown eth0 && ifdown eth1 && ifup bond0

본드 인터페이스 설정은 아래 명령을 실행하여 검사 할 수 있습니다.

$ ifconfig 
or 
$ ip a

본드 인터페이스에 대한 자세한 내용은 그림과 같이 cat 명령을 사용하여 아래 커널 파일의 내용을 표시하여 얻을 수 있습니다.

$ cat /proc/net/bonding/bond0

다른 본드 인터페이스 메시지를 조사하거나 본드 물리적 NICS의 상태를 디버깅하려면 아래 명령을 실행하십시오.

$ tail -f /var/log/messages

다음으로 mii-tool 도구를 사용하여 그림과 같이 네트워크 인터페이스 컨트롤러 (NIC) 매개 변수를 확인하십시오.

$ mii-tool

네트워크 본딩 유형은 다음과 같습니다.

  • mode=0 (balance-rr)
  • mode=1 (active-backup)
  • mode=2 (balance-xor)
  • mode=3 (broadcast)
  • mode=4 (802.3ad)
  • mode=5 (balance-tlb)
  • mode=6 (balance-alb)

NIC 본딩에 관한 전체 문서는 Linux 커널 문서 페이지에서 찾을 수 있습니다.