linux双网卡聚合,做负载均衡
多网卡绑定构建负载均衡服务器
1 引 言
随 着 信 息 技 术 的 快 速 发 展 , 来 越 多 的 电脑 用 户 不 再 满 足 于 越
当 前 的 网络 速 度 。特 别 是 一 些 涉 及 局 域 网应 用 的 用 户 , 中 小 型 如
打 开 服务 器 机 箱 , 两 块 网 卡安 装 在 主板 P 插 槽 上 。如 果 把 CI
维普资讯
网 络 技 术
责 编 姚 翌 任 辑:
多 网卡绑定构 建 负载 均衡 服务器
张 延 红 王 康 平 程 国斌
( 1平顶 山工 学院 河 南平顶 山 4 7 0 ) 6 0 1
( 平顶 山学 院 河 南平顶 山 4 70 ) 2 60 1
E me 和 AS Te / o d o 4 0 0 1 0 Itga d Co tolr  ̄e t US k Br ̄ c m 4 x 1/ 0 ne re nr l 。 t e
性” 的“ 备管理器 ”如果两块 网卡有硬件 冲突 , 会在 “ 中 设 , 就 网络 适配器” 的位 置 出现 一 个 醒 目的惊 叹号 。 击 带 有 惊 叹 号 的 网 卡 , 双 切 换 到 “ 源 ” 项 卡 , 里 可 以看 到 究 竟 是 哪 些 参 数 产 生 的硬 件 资 选 这 冲突, 以及 是 跟 哪 些 设 备 发 生 的冲 突 。 在 , 要 做 的 是 将 “ 现 您 先 使 用 自动 设 置 ” 选 框 里 的小 勾 消 去 , 后 再 双 击 有 红 色 标 志 的 参 复 然 数 , 对 它 的 数 值 进 行 强 制 指 定 , 到 “ 突 设 备 列 表 ” 口中 出 并 直 冲 窗 现“ 有 冲突” 提示为止 。 没 的
【 摘 要 】文 章 论 述 了利 用 NI x rs E trre网卡 绑 定 功 能进 行 双 网卡 绑 定 构 建 负栽 均衡 服 务 器 的 具 体 方 法 和 步 C E pes ne i ps
Linux系统双网卡聚合配置方式
Linux系统双网卡聚合配置方式将多个物理网卡聚合在一起,从而实现冗错和提高吞吐量网络组不同于旧版中bonding技术,提供更好的性能和扩展性网络组由内核驱动和teamd守护进程实现.主要分为两种类型bond、teambond模式介绍(支持多块网卡聚合)mode=0(balance-rr)交换机需要配置链路聚合表示负载分担,并且是轮询的方式比如第一个包走eth0,第二个包走eth1,直到数据包发送完毕。
优点:流量提高一倍缺点:需要接入交换机做端口聚合,否则可能无法使用mode=1(active-backup)同时只有1块网卡在工作。
优点:冗余性高缺点:链路利用率低,两块网卡只有1块在工作mode=2(balance-xor)(平衡策略)交换机需要配置链路聚合表示XOR Hash负载分担,和交换机的聚合强制不协商方式配合。
(需要xmit_hash_policy,需要交换机配置port channel)特点:基于指定的传输HASH策略传输数据包。
缺省的策略是:(源MAC地址 XOR 目标MAC地址) % slave数量。
其他的传输策略可以通过xmit_hash_policy选项指定,此模式提供负载平衡和容错能力mode=3(broadcast)(广播策略)表示所有包从所有网络接口发出,这个不均衡,只有冗余机制,但过于浪费资源。
此模式适用于金融行业,因为他们需要高可靠性的网络,不允许出现任何问题。
需要和交换机的聚合强制不协商方式配合。
特点:在每个slave接口上传输每个数据包,此模式提供了容错能力mode=4(802.3ad)(IEEE 802.3ad 动态链接聚合)不常用,且不同厂商的LCAP报文协商不成功表示支持802.3ad协议,和交换机的聚合LACP方式配合(需要xmit_hash_policy).标准要求所有设备在聚合操作时,要在同样的速率和双工模式,而且,和除了balance-rr模式外的其它bonding负载均衡模式一样,任何连接都不能使用多于一个接口的带宽。
Linux 环境下负载均衡集群的实现
Linux 环境下负载均衡集群的实现李欧;陈燕;李桃迎【期刊名称】《计算机与现代化》【年(卷),期】2014(0)9【摘要】负载均衡集群能够在多台网络设备之间合理分配业务量,使设备充分发挥其处理能力,得到了广泛应用。
Tomcat与Apache都可以作为独立运行的服务器来使用,但它们单独使用时存在一定的局限性。
为了提高服务器的性能,本文将Tomcat与Apache在Linux环境下进行集成,分析负载均衡集群的架构,详细阐述方案的实现过程。
测试结果表明按照该过程能够实现负载均衡集群。
%Load balancing cluster can reasonably allocate traffic among multiple network devices , enable the device to its full pro-cessing capacity , which has been widely applied .Tomcat and Apache can be used as stand-alone server , however , some limita-tions exist when they are used alone .To improve the performance of the server , the article integrated Tomcat with Apache based on Linux OS, analyzed the load balancing cluster architecture , and described the specific implementation program .Test results show that the load balancing cluster can be achieved according to the process .【总页数】4页(P29-32)【作者】李欧;陈燕;李桃迎【作者单位】大连海事大学交通运输管理学院,辽宁大连 116026;大连海事大学交通运输管理学院,辽宁大连 116026;大连海事大学交通运输管理学院,辽宁大连 116026【正文语种】中文【中图分类】TP393【相关文献】1.Linux下实现集群负载均衡 [J], 耿莉2.Linux环境下基于策略路由实现多线路负载均衡 [J], 方琪;刘吉强;韩臻3.Linux下的负载均衡集群LVS实现分析与测试 [J], 郑灵翔;刘君尧;陈辉煌4.基于Linux PC集群负载均衡的研究与实现 [J], 修长虹;赵云飞;宋继侠5.基于红帽linux集群实现高效的虚拟负载均衡性能 [J], 邹洪富因版权原因,仅展示原文概要,查看原文内容请购买。
Linux网卡Bonding配置
Linux⽹卡Bonding配置⼀、bonding技术简介 bonding(绑定)是⼀种将n个物理⽹卡在系统内部抽象(绑定)成⼀个逻辑⽹卡的技术,能够提升⽹络吞吐量、实现⽹络冗余、负载等功能,有很多优势。
Linux 系统下⽀持⽹络 Bonding,也叫 channel Bonding,它允许你将 2 个或者更多的⽹卡绑定到⼀起,成为⼀个新的逻辑⽹卡,从⽽实现故障切换或者负载均衡的功能,具体情况要取决于 mode 参数的具体配置。
Linux系统bonding技术是内核层⾯实现的,它是⼀个内核模块(驱动)。
使⽤它需要系统有这个模块, 我们可以modinfo命令查看下这个模块的信息, ⼀般来说都⽀持.modinfo bondingbonding的七种⼯作模式bonding技术提供了七种⼯作模式,在使⽤的时候需要指定⼀种,每种有各⾃的优缺点.balance-rr (mode=0) 默认, 有⾼可⽤ (容错) 和负载均衡的功能, 需要交换机的配置,每块⽹卡轮询发包 (流量分发⽐较均衡).active-backup (mode=1) 只有⾼可⽤ (容错) 功能, 不需要交换机配置, 这种模式只有⼀块⽹卡⼯作, 对外只有⼀个mac地址。
缺点是端⼝利⽤率⽐较低balance-xor (mode=2) 不常⽤broadcast (mode=3) 不常⽤802.3ad (mode=4) IEEE 802.3ad 动态链路聚合,需要交换机配置,没⽤过balance-tlb (mode=5) 不常⽤balance-alb (mode=6) 有⾼可⽤ ( 容错 )和负载均衡的功能,不需要交换机配置 (流量分发到每个接⼝不是特别均衡)详细说明请参考⽹络上其他资料,了解每种模式的特点根据⾃⼰的选择就⾏, ⼀般会⽤到0、1、4、6这⼏种模式。
⼆、RHEL6 下的 Boding 配置: 在所有的 RHEL 版本下,⽬前都不⽀持在 NetworkManager 服务协作下实现 Bonding 配置.所以要么直接关闭 NetworkManager 服务,并取消其开机启动,要么在所有涉及 Bonding 的⽹卡配置⽂件中(包含ethx 或者 bondY),显式地添加⼀⾏:NM_CONTROLLED=no 要配置⽹卡 Bonding,你必须在/etc/sysconfig/network-scripts/⽬录下建⽴逻辑⽹卡的配置⽂件 ifcfg-bondX,⼀般 X 从 0 开始,依次增加.具体的⽂件内容根据参与 Bonding 的⽹卡类型的不同⼜有所差别,以最最常见的 Ethernet 为例,配置⽂件⼤致是这样的:DEVICE=bond0IPADDR=192.168.0.1NETMASK=255.255.255.0ONBOOT=yesBOOTPROTO=noneUSERCTL=noBONDING_OPTS="bonding parameters separated by spaces"NM_CONTROLLED=no BONDING_OPTS 这⼀⾏填写你需要的 Bonding 模式,⽐如 BONDING_OPTS="miimon=100 mode=1" ,下⾯也会介绍⼏种常见的配置⽅式和它代表的意义,这⾥暂时不展开说明.为了⽅便称呼,我们把Bongding 后的逻辑⽹卡 bondX 称为主⽹卡(Master),参与 Bonding 的物理⽹卡 ethY 称为⼦⽹卡(Slave). 主⽹卡配置⽂件创建完毕以后,⼦⽹卡的配置⽂件也需要做相应的改变,主要是添加 MASTER=和SLAVE=这两项参数,我们假设 2 张⼦⽹卡为 eth0 和 eth1,那么他们的配置⽂件⼤致的样⼦会是这样⼦:DEVICE=ethXBOOTPROTO=noneONBOOT=yesMASTER=bond0SLAVE=yesUSERCTL=noNM_CONTROLLED=no 像这样,分别修改 ifcfg-eth0 和 ifcfg-eth1 配置⽂件,DEVICE=ethX 中的 X ⽤相应的值代替.然后我们重启⽹络服务.service network restart这样⼦,⼦⽹卡为 eth0 和 eth1,主⽹卡为 bond0,模式为 mode 1 的⽹络 Bonding 就完成了rhel6 bonding 实例展⽰系统: rhel6⽹卡: eth2、eth3bond0:10.200.100.90负载模式: mode1(active-backup) # 这⾥的负载模式为1,也就是主备模式.1、关闭和停⽌NetworkManager服务service NetworkManager stopchkconfig NetworkManager offps: 如果有装的话关闭它,如果报错说明没有装这个,那就不⽤管2、加载bonding模块modprobe --first-time bonding3、创建基于bond0接⼝的配置⽂件[root@rhel6.6 network-scripts]# cat ifcfg-bond0DEVICE=bond0BOOTPROTO=noneIPADDR=10.200.100.90NETMASK=255.255.255.0ONBOOT=yesNM_CONTROLLED=noUSERCTL=noBONDING_OPTS="mode=1 miimon=200"4、SLAVE⽹卡的配置⽂件两种⼦⽹卡的配置⽂件如下[root@rhel6.6 network-scripts]# cat ifcfg-eth2DEVICE=eth2#HWADDR=14:58:D0:5A:0F:76NM_CONTROLLED=no#UUID=3b718bed-e8d4-4b64-afdb-455c8c3ccf91ONBOOT=yes#NM_CONTROLLED=yesBOOTPROTO=noneMASTER=bond0SLAVE=yesUSERCTL=no[root@rhel6.6 network-scripts]# cat ifcfg-eth3DEVICE=eth3#HWADDR=14:58:D0:5A:0F:77NM_CONTROLLED=no#UUID=988835c2-8bfa-4788-9e8d-e898f68458f0ONBOOT=yes#NM_CONTROLLED=yesBOOTPROTO=noneMASTER=bond0SLAVE=yesUSERCTL=no5、bonding信息查看重启⽹络服务器后bonding⽣效[root@rhel6.6 network-scripts]# ip a4: eth2: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc mq master bond0 state UP qlen 1000link/ether c4:34:6b:ac:5c:9e brd ff:ff:ff:ff:ff:ff5: eth3: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc mq master bond0 state UP qlen 1000link/infiniband a0:00:03:00:fe:80:00:00:00:00:00:00:00:02:c9:03:00:0a:6f:ba brd 00:ff:ff:ff:ff:12:40:1b:ff:ff:00:00:00:00:00:00:ff:ff:ff:ff10: bond0: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 qdisc noqueue state UPlink/ether c4:34:6b:ac:5c:9e brd ff:ff:ff:ff:ff:ffinet 10.200.100.90/24 brd 10.212.225.255 scope global bond0inet6 fe80::c634:6bff:feac:5c9e/64 scope linkvalid_lft forever preferred_lft forever[root@rhel6.6 network-scripts]# cat /proc/net/bonding/bond0Ethernet Channel Bonding Driver: v3.6.0 (September 26, 2009)Bonding Mode: fault-tolerance (active-backup) # bond0接⼝采⽤mode1Primary Slave: NoneCurrently Active Slave: eth2MII Status: upMII Polling Interval (ms): 200Up Delay (ms): 0Down Delay (ms): 0Slave Interface: eth2MII Status: upSpeed: 1000 MbpsDuplex: fullLink Failure Count: 0Permanent HW addr: c4:34:6b:ac:5c:9eSlave queue ID: 0Slave Interface: eth3MII Status: upSpeed: 1000 MbpsDuplex: fullLink Failure Count: 0Permanent HW addr: c4:34:6b:ac:5c:9fSlave queue ID: 0进⾏⾼可⽤测试,拔掉其中的⼀条⽹线看丢包和延时情况, 然后在插回⽹线(模拟故障恢复),再看丢包和延时的情况.三、RedHat7配置bonding系统: Red Hat Enterprise Linux Server release 7.6 (Maipo)⽹卡: eno3、eno4bonding:bond0负载模式: mode1(active-backup)服务器上两张物理⽹卡eno3和eno4, 通过绑定成⼀个逻辑⽹卡bond0,bonding模式选择mode1注: ip地址配置在bond0上, 物理⽹卡不需要配置ip地址.1、关闭和停⽌NetworkManager服务RedHat7默认安装了NetworkManager,在配置前先关掉NetworkManager服务,否则可能会对bonding或造成问题。
在LINUX(REDHAT)下双网卡负载均衡(LACP)
在LINUX(REDHAT)下双网卡负载均衡(LACP)(一)linux配置#cat/boot/config-kernel-version|grep-i bondingCONFIG_BONDING=m返回CONFIG_BONDING=m表示支持,否则需要编译内核使它支持bonding也可以用:查看一下内核是否已经支持bonding:modinfo bonding第一步:创建一个ifcfg-bondX#touch/etc/sysconfig/network-scripts/ifcfg-bond0新建一个bond0配置文件#cat/etc/sysconfig/network-scripts/ifcfg-bond0DEVICE=bond0BOOTPROTO=staticIPADDR=1.1.1.2NETMASK=255.255.255.0BROADCAST=1.1.1.255NETWORK=1.1.1.0GATEWAY=1.1.1.1ONBOOT=yesTYPE=Ethernet编辑ifcfg-bond0如上第二步:修改/etc/sysconfig/network-scripts/ifcfg-ethX这个实验中把网卡1和2绑定,修改/etc/sysconfig/network-scripts/ifcfg-ethX相应网卡配置如下:#cat/etc/sysconfig/network-scripts/ifcfg-eth1TYPE=EthernetDEVICE=eth1HWADDR=00:d0:f8:40:f1:a0网卡1macBOOTPROTO=noneONBOOT=yesUSERCTL=noMASTER=bond0SLAVE=yes#cat/etc/sysconfig/network-scripts/ifcfg-eth2TYPE=EthernetDEVICE=eth2HWADDR=00:d0:f8:00:0c:0c网卡2macBOOTPROTO=noneONBOOT=yesUSERCTL=noMASTER=bond0SLAVE=yes第三步:配置/etc/modprobe.conf,添加alias bond0bonding #cat/etc/modprobe.confalias eth0e100alias snd-card-0snd-intel8x0options snd-card-0index=0options snd-intel8x0index=0remove snd-intel8x0{/usr/sbin/alsactl store0>/dev/null2>&1||:;};/sbin/modprobe-r --ignore-remove snd-intel8x0alias eth18139toooptions3c501irq=3alias eth2tulip上面是三网卡本身的配置如果要绑定和做lacp只要再加上下面两条配置alias bond0bonding绑定options bond0miimon=100mode=4mode=4是lacp第四步:配置/etc/rc.d/rc.local,添加需要绑定的网卡#cat/etc/rc.d/rc.localtouch/var/lock/subsys/local配置本身就有这条命令ifenslave bond0eth1eth2这条命令是添加需要绑定的网卡1和2 到这里就完成bonding的配置了可以查看一下第五步:重启网络服务和重启pc#service network restart重启网络服务#shutdown-r now重启pc重启后可以查看bonding情况:网卡1和2都绑定上了,模式为802.3ad#cat/proc/net/bonding/bond0Ethernet Channel Bonding Driver:v3.0.3(March23,2006)Bonding Mode:IEEE802.3ad Dynamic link aggregationTransmit Hash Policy:layer2(0)MII Status:upMII Polling Interval(ms):100Up Delay(ms):0Down Delay(ms):0802.3ad infoLACP rate:slowActive Aggregator Info:Aggregator ID:1Number of ports:2Actor Key:9Partner Key:1Partner Mac Address:00:d0:f8:22:33:baSlave Interface:eth1MII Status:upLink Failure Count:0Permanent HW addr:00:d0:f8:40:f1:a0Aggregator ID:1Slave Interface:eth2MII Status:upLink Failure Count:0Permanent HW addr:00:d0:f8:00:0c:0cAggregator ID:1接口配置信息:新增了bond0的配置信息,接口bond0和eth1,eth2,绑定后三个接口使用的mac都是同一个:00:D0:F8:40:F1:A0 #ifconfigbond0Link encap:Ethernet HWaddr00:D0:F8:40:F1:A0inet addr:1.1.1.2Bcast:1.1.1.255Mask:255.255.255.0inet6addr:fe80::2d0:f8ff:fe40:f1a0/64Scope:LinkUP BROADCAST RUNNING MASTER MULTICAST MTU:1500Metric:1RX packets:128errors:0dropped:0overruns:0frame:0TX packets:259errors:0dropped:0overruns:0carrier:0collisions:0txqueuelen:0RX bytes:15466(15.1KiB)TX bytes:39679(38.7KiB)eth0Link encap:Ethernet HWaddr00:11:11:EB:71:E2inetaddr:192.168.180.8Bcast:192.168.180.15Mask:255.255.255.240 inet6addr:fe80::211:11ff:feeb:71e2/64Scope:LinkUP BROADCAST RUNNING MULTICAST MTU:1500Metric:1 RX packets:311errors:0dropped:0overruns:0frame:0TX packets:228errors:0dropped:0overruns:0carrier:0collisions:0txqueuelen:1000RX bytes:30565(29.8KiB)TX bytes:35958(35.1KiB)eth1Link encap:Ethernet HWaddr00:D0:F8:40:F1:A0inet6addr:fe80::2d0:f8ff:fe40:f1a0/64Scope:LinkUP BROADCAST RUNNING SLAVE MULTICASTMTU:1500Metric:1RX packets:54errors:0dropped:0overruns:0frame:0TX packets:97errors:0dropped:0overruns:0carrier:0collisions:0txqueuelen:1000RX bytes:6696(6.5KiB)TX bytes:13821(13.4KiB)Interrupt:209Base address:0x2e00eth2Link encap:Ethernet HWaddr00:D0:F8:40:F1:A0inet6addr:fe80::2d0:f8ff:fe40:f1a0/64Scope:LinkUP BROADCAST RUNNING SLAVE MULTICAST MTU:1500Metric:1RX packets:74errors:0dropped:0overruns:0frame:0TX packets:162errors:0dropped:0overruns:0carrier:0collisions:0txqueuelen:1000RX bytes:8770(8.5KiB)TX bytes:25858(25.2KiB)Interrupt:201Base address:0x2f00lo Link encap:Local Loopbackinet addr:127.0.0.1Mask:255.0.0.0inet6addr:::1/128Scope:HostUP LOOPBACK RUNNING MTU:16436Metric:1RX packets:6283errors:0dropped:0overruns:0frame:0TX packets:6283errors:0dropped:0overruns:0carrier:0collisions:0txqueuelen:0RX bytes:9783674(9.3MiB)TX bytes:9783674(9.3MiB)(二)锐捷交换机配置:lacp system-priority100全局配置lacp优先级interface GigabitEthernet0/23no switchportlacp port-priority100接口的lacp优先级port-group1mode active接口下开启lacp主动模式interface GigabitEthernet0/24no switchportlacp port-priority100port-group1mode activeinterface AggregatePort1no switchportno ip proxy-arpip address1.1.1.1255.255.255.0和linux成功建立lacp后状态信息如下:Show lacp summarySystem Id:100,00d0.f822.33baFlags:S-Device is requesting Slow LACPDUs F-Device is requesting Fast LACPDUs. A-Device is in active mode.P-Device is in passive mode.Aggregate port1:Local information:LACP port Oper Port Port Port Flags State Priority Key Number State----------------------------------------------------------------------Gi0/23SA bndl1000x10x170x3dGi0/24SA bndl1000x10x180x3d Partner information:LACP port Oper Port Port Port Flags Priority Dev ID Key Number State---------------------------------------------------------------------Gi0/23SA25500d0.f840.f1a00x90x20x3dGi0/24SA25500d0.f840.f1a00x90x10x3d State表示状态信息:bndl表示lacp建立成功,sup表示不成功。
LINUX系统下双网卡双网关设置(含五篇)
LINUX系统下双网卡双网关设置(含五篇)第一篇:LINUX系统下双网卡双网关设置由于电信和网通之间互联互通的问题,很多人选择双线路机房,所谓双线路机房就是拥有两条出口,一条电信一条网通。
最近在一个双线路机房测试一台服务器,打算作为论坛的数据库服务器使用,服务器操作系统为Linux。
计划配置为双IP,双域名,使得浏览者通过电信和网通两条线路都能正常访问服务器,而且各走各的,互不影响。
在配置网络的时候遇到了问题,由于Linux默认只有一个网关,在网络上查询了很久,找到一个解决方案,因此整理了一下。
感谢原文作者jac003ke。
服务器操作系统RedHat linux 9,设置两张路由表1.vi /etc/iproute2/rt_tables,增加网通和电信两个路由表251 tel电信路由表252 cnc 网通路由表2.给网卡绑定两个地址用于电信和网通两个线路ip addr add 192.168.0.2/24 dev eth0ip addr add 10.0.0.2/24 dev eth13、分别设置电信和网通的路由表电信路由表:#确保找到本地子网ip route add 192.168.0..0/24 via 192.168.0.2 dev eth0 table tel#内部回环网络ip route add 127.0.0.0/8 dev lo table tel#192.168.0.1为电信网络默认网关地址ip route add default via 192.168.0.1 dev eth0 table tel网通线路路由表:#确保找到本地子网ip route add 10.0.0.0/24 via 10.0.0.2 dev eth1 table cnc#内部回环网络ip route add 127.0.0.0/8 dev lo table cnc#10.0.0.1是网通的默认网关ip route add default via 10.0.0.1 dev eth1 table cnc4、电信和网通各有自己的路由表,制定策略,让192.168.0.2的回应数据包走电信的路由表路由,10.0.0.2的回应数据包走网通的路由表路由ip rule add from 192.168.0.1 table telip rule add from 10.0.0.1 table cnc第二篇:双网卡连接内网外网--默认网关设置问题双网卡连接内网外网--默认网关设置问题2010年06月07日星期一14:36首先你的机器需要有两块网卡,分别接到两台交换机上,internet地址:192.168.1.8,子网掩码:255.255.255.0,网关:192.168.1.1内部网地址:172.23.1.8,子网掩码:255.255.255.0,网关:172.23.1.1如果按正常的设置方法设置每块网卡的ip地址和网关,再cmd下使用 route print查看时会看到Network Destination Netmask Gateway Interface Metric0.0.0.0 0.0.0.0 192.168.1.1 192.168.1.80.0.0.0 0.0.0.0 172.23.1.1 172.23.1.8即指向0.0.0.0的有两个网关,这样就会出现路由冲突,两个网络都不能访问。
关于双网卡绑定与端口聚合
关于双网卡绑定与端口聚合.txt14热情是一种巨大的力量,从心灵内部迸发而出,激励我们发挥出无穷的智慧和活力;热情是一根强大的支柱,无论面临怎样的困境,总能催生我们乐观的斗志和顽强的毅力……没有热情,生命的天空就没的色彩。
关于双网卡绑定与端口聚合端口聚合(IEEE802.3ad Port Trunking)可将2至8个10/100Base-TX端口聚合成一条干路,在全双工工作模式下达到400Mbps-1.6Gbps的带宽。
端口聚合技术能充分利用现有设备实现高速数据传递,也可以通过千兆端口聚合技术实现千兆位链路的聚合,最多可以聚合4Gbps的链路带宽。
Linux双网卡绑定的实现就是使用两块网卡虚拟成为一块网卡,这个聚合起来的设备看起来是一个单独的以太网接口设备,通俗点讲就是两块网卡具有相同的 IP地址而并行链接聚合成一个逻辑链路工作。
其实这项技术在Sun和Cisco中早已存在,被称为Trunking和Etherchannel技术,在 Linux的2.4.x的内核中也采用这这种技术,被称为bonding。
bonding 技术的最早应用是在集群——beowulf上,为了提高集群节点间的数据传输而设计的。
下面我们讨论一下bonding 的原理,什么是bonding需要从网卡的混杂(promisc)模式说起。
我们知道,在正常情况下,网卡只接收目的硬件地址(MAC Address)是自身Mac的以太网帧,对于别的数据帧都滤掉,以减轻驱动程序的负担。
但是网卡也支持另外一种被称为混杂promisc 的模式,可以接收网络上所有的帧,比如说tcpdump,就是运行在这个模式下。
bonding也运行在这个模式下,而且修改了驱动程序中的mac地址,将两块网卡的 Mac地址改成相同,可以接收特定mac的数据帧。
然后把相应的数据帧传送给bond驱动程序处理。
方案一具体配置示例如下:1、[root@storage6 network-scripts]# cat ifcfg-bond0# Intel Corporation 80003ES2LAN Gigabit Ethernet Controller (Copper)DEVICE=bond0BOOTPROTO=staticIPADDR=172.16.100.35NETMASK=255.255.255.0ONBOOT=yesGATEWAY=172.16.100.1BONDING_MASTER=yesTYPE=EthernetUSERCTL=no[root@storage6 network-scripts]# cat ifcfg-eth0# Intel Corporation 80003ES2LAN Gigabit Ethernet Controller (Copper)DEVICE=eth0BOOTPROTO=noneONBOOT=yesTYPE=EthernetMASTER=bond0SLAVE=yesUSERCTL=no[root@storage6 network-scripts]# cat ifcfg-eth1#IntelCorporation80003ES2LANGigabitEthernetController(Copper)DEVICE=eth1BOOTPROTO=noneONBOOT=yesTYPE=EthernetMASTER=bond0SLAVE=yesUSERCTL=no2、编辑 /etc/modprobe.conf 文件,加入如下一行内容,以使系统在启动时加载bonding 模块,对外虚拟网络接口设备为 bond0加入下列两行alias bond0 bondingoptions bond0 miimon=100 mode=0说明:miimon是用来进行链路监测的。
双线负载均衡设置完整版
双线负载均衡设置完整版在我们遇到双线网络的时候,该如何进行负载均衡的设置呢?这个问题我们将通过一个实际的案例帮助大家介绍,那么我们还是先从例子的实际情况出发,根据问题的所在进行方案的研究,之后通过前面文章的基础介绍,在此我们就直接引入双线负载均衡的配置问题了。
该公司有两条专线,一条联通的2M 租线,另一条互联通的512K 租线;有一台Linux 做的WEB服务器,该WEB服务器有一张网卡,接到中心交换机3560上。公司希望,当两条线路都正常时,客户能够通过任何一条专线访问公司的WEB服务器,实现双线负载均衡;而且,当任何一条线路出现故障时,用户仍然可以访问WEB服务器。分析:为了实现两条线路正常时的双线负载均衡,可以通过配置DNS轮询实现。而为了实现容错,我们需要实现从哪条线路进来的请求,其响应也从该线路出去,这是解决问题的关键所在。因为,如果从一条线路进去的请求,其响应从另外一条线路出来的话,那么TCP的三次握手不可能完成,TCP连接不可能建立起来(因为两条线路上都有防火墙)。而且,即使不考虑防火墙的状态检测机制,假设两条线路都正常时TCP连接能够建立起来,但是,一旦其中一条线路挂了,那么连接也不可能建立得起来,容错机制也不能实现。DNS轮询,比较简单,我们不做深入的讨论。由于该公司的域名是在域名供应商那里注册的,所有只需要在域名供应商的网站上做适当配置:将该公司的WEB服务器域名 分别映射到IP地址 x.x.x.x(联通IP) 和 y.y.y.y(互联通IP)就完事了。当用户浏览的时候,浏览器会智能地在这两个IP之间作出选择。下面我们讨论怎样实现双线负载均衡。
从哪条线路进来的请求,其响应也从该线路出去。我们可以这样来做:双线负载均衡第一步:在联通线路的防火墙上,将联通给我们的IP地址x.x.x.x 的80端口映射到内网地址192.168.168.1的80端口:iptables -t nat -A PREROUTING -p tcp -s 0/0 -d x.x.x.x/32 \--dport 80 -j DNAT --to-destination 192.168.168.1iptables -t nat -A POSTROUTING -p tcp -s 192.168.168.1/32 -d 0/0 \--sport 80 -j SNAT --to-source x.x.x.x双线负载均衡第二步:在互联通线路的防火墙上,将互联通给我们的IP地址y.y.y.y 的80端口映射到内网地址 192.168.1.2的80端口:iptables -t nat -A PREROUTING -p tcp -s 0/0 -d y.y.y.y/32 \--dport 80 -j DNAT --to-destination 192.168.168.2iptables -t nat -A POSTROUTING -p tcp -s 192.168.168.2/32 -d 0/0 \--sport 80 -j SNAT --to-source y.y.y.y双线负载均衡第三步:在WEB服务器上,为网卡eth0绑定两个IP地址:192.168.168.1,192.168.168.2:[root@web network-scripts]# cat ifcfg-eth0DEVICE=eth0HWADDR=00:0C:76:23:23:9AIPADDR=192.168.168.1NETMASK=255.255.255.0ONBOOT=yesTYPE=Ethernet[root@web network-scripts]# cat ifcfg-eth0:0DEVICE=eth0:0HWADDR=00:0C:76:23:23:9AIPADDR=192.168.168.2NETMASK=255.255.255.0ONBOOT=yesTYPE=Ethernet双线负载均衡第四步:在WEB服务器上配置策略路由:将来自联通线路的,发给192.168.168.1的请求的响应包,发送给192.168.168.11,然后通过联通的线路,返回给用户;将来自互连通线路的,发给192.168.168.2的请求的响应包,发给192.168.168.12,然后通过互联通的线路返回给用户.这样,就可以实现从哪条线路进来的请求,其响应也从该线路出去。具体配置如下:[root@web ~]# ip route add table 1 default via 192.168.168.11[root@web ~]# ip route add table 2 default via 192.168. 168.12[root@web ~]# ip rule add from 192.168.168.1 table 1[root@web ~]# ip rule add from 192.168.168.2 table 2[root@web ~]# sh ip rule<--- IOS^-^/sbin/ip: /sbin/ip: cannot execute binary file [root@web ~]# ip rule list0:from all lookup local32764:from 192.168.168.2 lookup 232765:from 192.168.168.1 lookup 132766:from all lookup main32767:from all lookup default[root@web ~]# ip route list table 1default via 192.168.168.11 dev eth0[root@web ~]# ip route list table 2default via 192.168.168.12 dev eth0。
LINUX bond效果测试
LINUX bond效果测试一、测试环境:SERVER运行VSFTP服务器软件,PC从FTP服务器下载文件来测试网络的传输性能,文件大小为10485760B(10M)。
服务器安装3块intel 82559网卡。
PC安装1块DTX530网卡。
中间交换机为H3C S2016 线速交换。
因PC机网卡所限,不能测试100M绑定效果,因此只测试了服务器网卡10绑定是的效果,测试中的100M仅做参考。
测试结果中的所有数据的单位俊为kbytes/sec。
二、测试结果:1、未绑定前的测试基线:10dd0M全双工: 11778.8510M全双工: 1177.2510M半双工:1070.302、服务器做双网卡绑定,交换机不做任何设置:Mode=0、10M全双工: 2354.76Mode=0、10M半双工:1757.00Modse=1:1177.383、服务器做3网卡绑定,交换机不做任何设置:Mode=0、10M全双工: 3532.94Mode=0、10M半双工:未测试Mode=1: 1175.274、服务器做双网卡绑定,交换机做e0/1 e0/2链路聚合:Mode=0、10M全双工: 2362.72Mode=0、10M半双工:未测试Mode=1: 1175.255、服务器做3网卡绑定,交换机做e0/1 e0/2 e0/3链路聚合:Mode=0、103M全双工: 3531.75Mode=0、10M半双工:未测试Mode=1: 117744.38三、实验结论及注意事项:1、LINUX机器做BOND=0需交换机的支持,而BOND=6则无需。
2、MODE 0 即为负载均衡模式,1即为冗余备份模式。
3、在测试中建议将交换机端口和网卡的工作速率以及工作模式强制为一致,在测试中发现82559网卡不能正确的和H3C S2016交换机协商工作模式,导致速度巨慢,强制速率及工作模式后排除。
(LINUX用mii-tool -F 来强制,ethtool发现不能使用)。
[转载]Linux下网络聚合的方法
[转载]Linux下⽹络聚合的⽅法⽹卡的链路聚合就是将多块⽹卡连接起来,当⼀块⽹卡损坏,⽹络依旧可以正常运⾏,可以有效的防⽌因为⽹卡损坏带来的损失,同时也可以提⾼⽹络访问速度。
⽹卡的链路聚合⼀般常⽤的有"bond"和"team"两种模式,"bond"模式最多可以添加两块⽹卡,"team"模式最多可以添加⼋块⽹卡。
1、bondbond模式的配置步骤如下图所⽰,在配置之前需要有两块⽹卡:a、"nmcli connection add type bond con-name bond0 mode active-backup ip4 172.25.254.102/24"。
表⽰添加⼀个bond,名称为bond0,⼯作模式为主备,IP为"172.25.254.102"。
b、"cat /proc/net/bonding/bond0"。
可以查看bond的信息。
c、"nmcli connection add con-name eth0 ifname eth0 type bond-slave master bond0"。
将eth0⽹卡连接添加到这个bond中。
d、"nmcli connection add con-name eth1 ifname eth1 type bond-slave master bond0"。
将eth1连接⽹卡添加到这个bond中。
⾄此bond模式的⽹卡链路聚合配置完成,⽹络可以正常使⽤。
bond的常⽤⼯作模式有"active-backup"主备模式和"balance-rr"轮询模式两种。
主备模式是使⽤⼀块⽹卡,这块⽹卡坏了使⽤另⼀块⽹卡。
轮询模式是两块⽹卡轮流使⽤。
测试时可以使⽤"ifconfig eth0 down",去掉⼀块⽹卡,可以发现,⽹络依旧可以正常使⽤。
linux链路聚合配置命令
linux链路聚合配置命令Linux链路聚合是一种网络技术,可以将多个物理网络接口绑定在一起,形成一个更高带宽的聚合链路,提高网络性能和可靠性。
下面介绍一些常用的Linux链路聚合配置命令。
1. ifconfig命令ifconfig命令可以用来查看和配置网络接口,包括链路聚合接口。
通过ifconfig命令可以设置接口的IP地址、子网掩码、MAC 地址等信息。
例如,如下命令可以创建一个名为bond0的链路聚合接口,并将eth0和eth1两个物理接口绑定在一起:ifconfig bond0 192.168.1.100 netmask 255.255.255.0 up ifconfig eth0 upifconfig eth1 upifenslave bond0 eth0 eth12. modprobe命令modprobe命令可以用来向系统加载内核模块。
在使用链路聚合技术时,需要加载bonding内核模块。
例如,如下命令可以加载bonding内核模块:modprobe bonding3. /etc/network/interfaces文件/etc/network/interfaces文件是Debian系列Linux系统中的网络配置文件,可以用来配置网络接口。
通过编辑该文件可以设置链路聚合接口的IP地址、子网掩码、网关、DNS等信息。
例如,如下内容可以配置一个名为bond0的链路聚合接口:auto bond0iface bond0 inet staticaddress 192.168.1.100netmask 255.255.255.0gateway 192.168.1.1dns-nameservers 8.8.8.8 8.8.4.4bond-slaves eth0 eth1bond-mode active-backupbond-miimon 1004. bondctl命令bondctl命令可以用来查看和配置链路聚合接口的状态。
linux bond概念
在Linux系统中,Bond(链路聚合)是一种网络设备驱动,它允许将多个物理网络接口捆绑成一个逻辑网络接口。
这样做可以提供更高的带宽、更好的网络可用性和可靠性。
Bond 通过将多个网卡虚拟为一个单一的网卡,实现了数据流量的负载均衡和故障备份。
Bond支持多种模式,包括:
1. balance-rr(平衡轮询):数据包在接口之间轮询传输,提供负载均衡。
2. active-backup(主备模式):只有一个接口处于活动状态,另一个作为备份。
3. balance-xor(平衡XOR):确保所有流量都通过一个接口,适用于特定的网络配置。
4. broadcast(广播模式):所有接口都接收广播消息,用于某些特殊的网络应用。
5. 802.3ad(IEEE 802.3ad):动态链路聚合,根据网络负载来分配流量。
6. balance-tlb(传输负载均衡):优化TCP/IP数据包的传输。
7. balance-alb(适应性负载均衡):根据网络条件动态调整流量。
网卡绑定(多网卡绑定成一个虚拟网卡负载均衡)
网卡绑定,就将两个或者更多的物理网卡绑定成一个虚拟网卡,以提供负载均衡或者冗余,能够起到增加带宽的作用;当网卡绑定之后,如果有一个网卡坏掉,网络会继续保持,不会中断,从而不会影响业务。
Windows下网卡绑定Windows 下进行网卡绑定,需要根据网卡的类型下载网卡驱动,通过网卡驱动进行网卡绑定。
设备:HS22,BCE刀箱系统:windows 2008 Enterprise R2 x64网卡类型:首先下载网卡驱动,在驱动的MgmtApps文件夹下,寻找符合系统要求的setup.exe文件,双击击安装。
在接受许可条例之后,进入自定义安装界面,如下:我们这里只安装BASP,直接下一步。
安装结束后,会提醒你从控制面板中找到,这里,我们只要打开开始菜单就可以看见新安装的BACS软件了。
(注意,如果是intel的网卡,系统会默认图标显示在控制面板中。
)软件界面如下:界面左侧的Device Management,显示的是主机当前的网卡,Team Management是用来对网卡绑定进行操作和管理的。
右边是动态展示栏,可以展示每块网卡的信息(Information),可以通过自动ping网卡IP,诊断网卡当前状态(Diagnostics),还可以统计网卡活动状态(Statistics)。
网卡绑定,在实际操作中,是采用虚拟网卡组的概念,将现有网卡,绑定成一个虚拟网卡组。
因此在BACS中,我们打开Team Management来进行网卡绑定。
打开Team Management,左侧看到的是可以进行绑定的网卡状态。
我们打开上层菜单栏中的“Teams”,选择“Create a team”,就进入了网卡绑定的引导界面。
选择“Next”。
首先输入一个网卡绑定组的名字:选择“Next”进入类型界面。
Broadcom网卡绑定有三种类型,--Smart Load Balancing(TM)and Failover(SLB):智能负载均衡和故障转移。
多网卡的7种bond模式原理详解
多网卡的7种bond模式原理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 ,即:(balancerr) Roundrobin policy(平衡抡循环策略)特点:传输数据包顺序是依次传输(即:第1个包走eth0,下一个包就走eth1….一直循环下去,直到最后一个传输完毕),此模式提供负载平衡和容错能力;但是我们知道如果一个连接或者会话的数据包从不同的接口发出的话,中途再经过不同的链路,在客户端很有可能会出现数据包无序到达的问题,而无序到达的数据包需要重新要求被发送,这样网络的吞吐量就会下降第二种模式:mod=1,即: (activebackup) Activebackup policy(主备份策略)特点:只有一个设备处于活动状态,当一个宕掉另一个马上由备份转换为主设备。
Linux多网卡bond中的几种mode
Linux多网卡bond中的几种mode一、文档目的编写本文档主要为了介绍以及整理bond中几种mode,为了方便以后工作查看而整理。
二、文档内容随着科学技术的日益革新,数据的安全性已经逐渐体现出了它的重要意义。
可以设想,当一个人所有的个人资料都不负存在,那是多么可怕的事情。
网络技术的深入使用,数据的网络化传输已经成为了重要,甚至主要的传输方式。
所以数据服务器能够正常提供网络服务是所有供应商都需要考虑的问题。
在这个背景下,单网卡的应用已经捉襟见肘,设备冗余技术的普及已是枝繁叶茂。
本文之后就引用Linux操作系统下的多网卡bonding技术来阐述这一容错概念。
负载均衡功能也是网卡bonding的另一个功能,它可以实现多网卡同时工作,提高系统网络处理的吞吐能力。
一、网卡的负载均衡模式(mode = BOND_MODE_ROUNDROBIN)1)建立bond虚设备建立一个ifcfg-bond0的设备,然后配置如下信息即可。
DEVICE=bond0BOOTPROTO=staticIPADDR=172.16.64.208NETMASK=255.255.224.0ONBOOT=yesTYPE=Ethernet2)配置接口文件由于使用一个虚拟的ip地址,所以,其他接口设备都不配置ip信息。
3)配置bonding工作方式打开/etc/modprobe.conf文件,将bonding的工作模式配置为如下模式。
alias bond0 bondingoptions bond0 mode=0 arp_interval=500 arp_ip_target=172.16.64.864)启动bonding需要添加路由来制定发送规则,这个可以自定义添加。
配置完后重启设备即可。
ifenslave bond0 eth0 eth1route add -net 0/0 gw 172.16.64.254bond0 Link encap:Ethernet HWaddr 00:14:10:70:00:25inet addr:172.16.64.208 Bcast:172.16.95.255 Mask:255.255.224.0inet6 addr: fe80::200:ff:fe00:0/64 Scope:LinkUP BROADCAST RUNNING MASTER MULTICAST MTU:1500 Metric:1RX packets:39335 errors:0 dropped:0 overruns:0 frame:0TX packets:3178 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:0RX bytes:3020656 (2.8 MiB) TX bytes:269722 (263.4 KiB)eth0 Link encap:Ethernet HWaddr 00:14:10:70:00:25UP BROADCAST RUNNING SLA VE MULTICAST MTU:1500 Metric:1RX packets:18208 errors:0 dropped:0 overruns:0 frame:0TX packets:5 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:1000RX bytes:1371589 (1.3 MiB) TX bytes:378 (378.0 b)eth1 Link encap:Ethernet HWaddr 00:14:10:70:00:25UP BROADCAST RUNNING SLA VE MULTICAST MTU:1500 Metric:1RX packets:21128 errors:0 dropped:0 overruns:0 frame:0TX packets:3174 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:100RX bytes:1649127 (1.5 MiB) TX bytes:269498 (263.1 KiB)如上图所示,这种模式下bonding模块会将虚接口和所有的slave接口的MAC地址设置为一致。
linux负载均衡原理
linux负载均衡原理Linux负载均衡原理在现代的IT环境中,随着业务量的增长,单一服务器往往无法满足高并发访问的需求。
因此,负载均衡技术应运而生。
在众多的负载均衡解决方案中,基于Linux系统的负载均衡器由于其高效、稳定和开源等特性,被广泛应用于各种大型网站和服务中。
一、什么是负载均衡负载均衡是一种计算机技术,用于在多台计算机、网络链接、CPU、硬盘或其他资源中分配工作负载,以优化系统资源的使用、最大化吞吐量、最小化响应时间、避免过载等问题。
二、Linux负载均衡原理Linux负载均衡主要是通过软件实现的,其中最常用的两种方式是Nginx和HAProxy。
1. Nginx:Nginx是一款高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器。
Nginx通过将请求分发到不同的后端服务器,实现负载均衡。
Nginx支持多种负载均衡策略,包括轮询、权重轮询、IP哈希、最少连接数等。
2. HAProxy:HAProxy是一个提供高可用性、负载均衡以及基于TCP(第四层)和HTTP(第七层)应用的代理软件。
HAProxy特别适用于那些需要快速且可靠地传输大量数据的web应用,例如游戏、数据库、视频流和VoIP等。
三、Linux负载均衡的优点1. 灵活性:Linux负载均衡可以根据需求灵活配置和调整。
2. 高可用性:通过冗余设计,即使某个节点出现故障,也不会影响整体服务。
3. 性能优越:Linux负载均衡器能够处理大量的并发连接,性能稳定且高效。
4. 成本低廉:相比于硬件负载均衡器,Linux负载均衡的成本更低。
四、总结Linux负载均衡是一种有效的提高系统性能和可用性的技术。
通过合理配置和管理,可以实现对多个服务器的负载均衡,从而提升整个系统的稳定性和效率。
Linux下配置双网卡聚合
一、背景CentOS6.6Ethernet:em1 em2 em3 em4bond0 192.168.51.134/24bond1 192.168.52.135、24GW 192.168.51.1GW 192.168.52.1VLAN 51 52前提:查看8021q模块有没有挂载,如果没有的话就进行手动挂载# lsmsg |grep 8021q# modprobe 8021q二、配置:1.配置em1、em2配置文件并将这两块网卡绑定为bond0# cd /etc/sysconfig/network-scripts/# vim ifcfg-em1DEVICE=em1TYPE=EthernetUUID=bcf7fa28-5807-4126-a7e6-d16bb5ddd32bONBOOT=yesBOOTPROTO=none#HWADDR=18:66:DA:4C:FC:E6DEFROUTE=yes#IPV4_FAILURE_FATAL=yes#IPV6INIT=noMASTER=bond0SLAVE=yesUSERCTL=yesPS:这里HWA DDR、UUID一行可以注释掉,因为后面重启network服务的时候可能会提示MA C 地址重复,当然如果不提示最好2.配置em2、em3、em4如上配置参数,其中em3、em4的MASTER=bond13.复制或创建ifcfg-bond0、ifcfg-bond1,并修改文件内容如下# cp ifcfg-em1 ifcfg-bond0# vim ifcfg-bond0DEVICE=bond0BOOTPROTO=noneONBOOT=yesTYPE=EthernetBONDING_OPTS="mode=2 miimon=100"VLAN=yes4.以同样方式配置bond15.配置/etc/modprobe.d/dist.conf#如果bond0,bond1都以同一个mode配置,则可以如下:# vim /etc/modprobe.d/dist.confalias bond0 bondingoptions bonding mode=2 miimon=100#如果bond0,bond1以不同的mode运行,则需要分开配置Mdoe如下:# vim /etc/modprobe.d/dist.conf ##有些系统版本可能不一样,为/etc/modprobe.conf alias bond0 bondingoptions bond0 miimon=100 mode=1install bond1 /sbin/modprobe bonding -o bond1 miimon=100 mode=0PS:这里因为需要加入VLA N,不需要在这里配置IP三、重启network服务可以查看/proc/net/bonding/下的bond0或bond1,查看虚拟网卡状态四、把绑定的bond0、bond1加入VLAN 51,VLAN 521.vconfig add bond0 512.vconfig add bond1 52可以查看/proc/net/vlan/config查看vlan配置情况五、配置ifcfg-bond0.51、ifcfg-bond1.52 IP# cp ifcfg-bond0 ifcfg-bond0.51# vim ifcfg-bond0.51DEVICE=bond0.51BOOTPROTO=noneONBOOT=yesTYPE=EthernetIPADDR=192.168.51.134NETMASK=255.255.255.0GATEWAY=192.168.51.1BONDING_OPTS="mode=2 miimon=100"VLAN=yes同理配置bond1.52PS:bond0和bond1最好属于两个不同VLA N的网段,否则会出现路由混乱问题(默认路由只有一条,即是说只有一个出口),有一个思路可以通过配置软路由+iptable实现转发,但暂时测试不通过六、写入rc.load,实现重启不失效# vim /etc/rc.loadmodprobe 8021qifenslave bond0 em1 em2 ifenslave bond1 em3 em4 vconfig add bond0 51vconfig add bond1 52。
LINUX集群LVS负载均衡配置
作者:潜小生 open.source.niche@LINUX 集群LVS 负载均衡配置基础基础原理篇原理篇原理篇::LVS 是Linux Virtual Server 的缩写,意思是Linux 虚拟服务器。
负载均衡一般是指一群计算机的集合,通过一个虚拟ip 去根据某种算法,去不停分配到这集合的计算机当中,假如有 主机A 主机B 主机C 主机A 作为一个负载均衡机,主机B 和主机C 都是web 应用服务器,主机A 是负载均衡机,主机A 会虚拟一个IP 出来作为这个负载均衡的IP ,假定主机A 的IP 192.168.1.1 主机B 的IP 是192.168.10.2 主机C 的IP 192。
168.10.3 这个负载均衡虚拟IP 的192.168.1.10 就是访问这web 服务器的IP 地址 当外部来访问web 站点的时候,主机A(负载均衡机)会把这个虚拟IP 通过作为NAT 地址转换,分发主机A 和主机B ,采用一种算法,通常一般采用轮询的方式,当外部网络来访问时候,主机A(负载均衡机)首先任意分开给主机A ,有主机A 把页面访问给来至外部网络的访问,当有下一个来外部网络的访问,主机A(负载均衡机)在分发给主机B,按照这样的机制,一次分发给主机A,一次分发给主机B 。
LVS有三种负载均衡的模式,分别是VS/NAT(nat模式)VS/DR(路由模式) VS/TUN(隧道模式)介绍模式介绍VS/NAT模式这种模式当来访问这个网络的时候,负载均衡机会会通过NAT的转换分别分发给应用服务器A或应用服务器B。
应用服务器返回给来至外部的访问,要在次通过负载机访问给来至外部的访问。
这种模式通常是应用服务器是IP是私有IP地址,需要通过NAT地址来转换成公网IP地址。
返回给外部网络的不在通过这个负载均衡机出去,而且自己通过路由返回给外部网络,自己去查路由,去返回。
vs/tun模式介绍隧道模式,负载均衡机和集群集合的服务器和负载均衡虚拟出来IP不属于同一个网段,分别分布在不同网段,这时候我需要隧道模式,好比这个负载均衡机和这个集群集合的服务器建议一条用来专门用来负载均衡隧道,隧道模式首先外部网络访问时候,经负载均衡机来分发到应用服务器,应用服务器也是和路由模式一样的方式,自己路由出去返回结果给来至外部的访问,也不经在过负载均衡机出返回给来至外部网络的访问。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
说了半天理论,其实配置很简单,一共四个步骤:
实验的操作系统是Redhat Linux Enterprise 3.0
绑定的前提条件:芯片组型号相同,而且网卡应该具备自己独立的BIOS芯片。
1.编辑虚拟网络接口配置文件,指定网卡IP
vi /etc/sysconfig/ network-scripts/ ifcfg-bond0
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:25:D9:8B
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.0
Bonding Mode: load balancing (round-robin)
MII Status: up
MII Polling Interval (ms): 0
Up Delay (ms): 0
Do Mode: all slaves
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
[root@rhas-13 network-scripts]# cat ifcfg-eth0
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=dhcp
[root@rhas-13 network-scripts]# cat ifcfg-eth1
DEVICE=eth0
那也就是说在主备模式下,当一个网络接口失效时(例如主交换机掉电等),不回出现网络中断,系统会按照cat /etc/rc.d/rc.local里指定网卡的顺序工作,机器仍能对外服务,起到了失效保护的功能.
在mode=0 负载均衡工作模式,他能提供两倍的带宽,下我们来看一下网卡的配置信息
[root@rhas-13 root]# ifconfig
options bond0 miimon=100 mode=1
说明:miimon是用来进行链路监测的。 比如:miimon=100,那么系统每100ms监测一次链路连接状态,如果有一条线路不通就转入另一条线路;mode的值表示工作模式,他共有0,1,2,3四种模式,常用的为0,1两种。
Slave Interface: eth1
MII Status: up
ONBOOT=yes
BOOTPROTO=dhcp
3 # vi /etc/modprobe.conf
编辑 /etc/ modprobe.conf 文件,加入如下一行内容,以使系统在启动时加载bonding模块,对外虚拟网络接口设备为 bond0
加入下列两行
alias bond0 bonding
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 bytes:0 (0.0 b)
Interrupt:15
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
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 Metric:1
linux双网卡聚合,做负载均衡 2009-01-08 16:22:46| 分类: 默认分类 | 标签: |字号大
中
小 订阅
Linux双网卡绑定实现就是使用两块网卡虚拟成为一块网卡,这个聚合起来的设备看起来是一个单独的以太网接口设备,通俗点讲就是两块网卡具有相同的IP地址而并行链接聚合成一个逻辑链路工作。其实这项 技术在Sun和Cisco中早已存在,被称为Trunking和Etherchannel技术,在Linux的2.4.x的内核中也采用这这种技术,被称为bonding。bonding技术的最早应用是在集群——beowulf上,为了提高集群节点间的数据传输而设计的。下面我们讨论一下bonding 的原理,什么是bonding需要从网卡的混杂(promisc)模式说起。我们知道,在正常情况下,网卡只接收目的硬件地址(MAC Address)是自身Mac的以太网帧,对于别的数据帧都滤掉,以减轻驱动程序的负担。但是网卡也支持另外一种被称为混杂promisc的模式,可以接收网络上所有的帧,比如说tcpdump,就是运行在这个模式下。bonding也运行在这个模式下,而且修改了驱动程序中的mac地址,将两块网卡的Mac地址改成相同,可以接收特定mac的数据帧。然后把相应的数据帧传送给bond驱动程序处理。
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
BOOTPROTO=static
IPADDR=172.31.0.13
NETMASK=255.255.252.0
BROADCAST=172.31.3.254
ONBOOT=yes
TYPE=Ethernet
这里要主意,不要指定单个网卡的IP 地址、子网掩码或网卡 ID。将上述信息指定到虚拟适配器(bonding)中即可。
mode=1工作在主备模式下,这时eth1作为备份网卡是no arp的
[root@rhas-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
Interrupt:15
在这种情况下出现一块网卡失效,仅仅会是服务器出口带宽下降,也不会影响网络使用.
通过查看bond0的工作状态查询能详细的掌握bonding的工作状态
[root@rhas-13 bonding]# cat /proc/net/bonding/bond0
bonding.c:v2.4.1 (September 15, 2003)
UP BROADCAST RUNNING MASTER MULTICAST MTU:1500 Metric:1
RX packets:18495 errors:0 dropped:0 overruns:0 frame:0
TX packets:480 errors:0 dropped:0 overruns:0 carrier:0
4 # vi /etc/rc.d/rc.local
加入两行
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时的情况
RX packets:2817 errors:0 dropped:0 overruns:0 frame:0
TX packets:95 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:226957 (221.6 Kb) TX bytes:15266 (14.9 Kb)