bond,是一种双网卡绑定技术。即将多块物理网卡绑定成一个逻辑网卡,并实现网卡冗余、流量均衡等的一种可靠性强且高可用技术。

七种bond模式:

一、mod=0即banlance-rr(平衡轮循环策略)

特点:传输数据包的顺序是依次传输,第一个走eth0,第二个包走eth1……一直这样循环下去,直到传输完成。该模式提供负载均衡和容错能力。

假如当一个连接或会话的数据包从不同的接口发出,并经过不同的链路,客户端可能会出现数据包无序到达的情况,这样导致无序到达的数据需重新被发送,便会导致网络的吞吐量的下降。

二、mod=1即active-backup(主-备份策略)

特点:只有一个网卡设备处于活动状态,当处于primary的网卡出现故障或宕掉,便会立即将slave网卡转换为master网卡,接应原来主网卡的流量传输。该模式只提供了容错的能力。

网卡的mac地址是独一的,是bond的mac地址是唯一的,这也避免了交换机发生混乱,产生arp广播风暴。一方面该模式能够提供网卡连接的可用性;另一方面只有一块网卡处理活跃状态,资源的利用率低。

三、mod=2即balance-xor(平衡策略)

特点:基于指定的传输HASH策略传输数据包。该模式提供负载均衡和容错能力。

四、mode=3即broadcast(广播策略)

特点:在每个slave接口上传输每个数据包,该模式提供了容错能力。

五、mod=4即802.3ad(IEEE802.3ad动态链接聚合)

特点:创建一个聚合组,它们共享同样的速率和双工设定。外出流量slave选举是基于传输hash策略,该策略可以通过xmit_hash_policy选项从缺省的XOR策略改变到其他策略。

条件:ethbool支持获取每个slave的速率和双工设定;交换机支持IEEE802.3ad;

大多数交换机需要经过特定配置才能支持802.3ad模式。

六、mod=5即balance-tlb(适调器传输负载均衡)

特点:不需要任何特别的交换机支持的通道bonding。在每个slave根据当前的负载分配外出流量。如果正在接受数据的slave出现故障了,另一个slave接管失败的slave的mac地址。

条件:ethbool支持获取每个slave的速率。

七、mode=6即balance-alb(适调器适应性负载均衡)

特点:该模式包含了balance-tlb模式,同时加上针对ipv4流量的接收负载均衡,而且不需要交换机的支持。接收负载均衡是通过ARP协商实现的。

实验以centos7.2进行网卡绑定的过程:

一、创建一个bond0

[[email protected] ~]# cd /etc/sysconfig/network-scripts/

[[email protected] network-scripts]# cat ifcfg-bond0

DEVICE=bond0

BOOTPROTO=static

ONBOOT=yes

IPADDR=172.25.254.200

NETMASK=255.255.255.0

GATEWAY=172.25.254.2

NETWORK=172.25.254.0

DNS1=202.96.134.133

BONDING_OPTS="mode=1 miimon=100 primary=eno16777736"

USERCTL=no

[[email protected] network-scripts]#

二、修改双网卡的配置文件

[[email protected] network-scripts]# cat ifcfg-eno16777736

DEVICE=eno16777736

BOOTPROTO=none

ONBOOT=yes

MASTER=bond0

SLAVE=yes

USERCTL=no

NM_CONTORLLED=no

[[email protected] network-scripts]# cat ifcfg-eno33554992

DEVICE=eno33554992

BOOTPROTO=none

ONBOOT=yes

MASTER=bond0

SLAVE=yes

USERCTL=no

NM_CONTORLLED=no

[[email protected] network-scripts]#

三、重启网络服务

[[email protected] network-scripts]# systemctl restart network

#加载bonding模块

[[email protected] network-scripts]# cat /etc/modprobe.d/bonding.conf

alias bond0 bonding

options bond0 miimon=100 mode=1

[[email protected] network-scripts]# modprobe bonding

四、实验验证

[[email protected] network-scripts]# ip add show

1: lo: mtu 65536 qdisc noqueue state UNKNOWN

link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00

inet 127.0.0.1/8 scope host lo

