绑定模式
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也就失效了。
