提高Hyper-V中VM性能的20个技巧

每个系统偶尔都会出现错误和故障,用户不断寻找方法来改善其虚拟基础架构的性能。在本博客文章中,我们将讨论性能问题如何影响您的 Hyper-V 环境,以及您可以如何改善虚拟机(VM)性能。

在本博客文章中,我们已经编制了一个包含 20 个调整的列表,可以用来优化和改善 Hyper-V 环境中的 VM 性能。继续阅读,了解 Hyper-V 虚拟化技术的工作原理,哪些问题最有可能影响 Hyper-V VM 的性能,以及 NAKIVO 备份与复制如何帮助您保护您的虚拟环境。

Hyper-V 工作原理

Hyper-V 是由微软开发的虚拟化软件,允许您创建和运行计算机的虚拟化版本,称为虚拟机(VM)。单个 Hyper-V 主机可以同时运行多个 VM,在彼此之间隔离。此外,所有 VM 都共享单个主机服务器的硬件资源,包括内存、处理器,以及存储和网络设备。这样,硬件资源可以被有效地使用,并且可以轻松地分配给最需要它们的 VM。

Hyper-V 可以作为 Windows Server 和 Windows(2008 年及以后)上的服务器角色,也可以作为免费的独立产品(Hyper-V Server)提供,但功能有限,仅具有命令行界面。

如果您有兴趣了解更多信息,请阅读我们的博客文章,了解如何在您的计算机上安装 Hyper-V 服务器。 如何在您的计算机上安装 Hyper-V 服务器

常见的 Hyper-V 问题

虽然 Hyper-V 是一个非常先进的服务器虚拟化平台,但仍然可能出现一些性能问题。以下系统组件最有可能发生故障并导致虚拟机性能问题:

  • 处理器(例如,超载逻辑或虚拟处理器,CPU 卡顿)
  • 内存(例如,内存过度分配,RAM 不足,无法启动虚拟机)
  • 网络(例如,网络受限的主机和虚拟机,网络资源不平衡)
  • 存储(例如,磁盘延迟,物理存储空间浪费,I/O 吞吐量慢)

这些是应该密切监控并在检测到任何异常活动时进行处理的硬件组件。

大多数问题发生是由于对可用资源的不正确使用。Hyper-V 主机具有有限的硬件和软件资源,可以在其上运行和共享正在运行的虚拟机。因此,至关重要的是要密切关注在 Hyper-V 主机上同时运行了多少个虚拟机,它们如何消耗可用资源,以及它们是否被过度配置或配置不足。所有这些因素的综合影响了虚拟机性能的有效性和可靠性。

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 环境中虚拟机性能的 20 种方法

在下一节中,我们将讨论一些简单的配置如何帮助您提高 Hyper-V 环境中的虚拟机性能。

因此,要提高虚拟机性能,您可以执行以下操作:

1. 启用 Hyper-V 集成服务

Hyper-V 集成服务代表一套特殊的驱动程序和实用程序,旨在提高在 Hyper-V VM 内运行的客户操作系统(OS)的性能。为了实现最佳效果,建议您在 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 管理器和任何其他应用程序窗口。这是改善虚拟机性能的一种简单而有效的方法。

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

此清单中最广泛接受的建议之一是在 Windows Server Core 上安装 Hyper-V,因为它能够提供许多好处。与具有图形用户界面的 Windows Server 相比,Windows Server Core 的占用空间和攻击面更小。因此,消耗的硬件资源更少,整个系统的漏洞也更少。现在可以使用这些节省下来的资源来为在系统中运行的虚拟机提供资源分配,这可以显着改善 Hyper-V 环境中的虚拟机性能。

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 环境,您打算创建多少个虚拟机以及这些虚拟机将用于何种目的。之后,您应该确定您可用的硬件和软件资源数量以及如何有效地分配它们以实现最大的虚拟机性能。此外,在创建虚拟机并为其分配可用资源后,您应该仔细监视每个虚拟机的工作负载,并消除过度配置或不足配置的可能性,如果有的话。

11. 启用多路径 I/O

多路径 I/O(MPIO)可以在存储设备和服务器之间提供多个冗余数据路径,从而改善负载均衡并确保您的 Hyper-V 环境具有高可用性。建议您在生产环境中启用此功能,特别是如果您正在处理大量数据。如果连接发生故障,MPIO 会使用备用路径确保数据仍然可以传输。

12. 使用动态内存

动态内存允许您在客户操作系统正在运行并需要更多 RAM 时向虚拟机添加更多内存资源。另一方面,如果客户操作系统处于离线状态并且不需要大量资源来支持虚拟机性能,Hyper-V 可以回收未使用的资源并将其分配给其他正在运行的虚拟机。此外,您可以通过为该特定虚拟机分配特定数量的最大和最小 RAM 来配置动态内存。