valid_lft forever preferred_lft forever

inet6 ::1/128 scope host

valid_lft forever preferred_lft forever

2: eno16777736: mtu 1500 qdisc pfifo_fast master bond0 state UP qlen 1000

link/ether 00:0c:29:fa:56:68 brd ff:ff:ff:ff:ff:ff

3: eno33554992: mtu 1500 qdisc pfifo_fast master bond0 state UP qlen 1000

link/ether 00:0c:29:fa:56:68 brd ff:ff:ff:ff:ff:ff

4: bond0: mtu 1500 qdisc noqueue state UP

link/ether 00:0c:29:fa:56:68 brd ff:ff:ff:ff:ff:ff

inet 172.25.254.200/24 brd 172.25.254.255 scope global bond0

valid_lft forever preferred_lft forever

inet6 fe80::20c:29ff:fefa:5668/64 scope link

valid_lft forever preferred_lft forever

[[email protected] network-scripts]#

五、通过/proc/net/bonding/bond0进行查看模式以及网卡状态等信息

[[email protected] network-scripts]# cat /proc/net/bonding/bond0

Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)

Bonding Mode: fault-tolerance (active-backup)

Primary Slave: eno16777736 (primary_reselect always)

Currently Active Slave: eno16777736

MII Status: up

MII Polling Interval (ms): 100

Up Delay (ms): 0

Down Delay (ms): 0

Slave Interface: eno16777736

MII Status: up

Speed: 1000 Mbps

Duplex: full

Link Failure Count: 0

Permanent HW addr: 00:0c:29:fa:56:68

Slave queue ID: 0

Slave Interface: eno33554992

MII Status: up

Speed: 1000 Mbps

Duplex: full

Link Failure Count: 0

Permanent HW addr: 00:0c:29:fa:56:72

Slave queue ID: 0

[[email protected] network-scripts]#

六、当处于active的网卡宕掉后,slave网卡便会立即接应它的任务

[[email protected] ~]# ifconfig eno16777736 down

[[email protected] ~]# cat /proc/net/bonding/bond0

Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)

Bonding Mode: fault-tolerance (active-backup)

Primary Slave: eno16777736 (primary_reselect always)

Currently Active Slave: eno33554992

MII Status: up

MII Polling Interval (ms): 100

Up Delay (ms): 0

Down Delay (ms): 0

Slave Interface: eno16777736

MII Status: up

Speed: 1000 Mbps

Duplex: full

Link Failure Count: 0

Permanent HW addr: 00:0c:29:fa:56:68

Slave queue ID: 0

Slave Interface: eno33554992

MII Status: up

Speed: 1000 Mbps

Duplex: full

Link Failure Count: 0

Permanent HW addr: 00:0c:29:fa:56:72

Slave queue ID: 0

[[email protected] ~]# ping baidu.com

PING baidu.com (180.149.132.47) 56(84) bytes of data.

64 bytes from 180.149.132.47: icmp_seq=1 ttl=128 time=39.4 ms

64 bytes from 180.149.132.47: icmp_seq=2 ttl=128 time=39.3 ms

64 bytes from 180.149.132.47: icmp_seq=3 ttl=128 time=39.2 ms

64 bytes from 180.149.132.47: icmp_seq=4 ttl=128 time=39.1 ms

64 bytes from 180.149.132.47: icmp_seq=5 ttl=128 time=40.0 ms

