Linux支付7種bonding模式:
查看Linux是否支持網卡bonding模式:
[root@yhj02node156236 network-scripts]# modinfo bonding
filename: /lib/modules/2.6.32-504.23.4.el6.centos.plus.x86_64/kernel/drivers/net/bonding/bonding.ko
author: Thomas Davis, [email protected] and many others
description: Ethernet Channel Bonding Driver, v3.6.0
version: 3.6.0
license: GPL
srcversion: 653FCC4D7CEFA2879B28255
depends: ipv6
vermagic: 2.6.32-504.23.4.el6.centos.plus.x86_64 SMP mod_unload modversions
parm: max_bonds:Max number of bonded devices (int)
parm: tx_queues:Max number of transmit queues (default = 16) (int)
parm: num_grat_arp:Number of gratuitous ARP packets to send on failover event (int)
parm: num_unsol_na:Number of unsolicited IPv6 Neighbor Advertisements packets to send on failover event (int)
parm: miimon:Link check interval in milliseconds (int)
parm: updelay:Delay before considering link up, in milliseconds (int)
parm: downdelay:Delay before considering link down, in milliseconds (int)
parm: use_carrier:Use netif_carrier_ok (vs MII ioctls) in miimon; 0 for off, 1 for on (default) (int)
parm: mode:Mode of operation; 0 for balance-rr, 1 for active-backup, 2 for balance-xor, 3 for broadcast, 4 for 802.3ad, 5 for balance-tlb, 6 for balance-alb (charp)
parm:
mode=0 balance負載均衡+容錯:
鏈路負載均衡,增加帶寬,支持容錯,一條鏈路故障會自動切換正常鏈路。交換機需要配置access口,靜態聚合口,思科叫port channel。
特點:傳輸數據包package順序是依次傳輸(即:第1個package走eth0,下一個package就走eth1….一直循環下去,直到最後一個傳輸完畢),此模式提供負載平衡,增加帶寬和容錯能力;但是我們知道如果一個連接或者session的package從不同的接口發出的話,中途再經過不同的鏈路,在客戶端很有可能會出現數據包無序到達的問題,而無序到達的數據包需要重新要求被髮送,這樣網絡的吞吐量就會下降
mode=1 active-backup
主備模式,只有一塊網卡是active,另一塊是備用的standby,所有流量都在active鏈路上處理,交換機配置的是捆綁的話將不能工作,因爲交換機往兩塊網卡發包,有一半包是丟棄的。
特點:只有一個設備處於活動狀態,當一個宕掉另一個馬上由備份轉換爲主設備。mac地址是外部可見得,從外面看來,bond的MAC地址是唯一的,以避免switch(交換機)發生混亂。
此模式只提供了容錯能力;由此可見此算法的優點是可以提供高網絡連接的可用性,但是它的資源利用率較低,只有一個接口處於工作狀態,在有 N 個網絡接口的情況下,資源利用率爲1/N
mode=3 broadcast
這個是表示所有包從所有網絡接口發出,這個不均衡,只有冗餘機制,但過於浪費資源。此模式適用於金融行業,因爲他們需要高可靠性的網絡,不允許出現任何問題。需要和交換機的聚合強制不協商方式配合(靜態聚合)。
特點:在每個slave接口上傳輸每個數據包,此模式提供了容錯能力
mode=4 802.3ad 動態鏈路聚合LACP
表示支持802.3ad協議,和交換機的聚合LACP方式配合(需要xmit_hash_policy).標準要求所有設備在聚合操作時,要在同樣的速率和雙工模式,而且,和除了balance-rr模式外的其它bonding負載均衡模式一樣,任何連接都不能使用多於一個接口的帶寬。
================================================================================
端口聚合:
我們可以把交換機上多個物理端口捆綁在一起形成一個邏輯端口,這個邏輯端口我們稱之爲Aggregate Port (以下簡稱AP)
鏈路聚合分爲動態鏈路聚合和靜態鏈路聚合
1)靜態聚合模式下,聚合組內的各成員端口上不啓用任何協議協商,其端口狀態(加入,離開)完全依據手工指定的方式直接生效。
2)動態聚合(LACP)模式下,聚合組內的各成員端口上均啓用 LACP 協議,其端口狀態(加入,離開)通過該協議自動進行維護。
靜態與LACP兩種聚合方式可以理解爲靜態路由與動態OSPF路由之間的區別,一種是根據管理員配置的方式強制生效,一種是通過協議報文與鄰居協商狀態,動態維護鄰居關係與路由條目。
動態聚合可以動態發現鏈路故障,避免靜態聚合時,單條成員線路不通(比如交換機端口雖然是up的,但是由於中間光纖問題已經不能通信的情況)導致的異常,用戶對可靠性要求較高,成員口動態加入離開的切換速度要求較快時推薦使用動態聚合。