1. mode=0 (round-robin)

  链路聚合:将两个或者更多数据信道结合成一个单一的信道,该信道以一个更高带宽的逻辑链路出现,链路聚合一般用来连接一个或多个带宽需求量大的设备,链路聚合是指将多个物理端口绑定在一起,成为一个逻辑端口,

以实现出、入流量的各成员端口中的负荷分担,当一个成员端口故障时,就停止发送报文,并根据负荷分担策略在剩下的链路中重新计算报文发送,端口恢复后重新计算报文发送的端口。链路聚合在增加带宽、实现链路传输弹性和冗余方面是很重要的技术。

  逻辑链路的带宽增加了大约(n-1)倍,这里n为聚合的链路数,聚合后,可靠性大大提升,n条链路中只要有一条链路正常工作,这个链路就能正常工作,除此之外链路聚合可以实现负载均衡。

  链路聚合有以下优点:

    (1) 增加带宽。 链路聚合可以将多个链路捆绑在一个逻辑链路,捆绑后的链路带宽是每个独立链路的总和。

    (2)提高网络连接的可靠性。链路聚合中的多个链路互为备份,当有一条链路断开,流量会自动在剩下的链路中重新分配。

[root@server2 ~]# cd /etc/sysconfig/network-scripts/
[root@server2 network-scripts]# vim ifcfg-eth1
DEVICE=eth1
BOOTPROTO=none
TYPE=Ethernet
PEERDNS=yes
MASTER=bond0
SLAVE=yes [root@server2 network-scripts]# vim ifcfg-eth2
DEVICE=eth2
TYPE=Ethernet
BOOTPROTO=none
PEERDNS=yes
ONBOOT=yes
MASTER=bond0
SLAVE=yes
[root@server2 network-scripts]# vim ifcfg-bond0 # 新建ifcfg-bond0文件
DEVICE=bond0
BOOTPROTO=none
TYPE=Ethernet
IPADDR=192.168.2.11
NETMASK=255.255.255.0
GATEWAY=192.168.2.1
DNS1=192.168.2.1
DNS2=114.114.114.114 [root@server2 network-scripts]# vim /etc/modprobe.d/bond0.conf
alias bond0 bonding
options bond0 miimon=100 mode=0
[root@server2 network-scripts]# service network restart
正在关闭接口 bond0:                                       [确定]
关闭环回接口:                                             [确定]
弹出环回接口:                                             [确定]
弹出界面 bond0:                                           [确定] 这样mode=0 (round-robin) 双网卡链路聚合建立完毕。
[root@server2 ~]# cat /proc/net/bonding/bond0
Ethernet Channel Bonding Driver: v3.6.0 (September , ) Bonding Mode: load balancing (round-robin)  # 状态更改为round-robin 目前是两块网卡:eth1和eth2
MII Status: up
MII Polling Interval (ms):
Up Delay (ms):
Down Delay (ms): Slave Interface: eth1
MII Status: up
Speed: Mbps
Duplex: full
Link Failure Count:
Permanent HW addr: :0c::7b:9f:8c
Slave queue ID: Slave Interface: eth2
MII Status: up
Speed: Mbps
Duplex: full
Link Failure Count:
Permanent HW addr: :0c::7b:9f:
Slave queue ID: 0
[root@server2 ~]# ip a
: lo: <LOOPBACK,UP,LOWER_UP> mtu qdisc noqueue state UNKNOWN
link/loopback ::::: brd :::::
inet 127.0.0.1/ scope host lo
inet6 ::/ scope host
valid_lft forever preferred_lft forever
: eth1: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu qdisc pfifo_fast master bond0 state UP qlen
link/ether :0c::7b:9f:8c brd ff:ff:ff:ff:ff:ff
: eth2: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu qdisc pfifo_fast master bond0 state UP qlen
link/ether :0c::7b:9f:8c brd ff:ff:ff:ff:ff:ff
: bond0: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu qdisc noqueue state UP
link/ether :0c::7b:9f:8c brd ff:ff:ff:ff:ff:ff
inet 192.168.2.11/ brd 192.168.2.255 scope global bond0
inet6 fe80::20c:29ff:fe7b:9f8c/ scope link tentative dadfailed
valid_lft forever preferred_lft forever mode 0下bond所绑定网卡的IP都被修改为一样的MAC地址,如果这些网卡都被接入同一个交换机,那么交换机的arp表里,这个mac地址对应的端口就有多个,那么交换机接受到这个mac地址的包应该往哪里发送呢?
正常情况下mac地址是唯一的,一个mac地址对应多个端口肯定使交换机迷惑。所以在mode 0的模式下bond要连接交换机,交换机这几个端口应该采用聚合方式。

2. mode=1 (active-backup)

  主备网卡,一个网卡处于活动状态,另一个网卡处于备份状态,所有流量都在主链路上处理,当活动链路(主链路)down掉时,启用备份网卡

以上网卡配置都相同。唯一修改的地方时模式的切换。

[root@server2 ~]# vim /etc/modprobe.d/bond0.conf
alias bond0 bonding
options bond0 miimon= mode=
[root@server2 ~]# cat /proc/net/bonding/bond0
Ethernet Channel Bonding Driver: v3.6.0 (September , ) Bonding Mode: fault-tolerance (active-backup)
Primary Slave: None
Currently Active Slave: eth1  # 当前活动网卡为eth1,备份网卡为eth2
MII Status: up
MII Polling Interval (ms):
Up Delay (ms):
Down Delay (ms): Slave Interface: eth1
MII Status: up
Speed: Mbps
Duplex: full
Link Failure Count:
Permanent HW addr: :0c::7b:9f:8c
Slave queue ID: Slave Interface: eth2
MII Status: up
Speed: Mbps
Duplex: full
Link Failure Count:
Permanent HW addr: :0c::7b:9f:
Slave queue ID:

