Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

8.10. 명령줄을 사용하여 네트워크 팀 구성

8.10.1. nmcli를 사용하여 네트워크 티밍 구성

시스템에서 사용 가능한 연결을 보려면 다음을 수행합니다.
~]$ 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 device status
DEVICE      TYPE      STATE                                  CONNECTION
virbr0      bridge    connected                              virbr0
ens3        ethernet  connected                              ens3
이름 ServerA 를 사용하여 새 팀 인터페이스를 만들려면 다음을 수행합니다.
~]$ nmcli connection add type team ifname ServerA
Connection 'team-ServerA' (b954c62f-5fdd-4339-97b0-40efac734c50) successfully added.
NetworkManager 는 내부 매개 변수 connection.autoconnectyes 로 설정하고 IP 주소에 ipv4.methodauto 로 설정하지 않으므로 설정합니다. 또한 NetworkManager 는 해당 ONBOOT가 yes 로 설정되고 BOOTPROTO가 dhcp 로 설정되는 /etc/sysconfig/network-scripts/ifcfg-team-ServerA 에 구성 파일을 작성합니다.
나중에 인터페이스가 표시될 때까지 NetworkManager 는 ifcfg 파일에 대한 수동 변경 사항을 인식하지 못합니다. 설정 파일 사용에 대한 자세한 내용은 2.7절. “sysconfig 파일로 NetworkManager 사용” 을 참조하십시오.
할당된 다른 값을 보려면 다음을 수행합니다.
~]$ 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 구성 파일이 지정되지 않았으므로 기본값이 적용됩니다. 팀 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 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 mod old-team-name connection.id new-team-name
이미 존재하는 팀의 팀 구성 파일을 로드하려면 다음을 수행합니다.
nmcli connection modify team-name team.config JSON-config
팀 구성을 JSON 문자열로 지정하거나 구성이 포함된 파일 이름을 제공할 수 있습니다. 파일 이름에 경로가 포함될 수 있습니다. 두 경우 모두 team.config 속성에 저장된 내용은 JSON 문자열입니다. JSON 문자열의 경우 문자열 주변의 작은따옴표를 사용하고 전체 문자열을 명령줄에 붙여넣습니다.
team.config 속성을 검토하려면 다음을 수행합니다.
nmcli con show team-name | grep team.config
team.config 속성이 설정되면 다른 모든 팀 속성이 적절하게 업데이트됩니다.
또한 해당 JSON 문자열을 직접 수정하지 않고 특정 팀 옵션을 노출하고 설정하는 보다 유연한 방법을 사용할 수 있습니다. 다른 사용 가능한 팀 속성을 사용하여 관련 팀 옵션을 각각 필요한 값으로 설정하여 이 작업을 수행할 수 있습니다. 결과적으로 team.config 속성이 새 값과 일치하도록 업데이트됩니다.
예를 들어 하나 이상의 link -watchers를 지정할 수 있는 team.link -watchers 속성을 설정하려면 다음 형식으로 명령을 입력합니다.
nmcli connection modify team-name team.link-watchers "name=ethtool delay-up=5, name=nsna_ping target-host=target.host"
필요한 link-watchers 는 쉼표로 구분되고 동일한 링크-감사에 속하는 특성은 공백으로 구분됩니다.
team.runnerteam.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"
이는 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"}]'
이름이 Team 0-port 1Team0 인터페이스를 추가하려면 다음과 같이 명령을 실행합니다.
~]$ 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 을 추가하려면 다음과 같이 명령을 실행합니다.
~]$ 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 는 이더넷 포트만 지원합니다.
팀을 열려면 다음과 같이 포트를 먼저 가져와야 합니다.
~]$ 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)
다음과 같이 포트를 활성화하여 팀 인터페이스가 작동되었는지 확인할 수 있습니다.
~]$ 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에 대한 소개는 3.3절. “nmcli로 IP 네트워킹 구성” 를 참조하십시오.