負載平衡虛擬機器
適用於:Azure 本機版本 23H2 和 22H2;Windows Server 2022、Windows Server 2019、Windows Server 2016
注意
在 Azure 本機 23H2 版上建立和管理 VM 的建議方式是使用 Azure Arc 控制平面。 只有在您需要 Azure Arc VM 中未提供的功能時,才能使用以下所述的機制來管理 VM。
Azure 本機部署的重要考慮是進入生產環境所需的資本支出 (CapEx)。 通常新增備援,以避免在生產環境的尖峰流量期間容量不足,但這會增加 CapEx。 由於系統中的某些機器裝載更多虛擬機(VM),而其他機器使用量過低,因此通常需要此備援。
VM 負載平衡是一項功能,可讓您優化 Azure 本機系統中的計算機使用率。 它會識別過度認可的機器,並即時將 VM 從這些機器移轉至未認可的機器。 系統會遵守失敗原則,例如反親和性、容錯網域(月臺),以及可能的擁有者。
VM 負載平衡會根據下列啟發學習法來評估計算機的負載:
- 目前的記憶體壓力: 記憶體是 Hyper-V 主機上最常見的資源限制。
- CPU 使用率平均超過五分鐘的時間範圍: 減輕系統中任何機器的過度認可。
VM 負載平衡如何運作?
當您將新電腦新增至 Azure 本機時,系統會自動進行 VM 負載平衡,也可以設定為執行定期、週期性負載平衡。
新增計算機時
當您將新電腦加入系統時,VM 負載平衡功能會依下列順序自動平衡現有機器到新新增機器的容量:
- 記憶體壓力和 CPU 使用率會在系統中的現有電腦上進行評估。
- 識別出超過臨界值的所有機器。
- 找出記憶體壓力最高和CPU使用率最高的機器,以判斷平衡的優先順序。
- VM 會從超過系統中新新增機器閾值的電腦進行即時移轉(不停機)。
週期性負載平衡
根據預設,VM 負載平衡已設定為定期平衡:系統會評估系統中每部計算機的記憶體壓力和 CPU 使用率,以每隔 30 分鐘平衡一次。 以下是步驟的流程:
- 系統會評估系統中所有機器上的記憶體壓力和CPU使用率。
- 所有超過臨界值的計算機,以及低於閾值的計算機都會被識別出來。
- 找出記憶體壓力最高和CPU使用率最高的機器,以判斷平衡的優先順序。
- VM 會從超過閾值的計算機即時移轉(且沒有停機時間)移轉至低於最低臨界值的另一部計算機。
使用 Windows Admin Center 設定 VM 負載平衡
設定 VM 負載平衡最簡單的方式是使用 Windows Admin Center。
連線到您的系統,並移至 [工具 > 設定]。
在 [設定] 底下,選取 [虛擬機負載平衡]。
在 [平衡虛擬機] 底下,選取 [一律在計算機加入時進行負載平衡],每 30 分鐘選取 [伺服器聯結] 以在計算機聯結時進行負載平衡,或 [永不] 停用 VM 負載平衡功能。 默認設定為 Always。
在 [積極性] 下,選取 [低] 以在機器載入超過 80% 時即時移轉 VM、[中] 移轉機器超過 70% 或 [高] 以平均系統的計算機,並在機器高於平均時移轉 VM。 默認設定為 [低]。
使用 Windows PowerShell 設定 VM 負載平衡
您可以使用叢集通用屬性 AutoBalancerMode
來設定負載平衡是否和何時發生負載平衡。 若要控制叢集平衡的時機,請在PowerShell中執行下列命令,以取代下表中的值:
(Get-Cluster).AutoBalancerMode = <value>
AutoBalancerMode | 行為 |
---|---|
0 | 已停用 |
1 | 機器聯結時的負載平衡 |
2 (預設值) | 機器聯結時,每 30 分鐘進行負載平衡 |
您也可以使用叢集通用屬性 AutoBalancerLevel
來設定平衡的積極性。 若要控制主動性臨界值,請在PowerShell中執行下列命令,以取代下表中的值:
(Get-Cluster).AutoBalancerLevel = <value>
AutoBalancerLevel | 加強 | 行為 |
---|---|---|
1 (預設值) | 低 | 當主機載入超過 80% 時移動 |
2 | 中 | 當主機載入超過 70% 時移動 |
3 | 高 | 系統中的平均機器,當主機高於平均值 5% 時移動 |
若要檢查 和 AutoBalancerLevel
AutoBalancerMode
屬性的設定方式,請在 PowerShell 中執行下列命令:
Get-Cluster | fl AutoBalancer*
下一步
如需相關資訊,另請參閱: