绑定模式
一个绑定脚本
实例1
手动启动bonding
配置文件
一些出错信息
dev->set_mac_address
mii支持

绑定模式

bonding modes

0 balance-rr
負載平衡模式, 需有 switch 設定 (trunk) 支 援才能發揮實質效果,具容錯功能, 其中一張 Slave 網卡失效仍 可持續運作
1 active-backup
同一時間只有單一 Slave 網卡運作Active Slave 網卡失效時自動啟用次一順位 Slave 網卡,不需 switch 支援
2 balance-xor
未研究
3 broadcast
所有 Slave 網卡一齊收送網路封包具容錯功能, 其中一張 Slave 網卡失效仍可持續運作
4 802.3ad
未研究
5 balance-tlb
傳出自動負載平衡,傳入由 Current Active Slave 負責,具容錯功能, 其中一張 Slave 網卡失效仍可持續運 作,不需 switch 支援及設定
6 balance-alb
傳出及傳入皆自動負載平衡具容錯功能, 其中一 張 Slave 網卡失效仍可持續運作;Slave 網卡 driver 需支援 setting hardware address 功能,不需 switch 支援及設定

一个绑定脚本

可以自动绑定两张网卡 newbond.sh

实例1

手动启动bonding

# /etc/init.d/network stop
# modprobe bonding miimon=100 mode=1
# ifconfig bond0 172.16.70.47 netmask 255.255.252.0
# ifenslave bond0 eth0 eth1
# route add default gw 172.16.68.1 bond0

网卡信息

[root@47 ~]# ifconfig
bond0     Link encap:Ethernet  HWaddr 00:0C:29:8B:08:1B
          inet addr:172.16.70.47  Bcast:172.16.71.255  Mask:255.255.252.0
          inet6 addr: fe80::20c:29ff:fe8b:81b/64 Scope:Link
          UP BROADCAST RUNNING MASTER MULTICAST  MTU:1500  Metric:1
          RX packets:1430 errors:0 dropped:0 overruns:0 frame:0
          TX packets:260 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:110922 (108.3 KiB)  TX bytes:34545 (33.7 KiB)

eth0      Link encap:Ethernet  HWaddr 00:0C:29:8B:08:1B
          inet addr:172.16.70.47  Bcast:172.16.71.255  Mask:255.255.252.0
          UP BROADCAST RUNNING SLAVE MULTICAST  MTU:1500  Metric:1
          RX packets:922 errors:0 dropped:0 overruns:0 frame:0
          TX packets:262 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:74845 (73.0 KiB)  TX bytes:34885 (34.0 KiB)

eth1      Link encap:Ethernet  HWaddr 00:0C:29:8B:08:1B
          inet addr:172.16.70.47  Bcast:172.16.71.255  Mask:255.255.252.0
          UP BROADCAST RUNNING SLAVE MULTICAST  MTU:1500  Metric:1
          RX packets:508 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:36077 (35.2 KiB)  TX bytes:0 (0.0 b)

bond0的信息

[root@47 ~]# cat /proc/net/bonding/bond0
Ethernet Channel Bonding Driver: v2.6.3-rh (June 8, 2005)

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:8b:08:1b

Slave Interface: eth1
MII Status: up
Link Failure Count: 0
Permanent HW addr: 00:0c:29:8b:08:25

配置文件

/etc/sysconfig/network-scripts/ 目录下的文件:

[root@47 network-scripts]# cat ifcfg-bond0
DEVICE=bond0
BOOTPROTO=none
ONBOOT=yes
NETMASK=255.255.252.0
IPADDR=172.16.70.47
USERCTL=no
[root@47 network-scripts]# cat ifcfg-eth0
DEVICE=eth0
BOOTPROTO=none
ONBOOT=yes
MASTER=bond0
SLAVE=yes
USERCTL=no
#HWADDR=00:0C:29:F0:22:F1
[root@47 network-scripts]# cat ifcfg-eth1
DEVICE=eth1
BOOTPROTO=none
ONBOOT=yes
MASTER=bond0
SLAVE=yes
USERCTL=no
#HWADDR=00:0C:29:F0:22:FB

/etc/modprobe.conf 中的网卡设备信息:

alias eth0 e1000
alias eth1 e1000
alias bond0 bonding
options bond0 miimon=100 mode=1

一些出错信息

dev->set_mac_address

無法支援 mode 6 (balance-alb), 錯誤訊息如下:

bonding: Error: dev->set_mac_address of dev eth0 failed! ALB mode requires that the base driver support setting the hw address also when the network device's interface is open

mii支持

有些网卡不支持bonding,比如pcnet32驱动。使用ethtool查看使用什么 驱动,使用mii-tool查看是否支持mii功能。

[root@245 ~]# ethtool -i eth0
driver: pcnet32
version: 1.31
firmware-version:
bus-info: 0000:02:01.0
[root@245 ~]# mii-tool
SIOCGMIIPHY on 'eth0' failed: Operation not supported
SIOCGMIIPHY on 'eth1' failed: Operation not supported
no MII interfaces found

上面显示pcnet32网卡驱动不支持mii功能。bonding也就失效了。