Linux- Bond

---------------check NIC-----------------

①mii-tool 命令 
②ethtool 命令 -i 参数,显示网卡的驱动信息, -S 参数,底层工作状态信息
③dmesg | grep eth0 命令
---------------IP alias-------------------
IP别名:后面的eth0:0 表示,我们给eth0这块网卡增加一个IP别名,后面那个0表示别名号,第二个别名就可以写成 eth0:1

---------------Bonding.conf---------------
vi /etc/modprobe.d/bonding.conf

alias bond0 bonding
options bond0 miimon=100 mode=0

vi /etc/sysconfig/network-scripts/ifcfg-bond0

DEVICE=bond0
ONBOOT=yes
BOOTPROTO=none 
USERCTL=no 
BONDING_OPTS="mode=1 miimon=5" 
---------------NIC.conf-------------------
vi ifcfg-eth0、ifcfg-eth1,内容分别如下:

BOOTPROTO=none
USERCTL=no
MASTER=bond0
SLAVE=yes
---------------Mark----------------------
1./etc/modprobe.d/bonding.conf
2.BONDING_OPTS="mode=0 miimon=100" :in bond0

---------------Status----------------------
cat /proc/net/bonding/bond0

二、七种bond模式说明:

第一种模式:mod=0 ,即:(balance-rr) Round-robin policy(平衡抡循环策略)

特点:传输数据包顺序是依次传输(即:第1个包走eth0,下一个包就走eth1….一直循环下去,直到最后一个传输完毕),此模式提供负载平衡和容错能力;但是我们知道如果一个连接或者会话的数据包从不同的接口发出的话,中途再经过不同的链路,在客户端很有可能会出现数据包无序到达的问题,而无序到达的数据包需要重新要求被发送,这样网络的吞吐量就会下降

第二种模式:mod=1,即: (active-backup) Active-backup policy(主-备份策略)

特点:只有一个设备处于活动状态,当一个宕掉另一个马上由备份转换为主设备。mac地址是外部可见得,从外面看来,bond的MAC地址是唯一的,以避免switch(交换机)发生混乱。此模式只提供了容错能力;由此可见此算法的优点是可以提供高网络连接的可用性,但是它的资源利用率较低,只有一个接口处于工作状态,在有 N 个网络接口的情况下,资源利用率为1/N

第三种模式:mod=2,即:(balance-xor) XOR policy(平衡策略)

特点:基于指定的传输HASH策略传输数据包。缺省的策略是:(源MAC地址 XOR 目标MAC地址) % slave数量。其他的传输策略可以通过xmit_hash_policy选项指定,此模式提供负载平衡和容错能力

第四种模式:mod=3,即:broadcast(广播策略)

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

第五种模式:mod=4,即:(802.3ad) IEEE 802.3adDynamic link aggregation(IEEE 802.3ad 动态链接聚合)

特点:创建一个聚合组,它们共享同样的速率和双工设定。根据802.3ad规范将多个slave工作在同一个激活的聚合体下。

外出流量的slave选举是基于传输hash策略,该策略可以通过xmit_hash_policy选项从缺省的XOR策略改变到其他策略。需要注意的是,并不是所有的传输策略都是802.3ad适应的,尤其考虑到在802.3ad标准43.2.4章节提及的包乱序问题。不同的实现可能会有不同的适应性。

必要条件:

条件1:ethtool支持获取每个slave的速率和双工设定

条件2:switch(交换机)支持IEEE 802.3ad Dynamic link aggregation

条件3:大多数switch(交换机)需要经过特定配置才能支持802.3ad模式

第六种模式:mod=5,即:(balance-tlb) Adaptive transmit load balancing(适配器传输负载均衡)

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

该模式的必要条件:ethtool支持获取每个slave的速率

第七种模式:mod=6,即:(balance-alb) Adaptive load balancing(适配器适应性负载均衡)

特点:该模式包含了balance-tlb模式,同时加上针对IPV4流量的接收负载均衡(receive load balance, rlb),而且不需要任何switch(交换机)的支持。接收负载均衡是通过ARP协商实现的。bonding驱动截获本机发送的ARP应答,并把源硬件地址改写为bond中某个slave的唯一硬件地址,从而使得不同的对端使用不同的硬件地址进行通信。

时间: 2024-10-25 19:48:40

Linux- Bond的相关文章

Linux Bond的原理及其不足

http://www.tektea.com/archives/1969.html. 在企业及电信Linux服务器环境上,网络配置都会使用Bonding技术做网口硬件层面的冗余,防止单个网口应用的单点故障. Linux Bond的配置很简单,当下网络上也有很多资料,这里我们就不介绍了.我们在这篇文章中介绍Linux Bond的原理及其不足. 原理 Linux Bond有两种典型的模式:主备,负载均衡.无论哪种模式,Bonding技术都是通过更改Linux的网口驱动,来实现网口故障后平滑切换的. 主

Linux Bond 技术学习资料

