㈠ linux 网卡bond的七种模式
网卡bond是通过多张网卡绑定为一个逻辑网卡,实现本地网卡的冗余,带宽扩容和负载均衡,在生产场景中是一种常用的技术。Kernels 2.4.12及以后的版本均供bonding模块,以前的版本可以通过patch实现。可以通过以下命令确定内核是否支持 bonding:
链路负载均衡,增加带宽,支持容错,一条链路故障会自动切换正常链路。交换机需要配置聚合口,思科叫port channel。
这个是主备模式,只有一块网卡是active,另一块是备用的standby,所有流量都在active链路上处理,交换机配置的是捆绑的话将不能清租橡工作,因为交换机往两块网卡发包,有一半包是丢弃的。
表示XOR Hash负载分担,和交换机的聚合强制不协商方式配合。(需要xmit_hash_policy,需要交换机配置port channel)
表示所有包从所有网络接口发出,这个不均衡,只有冗余机制,但过于浪费资源。此模式适用于金融行业,因为他们需要高可靠性的网络,不允许出现任何问题。需要和交换机的聚合强制不协商方式配合。
表示支持802.3ad协议,和交换机的聚合LACP方式配合(需要xmit_hash_policy).标准要求所有设备在聚合操作时,要在同样的速率和双工模式,而且,和除了balance-rr模式外的其它bonding负载均衡模式一样,任何连接都不能使用多于一个接口的带宽。
是根据每个slave的负载情况选择slave进行发送,接收时使用当前轮到的slave。该模式要求slave接口的网络设备驱动有某种ethtool支持;而且ARP监控不可用。
在5的tlb基础上增加了rlb(接收负载均衡receive load balance).不需要任何switch(交换机)的支持。接收负载均衡是通过ARP协商实现的.
mode5和mode6不需要交换机端的设置,网卡能自动聚合。mode4需要支持802.3ad。mode0,mode2和mode3理论上需要静态聚合方式。
但实测中mode0可以通过mac地址欺骗的方式在交换机不设置的情况下不太均衡地进行接收。
1、首先要看linux是否支持bonding,大部分发行版都支持
如输出以上信息,则说明支持bonding,如果没有,说明内核不支持bonding,需要重新编译内核
2、答旁网卡配置文件
两个物理网口分别是:eth0,eth1 绑定后的虚拟口是:bond0
开机自动加载模块到内核
每100毫秒 (即0.1秒) 监测一次路连接状态,如果有一条线路不通就转入另一条线路; Linux的多网卡绑定功能使用的是内核中的"bonding"模块
如果修改为其它模式,只需要在BONDING_OPTS中指定mode=Number即可。USERCTL=no --是否允许非root用户控制该设备
查看bond0状态:可以看到调用的是哪几个物理网卡
三、扩展
上边是两个网卡(eth0、eth1)绑定成一个bond0,如果我们要设置多个bond口,比如物理网口eth0和eth1组成bond0,eth2和型罩eth3组成bond1,那么网口设置文件的设置方法和上面
是一样的,只是/etc/modprobe.d/dist.conf文件就不能叠加了。正确的设置方法有两种:
1、第一种
这样所有的绑定只能使用一个mode了。
2、第二种
这种方式不同的bond口可以设定为不同的mode,注意开机自动启动/etc/rc.d/rc.local文件的设置
http://lixin15.blog.51cto.com/3845983/1769338
http://linuxnote.blog.51cto.com/9876511/1680315
㈡ linux中查看bond状态时,cat /proc/net/bonding/bond0 结果各字段的意思
查看建立的bond信息,大致信息如下:
cat /proc/net/bonding/eth1
Ethernet Channel Bonding Driver: v3.4.0 (October 7, 2008)
Bonding Mode: fault-tolerance (active-backup)
Primary Slave: eth2
Currently Active Slave: eth2
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0
Slave Interface: eth2
MII Status: up
Link Failure Count: 0
Permanent HW addr: 00:0c:29:db:30:5a
Slave Interface: eth3
MII Status: up
Link Failure Count: 0
Permanent HW addr: 00:0c:29:db:30:64
若建立的bond没有起来,使用
nmcli dev disconnect eth1
nmcli dev connect eth1
service restart network
(2)linux下bond扩展阅读:
Linux得到了来自全世界软件爱好者、组织、公司的支持。它除了在服务器方面保持着强劲的发展势头以外,在个人电脑、嵌入式系统上都神睁磨有着长足的进步。使用者不仅可以直观地获取该操作系统的实现机制,而且可以根据自身的需要来修改完善Linux,使其最大化地适应用户的需要。
Linux不仅系统性能稳定,而且是开源软件。其核心防火墙组件性能高效、配置简单,保证了系统的安全。在很多企业网络中,为了追求速度和安全早谈,Linux不仅仅是被网络运维人员当作服务器使用,Linux既可以当作服务器,又可以当作网络防火墙是Linux的 一游斗大亮点。
㈢ linux重启bond丢失
linux重启bond丢失
linux重启bond丢失正衫谨IP
可以尝试重新塌孙配置bond,重启网络服务:
1. 首先,编辑/etc/sysconfig/network-scripts/ifcfg-bond0文件,添加如下内举基容:
DEVICE=bond0
BOOTPROTO=none
ONBOOT=yes
USERCTL=no
IPADDR=192.168.1.100
NETMASK=255.255.255.0
TYPE=Ethernet
BONDING_OPTS=\"mode=1 miimon=100\"
2. 编辑/etc/sysconfig/network-scripts/ifcfg-eth0文件,添加如下内容:
DEVICE=eth0
BOOTPROTO=none
ONBOOT=yes
MASTER=bond0
SLAVE=yes
USERCTL=no
3. 编辑/etc/sysconfig/network-scripts/ifcfg-eth1文件,添加如下内容:
DEVICE=eth1
BOOTPROTO=none
ONBOOT=yes
MASTER=bond0
SLAVE=yes
USERCTL=no
4. 重启网络服务:
# service network restart
㈣ linuxbond只显示一块网卡
linux言叙
关注
Linux系统bond配置 原创
2020-02-23 15:19:24
5点赞
linux言叙
码龄7年
关注
1、bond简介
bond是多吵大块物理网卡虚拟为一块网卡,使多块网卡看起来像一块友裂网卡。
2、bond优点
linux系统下配置bond,通过网卡绑定可增加服务器可靠性,同时可增加网络带宽,提供稳定升告竖的网络服务。
3、bond模式
(1)mode=1:在主备模式下,只有主网卡工作,备份网卡不工作,只有当一个网络接口失效时(例如交换机掉电等),为了不会出现网络中断,系统会按照配置指定的网卡顺序启动工作,保证机器仍能对外服务,起到了失效保护功能。
(2)mode=0:在负载均衡模式下,两块网卡都工作,提供两倍带宽。
㈤ Linux创建删除bond口
查看文件,找出所有绑定梁蔽网卡
获取bond口slave的所有网卡
更改slave网卡配置文件,文件路径为
/etc/sysconfig/network-scripts/ifcfg-网卡名
更改网卡为:TYPE=Ethernet,BOOTPROTO=none,ONBOOT=yes
重启网卡服务
systemctl restart network
删除bond模块配置文件
创建bond口网卡配置文件
文帆渣唯件位置为:
vi /etc/sysconfig/network-scripts/ifcfg-bond*
(*指代bond卡号,为数字1-n)
文件里面输入:TYPE=Bond,BOOTPROTO=none,ONBOOT=yes,USERCTL=no,DEVICE=bond*
更改被slave的网卡配置文件内容态培为:TYPE=Ethernet,BOOTPROTO=none,ONBOOT=yes,USERCTL=no,MASTER=bond,SLAVE=yes,DEVICE=网卡名
(这里假设被slave的网卡是eno2)
打开bond模块配置文件位置为:
vi /etc/modprobe.d/bonding.conf
在文件末尾追加:
alias bond* bonding options bond mode=6 miimon=100
启动bond配置,加载bond驱动
modprobe bonding
重启bond卡
ifdown bond&&ifup bond
重启网卡
systemctl restart network
㈥ linux绑定bond的七种模式
目前网卡绑定mode共有七种(0~6)bond0、bond1、bond2、bond3、bond4、bond5、bond6
常用的有三种:
mode=0:平衡负载模式,有自动备援,但需要”Switch”支援及设定。
mode=1:自动备援模式,其中一条线若断线,其他线路将会自动备援。
mode=6:平衡负载模式,有自动备援,不必”Switch”支援及设定。
Linux网口绑定:
通过网口绑定(bond)技术,可以很容易实现网口冗余,负载均衡,从而达到高可用高可靠的目的。前提约定:
2个物理网口分别是:eth0,eth1
绑定后的虚拟口是:bond0
服务器IP是:10.10.10.1
第一步,配置设定文件:
[root@woo ~]# vi /etc/sysconfig/network-scripts/ifcfg-bond0
DEVICE=bond0
BOOTPROTO=none
ONBOOT=yes
IPADDR=10.10.10.1
NETMASK=255.255.255.0
NETWORK=192.168.0.0
[root@woo ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=none
MASTER=bond0
SLAVE=yes
[root@woo ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth1 饥行
DEVICE=eth1
BOOTPROTO=none
MASTER=bond0
SLAVE=yes
第二步,修改modprobe相关设定文件,并加载bonding模块:
1.在这里,我们直接创建一个加载bonding的袭肢毁专属设定文件/etc/modprobe.d/bonding.conf
[root@woo ~]# vi /etc/modprobe.d/bonding.conf
alias bond0 bonding
options bonding mode=0 miimon=200
2.加载模块(重启系统后就不用手动再加载了)
[root@woo ~]# modprobe bonding
3.确认模块是否加载成功:
[root@woo ~]# lsmod | grep bonding
bonding 100065 0
第三步,重启一下网络,然后确认一下状拍备况:
[root@db01 ~]# service network restart
Shutting down interface bond0: [ OK ]
Shutting down loopback interface: [ OK ]
Bringing up loopback interface: [ OK ]
Bringing up interface bond0: [ OK ]
[root@db01 ~]# cat /proc/net/bonding/bond0
Ethernet Channel Bonding Driver: v3.4.0-1 (October 7, 2008)
Bonding Mode: fault-tolerance (active-backup)
Primary Slave: None
Currently Active Slave: eth0
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0
Slave Interface: eth0
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 40:f2:e9:db:c9:c2
Slave Interface: eth1
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 40:f2:e9:db:c9:c3
[root@db01 ~]# ifconfig | grep HWaddr
bond0 Link encap:Ethernet HWaddr 40:F2:E9:DB:C9:C2
eth0 Link encap:Ethernet HWaddr 40:F2:E9:DB:C9:C2
eth1 Link encap:Ethernet HWaddr 40:F2:E9:DB:C9:C2
从上面的确认信息中,我们可以看到3个重要信息:
1.现在的bonding模式是active-backup
2.现在Active状态的网口是eth0
3.bond0,eth1的物理地址和处于active状态下的eth0的物理地址相同,这样是为了避免上位交换机发生混乱。
任意拔掉一根网线,然后再访问你的服务器,看网络是否还是通的。
第四步,系统启动自动绑定、增加默认网关:
[root@woo ~]# vi /etc/rc.d/rc.local
#追加
ifenslave bond0 eth0 eth1
route add default gw 10.10.10.1
㈦ Linux网卡bond
网卡绑定mode共有七种(0~6) bond0、bond1、bond2、bond3、bond4、bond5、bond6。早弊 常用的有三种:
mode=0:平衡负载模式,有自动备援,但需要”Switch”支援及设定。
mode=1:自动备援模式,其中一条线若断线,其他线路将会自动备援。陆隐
mode=6:平衡负载模式,早睁厅有自动备援,不必”Switch”支援及设定。
添加MASTER、SLAVE配置项
eth0:
eth1:
bond0(不存在,需要自己创建):
ip a可以看到eth0\eth1上的master为bond0
㈧ linuxbond默认模式
根据您所提供的枝举信息,Linuxbond的默认模式为学习猛握碧模皮者式,这种模式下可以提供实时的在线视频课程和教学资源。
㈨ 理解Linux下网卡的bonding
发现工作中可能会用到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 mole。
在 /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口,可是可以的。