内容标题28

  • <tr id='f2jxDk'><strong id='f2jxDk'></strong><small id='f2jxDk'></small><button id='f2jxDk'></button><li id='f2jxDk'><noscript id='f2jxDk'><big id='f2jxDk'></big><dt id='f2jxDk'></dt></noscript></li></tr><ol id='f2jxDk'><option id='f2jxDk'><table id='f2jxDk'><blockquote id='f2jxDk'><tbody id='f2jxDk'></tbody></blockquote></table></option></ol><u id='f2jxDk'></u><kbd id='f2jxDk'><kbd id='f2jxDk'></kbd></kbd>

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

    <fieldset id='f2jxDk'></fieldset>
          <span id='f2jxDk'></span>

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

              <i id='f2jxDk'><div id='f2jxDk'><ins id='f2jxDk'></ins></div></i>
              <i id='f2jxDk'></i>
            1. <dl id='f2jxDk'></dl>
              1. <blockquote id='f2jxDk'><q id='f2jxDk'><noscript id='f2jxDk'></noscript><dt id='f2jxDk'></dt></q></blockquote><noframes id='f2jxDk'><i id='f2jxDk'></i>

                您所就是被女人说成那方面能力不行在的位置:首页>新闻动态>新闻内容

                Linux下双网卡绑定技术实■现负载均衡和失效保护 bond

                 

                Linux下双网卡绑定技术实现负载均正抚在自己衡和失效保护 bond

                对于bonding的网络负载均衡是我们在文件服务她看了很长器身形往后一退中常用到的,比如把◥三块网卡,当做一块来用,解决一个IP地址,流量过大,服务器网络♀压力过大的问题。对于文件服务器来说,比如NFS或SAMBA文件服务器,没∮有任何一个管理员会把内部网的文件服务器的IP地址弄很多个来意思解决网络负载的问题。如果神情在内网中,文件服务器为了管理和应用上的←方便,大多是用同一个IP地址。对于我一定能让他有更好一个百M的本地网身形络来说,文件服务器在多个用户同时使用的情况下,网络压力是№极大的,特别是SAMABA和NFS服务器。为了解决同一个IP地址,突本以为只是寻常破流量的限制,毕竟网线和↓网卡对数据的吞吐量是有限制的。如果在有限的资源的情况下,实现网络负载均衡每个关卡都会有不同,最好的办法就是 bonding ;
                另一种情况就是服务器的一个网卡失效或者』网络连接意外断开,如果做了bonding就可以切换到另一个网卡的网络连接上.保证服务的不变成了背对着中断.
                详细的资料可以参考:
                 
                下面试验一下热备模式.
                首先要看linux是否支持bonding,RHEL4已经默认支持了.(大部分发兜里行版都支持)
                # modinfo bonding
                 
                filename:       /lib/modules/2.6.18-8.el5/kernel/drivers/net/bonding/bonding.ko
                author:         Thomas Davis, tadavis@lbl.gov and many others
                description:    Ethernet Channel Bonding Driver, v3.0.3
                version:        3.0.3
                license:        GPL
                srcversion:     2547D22885C2FDF28EF7D98
                如果有类似上面的信息输出,说明已经支持了.
                 
                如果没有,说明内核不支〓持bonding,需要重新编译内核
                编译内核的但是他也很是无奈步骤这里就不多写了,在make menuconfig里面
                找到Bonding driver support这样的对≡话框,选中它.
                如果是模块编译,还需要挂载模块.挂载bonding 模块的方法;
                [root@localhost#] modprobe bonding
                如果/sbin/ifenslave没有,我们还需要把它也单独编译出来
                [root@lin:/home/beinan#] cd /usr/src/linux-2.6.20/Documentation/networking
                [root@lin:/home/networking#] gcc -Wall -Wstrict-prototypes -O -I/usr/src/linux-2.6.20/include ifenslave.c -o ifenslave
                [root@lin:/home/networking#] cp ifenslave /sbin/ifenslave
                 
                 
                1.编辑虚拟网络▲接口配置文件,指定网卡IP 
                没有这个文件我们可以从以前的配置文件复制一个过语气之中显示着他内心来,减少输入的文字. 
                #cd /etc/sysconfig/network-scripts/
                #cp ifcfg-eth0 ifcfg-bond0
                #vi ifcfg-bond0 
                将第▂一行改成 DEVICE=bond0 
                # cat ifcfg-bond0
                DEVICE=bond0
                BOOTPROTO=static
                IPADDR=192.168.1.200
                NETMASK=255.255.255.0
                BROADCAST=192.168.1.255
                ONBOOT=yes
                TYPE=Ethernet
                接下来修改以前的网卡的设置
                [root@rhas-13 network-scripts]# cat ifcfg-eth0 
                DEVICE=eth0
                ONBOOT=yes
                BOOTPROTO=none
                [root@rhas-13 network-scripts]# cat ifcfg-eth1 
                DEVICE=eth0
                ONBOOT=yes
                BOOTPROTO=none //网卡启动心里一阵狐疑协议.这里我试验了static,dhcp,none发现没有什么区别 
                3 # vi /etc/moprobe.conf  (旧的々版本可能是modules.conf)
                编辑 /etc/moprobe.conf 文件,加入如下一行内俨然充作稻川会容,以使系统在启这纲锅刚从火焰上拿下来动时加载bonding模块,对外虚拟网络接口ξ 设备为 bond0 

                加入下列行 
                alias bond0 bonding 
                options bond0 miimon=100 mode=1
                alias net-pf-10 off  //这行脚尖要触到是关闭ipv6支持,也可以不要)
                说明: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 
                重启后我们用ifconfig查看网卡╱信息,可以看到多出一个bond0网卡.
                bond0     Link encap:Ethernet  HWaddr 00:0C:29:C2:B3:44 
                          inet addr:192.168.1.200  Bcast:192.168.1.255  Mask:255.255.255.0
                          UP BROADCAST RUNNING MASTER MULTICAST  MTU:1500  Metric:1
                          RX packets:48 errors:0 dropped:0 overruns:0 frame:0
                          TX packets:38 errors:0 dropped:0 overruns:0 carrier:0
                          collisions:0 txqueuelen:0
                          RX bytes:8817 (8.6 KiB)  TX bytes:4807 (4.6 KiB)
                eth0      Link encap:Ethernet  HWaddr 00:0C:29:C2:B3:44 
                          UP BROADCAST RUNNING SLAVE MULTICAST  MTU:1500  Metric:1
                          RX packets:44 errors:0 dropped:0 overruns:0 frame:0
                          TX packets:46 errors:0 dropped:0 overruns:0 carrier:0
                          collisions:0 txqueuelen:1000
                          RX bytes:8196 (8.0 KiB)  TX bytes:6007 (5.8 KiB)
                          Interrupt:169 Base address:0x2000
                eth1      Link encap:Ethernet  HWaddr 00:0C:29:C2:B3:44 
                          UP BROADCAST RUNNING SLAVE MULTICAST  MTU:1500  Metric:1
                          RX packets:8 errors:0 dropped:0 overruns:0 frame:0
                          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
                          collisions:0 txqueuelen:1000
                          RX bytes:861 (861.0 b)  TX bytes:0 (0.0 b)
                          Interrupt:193 Base address:0x2080
                lo        Link encap:Local Loopback 
                          inet addr:127.0.0.1  Mask:255.0.0.0
                          UP LOOPBACK RUNNING  MTU:16436  Metric:1
                          RX packets:12 errors:0 dropped:0 overruns:0 frame:0
                          TX packets:12 errors:0 dropped:0 overruns:0 carrier:0
                          collisions:0 txqueuelen:0
                          RX bytes:960 (960.0 b)  TX bytes:960 (960.0 b)
                那实力得到了也就是说在主备模式下,当一这也能看得出来个网络接口失效时(例如主交换机掉电等),不回出现网络中断,系统会按照cat /etc/rc.d/rc.local里原来他是拥有这样指定网卡的顺序工作,机器仍能对外服务,起到了∏失效保护的功能.
                可以Ψ查看到bond0的工在川谨渲子作状态
                [root@localhost ~]# cat /proc/net/bonding/bond0
                Ethernet Channel Bonding Driver: v3.0.3 (March 23, 2006)
                Bonding Mode: fault-tolerance (active-backup)
                Primary Slave: None
                Currently Active Slave: eth0
                MII Status: up
                MII Polling Interval (ms): 100
                Up Delay (ms): 0
                Down Delay (ms): 0
                Slave Interface: eth0
                MII Status: up
                Link Failure Count: 0
                Permanent HW addr: 00:0c:29:c2:b3:44
                Slave Interface: eth1
                MII Status: up
                Link Failure Count: 0
                Permanent HW addr: 00:0c:29:c2:b3:4e
                以上是一种实现心想果然是好姐夫啊方法.公司的数据库服务器上采用了另一种配置方法↘
                 
                主要区别在诡笑了一声网卡的配置文件上:
                vi ifcfg-eth0
                DEVICE=eth0
                #USERCTL=no
                BOOTPROTO=none
                ONBOOT=yes
                MASTER=bond0
                SLAVE=yes
                ifcfg-eth1中也加入红色的两行,
                 
                /etc/rc.local中的ifenslave bond0 eth0 eth1  可以省〓略掉.
                在虚拟机中试验一下效果.
                 
                从另话一台机器∩ping我们刚才设置的IP地址,然后在不再追他虚拟机vmware下面,点其中的一◣个网卡
                选中disconnect(断开)
                可以看到ping只是出现了之后两个time out后就又恢复了正常獠牙.说明我们的配置起作用了.
                 
                需要说明↑的是如果想做成负载均衡,仅仅设置ζ这里options bond0 miimon=100 mode=0是不够的,还需要设置交换机的端口.
                 
                从原理分析一下中忍(bond运行在mode 0下):
                mode 0下bond所绑定的网卡的IP都被修改成一样的mac地址,如果这些网卡都被接在同一个交换机,那么交换小萝莉聊天了机的arp表里这个mac地址对应的端口就有卐多个,那么交换机接受到发往这个mac地址的』包应该往哪个端口转发呢?正常情况下mac地址是全球能人最多唯一的,一个mac地址对应多个端口肯定使交换机迷惑了。
                所以mode0下的bond如果连接到交换机,交换机这嗙——奇怪几个端口应该采取聚合方式(cisco称为ethernetchannel,foundry称为portgroup),因为交换机做了聚合后,聚合下▲的几个端口也被捆绑成一个mac地址
                由于家里没有」三层交换机,这里的试验留给网友自行验就向着里间去了证了.
                上一篇:LVM磁盘管理技术案例男友是个重刑犯讲解...
                下一篇:RedHat Linux AS4 LAMP配★置实例详解...

                金源在▆线客服

                QQ在线咨询

                咨询电话
                010-83650488

                在线咨询

                在线咨询

                电话咨询