• <i id='fo58'><div id='fo58'><ins id='fo58'></ins></div></i>

    <code id='fo58'><strong id='fo58'></strong></code>

        <acronym id='fo58'><em id='fo58'></em><td id='fo58'><div id='fo58'></div></td></acronym><address id='fo58'><big id='fo58'><big id='fo58'></big><legend id='fo58'></legend></big></address>

      1. <tr id='fo58'><strong id='fo58'></strong><small id='fo58'></small><button id='fo58'></button><li id='fo58'><noscript id='fo58'><big id='fo58'></big><dt id='fo58'></dt></noscript></li></tr><ol id='fo58'><table id='fo58'><blockquote id='fo58'><tbody id='fo58'></tbody></blockquote></table></ol><u id='fo58'></u><kbd id='fo58'><kbd id='fo58'></kbd></kbd>
        <i id='fo58'></i>
      2. <fieldset id='fo58'></fieldset>

          <ins id='fo58'></ins>

          <span id='fo58'></span>
            <dl id='fo58'></dl>

            Linux Bonding配置详解

            • 时间:
            • 浏览:6
            • 来源:124软件资讯网

                一、什么是bonding

                多块网卡绑在一起  ,作为一个网卡用 ,实现负载平衡和提高带宽 ,linux双网卡绑定一个IP地址  ,实质事情就是使用两块网卡虚拟为一块 ,使用统一个IP地址  ,是我们能够获得更好的更快的服务  。

                二、设置历程

                设置很简朴 ,一共四个步骤:

                实验的操作系统是Redhat Linux Enterprise 3.0

                绑定的条件条件:芯片组型号相同  ,而且网卡应该具备自己自力的BIOS芯片  。

                1.编辑虚拟网络接口设置文件,指定网卡IP

                代码如下:

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

              < p>[root@rhas-13 root]# cp /etc/sysconfig/network-scripts/ifcfg-eth0 ifcfg-bond0

                2 #vi ifcfg-bond0

                将第一行改成 DEVICE=bond0

                代码如下:

                # cat ifcfg-bond0

              < p>DEVICE=bond0

              < p>BOOTPROTO=static

              < p>IPADDR=172.31.0.13

              < p>NETMASK=255.255.252.0

              < p>BROADCAST=172.31.3.254

              < p>ONBOOT=yes

              < p>TYPE=Ethernet

                这里要主意  ,不要指定单个网卡的IP 地址、子网掩码或网卡 ID  。将上述信息指定到虚拟适配器(bonding)中即可  。

                代码如下:

                [root@rhas-13 network-scripts]# cat ifcfg-eth0

              < p>DEVICE=eth0

              < p>ONBOOT=yes

              < p>BOOTPROTO=dhcp

              < p>[root@rhas-13 network-scripts]# cat ifcfg-eth1

              < p>DEVICE=eth0

              < p>ONBOOT=yes

              < p>BOOTPROTO=dhcp

                3 # vi /etc/modules.conf

                编辑 /etc/modules.conf 文件 ,加入如下一行内容  ,以使系统在启动时加载bonding模块  ,对外虚拟网络接口装备为 bond0

                加入下列两行

                代码如下:

                alias bond0 bonding

              < p>options bond0 miimon=100 mode=1

                说明:miimon是用来举行链路监测的  。 好比:miimon=100  ,那么系统每100ms监测一次链路毗连状态  ,若是有一条线路不通就转入另一条线路;mode的值表现事情模式  ,他共有0 ,1,2,3四种模式 ,常用的为0,1两种  。

                mode=0表现load balancing (round-robin)为负载平衡方式  ,两块网卡都事情  。

                mode=1表现fault-tolerance (active-backup)提供冗余功效 ,事情方式是主备的事情方式,也就是说默认情形下只有一块网卡事情,另一块做备份.

                bonding只能提供链路监测  ,即从主机到交流机的链路是否接通  。若是只是交流机对外的链路down掉了  ,而交流机自己并没有故障 ,那么bonding会以为链路没有问题而继续使用

                4 # vi /etc/rc.d/rc.local

                加入两行

                代码如下:

                ifenslave bond0 eth0 eth1

              < p>route add -net 172.31.3.254 netmask 255.255.255.0 bond0

                到这时已经设置完毕重新启念头器.

                重启会瞥见以下信息就表现设置乐成了

                ................

                Bringing up interface bond0 OK

                Bringing up interface eth0 OK

                Bringing up interface eth1 OK

                Bonding的事情模式

                Linux Bonding默认使用轮转计谋  。

                基本种别是主备模式与负载平衡两种模式:

                balance-rr (mode=0)

                轮转(Round-robin)计谋:重新到尾顺序的在每一个slave接口上面发送数据包  。本模式提供负载平衡和容错的能力  。

                active-backup(mode=1)

                运动-备份(主备)计谋:在绑定中  ,只有一个slave被激活  。当且仅当运动的slave接口失败时才会激活其他slave  。为了制止交流机发生杂乱此时绑定的MAC地址只有一个外部端口上可见  。在bongding的2.6.2及其以后的版本中  ,主备模式下发生一次故障迁徙时  ,bonding将在新激活的slave上会送一个或者多个gratuitous ARP.bonding的主salve接口上以及设置在接口上的所有VLAN接口都市发送gratuitous ARP  ,只要这些接口上设置了至少一个IP地址  。VLAN接口上发送的的gratuitous ARP将会附上适当的VLAN id  。本模式提供容错能力  ,primary option  ,documented below会影响本模式的行为 。

                balance-xor(mode=2)

                XOR计谋:基于所选择的传送hash计谋  。

                本模式提供负载平衡和容错的能力  。

                broadcast(mode=3)

                广播计谋:在所有的slave接口上传送所有的报文  。本模式提供容错能力  。

                802.3ad(mode=4)

                IEEE 802.3ad 动态链路聚合  。建立共享相同的速率和双工模式的聚合组 。能凭据802.3ad规范使用所有的slave来建设聚合链路  。Salve的出站选择取决于传输的hash计谋  ,默认计谋是简朴的XOR计谋  ,而hash计谋则可以通xmit_hash_policy选项加以改变 。需要注重的是:不是所有的传输计谋都与802.3ad兼容  ,尤其是802.3ad尺度的43.2.4章节中关于 packet mis-ordering要求的地方  。差别个体的实现往往泛起很大的不兼容 。

                先决条件:

                1. 每个slave的基本驱动支持Ehtool获取速率和双工状态  。

                2.交流机支持IEEE 802.3ad动态链路聚合  。大多数的交流机都需要使用某种设置方式来启用802.3ad模式 。

                balance-tlb(mode=5)

                自顺应传输负载平衡:信道绑定不需要特殊的交流机支持  。出口流量的漫衍取决于当前每个slave的负载(盘算相对速率) 。入口流量从当前的slave的吸收  。若是吸收salve堕落  ,其他的slave接受失败的slave的MAC地址继续吸收 。

                先决条件:

                每个slave的基本驱动支持Ehtool获取速率状态  。

                balance-alb(mode=6)

                自顺应负载平衡:包罗balance-tlb(模式5)以及用于IPV4流量的吸收负载平衡  ,而且不需要特殊的交流机支持 。吸收负载平衡通过ARP协商实现  。bonding的驱动阻挡本机发出的ARP Replies(ARP回应报文) ,而且用bond的某一个slave的硬件地址改写ARP报文的源地址  ,使得本服务器对差别的装备使用差别的硬件地址  。本服务器建设的毗连的吸收流量也是负载平衡的  。当本机发送ARP Request时  ,bonding驱动通过ARP报文复制并生存节点的IP信息  。当从其他节点吸收到ARP Reply  ,bonding驱动获取节点的硬件地址而且会回应一个包罗绑定好的slave的硬件地址的ARP Reply给发送的节点 。用ARP协商的负载平衡的有一个问题是每次用bond的硬件地址广播ARP报文  ,那么其他节点发送的数据所有集中在一个slave上  ,处置惩罚ARP更新给其他所有节点的时间 ,每个节点会重新学习硬件地址  ,导致流量重新分配  。当新加入一个slave或者一个非激活的slave重新激活的时间也会导致吸收流量重新分配  。吸收流量负载是串行(轮转)的分配在bond的一组速率最高的slave上  。

                当一个链路重连或者一个新的slave加入的时间  ,bond会重新初始化ARP Replies给所有的客户端  。updelay参数的值必须即是或者大于交流机的forwarding delay  ,以免ARP Replies被交流机壅闭 。

                先决条件:

                1.每个slave的基本驱动支持Ehtool获取速率状态 。

                2. 基本驱动支持当装备打开时重新设置硬件地址  。也要求每一个slave具有唯一的硬件地址  。若是curr_active_slave失败 ,它的硬件地址被新选上的curr_active_slave硬件地址来替换