Bond 技术原理 Bond 就是将多块网卡虚拟成为一块网卡的技术,通过 bond 技术让多块网卡看起来是一个单独的以太网接口设备并具有相同的 IP 地址. Bond 的原理是网卡在混杂 (promisc) 模式下运行:在这种模式下,网卡不像在通常情况下,只接收目的硬件地址是自身 Mac 的以太网帧,对于别的数据帧都滤掉,以减轻驱动程序的负担:而是接收网络上所有的数据帧,而且修改了驱动程序中的 mac 地址,将两块网卡的 Mac 地址改成相同,可以接收特定 mac 的数据帧,然后把相应的数据帧传

linux bond配置步骤,七种bond模式说明

一.网卡绑定: 第一步:创建一个ifcfg-bondX # vi /etc/sysconfig/network-scripts/ifcfg-bond0 DEVICE=bond0 BONDING_OPTS="mode=0 miimon=100" BOOTPROTO=none ONBOOT=yes BROADCAST=192.168.0.255 IPADDR=192.168.0.180 NETMASK=255.255.255.0 NETWORK=192.168.0.0 USERCTL=no

linux bond 修改模式

bond 有7种模式,这是众所周知的.但是遇到这个奇怪的问题. 我想把bond从模式0改为模式1. 操作步骤是,修改/etc/modprobe.d/bonding.conf,把mode=0,改为了mode=1 alias bond0 bonding options bond0 mode=1 miimon=200 然后重启网卡. 通过,查看/proc/net/bonding/bond0,发现模式为round robin,也就是没变化. 尝试了,修改/etc/sysconfig/network-sc

linux bond 配置步骤

一.网卡绑定: 1:创建一个ifcfg-bond0 #cd /etc/sysconfig/network-scripts/ #vi ifcfg-bond0 DEVICE=bond0 TYPE=Ethernet ONBOOT=yes BOOTPROTO=static IPADDR=10.5.20.13 NETMASK=255.255.252.0 GATEWAY=10.5.20.253 BONDING_OPTS="mode=0 miimon=100" ##mode有多种模式实现不同的功能

Linux Bonding最优配置

配置Linux bond配置: 配置网卡eth0使用的命令如下: cat /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 BOOTPROTO=none ONBOOT=yes USERCTL=no MASTER=bond0 SLAVE=yes 配置网卡eth1使用的命令如下: cat /etc/sysconfig/network-scripts/ifcfg-eth1 DEVICE=eth1 BOOTPROTO=none ONBOOT=ye

linux 单网卡绑定多IP及BONGDING的实现

Linux Bond 1 bond 的概念 Linux双网卡绑定实现就是使用两块网卡虚拟成为一块网卡,这个聚合起来的设备看起来是一个单独的以太网接口设备,通俗点讲就是两块网卡具有相同的IP地址而并行链接聚合成一个逻辑链路工作. 2 bond 技术的由来 这项 技术在Sun和Cisco中早已存在,被称为Trunking和Etherchannel技术,在Linux的2.4.x的内核中也采用这这种技术,被称为bonding. 3 bond 工作原理 在正常情况下,网卡只接收目的硬件地址(MAC Add

Linux 双网卡绑定技术

bond技术是在linux2.4以后加入内核. 一般步骤是1.把bonding模块加入内核, 2 编辑要绑定的网卡设置,去除地址设定 3 添加bond设备,设置地址等配置 4  重启网络 5 在交换机上做支持 具体信息看  内核文档 Documentation/networking/bonding.txt 参考实例: Linux 双网卡绑定一个IP地址,实质工作就是使用两块网卡虚拟为一块,使用同一个IP地址,是我们能够得到更好的更快的服务.其实这项技术在Sun和Cisco 中早已存在,被称为Tr

Linux网卡bond的七种模式详解

像Samba.Nfs这种共享文件系统,网络的吞吐量非常大,就造成网卡的压力很大,网卡bond是通过把多个物理网卡绑定为一个逻辑网卡,实现本地网卡的冗余,带宽扩容和负载均衡,具体的功能取决于采用的哪种模式. 一.bond的七种模式介绍:1.mode=0(balance-rr)(平衡抡循环策略)链路负载均衡,增加带宽,支持容错,一条链路故障会自动切换正常链路.交换机需要配置聚合口,思科叫port channel.特点:传输数据包顺序是依次传输(即:第1个包走eth0,下一个包就走eth1-.一直循环

vmware虚拟机环境下linux网卡做bond配置

vmware workstation 12 常规真机环境下,给网卡做bond配置如下(假设是bond0): 1.ifcfg-eth0 DEVICE=eth0 ONBOOT=yes MASTER=bond0 BOOTPROTO=none SLAVE=yes 2.ifcfg-eth1 DEVICE=eth1 BOOTPROTO=none MASTER=bond0 SLAVE=yes ONBOOT=yes 3.ifcfg-bond0 DEVICE=bond0 BOOTPROTO=static IPAD