bonding配置和介绍

bonding配置和介绍
bonding配置和介绍

Linux 多网卡绑定

网卡绑定mode共有七种(0~6) bond0、bond1、bond2、bond3、bond4、bond5、bond6 常用的有三种

mode=0:平衡负载模式,有自动备援,但需要”Switch”支援及设定。

mode=1:自动备援模式,其中一条线若断线,其他线路将会自动备援。

mode=6:平衡负载模式,有自动备援,不必”Switch”支援及设定。

需要说明的是如果想做成mode 0的负载均衡,仅仅设置这里options bond0 miimon=100 mode=0是不够的,与网卡相连的交换机必须做特殊配置(这两个端口应该采取聚合方式),因为做bonding的这两块网卡是使用同一个MAC地址.从原理分析一下(bond运行在mode 0下):

mode 0下bond所绑定的网卡的IP都被修改成相同的mac地址,如果这些网卡都被接在同一个交换机,那么交换机的arp表里这个mac地址对应的端口就有多个,那么交换机接受到发往这个mac地址的包应该往哪个端口转发呢?正常情况下mac地址是全球唯一的,一个mac地址对应多个端口肯定使交换机迷惑了。所以 mode0下的bond如果连接到交换机,交换机这几个端口应该采取聚合方式(cisco称为 ethernetchannel,foundry称为portgroup),因为交换机做了聚合后,聚合下的几个端口也被捆绑成一个mac地址.我们的解决办法是,两个网卡接入不同的交换机即可。

mode6模式下无需配置交换机,因为做bonding的这两块网卡是使用不同的MAC地址。七种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.3ad Dynamic 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的唯一硬件地址,从而使得不同的对端使用不同的硬件地址进行通信。

来自服务器端的接收流量也会被均衡。当本机发送ARP请求时,bonding驱动把对端的IP 信息从ARP包中复制并保存下来。当ARP应答从对端到达时,bonding驱动把它的硬件地址提取出来,并发起一个ARP应答给bond中的某个slave。使用ARP协商进行负载均衡的一个问题是:每次广播 ARP请求时都会使用bond的硬件地址,因此对端学习到这个硬件地址后,接收流量将会全部流向当前的slave。这个问题可以通过给所有的对端发送更新(ARP应答)来解决,应答中包含他们独一无二的硬件地址,从而导致流量重新分布。当新的slave加入到bond中时,或者某个未激活的slave重新激活时,接收流量也要重新分布。接收的负载被顺序地分布(round robin)在bond中最高速的slave上

当某个链路被重新接上,或者一个新的slave加入到bond中,接收流量在所有当前激活的slave中全部重新分配,通过使用指定的MAC地址给每个 client发起ARP应答。下面介绍的updelay参数必须被设置为某个大于等于switch(交换机)转发延时的值,从而保证发往对端的ARP应答不会被switch(交换机)阻截。

必要条件:

条件1:ethtool支持获取每个slave的速率;

条件2:底层驱动支持设置某个设备的硬件地址,从而使得总是有个slave(curr_active_slave)使用bond的硬件地址,同时保证每个bond 中的slave都有一个唯一的硬件地址。如果curr_active_slave出故障,它的硬件地址将会被新选出来的 curr_active_slave接管

其实mod=6与mod=0的区别:mod=6,先把eth0流量占满,再占eth1,….ethX;而mod=0的话,会发现2个口的流量都很稳定,基本一样的带宽。而mod=6,会发现第一个口流量很高,第2个口只占了小部分流量

Linux网口绑定

通过网口绑定(bond)技术,可以很容易实现网口冗余,负载均衡,从而达到高可用高可靠的目的。前提约定:

2个物理网口分别是:eth0,eth1

绑定后的虚拟口是:bond0

服务器IP是:192.168.0.100

第一步,配置设定文件:

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

DEVICE=bond0

BOOTPROTO=none

ONBOOT=yes

IPADDR=10.10.1.102

NETMASK=255.255.255.0

NETWORK=10.10.1.254

BROADCAST=192.168.0.255

#BROADCAST广播地址

/etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0

BOOTPROTO=none

MASTER=bond0

SLAVE=yes

/etc/sysconfig/network-scripts/ifcfg-eth1

DEVICE=eth1

BOOTPROTO=none

MASTER=bond0

SLAVE=yes

第二步,修改modprobe相关设定文件,并加载bonding模块:

1.在这里,我们直接创建一个加载bonding的专属设定文件/etc/modprobe.d/bonding.conf [root@test ~]# vi /etc/modprobe.d/bonding.conf

#追加

alias bond0 bonding

options bonding mode=0 miimon=200

2.加载模块(重启系统后就不用手动再加载了)

[root@test ~]# modprobe bonding

3.确认模块是否加载成功:

[root@test ~]# lsmod | grep bonding

bonding 100065 0

第三步,重启一下网络,然后确认一下状况:

[root@test ~]# /etc/init.d/network restart

[root@test ~]# cat /proc/net/bonding/bond0

Ethernet Channel Bonding Driver: v3.5.0 (November 4, 2008)

Bonding Mode: fault-tolerance (active-backup)

Primary Slave: None

Currently Active Slave: eth0

……

[root@test ~]# ifconfig | grep HWaddr

bond0 Link encap:Ethernet HWaddr 00:16:36:1B:BB:74

eth0 Link encap:Ethernet HWaddr 00:16:36:1B:BB:74

