LINUX-网卡Bond_Linux_操作系统_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 操作系统 > Linux > LINUX-网卡Bond

LINUX-网卡Bond

 2012/2/9 10:18:49  jiava9900  程序员俱乐部  我要评论(0)
  • 摘要:网卡bond是通过把多张网卡绑定为一个逻辑网卡,实现本地网卡的冗余,带宽扩容和负载均衡。在应用部署中是一种常用的技术,我们公司基本所有的项目相关服务器都做了bond,这里总结整理,以便待查。<br><br>bond模式:<br>Mode=0(balance-rr)表示负载分担round-robin,和交换机的聚合强制不协商的方式配合。Mode=1(active-backup)表示主备模式,只有一块网卡是active,另外一块是备的standby
  • 标签:Linux

    网卡bond是通过把多张网卡绑定为一个逻辑网卡,实现本地网卡的冗余,带宽扩容和负载均衡。在应用部署中是一种常用的技术,我们公司基本所有的项目相关服务器都做了bond,这里总结整理,以便待查。<br><br>
bond模式:<br>

  1. Mode=0(balance-rr) 表示负载分担round-robin,和交换机的聚合强制不协商的方式配合。
  2. Mode=1(active-backup) 表示主备模式,只有一块网卡是active,另外一块是备的standby,这时如果交换机配的是捆绑,将不能正常工作,因为交换机往两块网卡发包,有一半包是丢弃的。
  3. Mode=2(balance-xor) 表示XOR Hash负载分担,和交换机的聚合强制不协商方式配合。(需要xmit_hash_policy)
  4. Mode=3(broadcast) 表示所有包从所有interface发出,这个不均衡,只有冗余机制...和交换机的聚合强制不协商方式配合。
  5. Mode=4(802.3ad) 表示支持802.3ad协议,和交换机的聚合LACP方式配合(需要xmit_hash_policy)
  6. Mode=5(balance-tlb) 是根据每个slave的负载情况选择slave进行发送,接收时使用当前轮到的slave
  7. Mode=6(balance-alb) 在5的tlb基础上增加了rlb。


5和6不需要交换机端的设置,网卡能自动聚合。4需要支持802.3ad。0,2和3理论上需要静态聚合方式<br>
但实测中0可以通过mac地址欺骗的方式在交换机不设置的情况下不太均衡地进行接收。<br><br>
以上信息来自网络,不是所有的都明白。目前我们常用的主要是1(主备冗余)和6(与交换机无关的负载均衡)<br><br>
本文以小本上虚拟机安装的两台REDHAT AS 5为环境进行说明。

?

1.创建bond0配置文件


?

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

?添加内容

DEVICE=bond0
IPADDR=10.10.10.11
NETWORK=10.10.10.0
NETMASK=255.255.255.0
USERCTL=no
BOOTPROTO=none
ONBOOT=yes

?你需要修改上面的IPADDR,NETWORK,NETMASK为你自己的环境配置

?

2.修改eth0和eth1配置文件
<br>
注意:这里是虚拟机上配置,所以可以很方便的添加多块网卡。<br><br>
使用vi修改eth0配置文件

?

# vi /etc/sysconfig/network-scripts/ifcfg-eth0

?

添加或替换内容:

?

DEVICE=eth0
USERCTL=no
ONBOOT=yes
MASTER=bond0
SLAVE=yes
BOOTPROTO=none

?

使用vi修改eth1配置文件 <br>

# vi /etc/sysconfig/network-scripts/ifcfg-eth1

?
添加或替换内容:

?

DEVICE=eth1
USERCTL=no
ONBOOT=yes
MASTER=bond0
SLAVE=yes
BOOTPROTO=none

?

保存并退出<br><br>3.加载bond驱动
<br>
通过修改内核模块配置文件modprobe.conf加载bond驱动。

?

# vi /etc/modprobe.conf

?

添加下面的两行内容:

?

alias bond0 bonding
options bond0 mode=6 miimon=100

?

注意:这里使用的是模式6,负载均衡模式;网卡检查时间100ms<br><br>4.测试配置
<br>
首先,加载bond module:

?

# modprobe bonding

?

然后,重新启动网络服务

?

# service network restart

?

查看内核中bond状态

?

cat /proc/net/bonding/bond0

?

我机器的输出样例:

?

Ethernet Channel Bonding Driver: v3.0.3 (March 23, 2006)

Bonding Mode: load balancing (round-robin)
MII Status: up
MII Polling Interval (ms): 0
Up Delay (ms): 0
Down Delay (ms): 0

Slave Interface: eth0
MII Status: up
Link Failure Count: 0
Permanent HW addr: 00:0c:29:e7:21:13

Slave Interface: eth1
MII Status: up
Link Failure Count: 0
Permanent HW addr: 00:0c:29:e7:21:09

?

查看所有网络配置

?

# ifconfig

?

bond0     Link encap:Ethernet  HWaddr 00:0C:29:E7:21:13 
          inet addr:10.10.10.11  Bcast:10.10.10.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fee7:2113/64 Scope:Link
          UP BROADCAST RUNNING MASTER MULTICAST  MTU:1500  Metric:1
          RX packets:2155 errors:0 dropped:0 overruns:0 frame:0
          TX packets:685 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:507558 (495.6 KiB)  TX bytes:83759 (81.7 KiB)

eth0      Link encap:Ethernet  HWaddr 00:0C:29:E7:21:13 
          inet6 addr: fe80::20c:29ff:fee7:2113/64 Scope:Link
          UP BROADCAST RUNNING SLAVE MULTICAST  MTU:1500  Metric:1
          RX packets:889 errors:0 dropped:0 overruns:0 frame:0
          TX packets:563 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:238996 (233.3 KiB)  TX bytes:59080 (57.6 KiB)
          Interrupt:67 Base address:0x20a4

eth1      Link encap:Ethernet  HWaddr 00:0C:29:E7:21:13 
          inet6 addr: fe80::20c:29ff:fee7:2113/64 Scope:Link
          UP BROADCAST RUNNING SLAVE MULTICAST  MTU:1500  Metric:1
          RX packets:1266 errors:0 dropped:0 overruns:0 frame:0
          TX packets:122 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:268562 (262.2 KiB)  TX bytes:24679 (24.1 KiB)
          Interrupt:67 Base address:0x2024 

?
<br>

?

?

?

 
上一篇: HTTP 缓存 下一篇: php curl的几段小应用
发表评论
用户名: 匿名