以 PowerShell 建立 Switch Embedded Teaming (SET)

Switch Embedded Teaming (SET)技術始於 Windows Server 2016。這是一種整合在 Hyper-V 虛擬交換器中的 NIC 小組(NIC Teaming)解決方案,專為提升虛擬化環境的網路效能與高可用性而設計,在 Windows Server 2016 及之後版本中全面支援。是用來取代LBFOLoad Balancing and Failover,並於Windows Server 2022 開始宣稱棄用LBFO(過時),如要繼續使用LBFO必須使用 PowerShell 以指令方式建立

#SET非依賴 SwitchLBFO依賴Switch LCAP

 

Ref: [Network] Windows Server 2016 攻略 () - 新世代虛擬網路交換器 SET ( Switch Embedded Teaming )

Ref: Host network requirements for Azure Local


Switch Embedded Teaming (SET) 也必須以 PowerShell 方式:

# 建立Switch Embedded Teaming

New-VMSwitch -Name "SETTeam" -NetAdapterName "NIC1","NIC2" -EnableEmbeddedTeaming 1 -EnableIov 1 -AllowManagementOS 1

 

# 設定負載平衡模式 (建議針對 10G 網卡設為 HyperVPort)

Set-VMSwitchTeam -Name " SETTeam " -LoadBalancingAlgorithm HyperVPort

 

# (選配) 如果您的主機管理網路 (Management OS) VLAN

# Set-VMNetworkAdapterVlan -ManagementOS -VMNetworkAdapterName " SETTeam " -Access -VlanId [VLAN ID]

相關參數:

Ø  -NetAdapterName
String[]
:指定成員網卡。需輸入一個字串陣列(如 "NIC1","NIC2")。這些網卡必須是相同的型號與韌體,且最多支援 8 張。

Ø  -EnableEmbeddedTeaming
Boolean
:啟用內嵌小組功能。設為 $true。若 -NetAdapterName 後方接的是多張網卡,系統通常會自動判斷,但建議顯式加上以確保正確建立。

Ø  -AllowManagementOS
Boolean
是否建立管理 vNIC。設為 $true 代表建立交換器後,主機(Host)本身也能透過這個 Team 上網。如果沒設,主機會斷網。

Ø  -EnableIov
Boolean
啟用 SR-IOV。若您的網卡支援 SR-IOV,這能讓 VM 直接存取硬體隊列,降低 CPU 負擔。注意: 建立後無法更改。

Ø  -MinimumBandwidthMode (頻寬管理模式)
String
[]頻寬管理模式。可選 Weight (權重) Absolute (絕對值)。這會影響您後續如何分配 10GbE 的頻寬給不同 VM

n   參數: -MinimumBandwidthMode Weight

n   Weight:可以透過「權重(1-100)」來保證重要流量(如:備份或 SQL 流量)的最小頻寬。
為什麼要加: 萬一某天某個 VM 流量暴增,這能防止它把整條 10G 頻寬吃光,導致其他 VM 斷線。

Ø  LoadBalancingAlgorithm (負載平衡演算法)
在建立後透過 Set-VMSwitchTeam 調整

n   選項 1HyperVPort (建議)
優點: 每個 VM 固定走一張網卡,處理開銷最低,且完全相容 SR-IOV

n   選項 2Dynamic
優點: 流量分配最均勻,單一 VM 負載極大時效果好。

n   注意: 如果您要追求極致效能與配合 SR-IOVHyperVPort 通常是 10G 環境的首選。

Ø  -DefaultFlowMinimumBandwidthWeight(預設流量權重)

Ø  -EnablePacketDirect
這是一個針對極高頻寬(通常是 25G/100G)或極低延遲環境的參數。但在 10G 的一般企業環境中,開啟後設定較複雜(需搭配硬體優化),建議先不加,除非您要求極致的 SQL 交易速度。

留言