eth1 Link encap:Ethernet HWaddr 00:16:36:1B:BB:74

从上面的确认信息中,我们可以看到3个重要信息:

1.现在的bonding模式是active-backup

2.现在Active状态的网口是eth0

3.bond0,eth1的物理地址和处于active状态下的eth0的物理地址相同,这样是为了避免上位交换机发生混乱。

任意拔掉一根网线,然后再访问你的服务器,看网络是否还是通的。

第四步,系统启动自动绑定、增加默认网关:

[root@test ~]# vi /etc/rc.d/rc.local

#追加

ifenslave bond0 eth0 eth1

route add default gw 192.168.0.1

#如可上网就不用增加路由,0.1地址按环境修改.

------------------------------------------------------------------------

留心:前面只是2个网口绑定成一个bond0的情况,如果我们要设置多个bond口,比如物理网口eth0和eth1组成bond0,eth2和eth3组成bond1,

那么网口设置文件的设置方法和上面第1步讲的方法相同,只是

/etc/modprobe.d/bonding.conf的设定就不能像下面这样简单的叠加了:

alias bond0 bonding

options bonding mode=1 miimon=200

alias bond1 bonding

options bonding mode=1 miimon=200

正确的设置方法有2种:

第一种,你可以看到,这种方式的话,多个bond口的模式就只能设成相同的了:

alias bond0 bonding

alias bond1 bonding

options bonding max_bonds=2 miimon=200 mode=1

第二种,这种方式,不同的bond口的mode可以设成不一样:

alias bond0 bonding

options bond0 miimon=100 mode=1

install bond1 /sbin/modprobe bonding -o bond1 miimon=200 mode=0

仔细看看上面这2种设置方法,现在如果是要设置3个,4个,甚至更多的bond口,你应该也会了吧!

后记:简单的介绍一下上面在加载bonding模块的时候,options里的一些参数的含义:miimon 监视网络链接的频度,单位是毫秒,我们设置的是200毫秒。

max_bonds 配置的bond口个数

mode bond模式,主要有以下几种,在一般的实际应用中,0和1用的比较多,

技术积累之linux bonding

目录 bonding的介绍 (3) bonding的应用 (3) bonding的参数详解 (3) bonding的模式 (5) bonding的链路监控 (6) bonding的配置 (7) 单个bonding的主备模式的配置 (7) 单个bonding带arp监控的主备模式 (10) 多个不同模式bonding的混合配置 (11) bonding的子接口配置 (12) 总结 (13)

?bonding的介绍 linux bonding 驱动提供了一个把多个网络接口设备捆绑为单个的网络接口设置来使用,用于网络负载均衡及网络冗余。 ●bonding的应用 1、网络负载均衡; 对于bonding的网络负载均衡是我们在文件服务器中常用到的,比如把三块网卡,当做一块来用,解决一个IP地址,流量过大,服务器网络压力过大的问题。如果在内网中,文件服务器为了管理和应用上的方便,大多是用同一个IP地址。对于一个百M的本地网络来说,文件服务器在多个用户同时使用的情况下,网络压力是极大的,为了解决同一个IP地址,突破流量的限制,毕竟网线和网卡对数据的吞吐量是有限制的。如果在有限的资源的情况下,实现网络负载均衡,最好的办法就是bonding 。 2、网络冗余; 对于服务器来说,网络设备的稳定也是比较重要的,特别是网卡。大多通过硬件设备的冗余来提供服务器的可靠性和安全性,比如电源。bonding 也能为网卡提供冗余的支持。把网个网卡绑定到一个IP地址,当一块网卡发生物理性损坏的情况下,另一块网卡也能提供正常的服务。 ●. Bonding参数详解 Bonding驱动的选项是通过在加载时指定参数来设定的。可以通过insmod 或modprobe命令的命令行参数来指定,但通常在/etc /modules.conf或 /etc/modprobe.conf配置文件中指定. 下面列出可用的bonding驱动参数。如果 参数没有指定,驱动会使用缺省参数。刚开始配置bond的时候,建议在一个 终端窗口中运行"tail -f /var/log/messages"来观察bonding驱动的错误信息.有些 参数必须要正确的设定,比如miimon、arp_interval和arp_ip_target,否则在链 接故障时会导致严重的网络性能退化。有些选项不仅支持文本值的设定,出于 兼容性的考虑,也支持数值的设定,比如,"mode=802.3ad"和"mode=4"效果是 一样的。 2

liunx配置bond4

[root@zh]#vi /etc/sysconfig/network-scripts/ifcfg-em1 配置如下: DEVICE=em1 NAME=em1 TYPE=Ethernet BOOTPROTO=none ONBOOT=yes MASTER=bond4 SLAVE=yes 保存退出 [root@zh]#vi /etc/sysconfig/network-scripts/ifcfg-em2 配置如下: DEVICE=em2 NAME=em2 TYPE=Ethernet BOOTPROTO=none ONBOOT=yes MASTER=bond4 SLAVE=yes 保存退出 配置bond4 [root@zh]#vi /etc/sysconfig/network-scripts/ifcfg-bond4 配置如下: DEVICE=bond4 NAME=bond4 TYPE=Bond BONDING_MASTER=yes IPADDR=192.168.1.100 NETMASK=255.255.255.0 GATEWAY=192.168.1.254 DNS1=192.168.2.254 PEERDNS=yes ONBOOT=yes BOOTPROTO=static BONDING_OPTS="mode=802.3ad miimon=100 lacp_rate=fast arp_validate=0" 保存退出 [root@zh]#chkconfig NetworkManager off [root@zh]#service NetworkManager stop [root@zh]#service network restart 重启网卡服务 [root@zh]#cat /proc/net/bonding/bond4 查看bonding状态

