虛擬交換器根據每個封包的來源和目的地 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 雜湊使用路由的考量事項

考量事項 說明
優點
  • 相較於根據原始虛擬連接埠進行路由和根據來源 MAC 雜湊進行路由,此方式可以更平均地分佈負載,因為虛擬交換器針對每個封包計算上行。
  • 對於與多個 IP 位址進行通訊的虛擬機器,可以提供更高的潛在輸送量。
缺點
  • 相較於其他負載平衡演算法,資源耗用量最高。
  • 虛擬交換器無法感知上行的實際負載。
  • 需要變更實體網路。
  • 疑難排解程序複雜。