[ 总结 ] Linux下两种常用的双网卡绑定的更多相关文章

  1. Linux下3种常用的网络测速工具

    大家好,我是良许. 不管你用的是什么操作系统,网速都是你非常关心的一个性能指标,毕竟,谁都不想看个视频结果网速卡到你怀疑人生.本文介绍三个 Linux 命令行下的网络测速工具,让你随时随地知道你的网络 ...

  2. centos 6.4系统双网卡绑定配置详解

    Linux双网卡绑定实现就是使用两块网卡虚拟成为一块网卡(需要交换机支持),这个聚合起来的设备看起来是一个单独的以太网接口设备,通俗点讲就是两块网卡具有相同的IP地址而并行链接聚合成一个逻辑链路工作. ...

  3. CentOS 6.X 双网卡绑定配置

    相关环境 主机:Dell PowerEdge R720服务器(背板有4个GE网口) 操作系统:CentOS(RHEL)6.X 网线连接 使用6类网线 将Dell R720 GE网口 0,与交换机A相连 ...

  4. (转)深度分析Linux下双网卡绑定七种模式

    现在一般的企业都会 使用双网卡接入,这样既能添加网络带宽,同时又能做相应的冗余,可以说是好处多多.而一般企业都会使用linux操作系统下自带的网卡绑定模式,当然现在 网卡产商也会出一些针对window ...

  5. 深度分析Linux下双网卡绑定七种模式

    现在一般的企业都会使用双网卡接入,这样既能添加网络带宽,同时又能做相应的冗余,可以说是好处多多.而一般企业都会使用linux操作系统下自带的网卡绑定模式,当然现在网卡产商也会出一些针对windows操 ...

  6. Linux下双网卡绑定(bonding技术)

    Linux网卡绑定探析   2013-08-20 15:39:31 现在很多服务器都自带双千兆网口,利用网卡绑定既能增加网络带宽,同时又能做相应的冗余,目前应用于很多的场景.linux操作系统下自带的 ...

  7. Linux下几种文件传输命令

    Linux下几种文件传输命令 sz rz sftp scp 最近在部署系统时接触了一些文件传输命令,分别做一下简单记录: 1.sftp Secure Ftp 是一个基于SSH安全协议的文件传输管理工具 ...

  8. Linux下一种高效多定时器实现

    Linux下一种高效多定时器实现 作者:LouisozZ 日期:2018.08.29 运行环境说明 由于在 Linux 系统下一个进程只能设置一个时钟定时器,所以当应用需要有多个定时器来共同管理程序运 ...

  9. Linux下双网卡绑定bond0

    一:原理: linux操作系统下双网卡绑定有七种模式.现在一般的企业都会使用双网卡接入,这样既能添加网络带宽,同时又能做相应的冗余,可以说是好处多多.而一般企业都会使用linux操作系统下自带的网卡绑 ...

随机推荐

  1. 对 vscode 自动格式化的结果不太满意,我们该如何自己调整直至自己满意为止

    前提概述 采用vue-cli 3.0自动生成vue项目,选了ESlint+Prettier,在写request.js的时候,顺手用vscode右击格式化文件(Alt+Shift+F),一下子报了8个问 ...

  2. npm安装不成功的原因

    使用npm安装electron不成功的解决方法 使用npm安装electron不成功的解决方法 根据官网提供的electron的npm安装方法,使用下面的命令进行安装,结果不成功 npm instal ...

  3. 完整Android开发基础入门博客专栏

    博客地址:http://www.runoob.com/w3cnote/android-tutorial-contents.html

  4. const在c/c++中的区别

    #include <iostream> using namespace std; int main() { ; ; }; ; i < sizeof array / sizeof *a ...

  5. 最快的Hash表算法

    我们由一个简单的问题逐步入手:有一个庞大的字符串数组,然后给你一个单独的字符串,让你从这个数组中查找是否有这个字符串并找到它,你会怎么做?有一个方法最简单,老老实实从头查到尾,一个一个比较,直到找到为 ...

  6. vue中表单的动态绑定

    有一个表单: <el-form :model="configForm"> </el-form> 如果configForm初始化为{},此对象是动态变化的,如 ...

  7. 洛谷 P2486 [SDOI2011]染色/bzoj 2243: [SDOI2011]染色 解题报告

    [SDOI2011]染色 题目描述 给定一棵有n个节点的无根树和m个操作,操作有2类: 1.将节点a到节点b路径上所有点都染成颜色c: 2.询问节点a到节点b路径上的颜色段数量(连续相同颜色被认为是同 ...

  8. 理解JavaScript的function

    JavaScript中最有特色而又让你困惑的function算一个了,下面看一下常用操作: function doit(){ ..... } doit(); JavaScript中的函数我们可以把它当 ...

  9. Oulipo HDU - 1686

    The French author Georges Perec (1936–1982) once wrote a book, La disparition, without the letter 'e ...

  10. Qt5 界面中文乱码问题

    1.文件所在项目文件  xxx.pro 中添加: QMAKE_CXXFLAGS += -execution-charset:utf- 2.文件以 UTF-8 编码保存 3.添加  utf-8 BOM