详解双网卡绑定

Linux下的双网卡绑定bond0 em1 em2 一、什么是bonding Linux bonding 驱动提供了一个把多个网络接口设备捆绑为单个的网络接口设置来使用,用于网络负载均衡及网络冗余 二、bonding应用方向 1、网络负载均衡 对于bonding的网络负载均衡是我们在文件服务器中常用到的,比如把三块网卡,当做一块来用,解决一个IP地址,流量过大,服务器网络压力过大的问题。对于文件服务器来说,比如NFS或SAMBA文件服务器,没有任何一个管理员会把内部网的文件服务器的IP地址弄很多个来解决网络负载的问题。如果在内网中,文件服务器为了管理和应用上的方便,大多是用同一个IP地址。对于一个百M的本地网络来说,文件服务器在多个用户同时使用的情况下,网络压力是极大的,特别是SAMABA和NFS服务器。为了解决同一个IP地址,突破流量的限制,毕竟网线和网卡对数据的吞吐量是有限制的。如果在有限的资源的情况下,实现网络负载均衡,最好的办法就是bonding 2、网络冗余 对于服务器来说,网络设备的稳定也是比较重要的,特别是网卡。在生产型的系统中,网卡的可靠性就更为重要了。在生产型的系统中,大多通过硬件设备的冗余来提供服务器的可靠性和安全性,比如电源。bonding 也能为网卡提供冗余的支持。把多块网卡绑定到一个IP地址,当一块网卡发生物理性损坏的情况下,另一块网卡自动启用,并提供正常的服务,即:默认情况下只有一块网卡工作,其它网卡做备份 三、bonding实验环境及配置 1、实验环境 系统为:CentOS,使用2块网卡(em1、em2 ==> bond0)来实现bonding技术 2、bonding配置 第一步:先查看一下内核是否已经支持bonding 1)如果内核已经把bonding编译进内核,那么要做的就是加载该模块到当前内核;其次查看ifenslave该工具是否也已经编译 modprobe -l bond* 或者modinfo bonding modprobe bonding lsmod | grep 'bonding' echo 'modprobe bonding &> /dev/null' >> /etc/rc.local(开机自动加载bonding模块到内核) which ifenslave 注意:默认内核安装完后就已经支持bonding模块了,无需要自己手动编译 2)如果bonding还没有编译进内核,那么要做的就是编译该模块到内核 (1)编译bonding tar -jxvf kernel-XXX.tar.gz cd kernel-XXX

linux的网络接口以及详细配置讲解

Linux 网络接口2012-06-21 10:29:45 分类:LINUX 在 Linux 中,所有的网络通讯都发生在软件接口与物理网络设备之间。与网络接口配置相关的文件,以及控制网络接口状态的脚本文件,全都位于 /etc/sysconfig/netwrok-scripts/ 目录下。虽然在不同的系统之间,这些文件的类型和数量并不一定相同,但大致来讲,都包含以下几类与网络相关的配置文件: 1.网络接口配置文件 2.网络接口控制脚本 3.与网络相关的函数库文件(function files) 各种的网络设备都需要用到这些文件保证设备的正常动作 本章将深入探讨这些文件的用途,以及使用它们的方式。 Linux 网络接口 网络接口配置文件 在 Linux 中,网络接口配置文件用于控制系统中的软件网络接口,并通过接口实现对网络设备的控制。当系统启动时,系统通过这些接口配置文件决定启动哪些接口,以及如此对这些接口进行配置。 在 Linux 中,网络接口配置文件用于控制系统中的软件网络接口,并通过这些接口实现对网络设备的控制。当系统启动时,系统通过这些接口配置文件决定启动哪些接口,以及如何对这些接口进行配置。接口配置文件的名称通常类似于 ifcfg-,其中 与配置文件所控制的设备的名称相关。 在所有的网络接口中,我们日常中最常用到的接口类型就是以太网接口。

以太网接口 在所有的网络配置文件中,最常用的就是 ifcfg-eth0,因为它是系统中第一块网卡的配置文件。如果系统中有多块网卡,ifcfg-eth 后面的数字就会依次递增。正因为每个设备都有对应的一个配置文件,因此管理员也能够单独地控制每一个设备。 以下是一个 ifcfg-eth0 配置文件的示例,在配置中已经为网卡设置好了 IP 地址。 DEVICE=eth0 BOOTPROTO=none ONBOOT=yes NETWORK=10.0.1.0 NETMASK=255.255.255.0 IPADDR=10.0.1.27 USERCTL=no // 是否允许非root用户控制网卡 在接口配置文件中,选项之间存在着一些关联,如果不像上例中那样使用固定 IP,使用 DHCP 获取 IP 地址的配置文件又会不一样。以下就是将网卡配置成通过 DHCP 获取 IP 地址的配置: DEVICE=eth0 BOOTPROTO=dhcp ONBOOT=yes 使用网络管理工具(system-config-network) 对网络接口文件进行更改是比较方便的一种方式,但通过学习手动更改配置文件,能够更好的在各种 Linux 发行版中执行网络配置的工作。 有关网络管理工具的使用方法,可以参考下一章翻译文档 - 《Fedora/Linux 网络配置工具》 下面是以太网接口配置文件中常用的一些选项:

