[ 总结 ] Linux下两种常用的双网卡绑定

1. mode=0 (round-robin)

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

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

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

  链路聚合有以下优点:

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

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

[[email protected] ~]# cd /etc/sysconfig/network-scripts/
[[email protected] network-scripts]# vim ifcfg-eth1
DEVICE=eth1
BOOTPROTO=none
TYPE=Ethernet
PEERDNS=yes
MASTER=bond0
SLAVE=yes

[[email protected] network-scripts]# vim ifcfg-eth2
DEVICE=eth2
TYPE=Ethernet
BOOTPROTO=none
PEERDNS=yes
ONBOOT=yes
MASTER=bond0
SLAVE=yes
[[email protected] 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

[[email protected] network-scripts]# vim /etc/modprobe.d/bond0.conf3alias bond0 bondingoptions bond0 miimon=100 mode=0[[email protected] network-scripts]# service network restart正在关闭接口 bond0:                                       [确定]关闭环回接口:                                             [确定]弹出环回接口:                                             [确定]弹出界面 bond0:                                           [确定]

这样mode=0 (round-robin) 双网卡链路聚合建立完毕。
[[email protected] ~]# cat /proc/net/bonding/bond0
Ethernet Channel Bonding Driver: v3.6.0 (September 26, 2009)

Bonding Mode: load balancing (round-robin)  # 状态更改为round-robin 目前是两块网卡:eth1和eth2
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0

Slave Interface: eth1
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 00:0c:29:7b:9f:8c
Slave queue ID: 0

Slave Interface: eth2
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 00:0c:29:7b:9f:96
Slave queue ID: 0
[[email protected] ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 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
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth1: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master bond0 state UP qlen 1000
    link/ether 00:0c:29:7b:9f:8c brd ff:ff:ff:ff:ff:ff
3: eth2: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master bond0 state UP qlen 1000
    link/ether 00:0c:29:7b:9f:8c brd ff:ff:ff:ff:ff:ff
4: bond0: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP
    link/ether 00:0c:29:7b:9f:8c brd ff:ff:ff:ff:ff:ff
    inet 192.168.2.11/24 brd 192.168.2.255 scope global bond0
    inet6 fe80::20c:29ff:fe7b:9f8c/64 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掉时,启用备份网卡

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

[[email protected] ~]# vim /etc/modprobe.d/bond0.conf
alias bond0 bonding
options bond0 miimon=100 mode=1
[[email protected] ~]# cat /proc/net/bonding/bond0
Ethernet Channel Bonding Driver: v3.6.0 (September 26, 2009)

Bonding Mode: fault-tolerance (active-backup)
Primary Slave: None
Currently Active Slave: eth1  # 当前活动网卡为eth1,备份网卡为eth2
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0

Slave Interface: eth1
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 00:0c:29:7b:9f:8c
Slave queue ID: 0

Slave Interface: eth2
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 00:0c:29:7b:9f:96
Slave queue ID: 0
时间: 2024-10-24 03:00:16

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

Linux下两种删除过期文件的方法详述

一.概述 在实际的C软件开发项目中,不同的软件会在不同的目录中生成文件,由于磁盘的存储空间有限,开发人员不得不考虑对目录下的过期文件进行删除.一般说来,有两种删除过期文件的方法,一种是在C程序中实现,一种是利用crontab实现.本文对这两种方法的具体实现进行详细的介绍. 为了便于说明,本文中的过期文件的后缀为.c,存放在/home/zhou/zhouzx/Test目录下,过期时间为1天. 二.在C程序中实现过期文件删除 在该方法中,我们要考虑的主要问题为: (1)要删除过期多久的文件?文件存放

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

Linux双网卡绑定实现就是使用两块网卡虚拟成为一块网卡(需要交换机支持),这个聚合起来的设备看起来是一个单独的以太网接口设备,通俗点讲就是两块网卡具有相同的IP地址而并行链接聚合成一个逻辑链路工作.本文详细描述下centos 6.4系统双网卡绑定操作步骤操作前需要确定NetworkManager 服务是否已经停止,否则容易报错.#service NetworkManager status显示NetworkManager 已停即可 具体绑定操作:1.在/etc/sysconfig/network

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

现在一般的企业都会使用双网卡接入,这样既能添加网络带宽,同时又能做相应的冗余,可以说是好处多多.而一般企业都会使用linux操作系统下自带的网卡绑定模式,当然现在网卡产商也会出一些针对windows操作系统网卡管理软件来做网卡绑定(windows操作系统没有网卡绑定功能 需要第三方支持).进入正题,linux有七种网卡绑定模式:0. round robin,1.active-backup,2.load balancing (xor), 3.fault-tolerance (broadcast),

Linux下几种文件传输命令

Linux下几种文件传输命令 sz rz sftp scp 最近在部署系统时接触了一些文件传输命令,分别做一下简单记录: 1.sftp Secure Ftp 是一个基于SSH安全协议的文件传输管理工具.由于它是基于SSH的,会在传输过程中对用户的密码.数据等敏感信息进行加密,因此可以有效的防止用户信息在传输的过程中被窃取,比FTP有更高的安全性.在功能方面与FTP很类似,不仅可以传输文件数据,而且可以进行远程的文件管理(如建立,删除,查看文件列表等操作).Sftp与ftp虽然只有一字之差,但基于

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

http://www.cnblogs.com/qmfsun/p/3810905.html Linux网卡绑定探析 2013-08-20 15:39:31 现在很多服务器都自带双千兆网口,利用网卡绑定既能增加网络带宽,同时又能做相应的冗余,目前应用于很多的场景.linux操作系统下自带的网卡绑定模式,Linux bonding驱动提供了一个把多个网络接口设备捆绑为单个网络接口设置来使用,用于网络负载均衡及网络冗余.当然现在网卡产商也会出一些针对windows操作系统网卡管理软件来做网卡绑定(win

Linux下双网卡绑定bond0

一:原理: linux操作系统下双网卡绑定有七种模式.现在一般的企业都会使用双网卡接入,这样既能添加网络带宽,同时又能做相应的冗余,可以说是好处多多.而一般企业都会使用linux操作系统下自带的网卡绑定模式,当然现在网卡产商也会出一些针对windows操作系统网卡管理软件来做网卡绑定(windows操作系统没有网卡绑定功能 需要第三方支持). 进入正题,linux有七种网卡绑定模式: 0. round robin; 1.active-backup; 2.load balancing (xor);

两种常用的全排列算法(java)

问题:给出一个字符串,输出所有可能的排列. 全排列有多种算法,此处仅介绍常用的两种:字典序法和递归法. 1.字典序法: 如何计算字符串的下一个排列了?来考虑"926520"这个字符串,我们从后向前找第一双相邻的递增数字,"20"."52"都是非递增的,"26 "即满足要求,称前一个数字2为替换数,替换数的下标称为替换点,再从后面找一个比替换数大的最小数(这个数必然存在),0.2都不行,5可以,将5和2交换得到"956

android环境下两种md5加密方式

在平时开发过程中,MD5加密是一个比较常用的算法,最常见的使用场景就是在帐号注册时,用户输入的密码经md5加密后,传输至服务器保存起来.虽然md5加密经常用,但是md5的加密原理我还真说不上来,对md5的认知目前仅仅停留在会使用的水平,想搞清楚还是要花点时间的,这是md5加密算法的相关介绍.本文主要介绍android平台下两种md5加密方式,分别为基于java语言的md5加密及ndk环境下基于c语言的md5加密. 下面代码为基于java语言的md5加密: public String getMD5

二十八、Linux下Vim工具常用命令

在linux下做开发,甚至是只做管理维护工作,也少不了Vim的使用.作为一个新手,我也是刚刚接触,本节将我日常使用或收集的Vim常用命令记录下来. 当然,直接在命令行上输入:vimtutor,就可以学习到Vim的所有命令了.Vim很强大,很多牛人在vim里集成很多插件什么的,但这里只介绍基本vim命令 移动命令 h "左 j "下 k "上 l "右 w "光标移动到下一个单词的首字符 a word forward b "光标移动到上一个单词的首