Show Table of Contents
5.10. 使用命令行配置网络成组
5.10.1. 使用 nmcli 配置网络成组
运行以下命令查看系统中的可用设备:
~]$ nmcli connection show
NAME UUID TYPE DEVICE
eth1 0e8185a1-f0fd-4802-99fb-bedbb31c689b 802-3-ethernet --
eth0 dfe1f57b-419d-4d1c-aaf5-245deab82487 802-3-ethernet --
请运行以下命令使用名称 team-ServerA 创建新的成组接口:
~]$ nmcli connection add type team ifname team-ServerA
Connection 'team-ServerA' (b954c62f-5fdd-4339-97b0-40efac734c50) successfully added.
NetworkManager 会将其内部参数 connection.autoconnect 设定为 yes,这样就不会将给出 ipv4.method 的 IP 地址设定为 auto。NetworkManager 还会将配置写入 /etc/sysconfig/network-scripts/ifcfg-team-ServerA,其中会将对应的 ONBOOT 设定为 yes,并将 BOOTPROTO 设定为 dhcp。
注:再次启用该接口前,NetworkManager 不会意识到对 ifcfg 文件的手动更改。有关使用配置文件的详情,请查看 第 1.9 节 “使用 sysconfig 文件进行网络配置”。
请运行以下命令查看其他分配的值:
~]$ 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[输出结果截选]
因为没有指定任何 JSON 配置文件,所以采用默认值。有关成组 JSON 参数及其默认值的详情,请查看 teamd.conf(5) man page。注:该名称衍生自接口名称,在接口名称的前面添加类型。另外还可使用 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
eth1 0e8185a1-f0fd-4802-99fb-bedbb31c689b 802-3-ethernet --
eth0 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
运行以下命令在
Team0 中添加名为 Team0-port1 的接口 eth0:
~]$ nmcli con add type team-slave con-name Team0-port1 ifname eth0 master Team0
Connection 'Team0-port1' (ccd87704-c866-459e-8fe7-01b06cf1cffc) successfully added.
同样,可使用以下命令添加另一个名为 Team0-port2 的接口 eth1:
~]$ nmcli con add type team-slave con-name Team0-port2 ifname eth1 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 简介请查看 第 2.3 节 “使用 NetworkManager 命令行工具 nmcli”。
5.10.2. 使用 teamd 创建网络成组
注意
使用 teamd 创建的配置不会持久,因此应按照 第 5.10.1 节 “使用 nmcli 配置网络成组” 或 第 5.10.3 节 “使用 ifcfg 文件创建网络成组” 中规定的步骤创建成组接口。
要创建网络成组,作为成组端口或链接接口的虚拟接口需要一个 JSON 格式的配置文件。快捷的方法是复制示例配置文件,然后使用有
root 授权的编辑器进行编辑。请输入以下命令列出可用示例配置文件:
~]$ ls /usr/share/doc/teamd-*/example_configs/
activebackup_arp_ping_1.conf activebackup_multi_lw_1.conf loadbalance_2.conf
activebackup_arp_ping_2.conf activebackup_nsna_ping_1.conf loadbalance_3.conf
activebackup_ethtool_1.conf broadcast.conf random.conf
activebackup_ethtool_2.conf lacp_1.conf roundrobin_2.conf
activebackup_ethtool_3.conf loadbalance_1.conf roundrobin.conf
请使用以下命令查看包含的文件之一,比如 activebackup_ethtool_1.conf:
~]$ cat /usr/share/doc/teamd-*/example_configs/activebackup_ethtool_1.conf
{
"device": "team0",
"runner": {"name": "activebackup"},
"link_watch": {"name": "ethtool"},
"ports": {
"eth1": {
"prio": -10,
"sticky": true
},
"eth2": {
"prio": 100
}
}
}
创建工作配置目录保存 teamd 配置文件。例如:作为常规用户输入以下格式的命令:
~]$ mkdir ~/teamd_working_configs
将选择的文件复制到工作目录中,并根据需要进行编辑。例如:可使用以下命令格式:
~]$ cp /usr/share/doc/teamd-*/example_configs/activebackup_ethtool_1.conf \ ~/teamd_working_configs/activebackup_ethtool_1.conf
要编辑该文件以适应您的环境(例如更改作为网络成组端口的接口),请打开要编辑的文件,如下:
~]$ vi ~/teamd_working_configs/activebackup_ethtool_1.conf
进行必要的更改并保存文件。有关使用 vi 编辑器或使用首选编辑器的详情,请查看 vi(1) man page。
注:在该成组内作为端口使用的接口不得处于 active 状态,就是说将其添加到成组设备时,它们必须处于 “down” 状态。运行以下命令检查其状态:
~]$ ip link show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: em1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT qlen 1000
link/ether 52:54:00:d5:f7:d4 brd ff:ff:ff:ff:ff:ff
3: em2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT qlen 1000
link/ether 52:54:00:d8:04:70 brd ff:ff:ff:ff:ff:ff
在这个示例中可以看到要使用的两个接口都处于 “UP” 状态。
请作为
root 用户,使用以下命令格式禁用接口:
~]# ip link set down em1
根据需要在每个接口中执行这个操作。
要创建基于配置文件的成组接口,请作为
root 用户进入可使用的配置目录(在这个示例中为 teamd_working_configs):
~]# cd /home/userteamd_working_configs
然后运行以下格式的命令:
~]# teamd -g -f activebackup_ethtool_1.conf -d
Using team device "team0".
Using PID file "/var/run/teamd/team0.pid"
Using config file "/home/user/teamd_working_configs/activebackup_ethtool_1.conf"
-g 选项用于显示 debug 信息,-f 选项用于指定要载入的配置文件,-d 选项可让该进程中启动后作为守护进程运行。有关其他选项的详情请查看 teamd(8) man page。
请作为
root 用户使用以下命令检查成组接口状态:
~]# teamdctl team0 state
setup:
runner: activebackup
ports:
em1
link watches:
link summary: up
instance[link_watch_0]:
name: ethtool
link: up
em2
link watches:
link summary: up
instance[link_watch_0]:
name: ethtool
link: up
runner:
active port: em1
请作为
root 用户,使用以下命令在网络成组接口 team0 中应用一个地址:
~]# ip addr add 192.168.23.2/24 dev team0
请运行以下命令检查成组接口的 IP 地址:
~]$ ip addr show team0
4: team0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP
link/ether 16:38:57:60:20:6f brd ff:ff:ff:ff:ff:ff
inet 192.168.23.2/24 scope global team0
valid_lft forever preferred_lft forever
inet6 2620:52:0:221d:1438:57ff:fe60:206f/64 scope global dynamic
valid_lft 2591880sec preferred_lft 604680sec
inet6 fe80::1438:57ff:fe60:206f/64 scope link
valid_lft forever preferred_lft forever
请作为
root 用户,使用以下命令激活该成组接口,或使其处于 “up” 状态:
~]# ip link set dev team0 up
请作为
root 用户,使用以下命令暂时取消激活成组接口,或使其处于 “down” 状态:
~]# ip link set dev team0 down
请作为
root 用户,使用以下命令格式终止或杀死成组守护进程的实例:
~]# teamd -t team0 -k
使用 -k 选项指定要杀死的与设备 team0 关联的守护进程实例。其他选项请查看 teamd(8) man page。
请运行以下命令获得
teamd 命令行选项帮助信息:
~]$ teamd -h
此外,请查看 teamd(8) man page。
5.10.3. 使用 ifcfg 文件创建网络成组
要
ifcfg 文件创建网络成组,在 /etc/sysconfig/network-scripts/ 目录中创建一个文件,如下:
DEVICE=team0
DEVICETYPE=Team
ONBOOT=yes
BOOTPROTO=none
IPADDR=192.168.11.1
PREFIX=24
TEAM_CONFIG='{"runner": {"name": "activebackup"}, "link_watch": {"name": "ethtool"}}'
这样可为该成组创建接口,换句话说这就是主接口。
要创建属于 team0 成员的端口,请在
/etc/sysconfig/network-scripts/ 目录中创建一个或多个文件,如下:
DEVICE=eth1
HWADDR=D4:85:64:01:46:9E
DEVICETYPE=TeamPort
ONBOOT=yes
TEAM_MASTER=team0
TEAM_PORT_CONFIG='{"prio": 100}'
根据要求添加与上述接口类似的附加端口接口,修改 DEVICE 和 HWADDR 字段使其与端口(网络设备)匹配。如果未根据 prio 指定端口优先权,则默认为 0。该数值可为负数和正数,范围在 -32,767 到 +32,767 之间。
使用
HWADDR 指令指定硬件或 MAC 地址会影响设备命名过程。原因请查看 第 8 章 一致网络设备命名。
请作为
root 运行以下命令启用网络成组:
~]# ifup team0
运行以下命令查看网络成组:
~]$ ip link show
5.10.4. 使用 iputils 在网络成组中添加端口
请作为
root,使用 ip 工具程序运行以下命令,在网络成组 team0 中添加端口 em1:
~]#根据需要添加附加端口。成组驱动程序会自动启用这些端口。ip link set dev em1 down~]#ip link set dev em1 master team0
5.10.5. 使用 teamnl 列出成组连接的端口
请作为
root 使用 teamnl 工具程序,运行以下命令查看或列出网络成组中的端口:
~]# teamnl team0 ports
em2: up 100 fullduplex
em1: up 100 fullduplex
5.10.6. 使用 teamnl 配置成组连接选项
请作为
root 使用 teamnl 工具程序,运行以下命令查看或列出当前可用选项:
~]# teamnl team0 options
请作为 root 运行以下命令将网络成组配置为使用 active-backup 模式:
~]# teamnl team0 setoption mode activebackup
5.10.7. 使用 iputils 在网络成组中添加地址
请作为
root 使用 ip 工具程序,运行以下命令在成组接口 team0 中添加地址:
~]# ip addr add 192.168.252.2/24 dev team0
5.10.8. 使用 iputils 在网络成组中激活接口
请作为
root,使用 ip 工具程序,运行以下命令激活接口,或在网络成组中 “启用” 接口:
~]# ip link set team0 up
5.10.9. 使用 teamnl 查看成组连接的 activeport 选项
请作为
root,使用 teamnl 程序,运行以下命令查看或列出网络成组中的 activeport 选项:
~]# teamnl team0 getoption activeport
0
5.10.10. 使用 teamnl 设置成组连接的 activeport 选项
请作为
root,使用 teamnl 工具程序,运行以下命令在网络成组中设置 activeport 选项:
~]# teamnl team0 setoption activeport 5
请作为 root,使用以下命令检查成组端口选项变更:
~]# teamnl team0 getoption activeport
5

Where did the comment section go?
Red Hat's documentation publication system recently went through an upgrade to enable speedier, more mobile-friendly content. We decided to re-evaluate our commenting platform to ensure that it meets your expectations and serves as an optimal feedback mechanism. During this redesign, we invite your input on providing feedback on Red Hat documentation via the discussion platform.