Centos 7 配置多网卡bond0 及网桥br0

Centos 7 配置多网卡bond0 及网桥br0 一.配置多网卡bonding 1.手动添加bond0配置,如: vim/etc/sysconfig/network-scripts/ifcfg-bond0 DEVICE=bond0 BONDING_OPTS="miimon=100 fail_over_mac=1 mode=active-backup" TYPE=Bond BONDING_MASTER=yes BOOTPROTO=none IPADDR=192.16.100.65 PREFIX=16 GATEWAY=192.16.0.1 DNS1=223.6.6.6 DNS2=223.5.5.5 DEFROUTE=yes IPV4_FAILURE_FATAL=no IPV6INIT=no NAME=bond0 ONBOOT=yes 2.设置网卡1 vim/etc/sysconfig/network-scripts/ifcfg-em1 TYPE=Ethernet NAME=em1 DEVICE=em1 ONBOOT=yes MASTER=bond0 SLAVE=yes 3.设置网卡2 vim/etc/sysconfig/network-scripts/ifcfg-em2 TYPE=Ethernet NAME=em4 DEVICE=em4 ONBOOT=yes MASTER=bond0 SLAVE=yes 重启网卡生效:systemctl restart network

二.配置网桥模式br0 1.修改bond0配置,去掉IP配置及添加bridge vim/etc/sysconfig/network-scripts/ifcfg-bond0 DEVICE=bond0 BONDING_OPTS="miimon=100 fail_over_mac=1 mode=active-backup" TYPE=Bond BONDING_MASTER=yes BOOTPROTO=none DEFROUTE=yes IPV4_FAILURE_FATAL=no IPV6INIT=no NAME=bond0 ONBOOT=yes NM_CONTROLLED=no BRIDGE=br0 2.添加br0配置 vim/etc/sysconfig/network-scripts/ifcfg-br0 DEVICE=br0 TYPE=Bridge BOOTPROTO=static IPADDR=192.16.100.66 PREFIX=16 GATEWAY=192.16.0.1 DNS1=223.5.5.5 DNS2=223.6.6.6 DEFROUTE=yes NAME=br0 ONBOOT=yes 重启网卡生效:systemctl restart network

多bond模式配置

一、双bond配置 注释:此配置文档为单台服务器网卡配置不同的bond模式,bond模式自行参考修改。 截图实验的Linux环境版本为redhat 6.4 1.配置网卡信息 所需要配置的网卡文件: 路径为:/etc/sysconfig-/network-scripts

1)配置ethX网卡 1.BOOTPROTO=none/dhcp/static 网卡的IP地址的获取模式:自动/自动分配/静态2.ONBOOT=yes/no 当系统启动时,是否激活网卡:激活/不激活 https://www.360docs.net/doc/807916293.html,ERCTL=no 是否允许非root用户控制该设备。 4.MASTER=bond2 指定bond的模式。

配置bond网卡 2)配置bond模块信息

3)关闭NetworkManager服务 # /etc/init.d/NetworkManager stop # chkconfig NetworkManager off 4)重启网络 #service network restart 5)查看bond状态 # cat/proc/net/bonding/bond* 6)常用命令 关闭网卡: Ifdown eth* 开启网卡 Ifup eth* 1.Mode=0(balance-rr) 表示负载分担round-robin,和交换机的聚合强制不协商的方式配 合。 2.Mode=1(active-backup) 表示主备模式,只有一块网卡是active,另外一块是备的 standby,这时如果交换机配的是捆绑,将不能正常工作,因为交换机往两块网卡发包,有一半包是丢弃的。 3.Mode=2(balance-xor) 表示XOR Hash负载分担,和交换机的聚合强制不协商方式配 合。(需要xmit_hash_policy) 4.Mode=3(broadcast) 表示所有包从所有interface发出,这个不均衡,只有冗余机制... 和交换机的聚合强制不协商方式配合。 5.Mode=4(802.3ad) 表示支持802.3ad协议,和交换机的聚合LACP方式配合(需要 xmit_hash_policy) 6.Mode=5(balance-tlb) 是根据每个slave的负载情况选择slave进行发送,接收时使用 当前轮到的slave 7.Mode=6(balance-alb) 在5的tlb基础上增加了rlb。

linux多网卡绑定聚合——bond技术

linux多网卡绑定聚合——bond技术2012-03-06 13:49:36 分类:LINUX 将多个Linux网络端口绑定为一个,可以提升网络的性能,比如对于备份服务器,需要在一个晚上备份几个T的数据,如果使用单个的千兆网口将会是很严重的瓶颈。其它的应用,比如ftp服务器,高负载的下载网站, 都有类似的问题。因此使用Linux teaming或bond来绑定多个网卡作为一个逻辑网口,配置单个的IP地址,会大幅提升服务器的网络吞吐(I/O)。 Linux的多网卡绑定功能使用的是内核中的"bonding"模块,关于此模块可以参考Linux Ethernet Bonding Driver文档, 但是目前发布各个Linux版本内核均已包含了此模块,大多数情况下不需要重新编译内核。Linux 的bonding 驱动提供了绑定/集成(bond)多个网卡为一个虚拟逻辑网口的功能。并请注意绑定的网口(bonded)有多种工作模式; 一般来说,分为热后备(hot standby) 和负载均衡(load balancing). 在Redhat/Fedora和其它类Redhat Linux中是比较容易配置的。 1.创建bond0配置文件 vi /etc/sysconfig/network-scripts/ifcfg-bond0 DEVICE=bond0 --物理设备名字 IPADDR=192.168.1.1 --IP地址 NETMASK=255.255.255.0 --子网掩码 NETWORK=192.168.1.0 --所属子网 BROADCAST=192.168.1.255 --广播地址 GATEWAY=192.168.1.254 --网关 ONBOOT=yes --随机启动 BOOTPROTO=none USERCTL=no --是否允许非root用户控制该设备 2.修改被绑定的eth0和eth1的配置文件 vi /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 USERCTL=no ONBOOT=yes MASTER=bond0 *** SLAVE=yes *** BOOTPROTO=none HWADDR=00:15:17:CC:FC:35 eth1的配置文件与之相同,只是device的值改为eth1即可。

