理解linux下网卡的bonding

author author     2023-03-16     508

关键词:

参考技术A

发现工作中可能会用到Linux下网卡绑定相关的知识。找了些文章看,然后一通混剪,各家所长为我所用。

网卡bond,即网卡绑定,也称作网卡捆绑。网卡绑定有多种称谓:Port Trunking, Channel Bonding, Link Aggregation, NIC teaming等等,其实说的是一回事。就是将两个或者更多的物理网卡绑定成一个虚拟网卡。通过绑定可以达到链路冗余、带宽倍增、负载均衡等目的。是生产场景中提高性能和可靠性的一种常用技术。
Linux内置了网卡绑定的驱动程序,可以将多个物理网卡分别捆绑成多个不同的逻辑网卡(例如把eth0、eth1捆绑成bond0,把eth2、eth3捆绑成bond1)。对于每一个bond接口来说,可以分别定义不同的绑定模式和链路监视选项。

对应于不同的负载均衡和容错特性需求,Linux网卡bond的模式共有bond0-bond6共7种。

表示负载分担round-robin,并且是轮询的方式,比如第一个包走eth0,第二个包走eth1,直到数据包发送完毕。

表示主备模式,即同一时间时只有1块网卡在工作。

表示使用MAC地址的XOR Hash负载分担,网络上特定的通信双方会始终经由某一个网卡的链路通信,和交换机的聚合强制不协商方式配合。(需要xmit_hash_policy [1] ,需要交换机配置port channel)

表示所有包从所有绑定的网络接口发出,不考虑均衡流量的分担,只有冗余机制,但过于浪费资源。此模式适用于金融行业,因为他们需要高可靠性的网络,不允许出现任何问题。需要和交换机的聚合强制不协商方式配合。

表示支持802.3ad协议,和交换机的聚合LACP方式配合(需要xmit_hash_policy).标准要求所有设备在聚合操作时,要在同样的速率和双工模式。

是根据每个slave的负载情况选择slave进行发送,接收时使用当前轮到的slave。该模式要求slave接口的网络设备驱动有某种ethtool支持;而且ARP监控不可用。

在5的tlb基础上增加了rlb(接收负载均衡receiveload balance).不需要任何switch(交换机)的支持。接收负载均衡是通过ARP协商实现的.

模式1、模式5和模式6不需要交换机端的设置,网卡能自动聚合。模式4需要支持802.3ad。模式0,模式2和模式3理论上需要静态聚合方式。 (据说实测中模式0可以通过mac地址欺骗的方式在交换机不设置的情况下不太均衡地进行接收。)

创建ifcfg-bond0文件,配置IP地址、子网掩码、网关等参数。

修改eth0、eth1、eth2的配置文件,注释或删除IP地址、掩码、网关和MAC地址的配置,添加关于MASTER和SLAVE的设置

根据实际需求,选择合适的bonding模式,为bond0设置bonding kernel module。
在 /etc/modprobe.conf 中添加以下内容

确认模块是否加载成功

重启网络(或重启主机):

查看bond0的状态:

另外还可以使用 ifconfig -a | grep HWaddr 查看bond0接口是否处于活动状态,以及各网卡MAC地址情况。

从上面的确认信息中,我们可以看到3个重要信息:
1.现在的bonding模式是active-backup
2.现在Active状态的网口是eth2
3.bond0,eth0、eth1、的物理地址和处于active状态下的eth2的物理地址相同,这样是为了避免上位交换机发生混乱。

可以ping一个远程地址,然后断开Active状态的eth2口网线,验证主备模式是否能正常切换,业务是否受到影响。

将网口添加到bond中:ifenslave bond eth0 eth1【bond要先up】
将bond中删除网口:ifenslave -d bond eth0
bond中网口主备倒换:ifenslave -c bond eth1

前面只是3个网口绑定成一个bond1的情况,如果我们要设置多个bond口,比如物理网口eth0和eth1组成bond0,eth2和eth3组成bond1应该如何设置呢?
网口设置文件的设置方法和上面第1步讲的方法相同,只是/etc/modprobe.d/bonding.conf的设定就不能像下面这样简单的叠加了:

正确的设置方法有2种:
第一种: 你可以看到,这种方式的话,多个bond口的模式就只能设成相同的了:

第二种: 这种方式,不同的bond口的mode可以设成不一样:

按照上面这2种设置方法,现在如果是要设置3个,4个,甚至更多的bond口,可是可以的。

linuxbond只显示一块网卡

...一张网卡。 参考技术DBond就是将多块网卡虚拟成为一块网卡的技术,通过bond技术让多块网卡看起来是一个单独的以太网接口设备并具有相同的IP地址。 第5个回答 2022-10-21Bond就是将多块网卡虚拟成为一块网卡的技术,通过bond技... 查看详情

linux下网卡混杂模式设置和取消

1、Linux下网卡常用的几种模式说明:广播方式:该模式下的网卡能够接收网络中的广播信息。组播方式:设置在该模式下的网卡能够接收组播数据。直接方式:在这种模式下,只有目的网卡才能接收该数据。混杂模式:在这种模... 查看详情

linux网卡bond

参考技术A网卡绑定mode共有七种(0~6)bond0、bond1、bond2、bond3、bond4、bond5、bond6。常用的有三种:mode=0:平衡负载模式,有自动备援,但需要”Switch”支援及设定。mode=1:自动备援模式,其中一条线若断线,其他线路将会自动备援。... 查看详情

linux下网卡配置多个ip

