如何改善 Hyper-V 中 VM 性能的前 20 條技巧

每個系統都偶爾會出現錯誤和故障,用戶不斷尋找方法來改善其虛擬基礎架構的性能。在這篇博客文章中,我們將討論性能問題如何影響您的 Hyper-V 環境,以及您可以如何改善虛擬機(VM)性能。

在這篇博客文章中,我們彙編了一份可以用於優化和改善 Hyper-V 環境中 VM 性能的 20 條技巧清單。進一步閱讀以了解 Hyper-V 虛擬化技術的工作原理,哪些問題最有可能影響 Hyper-V VM 性能,以及 NAKIVO 備份與復原如何幫助您保護虛擬環境。

Hyper-V 的運作方式

Hyper-V 是由 Microsoft 開發的虛擬化軟件,允許您創建和運行計算機的虛擬版本,稱為虛擬機(VM)。單個 Hyper-V 主機可以同時在彼此隔離的情況下運行多個 VM。此外,所有 VM 都共享單個主機服務器的硬件資源,包括內存、處理器以及存儲和網絡設備。這樣可以有效地使用硬件資源並將其輕鬆分配給最需要的 VM。

Hyper-V 可作為 Windows Server 和 Windows(2008 年及更高版本)上的一個服務器角色提供,或者作為一個免費的獨立產品(Hyper-V Server),該產品僅具有有限功能和僅命令行界面。

如果您有興趣了解更多,請閱讀我們的博客文章,了解如何在您的計算機上安裝 Hyper-V Server

常見的 Hyper-V 問題

即使 Hyper-V 是一個非常先進的伺服器虛擬化平台,它仍然可能遇到一些性能問題。以下系統組件最有可能失敗並導致 VM 性能問題:

  • 處理器(例如,過載的邏輯或虛擬處理器,CPU 遲滯)
  • 內存(例如,內存過度分配,內存用盡,無法啟動 VM)
  • 網絡(例如,受網絡限制的主機和 VM,網絡資源不平衡)
  • 存儲(例如,磁盤延遲,物理存儲空間浪費,I/O 吞吐量慢)

這些是應該密切監控並在檢測到任何異常活動時加以處理的硬件組件。

大多數問題是由於對可用資源的不正確使用而引起的。Hyper-V 主機有一定量的硬件和軟件資源可供使用,並可在其上運行的 VM 之間共享。因此,非常重要的是密切關注同時在 Hyper-V 主機上運行多少個 VM,它們如何消耗可用資源,以及它們是否被過度配置或被低估。所有這些因素的綜合作用都可能影響 VM 性能的有效性和可靠性。

A key aspect of optimizing and monitoring performance is to understand the actual amount of workload in your virtual infrastructure and how many resources would be required to provision such a workload. This way, you can identify potential risks and bottlenecks which might negatively affect your VM performance. The basic advice on improving Hyper-V performance is to avoid creating and running too many VMs on a single host, and to minimize unnecessary resource consumption within your virtual environment.

在 Hyper-V 環境中改善 VM 性能的 20 種方法

在以下部分中,我們將討論一些簡單的配置如何幫助您改善 Hyper-V 環境中的 VM 性能。

因此,要改善 VM 性能,您可以執行以下操作:

1. 啟用 Hyper-V 整合服務

Hyper-V 整合服務代表一套特殊的驅動程式和工具,旨在提高在 Hyper-V 虛擬機器內運行的客戶操作系統(OSes)的性能。為了達到最佳效果,建議在 Hyper-V 主機和所有客戶 OS 上都啟用 Hyper-V 整合服務。請注意,除了來賓服務之外,所有 Hyper-V 整合服務(除了來賓服務)都在更新的 Windows OS 上默認可用。但是,如果您的 VM 運行的是 Linux 或較舊版本的 Windows OS,最好檢查這些來賓 OS 上的整合服務是否已自動啟用。如果沒有,則應手動安裝。

2. 使用固定大小的 VHD 檔案

固定大小的磁碟和動態擴展的磁碟已經被設計用於特定目的。在創建新的虛擬硬碟時,系統會要求您選擇希望擁有的虛擬硬碟類型。為了做出正確的選擇,您應首先考慮在虛擬環境中如何使用它。固定大小的磁碟提供更好的性能,建議用於運行具有高磁碟活動水平應用程序的服務器。動態擴展的磁碟提供更好的物理存儲空間利用率,建議用於運行不太耗費資源的應用程序的服務器。

固定大小的磁盘空间在创建虚拟硬盘文件时分配,并且在添加或删除数据时不会改变。动态扩展的磁盘空间是根据需要分配的,在添加或删除数据后其大小会发生变化。

因此,动态扩展磁盘应该在测试和部署环境中使用,而固定大小的磁盘在生产环境中效果更好。