linu中bonding配置步骤详解

l i n u中b o n d i n g配置 步骤详解 Revised by Petrel at 2021

本文介绍linux下的bonding技术,linux2.4.x的内核中采用了这种技术,利用bonding技术可以将多块网卡接口通过绑定虚拟成为一块网卡,在用户看来这个聚合起来的设备好像是一个单独的以太网接口设备,通俗点讲就是多块网卡具有相同的IP地址而并行连接聚合成一个逻辑链路工作。 二、bond的几种算法 Linux的bond支持7种工作模式,可以参考内核源码包文件: Documentation/networking/bonding.txt。这里逐一介绍。 模式1:mode=0,即:(balance-rr)Round-robinpolicy(平衡轮循策略) 特点:传输数据包顺序是依次传输(即:第1个包走eth0,下一个包就走eth1….一直循环下去,直到最后一个传输完毕),此模式提供负载平衡和容错能力;但是我们知道如果一个连接或者会话的数据包从不同的接口发出的话,中途再经过不同的链路,在客户端很有可能会出现数据包无序到达的问题,而无序到达的数据包需要重新要求被发送,这样网络的吞吐量就会下降。 模式2:mode=1,即:(active-backup)Active-backuppolicy(主-备份策略) 特点:只有一个设备处于活动状态,当一个宕掉另一个马上由备份转换为主设备。mac地址是外部可见得,从外面看来,bond的MAC地址是唯一的,以避免switch(交换机)发生混乱。此模式只提供了容错能力;由此可见此算法的优点是可以提供高网络连接的可用性,但是它的资源利用率较低,只有一个接口处于工作状态,在有N个网络接口的情况下,资源利用率为1/N 模式3:mode=2,即:(balance-xor)XORpolicy(平衡策略) 特点:基于指定的传输HASH策略传输数据包。缺省的策略是:(源MAC地址XOR目标MAC地址)%slave数量。其他的传输策略可以通过xmit_hash_policy选项指定,此模式提供负载平衡和容错能力。 模式4:mode=3,即:broadcast(广播策略) 特点:在每个slave接口上传输每个数据包,此模式提供了容错能力。 模式5:mode=4,即:(802.3ad)IEEE802.3adDynamiclinkaggregation(IEEE802.3ad动态链接聚合) 特点:创建一个聚合组,它们共享同样的速率和双工设定。根据802.3ad规范将多个slave 工作在同一个激活的聚合体下。 外出流量的slave选举是基于传输hash策略,该策略可以通过xmit_hash_policy选项从缺省的XOR策略改变到其他策略。需要注意的是,并不是所有的传输策略都是802.3ad适应的,尤其考虑到在802.3ad标准43.2.4章节提及的包乱序问题。不同的实现可能会有不同的适应性。 必要条件:

linux下网卡bond配置

Linux 7.x OS bond配置 一、bonding技术 bonding(绑定)是一种linux系统下的网卡绑定技术,可以把服务器上n个物理网卡在系统内部抽象(绑定)成一个逻辑上的网卡,能够提升网络吞吐量、实现网络冗余、负载等功能,有很多优势。 bonding技术是linux系统内核层面实现的,它是一个内核模块(驱动)。使用它需要系统有这个模块, 我们可以modinfo命令查看下这个模块的信息, 一般来说都支持. # modinfo bonding filename: /lib/modules/2.6.32-642.1.1.el6.x86_64/kernel/drivers/net/bonding/bonding.ko author: Thomas Davis, tadavis@https://www.360docs.net/doc/807916293.html, and many others description: Ethernet Channel Bonding Driver, v3.7.1 version: 3.7.1 license: GPL alias: rtnl-link-bond srcversion: F6C1815876DCB3094C27C71 depends: vermagic: 2.6.32-642.1.1.el6.x86_64 SMP mod_unloadmodversions parm: max_bonds:Max number of bonded devices (int) parm: tx_queues:Max number of transmit queues (default = 16) (int) parm: num_grat_arp:Number of peer notifications to send on failover event (alias of num_unsol_na) (int) parm: num_unsol_na:Number of peer notifications to send on failover event (alias of num_grat_arp) (int) parm: miimon:Link check interval in milliseconds (int) parm: updelay:Delay before considering link up, in milliseconds (int) parm: downdelay:Delay before considering link down, in milliseconds (int) parm: use_carrier:Usenetif_carrier_ok (vs MII ioctls) in miimon; 0 for off, 1 for on (default) (int) parm: mode:Mode of operation; 0 for balance-rr, 1 for active-backup, 2 for balance-xor, 3 for broadcast, 4 for 802.3ad, 5 for balance-tlb, 6 for balance-alb (charp) parm: primary:Primary network device to use (charp) parm: primary_reselect:Reselect primary slave once it comes up; 0 for always (default), 1 for only if speed of primary is better, 2 for only on active slave failure (charp) parm: lacp_rate:LACPDUtx rate to request from 802.3ad partner; 0 for slow, 1 for fast (charp) parm: ad_select:803.ad aggregation selection logic; 0 for stable (default), 1 for bandwidth, 2 for count (charp) parm: min_links:Minimum number of available links before turning on carrier (int)

ifenslave实现bond

以下所有操作均在root用户下完成 1.关闭network-manager systemctl disable network-manager systemctl disable NetworkManager-wait-online.service /etc/init.d/network-manager stop 查看network-manager状态systemctl status network-manager确认关闭 关闭后,原来的/etc/resolv.conf 不可用,因为以前为软连接文件,编辑会提示,不能编辑连接文件,如果需要上网,修改软连接,重新创建resolv.conf文件。 mv /etc/resolv.conf /etc/resolv.conf.bak echo 'nameserver 223.5.5.5' > /etc/resolv.conf 2.安装ifenslave dpkg -i ifenslave_2.9ubuntu1_all.deb 如果要安装文件夹下所有deb包,可以使用dpkg -R ./archives 3.设置bonding 模块开机自动加载 sed -i '$a\bonding' /etc/modules 4.设置bond配置文件 echo 'options bonding mode=5 miimon=100' > /etc/modprobe.d/bonding.conf 5.加载bonding模块 modprobe bonding 检查模块是否允许正常:lsmod | grep bonding 6.配置bonding名称,ip等 ifconfig bond0 192.168.2.8 netmask 255.255.255.0 7.配置bond0绑定的网卡 ifenslave bond0 enp0s25 enx000ec6de6907 因为关闭了network-manager,不知道网卡名称的话,可以通过ip link来查看。 ip link | grep -v lo 8.配置以后开机bond自启 vi /etc/network/interfaces 添加一下行

bonding双网卡配置

网络设备热备方案 为了提供网络的高可用性,我们可能需要将多块网卡绑定成一块虚拟网卡对外提供服务,这样即使其中的一块物理网卡(或者其所连接的交换机)出现故障,也不会导致连接中断。在Linux下叫bonding,效果是将两块或更多的网卡当做一块网卡使用,可以提高冗余性。测试方案将服务器的eth0和eth1绑定成虚拟网卡bond0,bongding1服务器的虚拟网卡ip为192.168.3.60;bonding2服务器的虚拟网卡ip为192.168.3.61。如图: 一、配置双网卡绑定同一个ip地址: 1.插件安装:apt-get install ifenslave 2.在/etc/modules文件末尾加入:bonding 3.编辑网卡配置:vi/etc/network/inerfaces: auto lo iface lo inet loopback auto bond0 iface bond0 inet static address 192.168.3.60 netmask 255.255.252.0

network 192.168.0.0 broadcast 192.168.3.255 gateway 192.168.0.66 bond-mode 1 bond-miimon 100 bond-slaves none post-up /sbin/ifenslave bond0 eth0 eth1 pre-down /sbin/ifenslave -d bond0 eth0 eth1 auto eth0 iface eth0 inet manual bond-master bond0 bond-primary eth0 eth1 auto eth1 iface eth1 inet manual bond-maser bond0 bond-primary eth0 eth1 说明:miimon是用来进行链路监测的。比如:miimon 100,那么系统每100 ms 监测一次链路连接状态,如果有一条线路不通就转入另一条线路;mode的值表示工作模式,常用的为0,1两种。Mode 0表示load balancing (round-robin)为负载均衡方式,两块网卡都工作。Mode 1表示fault-tolerance (active-backup)提供冗余功能,工作方式是主备的工作方式,也就是说默认情况下只有一块网卡工作,另一块做备份。特点:一个端口处于主状态(eth0),一个处于从状态,所有流量都在主链路上处理,从不会有任何流量。当主端口down掉时,从端口接手主状态。此模式只能解决交换机故障,单台服务器处于主状态的端口故障的情况不适用此模式,如果配合交换机的MSTP可以达到很好的冗余效果。Mode 3表示fault-tolerance(broadcast),一个报文会复制两份往bond下的两个接口分别发送出去。

centos bond配置

centos bond配置

1.编辑虚拟网络接口配置文件,指定网卡IP: # vi /etc/sysconfig/network-scripts/ifcfg-bond0 DEVICE=bond0 TYPE=ethernet ONBOOT=yes BOOTPROTO=static IPADDR=10.9.1.24 NETMASK=255.255.255.0 IPV6INIT=no USERCTL=no GATEWAY=10.9.1.254 DNS1=114.114.114.114(此为服务器可出外网配置,内网可不配) 2.配置eth0、eth1网卡 DEVICE=eth0 HWADDR=1C:98:EC:14:5B:40 TYPE=Ethernet UUID=(以实际为准) ONBOOT=yes NM_CONTROLLED=yes BOOTPROTO=none MASTER=bond0 Eth1与eth0配法相同。 3.# vi /etc/modules.conf 编辑 /etc/modprobe.conf或者/etc/modules.conf或者/etc/modprobe.d/dist.conf,加入如下两行内容,以使系统在启动时加载bonding模块,对外虚拟网络接口设备为bond0.加入下列两行: alias bond0 bonding options bond0 miimon=100 mode=1 primary=eth0 说明:miimon是用来进行链路监测的。比如:miimon=100,那么系统每100ms监测一次路连接状态,如果有一条线路不通就转入另一条线路;mode的值表示工作模式。mode=0 表示负载均衡方式,两块网卡都工作,需要交换机作支持 mode=1 表示冗余方式,网卡只有一个工作,一个出问题启用另外的 mode=6 表示负载均衡方式,两块网卡都工作,不需要交换机作支持 primary指定主网卡 4、编辑开机启动项

Redhat_Linux系统下做bonding双网卡绑定

Redhat Linux系统下做bonding网卡绑定 1. root 用户登录,用ifconfig 看网卡是否正常。 Linux 默认是DHCP获取ip,当网络中没有DHCP,则会请求超时,而造成网卡无法启动,不过网卡不启动也没关系,只要确认lsmod中网卡驱动模块已经正常加载了就可以了,然后我们需要修改网卡配置文件。 2. 新建虚拟绑定网卡bond0 执行cd /etc/sysconfig/network-scripts进入网卡配置文件目录 这个目录下会有网卡的配置文件 ifcfg-eth0 对应eth0 ifcfg-eth1 对应eth1

拷贝ifcfg-eth0为ifcfg-bond0 3. 编辑网卡配置文件 编辑ifcfg-bond0文件 #vi ifcfg-bond0 修改后需要添加静态ip地址(网卡绑定不建议使用动态ip)、子网掩码和网关如下 (注意:除了bond0设置IP等信息外其他的真实网卡不能设置IP地址) 编辑ifcfg-eth0文件 #vi ifcfg- eth0

编辑ifcfg-eth1文件 #vi ifcfg-eth1 三个网卡配制好了 [root@ZH201E ~]# ifconfig | grep HW bond0 Link encap:Ethernet HWaddr AC:16:2D:7B:27:44 eth0 Link encap:Ethernet HWaddr AC:16:2D:7B:27:44 eth1 Link encap:Ethernet HWaddr AC:16:2D:7B:27:45 eth2 Link encap:Ethernet HWaddr AC:16:2D:7B:27:46 eth3 Link encap:Ethernet HWaddr AC:16:2D:7B:27:47 eth0和eth1两个接口加入bond0,从上面的信息看到,eth1接口的mac地址和bond0不一致。按照这种模式绑定的结果是所有bond0下的成员口和bond0使用同一个mac 地址,否则无法正常通信。最后在接口下发现6.1x比之前的版本多了个 NM_CONTROLLED参数,这个参数的作用是把接口交给networkmanager来管理,如果把NM_CONTROLLED设置成yes的话,在起机的时候networkmanager会调用 networkmanager的配置文件,直接会调用接口实际物理mac。所以导致上面出现的接口物理mac地址和bond不一致的情况。所以我把接口下的NM_CONTROLLED设置成no,同时关闭networkmanager服务。 [root@ZH201E ~]# chkconfig NetworkManager off [root@ZH201E ~]# vi /etc/modprobe.d/dist.conf 在该文件的最下面添加如下2行 alias bond0 bonding options bond0 miimon=100 mode=1

band模式

Bonding模式介绍 目录 5.1.3 Bonding模式介绍 5.1.3.1 “balance-rr”模式 5.1.3.2 “active-backup”模式 5.1.3.3 “balance-XOR”模式 5.1.3.4 “broadcast”模式 5.1.3.5 “802.3ad”模式 5.1.3.6 “balance-tlb”模式 5.1.3.7 “balance-alb”模式 5.1.3 Bonding模式介绍 本章节详细介绍N8500的七种Bonding模式。 “balance-rr”模式 介绍“balance-rr”模式的定义、性能和适用范围。在N8500的实际应用中,“balance-rr”模式适用于客户端数量不超过12的情况。 “active-backup”模式 介绍“active-backup”模式的定义、性能和适用范围。该模式针对特定情况使用,在N8500实际应用中使用得较少。 “balance-XOR”模式 介绍“balance-XOR”模式的定义、性能和适用范围。在N8500的实际应用中,当客户端数量超过12时,如果对端以太网交换机不支持LACP汇聚模式的端口聚合,且客户端业务流量均等,推荐使用“balance-XOR”模式配置Bonding功能。 “broadcast”模式 介绍“broadcast”模式的定义、性能和适用范围。该模式针对特定需求使用,在N8500实际应用中使用得较少。 “802.3ad”模式 介绍“802.3ad”模式的定义、性能和适用范围。在N8500的实际应用中,当客户端数量超过12时,如果对端以太网交换机支持LACP汇聚模式的端口聚合,推荐使用“802.3ad”模式配置Bonding功能。 “balance-tlb”模式 介绍“balance-tlb”模式的定义、性能和适用范围。该模式在N8500实际应用中使用得较少。“balance-alb”模式 介绍“balance-alb”模式的定义、性能和适用范围。在N8500的实际应用中,当客户端数量超过12时,如果对端以太网交换机不支持LACP汇聚模式的端口聚合,且客户端业务流量不均等,推荐使用“balance-alb”模式配置Bonding功能。 父主题:业务网口Bonding配置 5.1.3.1 “balance-rr”模式 介绍“balance-rr”模式的定义、性能和适用范围。在N8500的实际应用中,“balance-rr”模式适用于客户端数量不超过12的情况。 定义 Round-robin(循环赛)策略。 所有相同优先级的网卡端口维持在一个循环队列(slave设备链表)中,Bonding设备驱动在

