8.10. 명령줄을 사용하여 네트워크 팀 구성
8.10.1. nmcli를 사용하여 네트워크 티밍 구성
시스템에서 사용 가능한 연결을 보려면 다음을 수행합니다.
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
~]$ nmcli connection show NAME UUID TYPE DEVICE enp2s0 0e8185a1-f0fd-4802-99fb-bedbb31c689b 802-3-ethernet -- enp1s0 dfe1f57b-419d-4d1c-aaf5-245deab82487 802-3-ethernet --
~]$ nmcli connection show
NAME UUID TYPE DEVICE
enp2s0 0e8185a1-f0fd-4802-99fb-bedbb31c689b 802-3-ethernet --
enp1s0 dfe1f57b-419d-4d1c-aaf5-245deab82487 802-3-ethernet --
시스템에서 사용 가능한 장치를 보려면 다음을 수행합니다.
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
~]$ nmcli device status DEVICE TYPE STATE CONNECTION virbr0 bridge connected virbr0 ens3 ethernet connected ens3
~]$ nmcli device status
DEVICE TYPE STATE CONNECTION
virbr0 bridge connected virbr0
ens3 ethernet connected ens3
이름 ServerA 를 사용하여 새 팀 인터페이스를 만들려면 다음을 수행합니다.
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
NetworkManager 는 내부 매개 변수
~]$ nmcli connection add type team ifname ServerA Connection 'team-ServerA' (b954c62f-5fdd-4339-97b0-40efac734c50) successfully added.
~]$ nmcli connection add type team ifname ServerA
Connection 'team-ServerA' (b954c62f-5fdd-4339-97b0-40efac734c50) successfully added.
connection.autoconnect
를 yes
로 설정하고 IP
주소에 ipv4.method
를 auto
로 설정하지 않으므로 설정합니다. 또한 NetworkManager 는 해당 ONBOOT가 yes
로 설정되고 BOOTPROTO가 dhcp
로 설정되는 /etc/sysconfig/network-scripts/ifcfg-team-ServerA
에 구성 파일을 작성합니다.
나중에 인터페이스가 표시될 때까지 NetworkManager 는 ifcfg 파일에 대한 수동 변경 사항을 인식하지 못합니다. 설정 파일 사용에 대한 자세한 내용은 2.7절. “sysconfig 파일로 NetworkManager 사용” 을 참조하십시오.
할당된 다른 값을 보려면 다음을 수행합니다.
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
JSON 구성 파일이 지정되지 않았으므로 기본값이 적용됩니다.
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
~]$ nmcli con show team-ServerA connection.id: team-ServerA connection.uuid: b954c62f-5fdd-4339-97b0-40efac734c50 connection.interface-name: ServerA connection.type: team connection.autoconnect: yes … ipv4.method: auto [output truncated]
~]$ nmcli con show team-ServerA
connection.id: team-ServerA
connection.uuid: b954c62f-5fdd-4339-97b0-40efac734c50
connection.interface-name: ServerA
connection.type: team
connection.autoconnect: yes
…
ipv4.method: auto
[output truncated]
팀 JSON 매개 변수 및 기본값에 대한 자세한 내용은 teamd.conf(5) 도움말
페이지를 참조하십시오. 이름은 인터페이스 이름에서 형식 앞에 따라 파생되었습니다. 또는 다음과 같이 con-name
옵션을 사용하여 이름을 지정합니다.
~]$ nmcli connection add type team con-name Team0 ifname ServerB Connection 'Team0' (5f7160a1-09f6-4204-8ff0-6d96a91218a7) successfully added.
~]$ nmcli connection add type team con-name Team0 ifname ServerB
Connection 'Team0' (5f7160a1-09f6-4204-8ff0-6d96a91218a7) successfully added.
방금 구성한 팀 인터페이스를 보려면 다음과 같이 명령을 입력합니다.
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
~]$ nmcli con show NAME UUID TYPE DEVICE team-ServerA b954c62f-5fdd-4339-97b0-40efac734c50 team ServerA enp2s0 0e8185a1-f0fd-4802-99fb-bedbb31c689b 802-3-ethernet -- enp1s0 dfe1f57b-419d-4d1c-aaf5-245deab82487 802-3-ethernet -- Team0 5f7160a1-09f6-4204-8ff0-6d96a91218a7 team ServerB
~]$ nmcli con show
NAME UUID TYPE DEVICE
team-ServerA b954c62f-5fdd-4339-97b0-40efac734c50 team ServerA
enp2s0 0e8185a1-f0fd-4802-99fb-bedbb31c689b 802-3-ethernet --
enp1s0 dfe1f57b-419d-4d1c-aaf5-245deab82487 802-3-ethernet --
Team0 5f7160a1-09f6-4204-8ff0-6d96a91218a7 team ServerB
팀에 할당된 이름을 변경하려면 다음 형식으로 명령을 입력합니다.
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
nmcli con mod old-team-name connection.id new-team-name
nmcli con mod old-team-name connection.id new-team-name
이미 존재하는 팀의 팀 구성 파일을 로드하려면 다음을 수행합니다.
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
팀 구성을 JSON 문자열로 지정하거나 구성이 포함된 파일 이름을 제공할 수 있습니다. 파일 이름에 경로가 포함될 수 있습니다. 두 경우 모두
nmcli connection modify team-name team.config JSON-config
nmcli connection modify team-name team.config JSON-config
team.config
속성에 저장된 내용은 JSON 문자열입니다. JSON 문자열의 경우 문자열 주변의 작은따옴표를 사용하고 전체 문자열을 명령줄에 붙여넣습니다.
team.config 속성을 검토하려면 다음을 수행합니다.
nmcli con show team-name | grep team.config
nmcli con show team-name | grep team.config
team.config
속성이 설정되면 다른 모든 팀 속성이 적절하게 업데이트됩니다.
또한 해당 JSON 문자열을 직접 수정하지 않고 특정 팀 옵션을 노출하고 설정하는 보다 유연한 방법을 사용할 수 있습니다. 다른 사용 가능한 팀 속성을 사용하여 관련 팀 옵션을 각각 필요한 값으로 설정하여 이 작업을 수행할 수 있습니다. 결과적으로
team.config
속성이 새 값과 일치하도록 업데이트됩니다.
예를 들어 하나 이상의 link
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
필요한
-watchers를 지정할 수 있는 team.link
-watchers
속성을 설정하려면 다음 형식으로 명령을 입력합니다. nmcli connection modify team-name team.link-watchers "name=ethtool delay-up=5, name=nsna_ping target-host=target.host"
nmcli connection modify team-name team.link-watchers "name=ethtool delay-up=5, name=nsna_ping target-host=target.host"
link-watchers
는 쉼표로 구분되고 동일한 링크-감사에 속하는 특성은 공백으로 구분됩니다
.
team.runner
및 team.link-watchers
속성을 설정하려면 다음 형식으로 명령을 입력합니다. nmcli connection modify team-name team.runner activebackup team.link-watchers "name=ethtool delay-up=5, name=nsna_ping target-host=target.host"
nmcli connection modify team-name team.runner activebackup team.link-watchers "name=ethtool delay-up=5, name=nsna_ping target-host=target.host"
이는
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
team.config
속성을 해당 JSON 문자열로 설정하는 것과 동일합니다. nmcli connection modify team-name team.config '{"runner": {"name": "activebackup"}, "link_watch": [{"name": "ethtool", "delay_up": 5},{"name": "nsna_ping", "target_host ": "target.host"}]'
nmcli connection modify team-name team.config '{"runner": {"name": "activebackup"}, "link_watch": [{"name": "ethtool", "delay_up": 5},{"name": "nsna_ping", "target_host ": "target.host"}]'
이름이 Team 0-port 1 인
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
Team0
에 인터페이스를 추가하려면 다음과 같이 명령을 실행합니다.
~]$ nmcli con add type ethernet con-name Team0-port1 ifname enp1s0 slave-type team master Team0 Connection 'Team0-port1' (ccd87704-c866-459e-8fe7-01b06cf1cffc) successfully added.
~]$ nmcli con add type ethernet con-name Team0-port1 ifname enp1s0 slave-type team master Team0
Connection 'Team0-port1' (ccd87704-c866-459e-8fe7-01b06cf1cffc) successfully added.
마찬가지로 이름이 Team0-port 2인 다른 인터페이스 enp2 s0 을 추가하려면 다음과 같이 명령을 실행합니다.
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
nmcli 는 이더넷 포트만 지원합니다.
~]$ nmcli con add type ethernet con-name Team0-port2 ifname enp2s0 slave-type team master Team0 Connection 'Team0-port2' (a89ccff8-8202-411e-8ca6-2953b7db52dd) successfully added.
~]$ nmcli con add type ethernet con-name Team0-port2 ifname enp2s0 slave-type team master Team0
Connection 'Team0-port2' (a89ccff8-8202-411e-8ca6-2953b7db52dd) successfully added.
팀을 열려면 다음과 같이 포트를 먼저 가져와야 합니다.
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
~]$ nmcli connection up Team0-port1 Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/2)
~]$ nmcli connection up Team0-port1
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/2)
~]$ nmcli connection up Team0-port2 Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/3)
~]$ nmcli connection up Team0-port2
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/3)
다음과 같이 포트를 활성화하여 팀 인터페이스가 작동되었는지 확인할 수 있습니다.
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
또는 명령을 실행하여 다음과 같이 팀을 엽니다.
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
~]$ ip link 3: Team0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT link/ether 52:54:00:76:6f:f0 brd ff:ff:ff:ff:ff:f
~]$ ip link
3: Team0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT
link/ether 52:54:00:76:6f:f0 brd ff:ff:ff:ff:ff:f
~]$ nmcli connection up Team0 Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/4)
~]$ nmcli connection up Team0
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/4)
nmcli에 대한 소개는 3.3절. “nmcli로 IP 네트워킹 구성” 를 참조하십시오.