ipaddradd192.168.12.4/24deveno16777728但是每次重启会失效如果希望每次重启会重新绑定IP,可以将:ipaddradd192.168.12.X/24deveth0命令写入文件/etc/rc.localchmod+x/etc/rc.d/rc.local 参考链接:https://www.cnblogs.com/0to9/p/9591315.htmlhttp 查看详情

linux下多网卡bonding

一、什么是Bonding    Bonding,就是将多块网卡绑定同一IP地址对外提供服务,可以实现高可用或者负载均衡。当然,直接给两块网卡设置同一IP地址是不可能的。通过Bonding,虚拟一块网卡对外提供连接,物理网卡的... 查看详情

linux系统之bonding网卡绑定配置方法(代码片段)

Linux系统之Bonding网卡绑定配置方法一、检查本地系统环境1.检查系统版本2.查看服务器网卡二、创建网卡配置文件1.进入网卡配置文件目录2.拷贝eth0的网卡配置文件3.修改bond0网卡配置文件4.修改eth1网卡配置文件5.修改eth2网卡配置... 查看详情

linux绑定bond的七种模式

...平衡负载模式,有自动备援,不必”Switch”支援及设定。Linux网口绑定:通过网口绑定(bond)技术,可以很容易实现网口冗余,负载均衡,从而达到高可用高可靠的目的。前提约定:2个物理网口分别是:eth0,eth1绑定后的虚拟口是:bo... 查看详情

linux实现多网卡聚合绑定bonding(代码片段)

多网卡聚合bonding生产环境通常需要将多块网卡绑定同一IP地址对外提供服务,以实现高可用或者负载均衡。直接给两块网卡设置同一IP地址是不可以的。通过bonding技术,将多块物理网卡虚拟成一块网卡对外提供连接,... 查看详情

linux如何配置bond?

1、编辑虚拟网络接口配置文件,指定网卡IP:#vi/etc/sysconfig/network-scripts/ifcfg-bond0或者下面命令#cp/etc/sysconfig/network-scripts/ifcfg-eth0ifcfg-bond02、#viifcfg-bond0将第一行改成DEVICE=bond0:#catifcfg-bond0DEVICE=bond0ONBOOT=yesBOOTPROTO=staticIPADDR=192.168.61.72NETM... 查看详情

网卡bonding

Linux支付7种bonding模式:查看Linux是否支持网卡bonding模式:[[email protected]network-scripts]#modinfobondingfilename:   /lib/modules/2.6.32-504.23.4.el6.centos.plus.x86_64/kernel/drivers/net/bondin 查看详情

虚拟机linux环境下网卡激活失败,无法自动分配ip求有经验的回答

虚拟机环境下获取DHCP分配的IP,需要停用真机(宿主机)的“VMwareDHCPService”服务,linux客户机网络接口对应配置文件/etc/sysconfig/network-scripts/ifcfg-eth0中配置项改为BOOTPROTO=dhcp,然后重启服务:servicenetworkrestart即可,确保DHCP服务器... 查看详情

linux环境,如何做bond,命令?bond的意义?有啥好处?两个网口,三个。。。n个,分别怎么做

...是bonding),本人刚入学。请支援!2、请帮忙给出完整的linux操作命令,不胜感激。你好,所谓bond,就是把多个物理网卡绑定成一个逻辑上的网卡好处:增加带宽,还可以实现主备功能至于命令,直接在/etc/sysconfig/network中编辑文... 查看详情

bonds

Linux--多网卡的7种Bond模式http://www.cnblogs.com/lcword/p/5914089.html七种网卡绑定模式详解: http://blog.csdn.net/wuweilong/article/details/39720571 通过   #ethtoolxxxx  检测网卡是否连接到网络 查看bond0的 查看详情

小知识记录:第九篇

...d#网卡bond模式---------------------------------------------------------Linux多网卡绑定网卡绑定mode共有七种(0~6)bond0、bond1、bond2、bond3、bond4、bond5、bond6常用的有三种mode=0:平衡负载模式,有自动备援,但需要”Switch”支援及设定。mode=1:自... 查看详情

深度分析linux下双网卡绑定七种模式多网卡的7种bond模式原理

多网卡的7种bond模式原理Linux网卡绑定mode共有七种(0~6)bond0、bond1、bond2、bond3、bond4、bond5、bond6常用的有三种mode=0:平衡负载模式,有自动备援,但需要”Switch”支援及设定。mode=1:自动备援模式,其中一... 查看详情

深度分析linux下双网卡绑定七种模式多网卡的7种bond模式原理

多网卡的7种bond模式原理Linux网卡绑定mode共有七种(0~6)bond0、bond1、bond2、bond3、bond4、bond5、bond6常用的有三种mode=0:平衡负载模式,有自动备援,但需要”Switch”支援及设定。mode=1:自动备援模式,其中一... 查看详情

linux网卡绑定有几种模式

参考技术A  网卡绑定mode共有七种(0~6)bond0、bond1、bond2、bond3、bond4、bond5、bond6  常用的有三种  mode=0:平衡负载模式,有自动备援,但需要”Switch”支援及设定。  mode=1:自动备援模式,其中一条线若断线,其他... 查看详情

centos怎样做网卡bond

...线,分别连接不同的交换机。查看所有网卡,百度搜索《Linux就该这么学》一起学习linux,$lspci|grepnet查看网卡2的信息,Linkdetected:yes表示有网线插入$ethtooleth2如果Linkdetected:no的话,尝试用命令ifconfigeth2up,如果用ethtool查看任然为no... 查看详情