linux中bonding配置步骤详解

本文介绍linux下的bonding 技术,linux 2.4.x 的内核中采用了这种技术,利用bonding 技术可以将多块网卡接口通过绑定虚拟成为一块网卡,在用户看来这个聚合起来的设备好像是一个单独的以太网接口设备,通俗点讲就是多块网卡具有相同的IP 地址而并行连接聚合成一个逻辑链路工作。 二、bond的几种算法 Linux的bond支持7种工作模式,可以参考内核源码包文件: Documentation/networking/bonding.txt 。这里逐一介绍。 模式1:mode=0 ,即:(balance-rr) Round-robin policy(平衡轮循策略) 特点:传输数据包顺序是依次传输(即:第1个包走eth0,下一个包就走eth1….一直循环下去,直到最后一个传输完毕),此模式提供负载平衡和容错能力;但是我们知道如果一个连接或者会话的数据包从不同的接口发出的话,中途再经过不同的链路,在客户端很有可能会出现数据包无序到达的问题,而无序到达的数据包需要重新要求被发送,这样网络的吞吐量就会下降。 模式2:mode=1,即:(active-backup) Active-backup policy(主-备份策略) 特点:只有一个设备处于活动状态,当一个宕掉另一个马上由备份转换为主设备。mac地址是外部可见得,从外面看来,bond的MAC地址是唯一的,以避免switch(交换机)发生混乱。此模式只提供了容错能力;由此可见此算法的优点是可以提供高网络连接的可用性,但是它的资源利用率较低,只有一个接口处于工作状态,在有N 个网络接口的情况下,资源利用率为1/N 模式3:mode=2,即:(balance-xor) XOR policy(平衡策略) 特点:基于指定的传输HASH策略传输数据包。缺省的策略是:(源MAC地址XOR 目标MAC地址) % slave数量。其他的传输策略可以通过xmit_hash_policy选项指定,此模式提供负载平衡和容错能力。 模式4:mode=3,即:broadcast(广播策略) 特点:在每个slave接口上传输每个数据包,此模式提供了容错能力。 模式5:mode=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的速率和双工设定

redhat6双网卡bonding

Rehat6 双网卡bonding Redhat6 发布后,对 redhat5 系列的某些配置进行了改进,经过对 Red_Hat_Enterprise_Linux-6-Deployment_Guide 进行查询后,发现对双网卡绑定bonding 进行了修改。新的 bonding 过程有如下: 1. 创建 ifcfg-bondx 配置文件, bondx 的意思是可以进行多个 bond 的绑定,本 例子用 bond0 进行演示。 #vi /etc/sysconfig/network-scripts/ifcfg-bond0 DEVICE=bond0 IPADDR=192.168.6.100 NETMASK=255.255.255.0 ONBOOT=yes BOOTPROTO=none / /bootp 协议,none 为无bootp 协议;bootp 为启用bootp 协议,主要用于无盘工作站;dhcp 使用dhcp 协议从dhcp 服务器得到ip 地址 USERCTL=no // 非root 用户能否管理网络 BONDING_OPTS= ”miimon=100 mode=1 ” // 详细介绍见4.bonding 模式介绍2. 创建 ifcfg-ethx 配置文件, ethx 的意思为计划绑定的真实物理网卡编号, x 为数字。真实网卡数量一般为两块。也可以多块绑定。即,如果将 eth0 和 eth1 绑定成 bond0 ,则需要创建两个 eth 配置文件, ifcfg-eth0 和 ifcfg- eth1. #vi /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0

bonding配置和介绍

Linux 多网卡绑定 网卡绑定mode共有七种(0~6) bond0、bond1、bond2、bond3、bond4、bond5、bond6 常用的有三种 mode=0:平衡负载模式,有自动备援,但需要”Switch”支援及设定。 mode=1:自动备援模式,其中一条线若断线,其他线路将会自动备援。 mode=6:平衡负载模式,有自动备援,不必”Switch”支援及设定。 需要说明的是如果想做成mode 0的负载均衡,仅仅设置这里options bond0 miimon=100 mode=0是不够的,与网卡相连的交换机必须做特殊配置(这两个端口应该采取聚合方式),因为做bonding的这两块网卡是使用同一个MAC地址.从原理分析一下(bond运行在mode 0下): mode 0下bond所绑定的网卡的IP都被修改成相同的mac地址,如果这些网卡都被接在同一个交换机,那么交换机的arp表里这个mac地址对应的端口就有多个,那么交换机接受到发往这个mac地址的包应该往哪个端口转发呢?正常情况下mac地址是全球唯一的,一个mac地址对应多个端口肯定使交换机迷惑了。所以 mode0下的bond如果连接到交换机,交换机这几个端口应该采取聚合方式(cisco称为 ethernetchannel,foundry称为portgroup),因为交换机做了聚合后,聚合下的几个端口也被捆绑成一个mac地址.我们的解决办法是,两个网卡接入不同的交换机即可。 mode6模式下无需配置交换机,因为做bonding的这两块网卡是使用不同的MAC地址。七种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.3ad Dynamic link aggregation(IEEE 802.3ad 动态链接聚合)

相关主题
相关文档
最新文档