適用於:Azure Local 2311.2 和更新版本;Windows Server 2022、Windows Server 2019、Windows Server 2016
備註
建議在 Azure 本機上建立和管理虛擬機器的方式是使用 Azure Arc 控制平面。 不過,由於本文所述的功能尚未由 Azure Arc 提供,因此您可以使用 Windows Admin Center 或 PowerShell,如本文所述。 以這種方式建立的 VM 不會由 Azure Arc 啟用,從而導致其在 Azure Arc 控制平面中的管理性有限,並且享有較少的 Azure 混合式權益,包括無需額外費用即可使用 Azure Update Manager。
如需詳細資訊,請參閱 比較 Azure 本機 VM 上 VM 的管理功能 ,以及 Azure 本機 VM 的支持作業。
Azure 本地部署的重要考慮之一是進入生產階段所需的資本支出(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% 時遷移,或 [高] 來平均系統中的機器負載,並在機器載入超過平均 5% 時遷移。 默認設定為 [低]。
使用 Windows PowerShell 設定 VM 負載平衡
您可以使用叢集通用屬性 AutoBalancerMode
來設定負載平衡是否和何時發生負載平衡。 若要控制叢集平衡的時機,請在PowerShell中執行下列命令,以取代下表中的值:
(Get-Cluster).AutoBalancerMode = <value>
自動平衡模式 | 行為 |
---|---|
0 | 已停用 |
1 | 機器聯結時的負載平衡 |
2 (預設值) | 機器連線時和每 30 分鐘進行一次負載平衡 |
您也可以使用叢集通用屬性 AutoBalancerLevel
來設定平衡的積極性。 若要控制主動性臨界值,請在PowerShell中執行下列命令,以取代下表中的值:
(Get-Cluster).AutoBalancerLevel = <value>
自動平衡器等級 | 侵略性 | 行為 |
---|---|---|
1 (預設值) | 低 | 當主機載入超過 80% 時移動 |
2 | 中等 | 當主機負載超過 70% 時,進行移轉 |
3 | 高 | 系統中的平均機器,當主機高於平均值 5% 時移動 |
若要檢查 和 AutoBalancerLevel
AutoBalancerMode
屬性的設定方式,請在 PowerShell 中執行下列命令:
Get-Cluster | fl AutoBalancer*
下一步
如需相關資訊,另請參閱: