天天看點

負載平衡和故障轉移 (LBFO) 概述

該功能已經成為獨立硬體供應商 (IHV) 進入伺服器網絡擴充卡市場的一項要求,但是直到現在,網絡擴充卡成組尚未包含在 Windows Server 作業系統中。

要求

網絡擴充卡成組要求提供一個以太網網絡擴充卡,該擴充卡可以用于分離使用 VLAN 的通信。通過故障轉移提供故障保護的所有模式都至少需要兩個以太網網絡擴充卡。Windows Server 2012 在一個組中可支援多達 32 個網絡擴充卡。

技術概述

網絡擴充卡成組技術包括網絡擴充卡成組技術的很多部件和選項。本指南包括以下部分:

  • 網絡擴充卡成組體系結構
  • 帶寬聚合(也稱為負載平衡)機制
  • 通信分發算法
  • 虛拟機中的網絡擴充卡成組
  • 不相容性

目前,市場上的所有網絡擴充卡成組解決方案都具有相似的體系結構,如圖 1 所示。

負載平衡和故障轉移 (LBFO) 概述

圖 1 成組解決方案體系結構

兩個或多個實體網絡擴充卡連接配接到網絡擴充卡成組解決方案多路複用器,然後該多路複用器向作業系統呈現一個或多個虛拟擴充卡(也稱為成組網絡擴充卡)。有多個不同的算法可在實體網絡擴充卡之間分發入站和出站通信。在目前的非 Microsoft 網絡擴充卡成組解決方案中,成組網絡擴充卡按虛拟 LAN (VLAN) 劃分通信,以便應用程式可以同時連接配接到不同的 VLAN。從技術上講,這種通信劃分不屬于網絡擴充卡成組。但是,由于網絡擴充卡成組的其他商業實作具有此功能,是以 Windows Server 2012 實作也包含此功能。

網絡擴充卡成組配置

下面是兩組基本的用于網絡擴充卡成組的算法:

  • 需要交換機才能參與成組的算法,也稱為依賴于交換機的模式。通常,這些算法需要組中的所有網絡擴充卡都連接配接到相同的交換機。
  • 不需要交換機即可參與成組的算法,也稱為獨立于交換機的模式。由于交換機不知道網絡擴充卡屬于某個組,是以成組網絡擴充卡可以連接配接到不同的交換機。獨立于交換機的模式不需要組成員連接配接到不同的交換機,隻是可以這樣做。

對于依賴于交換機模式的網絡擴充卡成組,有兩個常用的選項:

  • 正常成組或靜态成組(IEEE 802.3ad 草案 v1)。這種模式需要交換機和計算機上的配置來識别形成組的鍊路。由于這是靜态配置的解決方案,是以沒有其他協定可以幫助交換機和計算機來識别未正确插入的電纜或可能造成該組失敗的其他錯誤。伺服器級交換機通常支援這種模式。
  • 動态成組 (IEEE 802.1ax, LACP)。IEEE 802.1ax 使用鍊路聚合控制協定 (LACP) 來動态識别計算機和特定交換機之間的鍊路。這樣在理論上便能夠隻是通過從對等網絡擴充卡傳輸和接收 LACP 來自動建立組、擴充和減少組。通常,伺服器級交換機支援 IEEE 802.1ax,但大多數交換機需要手動管理才能在端口上啟用 LACP。
    負載平衡和故障轉移 (LBFO) 概述

    備注

    IEEE 802.1ax 通常也稱為 IEEE 802.3ad,因為它在釋出為 IEEE 802.1ax 之前是由 IEEE 802.3ad 委員會制訂的。

這兩種模式都會導緻入站和出站通信接近聚合帶寬的實際限制,原因是組中的鍊路池相當于一個管道。

可以采用很多方法在可用的鍊路之間分發出站通信。盡量在單一網絡擴充卡上保留與單一流(TCP 流)關聯的所有資料包。之是以需要這樣做,是為了最大程度地減少發生故障的資料包到達的情況。

Windows Server 2012 中的網絡擴充卡成組支援以下通信分發方法:

  • Hyper-V 交換機端口。當虛拟機具有獨立的媒體通路控制 (MAC) 位址時,虛拟機的 MAC 位址可以為劃分通信提供基礎。在虛拟化中使用這種方案具有優勢。因為相鄰的交換機可以确定特定源 MAC 位址位于唯一一個連接配接的網絡擴充卡上,交換機将根據虛拟機的目标 MAC 位址在多個鍊路上平衡外出負載(從交換機到計算機的通信)。當與虛拟機隊列一起使用時該方案非常有用。但是,這種模式可能不夠具體,無法獲得非常平衡的分發,并且它将一個虛拟機限制在一個網絡擴充卡上可用的帶寬。
    負載平衡和故障轉移 (LBFO) 概述
    Windows Server 2012 使用 Hyper-V 交換機端口作為辨別符,而不是源 MAC 位址,因為在某些情況下,一個虛拟機可能使用交換機端口上的多個 MAC 位址。
  • 哈希。該算法根據資料包的元件建立哈希,然後将具有該哈希值的資料包配置設定給可用的網絡擴充卡之一。這樣便在相同的網絡擴充卡上保留來自相同 TCP 流的所有資料包。通常,哈希隻是在可用的網絡擴充卡之間建立平衡。市場上提供的某些網絡擴充卡成組解決方案監視通信的分發,并且它們将特定的哈希值重新配置設定給不同的網絡擴充卡,以嘗試更好地平衡通信。動态重新分發稱為智能負載平衡或自适應負載平衡。

