XenServer的網卡綁定使用linux提供的綁定機制,而XenServer支持Linux的Source Level Bond(SLB)以及Active-Passive Nic Bond(A/P)兩種綁定模式。
關於Linux支持的7中Bond模式,這裏簡單介紹下,網上找了找資料:
bond mode | bond mode name | bond description | remarks |
---|---|---|---|
0 | balance-rr (round-robin policy) |
輪詢策略 | 依次輪流傳輸數據庫,知道完畢,提供負載均衡和冗餘功能 |
1 | active-backup (active-backup policy) |
主/備策略 | 只有一個網卡活動,當活動網卡宕掉以後,另外一塊設備馬上接管,MAC地址對交換機只有一個端口可見,避免了混亂,該模式提供冗餘功能 |
2 | balance-xor (XOR policy) |
布爾異或策略 | 基於MAC地址與目的地址的異或來決定流量走哪塊網卡,同一目的MAC會走相同的網卡,該模式提供負載均衡和冗餘 |
3 | broadcast (Broadcast policy) |
廣播策略 | 發送所有流量到所有網口,該模式提供冗餘功能 |
4 | 802.3ad (IEEE 802.3ad Dynamic link aggregation) |
動態鏈接聚合策略 | 需要ethtool support和交換機對802.3ad的支持,建立相同速率和雙工設置的聚合組 |
5 | balance-tlb (adaptive transmit loadbalancing) |
適配器傳輸負載平衡策略 | 發送流量基於網卡當前負載決定,主要基於相對速率的計算,入棧流量由當前網卡接收,如果失敗,則另外一塊網卡接管,提供冗餘功能 |
6 | balance-alb (Adaptive loadbalancing) |
適配器負載平衡策略 | 在模式balance-tlb的基礎上,對接收的負載進行計算並實現負載均衡 |
我們可以看到linux提供了多種綁定模式的支持,而XenServer的bond也是基於Linux的綁定功能,但是官方指出,只支持mode 6(Active/Active)與Mode 1(Active/Passive)兩種模式,使用其他模式,可能不受官方技術支持,但是實際測試發現,XenServer的綁定也支持其他幾種模式。(實測了mode=3)
通過設置pif的參數bond-mode來實現修改bonding的模式:
1
2
3
4
|
#設置綁定模式爲主/備模式 xe pif-param- set uuid=<bond pif uuid> other-config:bond-mode=active-backup #or xe pif-param- set uuid=<bond pif uuid> other-config:bond-mode=1 |
設置bond-mode=6則爲XenServer默認的A/A負載均衡模式,也可以設置成其他模式。
注:修改完綁定模式以後,需要重啓XenServer生效。