3. 不要将 Hyper-V 快照用作备份替代

Hyper-V 快照(也称为 Hyper-V 检查点)绝不能用作备份,因为它们在测试和开发环境中被证明是最有效的。例如,您可能希望在系统中安装补丁和更新,但不确定它会如何影响您的虚拟基础架构。在这种情况下,创建 Hyper-V 快照允许您测试并在失败时回滚。

与备份不同,Hyper-V 快照存储在生产数据存储中,与虚拟机硬盘一起,这使它们依赖于虚拟机。如果虚拟机受损或删除,Hyper-V 快照也将丢失。备份是一种更可靠的数据保护选项,因为它作为一份一致且独立的虚拟机副本,可以轻松移动和存储在远程位置。

4. 配置分页文件的大小

Pagefile.sys 是用於管理虛擬記憶體並處理記憶體不足的 Windows 分頁檔案。當系統開始耗盡實體記憶體時,您可以通過使用分頁檔案來獲得額外的 RAM 存取權。儘管這似乎是一個好主意,但有時使用分頁檔案可能會影響虛擬機性能。因此,建議您增加 Windows 分頁檔案的大小,並將其最小值和最大值設置為您擁有的 RAM 量的3倍。

5. 不要創建太多虛擬網路開關

您可能會誘惑創建多個虛擬網路開關,用於各種目的。實際上,在單個網路中使用太多虛擬開關可能會造成處理開銷過大。為了改善虛擬機性能,建議您僅創建一個虛擬網路開關並在各種情況下使用它。閱讀我們的博客文章來了解 Hyper-V 網路虛擬化的工作原理以及應包含在有效虛擬網路基礎設施中的組件。

6. 避免管理操作系統超載

A management OS is meant for running VMs, backup software, and anti-malware. That’s it! Anything that doesn’t match these criteria should be running on your VMs. Also, avoid creating too many VMs on the same Hyper-V host if you are not planning to use all of them. If you find that some of your VMs are no longer used and have no practical function in your virtual environment, it is better to delete them so that they are no longer consuming available hardware resources and overloading your Hyper-V host.

7. 關閉不必要的應用程式

關閉虛擬機連接視窗和其他應用程式視窗
當您同時使用多個虛擬機時,監控每個開啟的應用程式可能會很困難。但是,如果您長時間保留它們執行,它們會開始消耗可用的系統資源,最終會影響整體虛擬機表現。如果您完成任務並不再需要它們,請準備好關閉虛擬機連接視窗、Hyper-V 管理員和任何其他應用程式視窗。這是提高虛擬機表現的一種簡單 yet 有效的方法。

8. 在 Windows Server Core 上安裝 Hyper-V

在此清單上普遍接受的一個建議是在 Windows Server Core 上安裝 Hyper-V,因為它可以提供許多好處。 相較於具有圖形使用者介面 (GUI) 體驗的 Windows Server,Windows Server Core 的腳本範圍和攻擊面積更小。因此,它消耗較少的硬件資源,整個系統也有較少的漏洞。現在可以使用這些節省的資源來佈建在系統中執行的 VM,這可以顯著提高 Hyper-V 環境中的 VM 表現。

9. 確定性能基準

A performance baseline is the level of performance that your system displays in standard conditions. It is recommended that you set a performance baseline beforehand. This way, you can identify whether anything has changed in resource consumption, monitor the overall VM performance, and promptly respond to any system errors and failures that might have been detected.

10. 有效配置資源

決定如何使用您的 Hyper-V 環境,您打算創建多少個 VM,以及這些 VM 的目的是什麼。之後,您應該確定您有多少硬件和軟件資源可用,以及如何有效地分配它們以實現最大的 VM 性能。此外,在創建 VM 並為它們分配可用資源後,您應該仔細監控每個 VM 的工作負載,並消除過度配置或不足配置的可能性,如果有的話。

11. 啟用多路 I/O

多路 I/O(MPIO)可以在存儲設備和服務器之間提供多個冗餘數據路徑,這可以改善負載平衡並確保您的 Hyper-V 環境的高可用性。建議您在生產環境中啟用此功能,特別是如果您處理大量數據的話。如果發生連接故障,MPIO 會使用替代路徑來確保數據仍然可以傳輸。

12. 使用動態記憶體

動態記憶體允許您在客戶端操作系統正在運行並需要更多 RAM 時向 VM 添加更多記憶體資源。另一方面,如果客戶端操作系統離線並且不需要大量資源來支持 VM 的性能,Hyper-V 可以回收未使用的資源並將其分配給其他正在運行的 VM。此外,您可以通過分配特定量的最大和最小 RAM 來配置動態記憶體可用於此特定 VM。

