瞭解如何在虛擬交換器上設定各種負載平衡演算法,以決定實體 NIC 之間的散佈方式。
根據原始虛擬連接埠進行路由
虛擬交換器將根據 vSphere 標準交換器或 vSphere Distributed Switch 上的虛擬機器連接埠識別碼選取上行。
根據原始虛擬連接埠進行路由是 vSphere Standard Switch 和 vSphere Distributed Switch 上的預設負載平衡方法。
ESXi主機上執行的每個虛擬機器在虛擬交換器上均有一個相關聯的虛擬連接埠識別碼。若要計算虛擬機器的上行,虛擬交換器將在 NIC 整併中使用虛擬機器連接埠識別碼和上行數目。虛擬交換器為虛擬機器選取上行後,只要該虛擬機器在同一連接埠上執行,則會一律轉送通過此虛擬機器相同上行的流量。虛擬交換器僅計算虛擬機器上行一次,除非上行已新增或從 NIC 整併中移除。
虛擬機器在同一主機上執行時,虛擬機器的連接埠識別碼會固定。如果移轉、關閉電源或刪除虛擬機器,則虛擬交換器上的其連接埠識別碼將可用。虛擬交換器將停止傳送流量至該連接埠,從而減少其關聯上行的整體流量。如果虛擬機器已開啟電源或移轉,則其可能會顯示在不同的連接埠上並使用與新連接埠相關聯的上行。
考量事項 | 說明 |
---|---|
優點 |
|
缺點 |
|
根據來源 MAC 雜湊進行路由
根據虛擬機器 MAC 位址,虛擬交換器會為虛擬機器選取上行。若要計算虛擬機器的上行,虛擬交換器將在 NIC 整併中使用虛擬機器 MAC 位址和上行數目。
考量事項 | 描述 |
---|---|
優點 |
|
缺點 |
|
根據 IP 雜湊進行路由
虛擬交換器根據每個封包的來源和目的地 IP 位址為虛擬機器選取上行。
為了計算虛擬機器的上行,虛擬交換器會擷取封包中來源和目的地 IP 位址的最後八位元,對其進行 XOR 運算,然後根據 NIC 整併中的上行數目對其結果執行另一次計算。結果將是介於 0 和整併中上行數目減一之間的數字。例如,如果 NIC 整併中有四個上行,則結果將是介於 0 和 3 之間的數字,因為每個數字都與整併中的 NIC 相關聯。對於非 IP 封包,虛擬交換器會從 IP 位址所在的框架或封包擷取兩個 32 位元二進位值。
根據來源和目的地 IP 位址,任何虛擬機器都可以使用 NIC 整併中的任何上行。透過這種方式,每個虛擬機器都可以使用整併中任何上行的頻寬。如果某虛擬機器在具有大量獨立虛擬機器的環境中執行,則 IP 雜湊演算法可以在整併中的 NIC 之間平均分散流量。當虛擬機器與多個目的地 IP 位址通訊時,虛擬交換器會針對每個目的地 IP 產生不同的雜湊。透過這種方式,封包可以在虛擬交換器上使用不同的上行,這樣便可產生較高的潛在輸送量。
但是,如果您的環境具有少量的 IP 位址,虛擬交換器可能會使流量一致地通過整併中的一個上行。例如,如果您的資料庫伺服器由一個應用程式伺服器存取,則虛擬機器始終計算相同的上行,因為僅存在一個來源-目的地對。
實體交換器組態
若要確保 IP 雜湊負載平衡正常運作,必須在實體交換器上設定 Etherchannel。Etherchannel 可將多個網路介面卡繫結到單一邏輯連結中。當連接埠繫結到 Etherchannel 時,每次實體交換器從不同連接埠上的同一虛擬機器 MAC 位址接收封包時,交換器都會正確更新其內容可定址記憶體 (CAM) 資料表。
例如,如果實體交換器從連接埠 01 和 02 上的 MAC 位址 A 接收封包,則交換器會在其 CAM 資料表中提供 01-A 和 02-A 項目。因此,實體交換器可將傳入流量散佈到正確的連接埠。如果不使用 Etherchannel,實體交換器會先做一個記錄,即經過 MAC 位址 A 的封包接收自連接埠 01;然後更新同一條記錄,經過 MAC 位址 A 的封包接收自連接埠 02。因此,實體交換器僅在連接埠 02 上轉送傳入流量,可能會導致封包無法到達其目的地以及相應的上行超載。
限制和組態需求
- ESXi 主機支援在單一實體交換器或堆疊交換器上進行 IP 雜湊整併。
- ESXi 主機僅支援靜態模式下的 802.3ad 連結彙總。您只能在 vSphere 標準交換器上使用靜態 Etherchannel。不支援 LACP。如果您在不使用 802.3ad 連結彙總的情況下啟用 IP 雜湊負載平衡 (以及與之相反),則網路可能會中斷。
- 使用 IP 雜湊負載平衡時,您必須將 [僅連結狀態] 用作網路故障偵測。
- 您必須設定 [作用中容錯移轉] 清單中來自整併的所有上行。[待命] 和 [未使用] 清單必須為空白。
- Etherchannel 中的連接埠數目必須與整併中的上行數目相同。
根據 IP 雜湊使用路由的考量事項
考量事項 | 說明 |
---|---|
優點 |
|
缺點 |
|
根據實體 NIC 負載進行路由
「根據實體 NIC 負載進行路由」是以「根據原始虛擬連接埠進行路由」為基礎,虛擬交換器會檢查上行的實際負載並採取動作來減少超載上行的負載。僅適用於 vSphere Distributed Switch。
分散式交換器透過取得虛擬機器的連接埠識別碼以及 NIC 整併中的上行數目來計算這些虛擬機器的上行。分散式交換器每 30 秒測試一次上行,如果其負載超過 75% 的使用率,則具有最高 I/O 之虛擬機器的連接埠識別碼將移到其他上行。
考量事項 | 描述 |
---|---|
優點 |
|
缺點 |
|
使用明確容錯移轉順序
沒有實際負載平衡適用於此原則。虛擬交換器始終使用 [作用中介面卡] 清單中按容錯移轉順序位於首位且符合容錯移轉偵測準則的上行。如果 [作用中] 清單中的上行均無法使用,則虛擬交換器會使用 [待命] 清單中的上行。