《2022年linux双网卡聚合_做负载均 .pdf》由会员分享,可在线阅读,更多相关《2022年linux双网卡聚合_做负载均 .pdf(5页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、1 linux 双网卡聚合做负载均衡Linux 双网卡绑定实现就是使用两块网卡虚拟成为一块网卡,这个聚合起来的设备看起来是一个单独的以太网接口设备,通俗点讲就是两块网卡具有相同的IP 地址而并行链接聚合成一个逻辑链路工作。其实这项技术在Sun 和 Cisco中早已存在,被称为Trunking和Etherchannel技术, 在 Linux 的 2.4.x的内核中也采用这这种技术,被称为 bonding 。 bonding技术的最早应用是在集群beowulf上,为了提高集群节点间的数据传输而设计的。下面我们讨论一下bonding 的原理 , 什么是bonding 需要从网卡的混杂(promisc
2、)模式说起。我们知道,在正常情况下,网卡只接收目的硬件地址(MAC Address) 是自身 Mac的以太网帧,对于别的数据帧都滤掉,以减轻驱动程序的负担。但是网卡也支持另外一种被称为混杂promisc的模式,可以接收网络上所有的帧,比如说tcpdump,就是运行在这个模式下。bonding 也运行在这个模式下,而且修改了驱动程序中的mac地址,将两块网卡的Mac地址改成相同,可以接收特定mac的数据帧。然后把相应的数据帧传送给bond 驱动程序处理。说了半天理论,其实配置很简单,一共四个步骤:实验的操作系统是Redhat Linux Enterprise 3.0 绑定的前提条件:芯片组型号相
3、同,而且网卡应该具备自己独立的BIOS芯片。1. 编辑虚拟网络接口配置文件, 指定网卡IP vi /etc/sysconfig/ network-scripts/ ifcfg-bond0 rootrhas-13 root# cp /etc/sysconfig/network-scripts/ifcfg-eth0 ifcfg-bond0 2 #vi ifcfg-bond0 将第一行改成 DEVICE=bond0 # cat ifcfg-bond0 DEVICE=bond0 BOOTPROTO=static IPADDR=172.31.0.13 NETMASK=255.255.252.0 BROA
4、DCAST=172.31.3.254 ONBOOT=yes TYPE=Ethernet 这里要主意,不要指定单个网卡的IP 地址、子网掩码或网卡 ID 。将上述信息指定到虚拟适配器 (bonding)中即可。rootrhas-13 network-scripts# cat ifcfg-eth0 DEVICE=eth0 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 5 页 - - - - - - - - - 2 ONBOOT=yes BOOTPROTO=dhcp root
5、rhas-13 network-scripts# cat ifcfg-eth1 DEVICE=eth0 ONBOOT=yes BOOTPROTO=dhcp 3 # vi /etc/modules.conf 编辑 /etc/modules.conf 文件,加入如下一行内容,以使系统在启动时加载bonding 模块,对外虚拟网络接口设备为 bond0 加入下列两行alias bond0 bonding options bond0 miimon=100 mode=1 说明: miimon 是用来进行链路监测的。比如 :miimon=100 ,那么系统每100ms监测一次链路连接状态,如果有一条线路不
6、通就转入另一条线路;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.lo
7、cal 加入两行ifenslave bond0 eth0 eth1 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 . 下面我们讨论以下mode分别为 0,1 时的情况名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - -
8、名师精心整理 - - - - - - - 第 2 页,共 5 页 - - - - - - - - - 3 mode=1工作在主备模式下, 这时 eth1 作为备份网卡是no arp的rootrhas-13 network-scripts# ifconfig 验证网卡的配置信息bond0 Link encap:Ethernet HWaddr 00:0E:7F:25:D9:8B inet addr:172.31.0.13 Bcast:172.31.3.255 Mask:255.255.252.0 UP BROADCAST RUNNING MASTER MULTICAST MTU:1500 Metr
9、ic:1 RX packets:18495 errors:0 dropped:0 overruns:0 frame:0 TX packets:480 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:1587253 (1.5 Mb) TX bytes:89642 (87.5 Kb) eth0 Link encap:Ethernet HWaddr 00:0E:7F:25:D9:8B inet addr:172.31.0.13 Bcast:172.31.3.255 Mask:255.255.252.
10、0 UP BROADCAST RUNNING SLAVE MULTICAST MTU:1500 Metric:1 RX packets:9572 errors:0 dropped:0 overruns:0 frame:0 TX packets:480 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:833514 (813.9 Kb) TX bytes:89642 (87.5 Kb) Interrupt:11 eth1 Link encap:Ethernet HWaddr 00:0E:7F
11、:25:D9:8B inet addr:172.31.0.13 Bcast:172.31.3.255 Mask:255.255.252.0 UP BROADCAST RUNNING NOARP SLAVE MULTICAST MTU:1500 Metric:1 RX packets:8923 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:753739 (736.0 Kb) TX byt
12、es:0 (0.0 b) Interrupt:15 那也就是说在主备模式下, 当一个网络接口失效时( 例如主交换机掉电等), 不回出现网络中断, 系统会按照cat /etc/rc.d/rc.local里指定网卡的顺序工作, 机器仍能对外服务,起到了失效保护的功能. 在 mode=0 负载均衡工作模式,他能提供两倍的带宽, 下我们来看一下网卡的配置信息rootrhas-13 root# ifconfig bond0 Link encap:Ethernet HWaddr 00:0E:7F:25:D9:8B inet addr:172.31.0.13 Bcast:172.31.3.255 Mask:
13、255.255.252.0 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 5 页 - - - - - - - - - 4 UP BROADCAST RUNNING MASTER MULTICAST MTU:1500 Metric:1 RX packets:2817 errors:0 dropped:0 overruns:0 frame:0 TX packets:95 errors:0 dropped:0 overruns:0 carrier:0 collisions:0
14、 txqueuelen:0 RX bytes:226957 (221.6 Kb) TX bytes:15266 (14.9 Kb) eth0 Link encap:Ethernet HWaddr 00:0E:7F:25:D9:8B inet addr:172.31.0.13 Bcast:172.31.3.255 Mask:255.255.252.0 UP BROADCAST RUNNING SLAVE MULTICAST MTU:1500 Metric:1 RX packets:1406 errors:0 dropped:0 overruns:0 frame:0 TX packets:48 e
15、rrors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:113967 (111.2 Kb) TX bytes:7268 (7.0 Kb) Interrupt:11 eth1 Link encap:Ethernet HWaddr 00:0E:7F:25:D9:8B inet addr:172.31.0.13 Bcast:172.31.3.255 Mask:255.255.252.0 UP BROADCAST RUNNING SLAVE MULTICAST MTU:1500 Metric:1 RX p
16、ackets:1411 errors:0 dropped:0 overruns:0 frame:0 TX packets:47 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:112990 (110.3 Kb) TX bytes:7998 (7.8 Kb) Interrupt:15 在这种情况下出现一块网卡失效, 仅仅会是服务器出口带宽下降, 也不会影响网络使用. 通过查看bond0 的工作状态查询能详细的掌握bonding 的工作状态rootrhas-13 bonding# cat /
17、proc/net/bonding/bond0 bonding.c:v2.4.1 (September 15, 2003) Bonding Mode: load balancing (round-robin) MII Status: up MII Polling Interval (ms): 0 Up Delay (ms): 0 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 5 页 - - - - - - - - - 5 Down Delay (ms): 0 Multic
18、ast Mode: all slaves Slave Interface: eth1 MII Status: up Link Failure Count: 0 Permanent HW addr: 00:0e:7f:25:d9:8a Slave Interface: eth0 MII Status: up Link Failure Count: 0 Permanent HW addr: 00:0e:7f:25:d9:8b Linux下通过网卡邦定技术既增加了服务器的可靠性, 又增加了可用网络带宽, 为用户提供不间断的关键服务。用以上方法均在redhat的多个版本测试成功, 而且效果良好. 心动不如行动,赶快一试吧!名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 5 页 - - - - - - - - -