啟用 Hyper-V 動態記憶體後,建議根據每個虛擬機器的當前工作負載,更改默認記憶體設置並配置動態記憶體值。有關更多信息和建議,請閱讀我們的部落格文章:Hyper-V 動態記憶體最佳實踐

13. 啟用 VLAN 標記

VLAN 可用於通過可用的網絡適配器啟用網絡通信。通過添加特殊的 VLAN 標記,您可以識別哪個封包屬於哪個虛擬 LAN,並使系統內的網絡管理更加容易。

VLAN 標記是一個有用的功能,因為它允許您將多個用戶分組到同一個 VLAN 中,並仔細監控其性能。此外,VLAN 標記還可以提高虛擬環境的安全性,因為您可以指定允許訪問特定網絡的用戶。

14. 碎片整理虛擬硬盤

當單個文件的內容存儲在磁盤的不同扇區時,就會發生碎片化。結果,存儲空間被浪費,並且 VM 的性能受到影響。為了防止此類問題的發生並改善 VM 的性能,建議碎片整理虛擬硬盤。此操作允許重新組織可用文件和應用程序,識別未使用的磁盤空間的量,並節省可用資源的過度消耗。

15. 確保您的硬件已經認證

為了保證您的虛擬基礎設施能夠無卡頓和中斷地運行,您應該使用由微軟認證並在 Hyper-V 環境中得到充分支持的硬件和軟件組件。要驗證所選的硬件或軟件組件是否實際認證並可在您的環境中使用,請訪問微軟Windows Server 目錄並找到所需的信息。

16. 使用 RAID 10 卷

RAID(獨立磁盤冗餘陣列)是將數據存儲在多個硬盤上的不同區域的方法,可以提高存儲的數據冗餘性和容錯性。RAID 10 是 RAID 1(磁盤鏡像)和 RAID 0(磁盤分割)的組合,可以提供兩種數組類型的好處。這需要最少 4 個硬盤來構建 RAID 10,最終可以安全地保護數據並在硬盤故障的情況下輕松檢索數據。

17. 部署 64 位的客戶操作系統和第 2 代虛擬機

在許多情況下,建議選擇 64 位的客戶操作系統而不是 32 位的客戶操作系統,因為它可以提供額外的內存空間。因此,如果您想增加整體內存速度並提高虛擬機性能,最好部署 64 位操作系統,儘管不是強制性的。

此外,建議您創建第二代虛擬機器,因為它們已經被設計為與虛擬化監視器兼容,不像第一代虛擬機器,它們不依賴於模擬或合成硬件。第二代虛擬機器可以通過安全啟動和可信平台模塊確保更高級別的安全性,為您提供更多的啟動選項,從而顯著提高虛擬機器的性能。

18. 正確配置您的防病毒軟件

如果您已決定構建一個 Hyper-V 環境,則關注其安全性至關重要。為此,您可以安裝防病毒軟件或任何其他反惡意軟件,它可以檢測並防止您基礎設施中的任何惡意活動並防止它們感染整個系統。

但是,如果未正確配置,防病毒軟件可能會干擾系統中正在運行的關鍵進程和操作。因此,您需要更改防病毒軟件的默認配置並排除特定文件和應用程序以免受常規病毒掃描。

不應包含在常規病毒掃描中的文件類型包括:.vhd、.vhdx、.avhd、.avhdx、.vsv、.iso、.rct、.vmcx、.vmrs。但是,如果要保證特定 Hyper-V 虛擬機器的安全性,建議您在選定的虛擬機器上安裝防病毒軟件並在其中運行漏洞掃描。

19. 將繁忙的虛擬機器組織到單獨的卷中

如果您將多個運行大型工作負載的虛擬機放置在同一存儲卷中,這可能會影響當前的I/O操作,並在一般情況下損害虛擬機的性能。為了避免這個問題,建議您將繁忙的虛擬機放在單獨的卷中,以便它們有足夠的空間來存儲虛擬硬盤和虛擬機配置文件,以及足夠的硬件資源來運行它們的大型工作負載。

20. 使用PowerShell命令來自動化任務

使用PowerShell命令的主要好處在於它們允許您自動執行特定任務,從而在管理Hyper-V環境時提供更多靈活性。即使常見的Hyper-V管理工具(Hyper-V管理員或SCVMM)包括圖形用戶界面,但在管理Hyper-V主機和虛擬機時,它們仍然具有有限的功能。

一些虛擬化功能只能使用PowerShell啟用和配置。因此,您不應低估PowerShell命令的威力。一旦您了解了如何使用這些腳本,您就可以將虛擬機的性能提升到一個全新的水平,並改變您管理Hyper-V環境的方式。

Source:
https://www.nakivo.com/blog/top-20-tips-improve-vm-performance-hyper-v/