网卡bond配置方法

背景知识

bong可以将多个网卡绑定到一起,可以让两个或多个接口作为一个接口,同时提高带宽,并提供网络链路的冗余,当有其中一块网卡故障的时候,不会中断服务器的业务。
常用的bond模式主要为以下两种:
mode=1(active-backup):此模式使用主被策略(热备)。在所有做bond1的物理网卡中,同一时刻只有一张网卡被激活,当且仅当活动网卡失效时才会激活其他的网卡。这种模式下做bond的两张或多张网卡的MAC地址和Bond虚拟网卡的MAC地址相同,而Bond的MAC地址是Bond创建启动后活动网卡(Active Slave)的MAC地址。这种模式要求主被网卡能快速的切换,即当主网卡出现故障后能迅速地切换至备用网卡。切换过程中,上层的应用几乎不受影响,因为Bond的驱动程序会临时接管上层应用的数据包,存放至数据缓冲区,等待备用网卡启动后再发送出去。但是如果切换时间过长,则会引起缓冲区的溢出,导致丢包。

mode=4(802.3ad):使用动态链接聚合策略,启动时会创建一个聚合组,所有Slave网卡共享同样的速率和双工设定(需要交换机支持IEEE 802.3ad 动态链路聚合(Dynamic link aggregation)模式)
按照当前业务情况,我们的业务和IB网络均使用mode1的方式进行绑定

1、备份原网卡配置
进入/etc/sysconfig/network-scripts/目录,将所有的ifcfg-开头的文件备份

2、配置业务bond
查看当前业务使用的网口

这里使用的是ens6f0和ens6f1 两个口(不同的硬件网卡的名称会不一样)
配置业务bond,名称为:bond1

[root@sever-2 network-scripts]# cat ifcfg-bond1
DEVICE=bond1
TYPE=Bond
NAME=bond1
BONDING_MASTER=yes
BOOTPROTO=none
ONBOOT=yes
IPADDR=10.18.159.45
NETMASK=255.255.255.0
GATEWAY=10.18.159.1
BONDING_OPTS="mode=1 miimon=100"
[root@sever0-2 network-scripts]# cat ifcfg-ens6f0
TYPE=Ethernet
BOOTPROTO=none
DEVICE=ens6f0
ONBOOT=yes
MASTER=bond1
SLAVE=yes
[root@sever-2 network-scripts]# cat ifcfg-ens6f1
TYPE=Ethernet
BOOTPROTO=none
DEVICE=ens6f1
ONBOOT=yes
MASTER=bond1
SLAVE=yes
[root@sever-2 network-scripts]#

3、配置IB网络bond
这里的IB1口为down的状态是因为没接线
(此处要注意,IB网络是内部通讯用的,千万不要配置网关,否则网络会有问题,操作系统上多个网络,只能有一个网卡可以配置网关,如果有其他特殊需求,可以通过配置路由的方式来实现)

[root@sever-2 network-scripts]# cat ifcfg-bond0
DEVICE=bond0
TYPE=Bond
NAME=bond0
BONDING_MASTER=yes
BOOTPROTO=none
ONBOOT=yes
BONDING_OPTS="mode=1 miimon=100"
IPADDR=192.168.11.45
NETMASK=255.255.255.0
[root@sever-2 network-scripts]# cat ifcfg-ib0
TYPE=InfiniBand
DEVICE=ib0
BOOTPROTO=none
ONBOOT=yes
MASTER=bond0
SLAVE=yes
[root@sever-2 network-scripts]# cat ifcfg-ib1
TYPE=InfiniBand
DEVICE=ib1
BOOTPROTO=none
ONBOOT=yes
MASTER=bond0
SLAVE=yes

4、重启服务激活bond配置
systemctl restart network

5、验证bond
使用ifdown、ifup 关闭开启端口来验证

[root@sever-2 ~]# cat /proc/net/bonding/bond1
Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)

Bonding Mode: fault-tolerance (active-backup)
Primary Slave: None
Currently Active Slave: ens6f0
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0

Slave Interface: ens6f0
MII Status: up
Speed: 10000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: b4:05:5d:ff:22:0c
Slave queue ID: 0

Slave Interface: ens6f1
MII Status: up
Speed: 10000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: b4:05:5d:ff:22:0d
Slave queue ID: 0

[root@sever-2 ~]# ifdown ens6f0
Device 'ens6f0' successfully disconnected.
[root@server-2 ~]# cat /proc/net/bonding/bond1
Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)

Bonding Mode: fault-tolerance (active-backup)
Primary Slave: None
Currently Active Slave: ens6f1
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0

Slave Interface: ens6f1
MII Status: up
Speed: 10000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: b4:05:5d:ff:22:0d
Slave queue ID: 0
[root@server-2 ~]# ifup ens6f0
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/7)
[root@server-2 ~]# cat /proc/net/bonding/bond1
Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)

Bonding Mode: fault-tolerance (active-backup)
Primary Slave: None
Currently Active Slave: ens6f0
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0

Slave Interface: ens6f0
MII Status: up
Speed: 10000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: b4:05:5d:ff:22:0c
Slave queue ID: 0

Slave Interface: ens6f1
MII Status: up
Speed: 10000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: b4:05:5d:ff:22:0d
Slave queue ID: 0



你可能感兴趣的:(服务器,网络,linux)