可以用作哈希函數輸入的元件包括:

  • 源和目标 MAC 位址
  • 源和目标 IP 位址,考慮或不考慮 MAC 位址(2 元組哈希)
  • 源和目标 TCP 端口,通常與 IP 位址一起使用(4 元組哈希)

四倍哈希建立通信流的更精細地分發,進而使可以在網絡擴充卡之間獨立移動的流更小。但是,它不可以用于非 TCP 的通信或 UDP 通信或從堆棧中隐藏 TCP 和 UDP 端口的通信,如受 Internet 協定安全 (IPsec) 保護的通信。在這些情況下,哈希回退到 2 元組哈希。如果該通信不是 IP 通信,哈希生成器将會使用源和目标 MAC 位址。

Windows Server 2012 中的網絡擴充卡成組也适合于虛拟機。它允許虛拟機具有連接配接到多個 Hyper-V 交換機的虛拟網絡擴充卡并且即使該交換機下的網絡擴充卡斷開連接配接,也仍然能夠連接配接。當使用諸如單根 I/O 虛拟化 (SR-IOV) 之類的功能時它非常有用,因為 SR-IOV 通信不通過 Hyper-V 交換機。是以,它無法受到 Hyper-V 交換機下的組的保護。通過此虛拟機成組選項,管理者可以設定兩個 Hyper-V 交換機,每個交換機都連接配接到其自己的支援 SR-IOV 的網絡擴充卡。此時:

  • 每個虛拟機可以從一個或兩個 SR-IOV 網絡擴充卡安裝虛拟功能。然後,當網絡擴充卡斷開連接配接時,虛拟機可以從主虛拟功能故障轉移到備份虛拟功能。
  • 或者,虛拟機也可能擁有從一個網絡擴充卡和一個非虛拟功能網絡擴充卡到其他交換機的虛拟功能。如果與虛拟功能關聯的網絡擴充卡斷開連接配接,則通信可以故障轉移到其他交換機,而不會失去連接配接。
負載平衡和故障轉移 (LBFO) 概述

由于在虛拟機中網絡擴充卡之間的故障轉移可能會導緻通信與其他網絡擴充卡的 MAC 位址一起發送,是以與使用網絡擴充卡成組的虛拟機關聯的每個 Hyper-V 交換機端口都必須設定為允許 MAC 欺騙或必須使用 Set-VmNetworkAdapter PowerShell cmdlet 設定“AllowTeaming=On”參數。

網絡擴充卡成組與 Windows Server 2012 中的所有網絡功能相容,但有三個例外:SR-IOV、遠端直接記憶體通路 (RDMA) 和 TCP 煙囪。對于 SR-IOV 和遠端直接記憶體通路 (RDMA),将資料直接發送給網絡擴充卡,而不經過網絡堆棧。是以,網絡擴充卡成組無法查找資料或将資料重定向到組中的另一個路徑。Windows Server 2012 中的網絡擴充卡成組不支援 TCP 煙囪。

網絡擴充卡成組要求提供一個以太網網絡擴充卡,該擴充卡可以用于分離使用 VLAN 的通信。通過故障轉移提供故障保護的所有模式都至少需要兩個以太網網絡擴充卡。Windows Server 2012 實作在一個組中可支援多達 32 個 NIC。

正在配置網絡擴充卡成組

你可以在 Windows Server 2012 中通過網絡擴充卡成組管理接口或豐富的 PowerShell 接口配置網絡擴充卡成組。網絡擴充卡成組管理 UI 是一個使用 PowerShell cmdlet 對組進行管理的簡單接口。 請參見下面,了解網絡擴充卡成組 PowerShell cmdlet 的完整指南。有多個方法可以調用網絡擴充卡成組管理接口。

從“伺服器管理器”中:

  1. 打開“伺服器管理器”。
  2. 在控制台樹中,單擊“本地伺服器”。
  3. 在詳細資訊窗格中,在“屬性”部分中單擊“遠端桌面”下的“NIC 組管理”。

從桌面中:

  1. 單擊「開始」,鍵入 lbfoadmin,然後按 Enter 鍵。或者,依次單擊「開始」、“運作”,鍵入 lbfoadmin,然後按 Enter 鍵。

若要一次管理多個伺服器,你可以通過“添加伺服器”任務項添加伺服器,也可以使用以下指令:

lbfoadmin /servers servername1 servername2 …

這将使用指定伺服器名的清單運作網絡擴充卡成組管理接口。

若要在伺服器上配置網絡擴充卡成組

  1. 單擊伺服器清單中的伺服器名(即使隻有一台伺服器)。
  2. 從“任務”下拉菜單中,在“組”部分,單擊“建立組”。
  3. 在“添加組”對話框中,鍵入組名并在該組中選擇網絡擴充卡。
  4. 如果你在使用 VLAN,清除“預設”複選框,并指定 VLAN ID。預設情況下,該組将會送出接收的所有通信,而不是 VLAN ID(雖然 VLAN ID 通過資料包傳送,以便堆棧中的其他元件可以将其适當地排序。)
  5. 如果你希望使用除預設以外的模式,單擊“進階”,并根據需要指定成組模式(獨立于交換機、靜态成組或 LACP)和負載分布模式(位址哈希)。
  6. 單擊“确定”以建立組。
    負載平衡和故障轉移 (LBFO) 概述

    負載分布模式的“位址哈希”選項就是前面描述的 4 元組哈希。網絡擴充卡成組的 PowerShell cmdlet 允許你配置其他位址哈希模式。

    若要修改網絡擴充卡組的設定,單擊組清單中的組名,然後在任務清單中單擊“修改組”。

網絡擴充卡成組 PowerShell 指令

繼續閱讀