Microsoft Hyper-V 監控的技巧與工具

硬體虛擬化的主要優勢包括邏輯隔離與資源的合理運用。在使用 Microsoft Hyper-V 時,監控虛擬機器與實體 Hyper-V 伺服器的硬體資源使用狀況至關重要。若分配給虛擬機器的資源不足或過多,可能會導致虛擬機器效能下降,或影響其他虛擬機器乃至整個環境的效能。這篇部落格文章將介紹 Hyper-V 監控技巧,以及可供您免費使用的原生 Hyper-V 監控工具。

NAKIVO Hyper-V 備份解決方案

NAKIVO Hyper-V 備份解決方案

適用於 Hyper-V 的無代理程式、應用程式感知的備份解決方案。具備防勒索軟體防護功能、可從備份立即啟動虛擬機器,並支援其他虛擬/實體平台等更多功能。

為什麼需要監控 Hyper-V 的效能?

Hyper-V 資源監控可協助您偵測瓶頸,並透過資源管理來優化效能。透過監控 Hyper-V 效能,您可以檢視資源相關的統計資料,藉此協助您就以下事項做出決策:在當前的 Hyper-V 主機上增配更多資源、重新配置虛擬機器上的軟體,或將虛擬機器遷移至另一台 Hyper-V 主機。請注意,SNMP(簡易網路管理協定)已不再適用於監控 Hyper-V 主機。

若偵測到虛擬機器效能低下,請運用以下問題來鎖定可能的肇因:

  1. 在 Hyper-V 主機上運行的虛擬機器是否已分配足夠的資源?
  2. Hyper-V 主機上的可用硬體資源是否足夠?
  3. 效能問題是發生在單一虛擬機器上,還是多台虛擬機器上?

所幸,Hyper-V 提供了一些免費的原生工具,可透過 Hyper-V 管理員的圖形化介面來監控效能與資源使用情況。若您希望自動化跨 Hyper-V 主機的虛擬機器遷移,以 負載平衡, 叢集內具備執行此操作的基本功能性。請注意,若您使用 Hyper-V 叢集,則需要 SCVMM(System Center Virtual Machine Manager)——這是一套付費解決方案——才能自動遷移虛擬機器,以優化 Hyper-V 伺服器的資源使用率並執行負載平衡。Hyper-V 複製監控亦可透過 SCVMM 進行。

請勿使用 Windows 工作管理員來監控虛擬機器內的資源

開場 Task Manager 這是一種快速且簡單的方法,可用於查看運行 Windows 的實體電腦的效能與資源使用情況。不過,請勿使用 Windows 工作管理員來監控虛擬機器內的效能。Windows 工作管理員無法顯示虛擬機器實際的 CPU 和記憶體使用情況。這是因為 Task Manager 無法識別機器是否為虛擬機器,也無法得知資源是如何分配給虛擬機器的。請使用 Task Manager 用於監控正在執行的程序、服務和應用程式,但不監控虛擬機器內的效能。

在 Hyper-V 主機上使用效能監控器

使用 Performance Monitor (perfmon) 在 Hyper-V 主機上,以及用於監控處理器、記憶體、介面、實體磁碟及其他硬體使用率的適當計數器。該 perfmon 此工具廣泛用於 Windows 系統的效能疑難排解。

執行 perfmonrun 對話方塊或尋找 Performance MonitorComputer Management 在圖形使用者介面(GUI)中開啟視窗、新增所需的計數器,並監控統計資料。所收集的資訊可顯示為圖表、圖形及示意圖。

Hyper-V performance monitoring by using Performance Monitor

此外,開啟 Resource Monitor 在 Hyper-V 主機上 (resmon.exe).

Hyper-V 的計數器使用說明

"效能監控器"針對在 Hyper-V 主機上執行的虛擬機器可能會提供不正確的資訊,因為標準(一般)計數器並未針對虛擬機器監控進行調整。假設一台執行 Hyper-V 的實體電腦配備四核心處理器,且該 Hyper-V 主機上運行著兩台虛擬機器。第一台虛擬機器被分配了四個虛擬處理器。 第一台虛擬機器上執行著一個將四個虛擬處理器負載推至 100% 的應用程式,並耗盡了物理 Hyper-V 主機上的所有處理器資源。