启用 Hyper-V 动态内存后,建议根据每个虚拟机的当前工作负载更改默认内存设置并配置动态内存值。有关更多信息和建议,请阅读我们关于 Hyper-V 动态内存最佳实践 的博客文章。

13. 启用 VLAN 标记

VLAN 可用于通过可用的网络适配器启用网络通信。通过添加特殊的 VLAN 标记,您可以识别哪个数据包属于哪个虚拟 LAN,并使系统内的网络管理更加轻松。

VLAN 标记是一个有用的功能,因为它允许您将多个用户分组到同一个 VLAN 中,并仔细监视它们的性能。此外,VLAN 标记可以提高虚拟环境的安全性,因为您可以指定允许访问特定网络的用户。

14. 对虚拟硬盘进行碎片整理

当单个文件的内容存储在磁盘的不同扇区中时,就会发生碎片化。结果,存储空间被浪费,虚拟机性能受到影响。为了防止此类问题发生并改善虚拟机性能,建议您对虚拟硬盘进行碎片整理。此操作允许重新组织可用文件和应用程序,识别未使用的磁盘空间量,并节省可用资源免受过度消耗。

15. 确保您的硬件已获得认证

要确保您的虚拟基础架构能够在没有延迟和中断的情况下运行,您应该使用由微软认证并在 Hyper-V 环境中得到完全支持的硬件和软件组件。要验证所选的硬件或软件组件是否确实已获得认证并可在您的环境中使用,请访问微软 Windows Server 目录 并找到所需信息。

16. 使用 RAID 10 卷

RAID(独立磁盘冗余阵列) 是一种在多个硬盘上的不同区域存储数据的方法,可以提高您存储的数据冗余性和容错性。RAID 10 是 RAID 1(磁盘镜像)和 RAID 0(磁盘分条)的组合,可以提供两种阵列类型的优点。这需要至少 4 个硬盘来构建 RAID 10,最终可以安全地保护数据,并在驱动器故障时轻松检索数据。

17. 部署 64 位客户操作系统和第 2 代虚拟机

在许多情况下,建议您选择 64 位客户操作系统而不是 32 位客户操作系统,因为它可以提供额外的内存空间。因此,如果您想提高总体内存速度并改善虚拟机性能,最好部署 64 位操作系统,尽管不是强制性的。

此外,建议您创建第二代虚拟机,因为它们已经被设计成与hypervisor兼容,与第一代虚拟机不同,它们不依赖于模拟或合成硬件。第二代虚拟机可以通过安全启动和可信平台模块确保更高级别的安全性,为您提供更多的引导选项,从而显著提高虚拟机的性能。

18.正确配置您的反病毒软件

如果您决定构建一个 Hyper-V 环境,关心其安全性也至关重要。为此,您可以安装反病毒或任何其他反恶意软件,它会在您的基础架构中搜索并检测任何恶意活动,并防止它们感染整个系统。

但是,如果未正确配置,反病毒软件可能会干扰您系统中运行的关键进程和操作。因此,您需要更改反病毒软件的默认配置,并将特定文件和应用程序排除在常规病毒扫描之外。

不应包含在常规病毒扫描中的文件类型有:.vhd、.vhdx、.avhd、.avhdx、.vsv、.iso、.rct、.vmcx、.vmrs。然而,如果您想保证特定 Hyper-V 虚拟机的安全性,建议您在选定的虚拟机上安装反病毒软件,并在其中运行漏洞扫描。

19.将繁忙的虚拟机组织到单独的卷中

如果将多个运行大型工作负载的虚拟机放置在同一个存储卷中,这可能会影响当前的I/O操作,从而削弱虚拟机的整体性能。为了避免这个问题,建议您将繁忙的虚拟机放置在单独的卷中,以便它们有足够的空间存储虚拟硬盘和虚拟机配置文件,并拥有足够的硬件资源来运行它们的大型工作负载。

20. 使用PowerShell cmdlets自动化任务

使用PowerShell cmdlets的主要好处是它们允许您自动化特定任务,从而在管理Hyper-V环境时提供更多的灵活性。尽管常见的Hyper-V管理工具(Hyper-V Manager或SCVMM)包含GUI,但在管理Hyper-V主机和虚拟机时仍然具有有限的功能。

某些虚拟化功能只能使用PowerShell启用和配置。因此,您不应低估PowerShell cmdlets的威力。一旦您学会如何使用这些脚本,您可以将虚拟机性能提升到一个全新的水平,并改变您管理Hyper-V环境的方式。

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