CentOS 8/RHEL 8에서 NIC 팀 구성 또는 본딩을 만드는 방법
NIC 팀 구성은 중복성과 고가용성을 제공하기 위해 두 개 이상의 네트워크 링크를 단일 논리 링크로 집계하거나 결합하는 것입니다. 논리적 인터페이스/링크를 팀 인터페이스라고 합니다. 활성 물리적 링크가 중단되는 경우 백업 또는 예약된 링크 중 하나가 자동으로 시작되어 서버에 대한 중단 없는 연결을 보장합니다.
팀 구성 용어
본격적으로 알아보기 전에 다음 용어를 숙지하는 것이 중요합니다.
- Teamd – libteam 라이브러리를 사용하여 Linux 커널을 통해 팀 장치와 통신하는 nic 팀 구성 데몬입니다.
- Teamdctl – 사용자가 teamd의 인스턴스를 제어할 수 있는 유틸리티입니다. 포트 상태를 확인 및 변경할 수 있을 뿐만 아니라 백업 상태와 활성 상태 간 전환도 가능합니다.
- 실행자 – JSON으로 작성된 코드 단위이며 다양한 NIC 팀 구성 개념을 구현하는 데 사용됩니다. 실행기 모드의 예로는 라운드 로빈, 로드 밸런싱, 브로드캐스트 및 활성 백업이 있습니다.
이 가이드에서는 활성 백업 모드를 사용하여 NIC 팀 구성을 구성합니다. 이는 하나의 링크가 활성 상태로 유지되고 나머지 링크는 대기 상태로 유지되며 활성 링크가 중단될 경우 백업 링크로 예약됩니다.
이 페이지에서
- CentOS에 팀 데몬 설치
- CentOS에서 NIC 팀 구성
- 네트워크 팀 구성 중복성 테스트
- 네트워크 팀 구성 인터페이스 삭제
더 이상 고민하지 말고 시작해 보겠습니다.
1단계: CentOS에 팀 구성 데몬 설치
Teamd는 런타임 중에 논리적 인터페이스 역할을 할 네트워크 팀을 생성하는 데몬입니다. 기본적으로 CentOS/RHEL 8과 함께 설치됩니다. 하지만 어떤 이유로든 설치되지 않은 경우 다음 dnf 명령을 실행하여 설치하세요.
sudo dnf install teamd
설치가 완료되면 rpm 명령을 실행하여 teamd가 설치되었는지 확인하세요.
rpm -qi teamd
2단계: CentOS에서 NIC 팀 구성
NIC 팀 구성을 위해 NetworkManager 서비스 관리에 사용할 수 있는 편리한 nmcli 도구를 사용합니다. 내 시스템에는 논리적 팀 인터페이스(enp0s3
및 enp0s8
)를 만들기 위해 결합하거나 결합할 2개의 NIC 카드가 있습니다. 귀하의 경우에는 다를 수 있습니다.
활성 네트워크 인터페이스를 확인하려면 다음을 실행하세요.
nmcli device status
출력에서는 2개의 활성 네트워크 연결이 있음을 확인합니다. UUID와 같은 인터페이스에 대한 자세한 정보를 수집하려면 다음 명령을 실행하세요.
nmcli connection show
논리적 링크가 될 네트워크 팀 구성 링크 또는 인터페이스를 생성하기 위해 기존 네트워크 인터페이스를 삭제하겠습니다. 그런 다음 삭제된 인터페이스를 사용하여 슬레이브 인터페이스를 생성한 다음 이를 팀 구성 링크와 연결합니다.
해당 UUID를 사용하여 아래 명령을 실행하여 링크를 삭제합니다.
nmcli connection delete e3cec54d-e791-4436-8c5f-4a48c134ad29
nmcli connection delete dee76b4c-9alb-4f24-a9f0-2c9574747807
이번에는 인터페이스를 확인하면 연결이 끊어지고 서버에 연결되지 않는 것을 알 수 있습니다. 기본적으로 서버는 나머지 네트워크와 격리됩니다.
nmcli device status
다음으로 활성 백업 실행기 모드에서 team0
이라는 팀 인터페이스를 생성하겠습니다. 앞에서 설명한 대로 활성 백업 실행기 모드는 하나의 활성 인터페이스를 사용하고 활성 링크가 중단될 경우를 대비하여 중복성을 위해 나머지 인터페이스를 예약합니다.
nmcli connection add type team con-name team0 ifname team0 config '{"runner": {"name": "activebackup"}}'
team0
인터페이스에 할당된 속성을 보려면 다음 명령을 실행하세요.
nmcli connection show team0
완벽한! 이 시점에서는 표시된 대로 team0
인터페이스인 하나의 인터페이스만 작동됩니다.
nmcli connection show
그런 다음 nmcli 명령을 사용하여 표시된 대로 team0
인터페이스의 IP 주소를 구성합니다. 네트워크의 서브넷 및 IP 주소 지정 체계에 따라 IP를 할당해야 합니다.
nmcli con mod team0 ipv4.addresses 192.168.2.100/24
nmcli con mod team0 ipv4.gateway 192.168.2.1
nmcli con mod team0 ipv4.dns 8.8.8.8
nmcli con mod team0 ipv4.method manual
nmcli con mod team0 connection.autoconnect yes
그런 다음 슬레이브 링크를 생성하고 슬레이브를 팀 링크에 연결합니다.
nmcli con add type team-slave con-name team0-slave0 ifname enp0s3 master team0
nmcli con add type team-slave con-name team0-slave1 ifname enp0s8 master team0
링크 상태를 다시 확인하면 이제 슬레이브 링크가 활성화된 것을 확인할 수 있습니다.
nmcli connection show
그런 다음 팀 링크를 비활성화하고 활성화하십시오. 그러면 슬레이브 링크와 팀 링크 간의 연결이 활성화됩니다.
nmcli connection down team0 && nmcli connection up team0
다음으로, 그림과 같이 팀 링크 연결 상태를 확인합니다.
ip addr show dev team0
링크가 이전에 구성한 올바른 IP 주소로 연결되어 있음을 확인할 수 있습니다.
팀 링크에 대한 추가 세부정보를 검색하려면 다음 명령어를 실행하세요.
sudo teamdctl team0 state
출력에서 두 링크(enp0s3
및 enp0s8
)가 모두 작동 중이고 활성 링크가 enp0s8
임을 확인할 수 있습니다.
3단계: 네트워크 팀 중복성 테스트
활성 백업 팀 구성 모드를 테스트하기 위해 현재 활성 링크(enp0s3
)의 연결을 끊고 다른 링크가 시작되는지 확인합니다.
nmcli device disconnect enp0s3
sudo teamdctl team0 state
팀 구성 인터페이스의 상태를 확인하면 enp0s8
링크가 시작되어 서버에 대한 연결을 제공하고 있음을 알 수 있습니다. 이는 설정이 작동하고 있음을 확인합니다!
4단계: 네트워크 팀 구성 인터페이스 삭제
팀 구성 인터페이스/링크를 삭제하고 기본 네트워크 설정으로 되돌리려면 먼저 팀 구성 링크를 해제하세요.
nmcli connection down team0
다음으로 슬레이브를 삭제합니다.
nmcli connection delete team0-slave0 team0-slave1
마지막으로 팀 구성 인터페이스를 삭제합니다.
nmcli connection delete team0
이 시점에서는 모든 인터페이스가 다운되어 서버에 연결할 수 없습니다. 네트워크 인터페이스를 활성화하고 연결을 다시 얻으려면 다음 명령을 실행하세요.
sudo ifconfig enp0s3 up
sudo ifconfig enp0s8 up
sudo systemctl restart NetworkManager
결론
NIC 팀 구성은 네트워크 중복성을 위한 탁월한 솔루션을 제공합니다. 2개 이상의 네트워크 인터페이스를 사용하면 모든 실행기 모드에서 팀 구성 인터페이스를 구성하여 링크 하나가 실수로 중단되는 경우 고가용성을 보장할 수 있습니다. 이 가이드가 도움이 되었기를 바랍니다. 우리에게 연락하여 귀하의 경험이 어땠는지 알려주세요.