同時,您在這個 Hyper-V 主機上啟動第二台虛擬機器,該虛擬機器具有相同的虛擬裝置配置,並執行相同的應用程式。 在兩台虛擬機器內部,您會看到資訊顯示每台虛擬機器的處理器負載皆為 100%。然而,相較於僅有一台虛擬機器運行的第一種情況,每台虛擬機器上的應用程式運行速度僅有 50%(若您開啟 Task ManagerPerformance Monitor (虛擬機器內部)。若已啟用動態記憶體,相關資訊的顯示方式亦類似。

請在 Hyper-V 主機的"效能監控器"中使用 Hyper-V 專用計數器,以監控此 Hyper-V 主機上的資源。Hyper-V 計數器會顯示最精確的資訊,以供監控 Hyper-V 效能之用。

Adding counters for Hyper-V performance monitoring

處理器效能

請使用此計數器來監控 Hyper-V 主機上的實體處理器效能:

Hyper-V Hypervisor Logical Processor% Total Run Time

用於監控虛擬機器(VM)中虛擬處理器效能的計數器:

Hyper-V Hypervisor Virtual Processor% Guest Run Time

  • 當運行中的虛擬機器計數器顯示的數值為 75% 或以下時,即為最佳效能。
  • 若數值落在 75% 至 85% 之間,即為警示。
  • 若數值高於 85%,建議您查明 CPU 使用率如此之高的原因。

用於監控 root 虛擬處理器使用率的計數器:

Hyper-V Hypervisor Root Virtual Processor(*)% Total Run Time

記憶體使用率

Hyper-V 提供多個計數器,用於監控及檢查記憶體的使用量。

MemoryAvailable Mbytes Hyper-V 主機上的計數器用於監控記憶體使用情況。

  • 可用記憶體超過 10% – 狀態良好
  • 可用記憶體低於 10% – 警告
  • 可用記憶體低於 100 MB – 嚴重

請使用 已分配記憶體(位元組) 使用計數器檢查虛擬機器使用的記憶體量,以決定應為每台虛擬機器分配多少記憶體。

使用 Hyper-V Dynamic Memory BalancerAverage Pressure 計數器用於監控動態記憶體。

  • 低於 80% – 健康
  • 超過 80% – 警告
  • 100% – 關鍵

磁碟延遲

請使用 LogicalDisk(*)Average Disk SecRead or Write 用於監控磁碟延遲的計數器,這對於在 Hyper-V 上運行的虛擬機器(VM)的整體效能至關重要。

  • 毫秒 (0.010 秒) – 正常
  • >15 毫秒 (0.015 秒) – 警告
  • >25 毫秒 (0.025 秒) – 關鍵

人脈建立

請使用 Network Interface (*)OutputQueue Length 用於監控網路使用量的計數器,也就是說,它會測量輸出封包佇列中的封包數量。

  • 平均值低於 1 – 健康
  • 平均值高於 1 – 警告
  • 平均超過 2 個 – 嚴重

您也可以考慮使用以下計數器:

Network Interface (network adapter name)Bytes/sec

Hyper-V Virtual Network Adapter (virtual machine name )Bytes/sec

為虛擬機器提供足夠的記憶體

每台機器都需要足夠的記憶體才能正常運作,否則系統效能會下降,暫存檔(若已設定)將被大量使用,且磁碟會過度負荷。此外,暫存檔的運作速度比 RAM 慢。如果作業系統和應用程式約消耗 12 GB 的實體記憶體,請在電腦中安裝 16 GB 的 RAM。虛擬機器(VM)的記憶體分配也應採用相同原則。 舉例來說,若虛擬機器上執行的軟體消耗 6 GB 記憶體,則應為該虛擬機器配置 8 GB 記憶體。為確保運作順暢,請預留至少 20% 的額外記憶體。建議將這部分額外記憶體作為緩衝區。

使用"事件檢視器"來監控日誌

使用 Event Viewer 用於監控 Hyper-V 主機和來賓虛擬機器上的日誌,這對於疑難排解非常有用。檢視和分析系統事件及應用程式事件等日誌,有助於釐清問題並找出正確的解決方案來修復它們。 Event Viewer 顯示與應用程式相關的錯誤日誌,並在作業系統層級運作。要開啟 Event Viewer, 您應該開啟 Computer Management 首先。

Hyper-V 日誌的位置:

Event viewer > Applications and services logs > Microsoft > Windows

以下是"事件檢視器"中的 Hyper-V 日誌類別:

  • Hyper-V-Compute
  • Hyper-V-Config
  • Hyper-V-Guest-Drivers
  • Hyper-V Hypervisor
  • Hyper-V-StorageVSP
  • Hyper-V-VID
  • Hyper-V-VMMS
  • Hyper-V-VmSwitch
  • Hyper-V-Worker

Hyper-V monitoring – viewing logs in Event-Viewer

Computer Management 您可以管理 Windows 服務。建議您監控以下 Hyper-V 服務:

  • Hyper-V Image Management Service (vhdsvc)
  • Hyper-V Virtual Machine Management (vmms)
  • Hyper-V Networking Management Service (nvspwmi)

在 PowerShell 中監控資源

您可以在 PowerShell 中監控 Hyper-V 主機和虛擬機器的資源。這在非圖形介面的 Windows 作業系統上特別有用。請使用特殊的 cmdlet 在 PowerShell 中監控效能。

透過與 Windows 事件日誌互動來檢視 Hyper-V 的運作日誌:

Get-WinEvent -LogName Microsoft-Windows-Hyper-V-Hypervisor-Operational | select -First 1 | Format-List *

Hyper-V monitoring tools in PowerShell

此指令可與 Hyper-V 主機或來賓虛擬機器上的效能計數器物件進行互動,並讓您透過 Windows 監控功能性,直接從遠端或本機電腦取得資料:

Get-Counter

Hyper-V performance monitoring in PowerShell

取得計數器清單,並對顯示結果進行排序:

Get-Counter -ListSet * |

  Sort-Object -Property CounterSetName |

    Format-Table CounterSetName, CounterSetType -AutoSize

Hyper-V monitoring tools in PowerShell

監控在多台機器上運作的磁碟效能:

$DiskReads = "LogicalDisk(C:)Disk Reads/sec"

$DiskReads | Get-Counter -ComputerName Server01, Server02 -MaxSamples 10

您可以在 PowerShell 中建立用於監控 Hyper-V 效能的自訂腳本。

結論

Hyper-V 監控可協助您判斷虛擬機器 (VM) 的效能問題是否與 Hyper-V 主機或客體虛擬機器有關。透過 Hyper-V 效能監控,您可以最佳化 Hyper-V 主機上的硬體資源使用情況。 某些用於監控實體主機的工具(例如 Windows 工作管理員),並不適合用於監控在 Hyper-V 上運行的虛擬機器效能。效能監控器包含專為 Hyper-V 設計的計數器,可用於監控 Hyper-V 主機與虛擬機器的資源。若使用圖形化使用者介面 (GUI),您可以使用 Hyper-V 管理員、事件檢視器和資源監控器;若使用命令列介面,則可使用 PowerShell 中的特殊指令。

若原生工具的功能性無法滿足您的需求,請嘗試使用其他 Hyper-V 監控軟體。監控有助於優化 Hyper-V 效能,但無法在災難發生時防止資料遺失。建議選用可靠的 Hyper-V 備份軟體來保護您的資料。下載 NAKIVO 免費版本,即可獲得多平台支援、勒索軟體還原等更多功能。

試試看 NAKIVO Backup & Replication

試試看 NAKIVO Backup & Replication

立即申請免費試用,全面體驗本解決方案的所有資料保護特點。15 天免費試用。無功能或容量限制。無需提供信用卡資訊。

People also read