8.10.2. 使用 teamd 创建网络团队
注意
使用 teamd 创建的配置不具有持久性,因此可能需要使用 第 8.10.1 节 “使用 nmcli 配置网络合作” 或 第 8.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": {
"enp1s0": {
"prio": -10,
"sticky": true
},
"enp2s0": {
"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)
手册页。
“请注意,要用作组中端口的接口不得处于活动状态,也就是说,在将它们添加到组设备时,它们必须关闭”。要检查其状态,请运行以下命令:
~]$ 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 选项用于调试消息
,-f
选项指定要加载的配置文件,而 -d
选项则使进程在启动后作为守护进程运行。有关其他选项,请参阅 teamd(8)
手册页。
要检查团队的状态,以
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
要将地址应用到网络组接口,team0,以
root
用户身份以以下格式发出命令:
~]# 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
用户身份以以下格式发出命令:
~]# ip link set dev team0 up
“要临时停用组接口或将其关闭”,以
root
用户身份以以下格式发出命令:
~]# ip link set dev team0 down
以
root
用户身份终止或终止团队守护进程实例,以以下格式发出命令:
~]# teamd -t team0 -k
k
选项指定与设备关联的守护进程实例 team0 将被终止。有关其他选项,请参阅 teamd(8)
手册页。
要获得
teamd
命令行选项的帮助,请运行以下命令:
~]$ teamd -h
此外,请参阅 teamd(8)man
page。