在centos7中也可以使用bond进行多网卡绑定,不过centos7中有更好的实现方法,建议在centos7中使用。首先还是修改配置文件的方法进行绑定。其格式和步骤和bond并没有什么区别。看一下文件格式。
首先是team0也就是那个逻辑网卡配置文件的格式
DEVICE=team0
DEVICETYPE=Team
TEAM_CONFIG="{\"runner\":{\"name\":\"activebackup\"}}"
BOOTPROTO=none
IPADDR=172.20.16.121
PREFIX=16
NAME=team0
ONBOOT=yes
大部分内容都是一样的,只有第三行的TEAM_CONFIG有些差别,不过第三行除了activebackup这个单词,其他部分是不需要变动的,这个单词对应的就是mode部分,比如activebackup对应mode1,其他还有比如:broadcast roundrobin activebackup loadbalance
然后就是从网卡的配置,也是差不多的
DEVICE=eth1
DEVICETYPE=TeamPort
TEAM_MASTER=team0
NAME=eth1
ONBOOT=yes
配置文件修改之后就可以重启网络服务生效了。完成之后的ifconfig和之前的并无太大差别:
[root@cent7 network-scripts]# ifconfig
eth1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
ether be:27:a5:16:09:f8 txqueuelen 1000 (Ethernet)
RX packets 1280 bytes 182697 (178.4 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 299 bytes 75980 (74.1 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
eth2: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
ether be:27:a5:16:09:f8 txqueuelen 1000 (Ethernet)
RX packets 359 bytes 42823 (41.8 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 72 bytes 6582 (6.4 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
…
team0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 172.20.16.121 netmask 255.255.0.0 broadcast 172.20.255.255
inet6 fe80::bc27:a5ff:fe16:9f8 prefixlen 64 scopeid 0x20<link>
ether be:27:a5:16:09:f8 txqueuelen 1000 (Ethernet)
RX packets 36 bytes 3261 (3.1 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 19 bytes 1326 (1.2 KiB)
TX errors 0 dropped 2 overruns 0 carrier 0 collisions 0
或者也可以使用nmcli命令直接生成对应的配置文件
nmcli con add type team con-name team0 ifname team0 config '{"runner": {"name": "loadbalance"}}'
nmcli con mod team0 ipv4.addresses 192.168.1.100/24
nmcli con mod team0 ipv4.method manual
nmcli con add con-name eth1 type team-slave ifname eth1 master team0
nmcli con add con-name eth2 type team-slave ifname eth2 master team0
nmcli con up team0
nmcli con up eth1
nmcli con up eth2
上面的前三行是可以合成一行的,只是太长了,
add是增加
type team 表示增加的是一个team类型的
con-name team0 指定连接名称
ifname team0 表示指定接口,
config 这部分是配置信息,和之前手写配置文件内容格式相同
mod是修改指定连接
ipv4.addresses 指定ip地址
ipv4.method manual 表示手动指定ip,如果为空则自动选择(如果使用手动ip,此选项必须添加)
之后的两行
type team-slave 表示该设备是从属设备
master team0 指定设备连接属于谁
最后三行启用相关设备。
使用teamdctl team0 stat 可以查看team连接的详细信息