网卡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



<think>好的,我现在需要帮用户解决在EulerOS中配置网卡Bond的问题。首先,我得回忆一下Bond的概念。Bonding是将多个物理网卡绑定成一个逻辑网卡,提高带宽和冗余。常见的模式有mode0到mode6,比如mode1是主备,mode4是802.3ad动态链路聚合。 然后,用户提到的是EulerOS,可能基于CentOS或RHEL,所以配置方法应该类似,使用nmcli或者修改配置文件。但需要确认系统版本,不同版本可能工具有差异。例如,旧版可能用ifcfg文件,而新版用NetworkManager。 接下来,查阅用户提供的引用。引用[1]提到了用nmcli命令添加以太网连接作为bond的slave,这应该是正确的方法。引用[4]提到了配置静态IP的参数,如IPADDR、GATEWAY等,这些在配置bond时也可能需要设置。 用户的问题是关于配置bond的步骤,所以需要分步说明。首先安装必要的工具,比如bonding驱动,可能已经内置。然后使用nmcli创建bond接口,设置模式,比如mode=4。接着将物理网卡添加到bond中。配置IP地址,可以选择静态或DHCP。最后重启网络服务并验证状态。 需要注意的几点:不同bond模式需要不同的交换机配置,比如mode4需要交换机支持LACP。另外,配置完成后要检查bond状态,查看slave是否正常。可能的问题包括网卡驱动不支持,或者交换机配置不匹配。 用户提供的引用中有提到网卡错误可能需要手动添加网关,引用[3]提到在界面配置后检查底层配置,所以建议用户配置后查看相关文件,比如ifcfg-bond0,确保参数正确。同时,如果遇到网关无法访问,可能需要检查网关设置是否正确,或者防火墙规则。 总结步骤:安装必要工具(如果有需要)、创建bond接口、添加slave网卡配置网络参数、重启服务、验证配置。同时给出常见问题解决方法,比如检查bond状态,确认模式是否匹配,网关设置是否正确等。</think>### EulerOS 网卡Bond配置教程 #### 一、配置原理 网卡Bond(绑定)通过聚合多个物理网卡提升带宽或实现冗余备份。常见模式包括: - **mode=0**(负载均衡) - **mode=1**(主备冗余) - **mode=4**(动态链路聚合,需交换机支持LACP)[^1] #### 二、具体步骤 1. **安装必要工具** ```bash yum install -y NetworkManager-team ``` 2. **创建Bond接口** ```bash nmcli con add type bond con-name bond0 ifname bond0 mode active-backup ``` - 参数说明:`mode`指定Bond模式(此处以主备模式为例) 3. **添加从属网卡** ```bash nmcli con add type ethernet slave-type bond con-name slave1 ifname enp24s0f0 master bond0 nmcli con add type ethernet slave-type bond con-name slave2 ifname enp24s0f1 master bond0 ``` 4. **配置IP地址** ```bash nmcli con mod bond0 ipv4.addresses 192.168.1.100/24 nmcli con mod bond0 ipv4.gateway 192.168.1.1 nmcli con mod bond0 ipv4.dns 8.8.8.8 nmcli con mod bond0 ipv4.method manual ``` 5. **激活配置** ```bash nmcli con up bond0 systemctl restart NetworkManager ``` 6. **验证状态** ```bash cat /proc/net/bonding/bond0 ``` 输出应显示两个slave接口状态为`up`[^4] #### 三、配置文件示例 ```bash # /etc/sysconfig/network-scripts/ifcfg-bond0 DEVICE=bond0 TYPE=Bond BONDING_MASTER=yes ONBOOT=yes BOOTPROTO=static IPADDR=192.168.1.100 NETMASK=255.255.255.0 GATEWAY=192.168.1.1 BONDING_OPTS="mode=1 miimon=100" ``` #### 四、常见问题解决 1. **网关不可达**:检查网关配置是否正确,使用`ip route show`验证[^3] 2. **Bond状态异常**:确认物理网卡已启用,`miimon`参数设置合理(建议100ms) 3. **模式不生效**:交换机需对应配置(如mode4需要启用LACP)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值