負載平衡虛擬機器
適用於:Azure 本機版本 23H2 和 22H2;Windows Server 2022、Windows Server 2019、Windows Server 2016
注意
在 Azure 本機上建立和管理 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*
下一步
如需相關資訊,另請參閱: