4장. 네트워크 티밍 구성
네트워크 팀은 물리적 및 가상 네트워크 인터페이스를 결합하거나 집계하여 처리량 또는 중복성이 높은 논리 인터페이스를 제공하는 방법입니다. 네트워크 티밍은 작은 커널 모듈을 사용하여 패킷 흐름에 대한 빠른 처리 및 기타 작업에 대한 사용자 공간 서비스를 구현합니다. 이를 통해 네트워크 팀은 로드 밸런싱 및 중복 요구 사항에 맞게 쉽게 확장 가능하고 확장 가능한 솔루션입니다.
Red Hat Enterprise Linux는 관리자에게 팀 장치를 구성하는 다양한 옵션을 제공합니다. 예를 들면 다음과 같습니다.
-
nmcli
를 사용하여 명령줄을 사용하여 팀 연결을 구성합니다. - RHEL 웹 콘솔을 사용하여 웹 브라우저를 사용하여 팀 연결을 구성합니다.
-
nm-connection-editor
애플리케이션을 사용하여 그래픽 인터페이스에서 팀 연결을 구성합니다.
네트워크 티밍은 Red Hat Enterprise Linux 9에서 더 이상 사용되지 않습니다. 대안으로 네트워크 본딩 드라이버를 사용하는 것이 좋습니다. 자세한 내용은 네트워크 본딩 구성 을 참조하십시오.
4.1. 네트워크 팀 구성을 네트워크 본딩으로 마이그레이션
네트워크 티밍은 Red Hat Enterprise Linux 9에서 더 이상 사용되지 않습니다. 작업 중인 네트워크 팀이 이미 구성되어 있는 경우(예: 이전 RHEL 버전에서 업그레이드한 경우 NetworkManager에서 관리하는 네트워크 본딩으로 구성을 마이그레이션할 수 있습니다.
team2bond
유틸리티는 네트워크 팀 구성을 본딩으로만 변환합니다. 이후 IP 주소 및 DNS 구성과 같은 본딩의 추가 설정을 수동으로 구성해야 합니다.
사전 요구 사항
-
team-team0
NetworkManager 연결 프로필이team0
장치를 구성하고 관리합니다. -
teamd
패키지가 설치되어 있습니다.
절차
선택 사항:
team-team0
NetworkManager 연결의 IP 구성을 표시합니다.# nmcli connection show team-team0 | egrep "^ip" ... ipv4.method: manual ipv4.dns: 192.0.2.253 ipv4.dns-search: example.com ipv4.addresses: 192.0.2.1/24 ipv4.gateway: 192.0.2.254 ... ipv6.method: manual ipv6.dns: 2001:db8:1::fffd ipv6.dns-search: example.com ipv6.addresses: 2001:db8:1::1/64 ipv6.gateway: 2001:db8:1::fffe ...
team0
장치의 구성을 JSON 파일로 내보냅니다.# teamdctl team0 config dump actual > /tmp/team0.json
네트워크 팀을 제거합니다. 예를 들어 NetworkManager에서 팀을 구성한 경우
team-team0
연결 프로필과 관련 포트의 프로필을 제거합니다.# nmcli connection delete team-team0 # nmcli connection delete team-team0-port1 # nmcli connection delete team-team0-port2
시험 실행 모드에서
team2bond
유틸리티를 실행하여 팀 장치와 유사한 설정으로 네트워크 본딩을 설정하는nmcli
명령을 표시합니다.# team2bond --config=/tmp/team0.json --rename=bond0 nmcli con add type bond ifname bond0 bond.options "mode=active-backup,num_grat_arp=1,num_unsol_na=1,resend_igmp=1,miimon=100,miimon=100" nmcli con add type ethernet ifname enp7s0 master bond0 nmcli con add type ethernet ifname enp8s0 master bond0
첫 번째 명령에는 팀 구성 파일에 두 개의
link_watch
항목이 포함되어 있었기 때문에 두 개의miimon
옵션이 포함되어 있습니다. 이는 본딩 생성에는 영향을 미치지 않습니다.서비스를 팀의 장치 이름에 바인딩하고 이러한 서비스를 업데이트하거나 중단하지 않으려면
--rename=bond0
옵션을 생략합니다. 이 경우team2bond
는 팀에 대해 본딩에 동일한 인터페이스 이름을 사용합니다.-
team2bond
유틸리티에 대한 옵션이 올바른지 확인합니다. 본딩을 만듭니다. 제안된
nmcli
명령을 실행하거나--exec-cmd
옵션을 사용하여team2bond
명령을 다시 실행할 수 있습니다.# team2bond --config=/tmp/team0.json --rename=bond0 --exec-cmd Connection 'bond-bond0' (0241a531-0c72-4202-80df-73eadfc126b5) successfully added. Connection 'bond-slave-enp7s0' (38489729-b624-4606-a784-1ccf01e2f6d6) successfully added. Connection 'bond-slave-enp8s0' (de97ec06-7daa-4298-9a71-9d4c7909daa1) successfully added.
다음 단계에 본딩 연결 프로필의 이름(
bond-bond0
)이 필요합니다.team-team0
에서 이전에 구성된 IPv4 설정을bond-bond0
연결로 설정합니다.# nmcli connection modify bond-bond0 ipv4.addresses '192.0.2.1/24' # nmcli connection modify bond-bond0 ipv4.gateway '192.0.2.254' # nmcli connection modify bond-bond0 ipv4.dns '192.0.2.253' # nmcli connection modify bond-bond0 ipv4.dns-search 'example.com' # nmcli connection modify bond-bond0 ipv4.method manual
team-team0
에서 이전에 구성된 IPv6 설정을bond-bond0
연결로 설정합니다.# nmcli connection modify bond-bond0 ipv6.addresses '2001:db8:1::1/64' # nmcli connection modify bond-bond0 ipv6.gateway '2001:db8:1::fffe' # nmcli connection modify bond-bond0 ipv6.dns '2001:db8:1::fffd' # nmcli connection modify bond-bond0 ipv6.dns-search 'example.com' # nmcli connection modify bond-bond0 ipv6.method manual
연결을 활성화합니다.
# nmcli connection up bond-bond0
검증
bond-bond0
NetworkManager 연결의 IP 구성을 표시합니다.# nmcli connection show bond-bond0 | egrep "^ip" ... ipv4.method: manual ipv4.dns: 192.0.2.253 ipv4.dns-search: example.com ipv4.addresses: 192.0.2.1/24 ipv4.gateway: 192.0.2.254 ... ipv6.method: manual ipv6.dns: 2001:db8:1::fffd ipv6.dns-search: example.com ipv6.addresses: 2001:db8:1::1/64 ipv6.gateway: 2001:db8:1::fffe ...
본딩 상태를 표시합니다.
# cat /proc/net/bonding/bond0 Ethernet Channel Bonding Driver: v5.13.0-0.rc7.51.el9.x86_64 Bonding Mode: fault-tolerance (active-backup) Primary Slave: None Currently Active Slave: enp7s0 MII Status: up MII Polling Interval (ms): 100 Up Delay (ms): 0 Down Delay (ms): 0 Peer Notification Delay (ms): 0 Slave Interface: enp7s0 MII Status: up Speed: Unknown Duplex: Unknown Link Failure Count: 0 Permanent HW addr: 52:54:00:bf:b1:a9 Slave queue ID: 0 Slave Interface: enp8s0 MII Status: up Speed: Unknown Duplex: Unknown Link Failure Count: 0 Permanent HW addr: 52:54:00:04:36:0f Slave queue ID: 0
이 예에서는 두 포트가 모두 유효합니다.
본딩 장애 조치가 작동하는지 확인하려면 다음을 수행합니다.
- 호스트에서 네트워크 케이블을 일시적으로 제거합니다. 명령줄을 사용하여 링크 실패 이벤트를 올바르게 테스트하는 방법이 없습니다.
본딩 상태를 표시합니다.
# cat /proc/net/bonding/bond0