文档库 最新最全的文档下载
当前位置:文档库 › Ubuntu 12.04下实现双网卡一IP负载均衡

Ubuntu 12.04下实现双网卡一IP负载均衡

Ubuntu 12.04下实现双网卡负载均衡

什么是bonding

Linux bonding 驱动提供了一个把多个网络接口设备捆绑为单个的网络接口设置来使用,用于网络负载均衡及网络冗余。

bonding的工作模式

bonding一共有7种工作模式

0:(balance-rr) Round-robin policy: (平衡轮询策略):传输数据包顺序是依次传输,直到最后一个传输完毕, 此模式提供负载平衡和容错能力。
1:(active-backup) Active-backup policy:(活动备份策略):只有一个设备处于活动状态。 一个宕掉另一个马上由备份转换为主设备。mac地址是外部可见得。 此模式提供了容错能力。
2:(balance-xor) XOR policy:(平衡策略):传输根据[(源MAC地址xor目标MAC地址)mod 设备数量]的布尔值选择传输设备。 此模式提供负载平衡和容错能力。
3:(broadcast) Broadcast policy:(广播策略):将所有数据包传输给所有设备。 此模式提供了容错能力。
4:(802.3ad) IEEE 802.3ad Dynamic link aggregation. IEEE 802.3ad 动态链接聚合:创建共享相同的速度和双工设置的聚合组。此模式提供了容错能力。每个设备需要基于驱动的重新获取速度和全双工支持;如果使用交换机,交换机也需启用 802.3ad 模式。
5:(balance-tlb) Adaptive transmit load balancing(适配器传输负载均衡):通道绑定不需要专用的交换机支持。发出的流量根据当前负载分给每一个设备。由当前设备处理接收,如果接受的设备传不通就用另一个设备接管当前设备正在处理的mac地址。
6:(balance-alb) Adaptive load balancing: (适配器负载均衡):包括mode5,由 ARP 协商完成接收的负载。bonding驱动程序截获 ARP 在本地系统发送出的请求,用其中之一的硬件地址覆盖从属设备的原地址。就像是在服务器上不同的人使用不同的硬件地址一样。

安装软件

ifenslave一种粘合和分离式的软件,可以将数据包有效的分配到bonding驱动。

apt-get install ifenslave

修改配置文件

vi /etc/network/interfaces

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

#注释掉原来的eth0,eth1配置
# The primary network interface
#auto eth0
#iface eth0 inet dhcp

#auto eth1
#iface eth1 inet dhcp

#这里配置模式为轮询策略,模式代号是0,轮询间隔100ms(毫秒)。
up ifenslave bond0 eth0 eth1
down ifenslave bond0 -d eth0 eth1
bond-mode 0
bond-miimon 100

#配置bond的IP
auto bond0
iface bond0 inet static
address 192.168.0.201
netmask 255.255.255.0
gateway 192.168.0.1

#配置bond的虚拟IP(非必须)
auto bond0:1
iface bond0:1 inet static
address 192.168.1.201
netmask 255.255.255.0
gateway 192.168.1.1
=========

=======================
加载bonding模块
vi /etc/modules
bonding
================================
重启计算机
shutdown -r now
================================
如果成功,bond0、eth0、eth1的MAC地址均会变成原来eth0的MAC

bond0 Link encap:Ethernet HWaddr 00:e0:81:d8:39:09
inet addr:192.168.1.13 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::2e0:81ff:fed8:3909/64 Scope:Link
UP BROADCAST RUNNING MASTER MULTICAST MTU:1500 Metric:1
RX packets:29118 errors:0 dropped:0 overruns:0 frame:0
TX packets:1459 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:2053482 (2.0 MB) TX bytes:132041 (132.0 KB)

eth0 Link encap:Ethernet HWaddr 00:e0:81:d8:39:09
UP BROADCAST RUNNING SLAVE MULTICAST MTU:1500 Metric:1
RX packets:14568 errors:0 dropped:0 overruns:0 frame:0
TX packets:723 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:1028053 (1.0 MB) TX bytes:62807 (62.8 KB)
Interrupt:16 Memory:fbbe0000-fbc00000

eth1 Link encap:Ethernet HWaddr 00:e0:81:d8:39:09
UP BROADCAST RUNNING SLAVE MULTICAST MTU:1500 Metric:1
RX packets:14550 errors:0 dropped:0 overruns:0 frame:0
TX packets:736 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:1025429 (1.0 MB) TX bytes:69234 (69.2 KB)
Interrupt:17 Memory:fbae0000-fbb00000

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:28 errors:0 dropped:0 overruns:0 frame:0
TX packets:28 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:2136 (2.1 KB) TX bytes:2136 (2.1 KB)

相关文档