8.10. 使用命令行配置网络团队
8.10.1. 使用 nmcli 配置网络合作 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
查看系统中可用的连接:
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
nmcli connection show
~]$ 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
~]$ 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
~]$ nmcli connection add type team ifname ServerA
Connection 'team-ServerA' (b954c62f-5fdd-4339-97b0-40efac734c50) successfully added.
connection.autoconnect 设为 yes,因为没有为 ipv4.method 指定任何 IP 地址 。NetworkManager 还将配置文件写入 /etc/sysconfig/network-scripts/ifcfg-team-ServerA,其中对应的 ONBOOT 设为 yes,BOOTPROTO 将设置为 dhcp。
请注意,在接口下次启动之前,NetworkManager 不会注意到对 ifcfg 文件的手动更改。有关使用配置文件的更多信息,请参阅 第 2.7 节 “使用 NetworkManager 和 sysconfig 文件”。
查看分配的其他值:
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
由于没有指定 JSON 配置文件,因此应用默认值。如需有关团队 JSON 参数及其默认值的更多信息,请参阅
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
teamd.conf(5) man page。请注意,名称是从接口名称中派生而来的,方法是在类型前附加。或者,使用 con-name 选项指定一个名称,如下所示:
nmcli connection add type team con-name Team0 ifname ServerB
~]$ 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
要更改分配给团队的名称,以以下格式输入命令:
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 字符串,请在字符串两边使用单引号,并将整个字符串粘贴到命令行。
查看
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
team.config 属性: nmcli con show team-name | grep team.config
nmcli con show team-name | grep team.config
设置
team.config 属性时,所有其他团队属性将相应地更新。
也可以更灵活地公开和设置特定团队选项,而无需直接修改对应的 JSON 字符串。您可以使用其他可用的团队属性来逐个将相关的团队选项设置为所需的值。因此,
team.config 属性被更新为与新值匹配。
例如,要设置允许指定一个或多个
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
所需的
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"
nmcli connection modify team-name team.link-watchers "name=ethtool delay-up=5, name=nsna_ping target-host=target.host"
link-watchers 是用逗号分开的,并且属于同一 link-watcher 的属性由空格分隔。
要设置
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
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"}]'
要将接口 enp1s0 添加到
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
Team0,名称为 Team0-port1,请按以下方式发出命令:
nmcli con add type ethernet con-name Team0-port1 ifname enp1s0 slave-type team master 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.
同样,要添加另一个接口 enp2s0,名称为 Team0-port2,请按如下方式发出命令:
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
~]$ 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
~]$ nmcli connection up Team0-port1
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/2)
nmcli connection up Team0-port2
~]$ 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
~]$ 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
~]$ nmcli connection up Team0
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/4)
nmcli简介请查看 第 3.3 节 “使用 nmcli 配置 IP 网络”