linux 双网卡bond命令,Linux下bond双网卡绑定(示例代码)相关推荐

  1. Linux下编译build的命令,Linux命令行下编译Android NDK的示例代码

    这几天琢磨写一个Android的Runtime用来加速HTML5 Canvas,让GameBuilder+CanTK 不但开发速度快,运行速度也能接近原生应用.所以花了点时间研究Android NDK ...

  2. linux里面查找替换命令,LINUX 查找替换命令 总结

    find /var/ -name "*.php" > /home/tmp 在/var/目录下查找 所有以.php后缀结尾的文件  结果很多,就 > 输出结果到/home ...

  3. linux系统vi替换命令,linux:vi 替换命令

    转自:http://www.cnblogs.com/afant/archive/2009/03/11/1408745.html :s/^.*$/\L&/100 ##将100行内的小写转换成大写 ...

  4. linux关闭后台运行命令,linux后台运行、关闭、查看后台任务常用命令

    一.& 加在一个命令的最后,可以把这个命令放到后台执行,如: [root@bqh-01 ~]# watch -n 3 "sh 1.sh"  #每3s在后台执行一次1.sh脚 ...

  5. linux安装DNS服务命令,linux配置dns服务器配置命令

    linux配置dns服务器配置命令 Linux系统的DNS服务器怎么配置,配置命令有哪些?下面跟yjbys小编一起来了解一下吧! 一.实验目的 熟悉Linux系统中DNS服务器的配置方法.理解配置过程 ...

  6. php解析命令行参数选项,PHP 命令行参数解析工具类的示例代码

    PHP 命令行参数解析工具类的示例代码 /** * 命令行参数解析工具类 * @author guolinchao */ class CommandLine { // 临时记录短选项的选项值 priv ...

  7. linux 双网卡bond命令,Linux的双网卡绑定(即bond0)

    bond网卡的制作 一:在机其上安装两块网卡,并修改相应的网络配置文件 vim /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 ONBOOT ...

  8. linux7解绑bond命令,linux多网卡的7种bond模式原理配置

    网卡绑定的目的: 1.提高网卡的吞吐量. 2.增强网络的高可用,同时也能实现负载均衡. 网卡绑定mode共有七种(0~6) bond0.bond1.bond2.bond3.bond4.bond5.bo ...

  9. Linux查看虚拟网卡的命令,Linux之网络管理(2)虚拟网卡

    Linux之网络管理(2)虚拟网卡 在linux中,默认的内核模块中包含了很多与网络相关的组件和工具,来提供对网络的管理和设置.同样,linux中也是支持虚拟网卡的设置,已经多网卡绑定等功能.在网卡不 ...

最新文章

  1. php中的魔术函数以及魔术常量
  2. Centos下chef安装、部署
  3. 神经网络 | Hopfield神经网络(附python源代码)
  4. python深度神经网络量化_深度神经网络数据集大小
  5. code css怎么拿不到div_不会“编程”拿不到初中毕业证?听北京海淀教委怎么说...
  6. php怎么把字符转成大写,php怎么把字符串转换为大写
  7. wps如何自己制作流程图_WPS小技巧——如何制作炫酷的个性电子简历
  8. MaxCompute 实现增量数据推送(全量比对增量逻辑)
  9. java+filter加密_Javaweb之Filter案例练习-自动登录问题和MD5加密
  10. 【今日CV 计算机视觉论文速览】Mon, 28 Jan 2019
  11. 克隆git文件_如何在Git中克隆,修改,添加和删除文件
  12. (转)XP和Scrum到底有什么区别?
  13. REST API 的安全认证,我放弃OAuth 2.0 ,选择 JWT 令牌
  14. Android开发之解决父控件拦截子控件事件问题
  15. BMI160低功耗学习
  16. 科学计算机开多次方根号,计算器开多次方怎么操?
  17. 订单操作-订单详情查询代码实现
  18. Python进阶读书笔记之(四) set集合
  19. 微软证实Windows 10周年更新会重置某些PC设置 请静候补丁
  20. 【笔记整理】图解设计模式 | 第16章 Mediator模式(只有一个仲裁者)

热门文章

  1. 试验试剂LR,双官能交联剂Methyltetrazine-PEG12-DBCO,四嗪二苯基环辛炔
  2. 舞动黑白方格旗 IBM Power 8重构市场格局
  3. 网抓实例:自动修正系统日期和时间
  4. 失物招领系统,校园失物招领系统,失物招领系统毕业设计
  5. 电容笔买什么牌子好?2022电容笔品牌排行榜
  6. HTML 做一个求职简历表
  7. 产品设计体会(4014)记一次产品整合预研
  8. 物联网安全技术——思维导图
  9. 期盼小豆发芽(2008.7.20)
  10. 免费聚合文章dedeCMS采集脚本网页采集器