配置 VMM 计算构造中的虚拟机设置

重要

此版本的 Virtual Machine Manager (VMM) 已终止支持。 建议 升级到 VMM 2022

本文介绍了如何配置 System Center - Virtual Machine Manager (VMM) 构造中 VM 的性能和可用性设置。

设置包括更改 VM 属性和设置性能选项,例如存储质量 (QoS) 、可用性选项、资源限制和虚拟 NUMA。

将虚拟适配器添加到 VM

可从正在运行的 VM 中添加和删除虚拟网络适配器 (vNIC)。 这将减少由工作负荷造成的故障时间。

注意

  • 通过创建或修改 VMM 硬件配置文件来添加新的虚拟网络适配器。
  • 此功能仅适用于第 2 代 VM。
  • 默认情况下,添加的虚拟网络适配器不会连接到虚拟网络。 在主机上部署使用硬件配置文件分配的 VM 后,你可以将这些 VM 配置为使用一个或多个虚拟网络适配器。
  1. 在虚拟机属性 >“硬件配置”中,选择“ 网络适配器”,然后选择要添加的网络适配器。

  2. 可以为网络适配器配置多个属性,包括:

    • 连接到:选择适配器连接到的网络。
    • 未连接:如果不希望现在指定网络,请选择此项。
    • 内部网络:如果想要连接到在同一主机上的虚拟机之间启用通信的隔离的内部网络,请选择此项。 附加到内部虚拟网络的虚拟机无法与主机、主机 LAN 上的任何其他物理计算机或 Internet 通信。
    • 外部网络:选择此选项可以指定通过此硬件配置文件创建的虚拟机将连接到其主机上的物理网络适配器。 连接到物理网络适配器的虚拟机可以与主机可以与之通信的任何物理或虚拟计算机、Intranet 上的任何可用资源进行通信,以及通过主机计算机可以访问的 Internet 进行通信。
    • 以太网 (MAC) 地址:虚拟机上的虚拟 MAC 地址唯一标识同一子网上的每台计算机。 选择以下选项之一:
      • 动态:如果要为虚拟机启用动态 MAC 地址,请选择此选项。
      • 静态:如果要为虚拟机指定静态 MAC 地址,请选择此选项。 请在提供的字段中键入静态 MAC 地址。
      • Trunk 模式:选择它可启用 Trunk 模式。

VMM 2019 UR3 及更高版本支持 VM vNIC 的 中继 模式。

支持 trunk 模式

注意

中继模式仅在基于 VLAN 的独立网络中受支持。

NFV/VNF 应用程序(例如虚拟防火墙、软件负载均衡器和虚拟网关)可使用 Trunk 模式通过多个 vLAN 发送和接收流量。 可以通过控制台和 PowerShell 启用 trunk 模式。

请参阅以下部分,了解如何通过控制台启用中继模式;有关通过 PowerShell commandlet 启用,请参阅 Set-SCVirtualNetworkAdapterNew-SCVirtualNetworkAdapter

配置 trunk 模式

若要在 VMM 中配置中继模式,请执行以下步骤:

  1. “VM 属性”下,导航到“配置硬件设置网络适配器”>,然后选择“中继模式”,为 VM vNIC 启用中继模式。
  2. 选择要用于定向 VM 网络流量的 VM 网络(多个 VLAN)。 中继模式的屏幕截图。
  3. 同时应将为连接到 VM 网络工作流选择的 VM 网络设为本机 VLAN。 以后无法更改本机 VLAN,因为此操作基于在“ 连接到 VM 网络” 工作流中选择的 VM 网络。

使用 PowerShell 添加虚拟适配器

可以使用 PowerShell 添加虚拟适配器。

下面是用于设置此操作的示例 cmdlet。 选择查看或复制示例 cmdlet 所需的选项卡:

用于添加 vNIC 的示例 cmdlet:

  • 第一个命令获取名为 VM01 的虚拟机对象,然后将该对象存储在 $VM 变量中。
  • 第二个命令在 VM01 上创建虚拟网络适配器。
PS C:\> $VM = Get-SCVirtualMachine -Name "VM01"
PS C:\> New-SCVirtualNetworkAdapter -VM $VM -Synthetic

管理正在运行的 VM 上的静态内存

可以修改正在运行的使用静态内存的 VM 的内存配置。 此功能有助于消除由于重新配置引起的工作负荷停机时间。 可以增加或减少内存分配,或将虚拟机切换为动态内存。 用户已经可以从 VMM 修改正在运行的 VM 的动态内存,此功能与修改静态内存有关。

使用以下 PowerShell 示例修改静态内存设置。

示例 1

更改运行的虚拟机的静态内存。

  • 第一个命令获取名为 VM01 的虚拟机对象,然后将该对象存储在 $VM 变量中。
  • 第二个命令将分配给 VM01 的内存值更改为 1024 MB。
PS C:\> $VM = Get-SCVirtualMachine -Name "VM01"
PS C:\> Set-SCVirtualMachine -VM $VM -MemoryMB 1024

示例 2

对正在运行的虚拟机启用动态内存。

  • 第一个命令获取名为 VM02 的虚拟机对象,然后将该对象存储在 $VM 变量中。
  • 第二个命令将启用动态内存,将启动内存设置为 1024 MB,最大内存设置为 2048 MB。
PS C:\> $VM = Get-SCVirtualMachine -Name "VM02"
PS C:\> Set-SCVirtualMachine -VM $VM -DynamicMemoryEnabled $True -MemoryMB 1024 -DynamicMemoryMaximumMB 2048

将服务窗口添加到 VM

可以设置 VM 或服务的服务窗口,以便你可以在 VMM 控制台外部对其进行维护。 设置窗口并将其分配给 VM 属性。

为 VM 创建生产检查点

使用生产检查点可以轻松创建 VM 的时间点 映像,稍后可以还原这些映像。

  • 使用来宾内部的备份技术来创建检查点,而不是使用保存的状态技术来实现生产检查点。

  • 在运行 Windows 操作系统的虚拟机上,使用卷快照服务 (VSS) 创建生产检查点。

  • Linux 虚拟机刷新其文件系统缓冲区以创建文件系统一致性检查点。

  • 如果你想要使用已保存状态技术创建检查点,仍可以选择将标准检查点用于虚拟机。

  • 可以为 VM 设置其中一项检查点设置:

    • 已禁用:不采用任何检查点。
    • 生产:生产检查点是虚拟机的应用程序一致性快照。 Hyper-V 使用来宾 VSS 提供程序创建其所有应用程序处于一致状态的虚拟机映像。 在创建过程中,生产快照不支持自动恢复阶段。 应用生产检查点需要还原的虚拟机像还原的备份一样从离线状态启动。 这始终更适合生产环境。
    • ProductionOnly:此选项与“生产”相同,但有一个主要区别:对于 ProductionOnly,如果生产检查点失败,则不会采用任何检查点。 不同于“生产”,如果生产检查点失败,作为替代将会采用标准检查点。
    • 标准:存储正在运行的应用程序的所有内存状态,以便在应用检查点时,应用程序还原到以前的状态。 对于许多应用程序,这不适用于生产环境。 因此,这种类型的检查点通常更适合某些应用程序的开发和测试环境。

使用以下 PowerShell 命令设置检查点:Set-SCVirtualMachine CheckpointType (Disabled, Production, ProductionOnly, Standard)

配置群集 VM 的可用性选项

可以配置许多设置,以帮助群集中的虚拟机实现高可用性和复原能力:

  • 存储 QoS:可以使用服务质量配置 Hyper-V VM 硬盘, (QoS) 设置来控制带宽。 使用 Hyper-V Manager 执行此操作。
  • 虚拟机优先级:你可以配置在主机群集中部署的 VM 的优先级设置。 根据 VM 优先级,主机群集将先于中等优先级或低优先级虚拟机启动或放置高优先级虚拟机。 这可确保首先为高优先级虚拟机分配内存和其他资源,以提高性能。 此外,在节点发生故障后,如果高优先级虚拟机没有启动所需的内存和其他资源,则优先级较低的虚拟机将脱机,以便为高优先级虚拟机释放资源。 被占用的虚拟机稍后将按优先级顺序重启。
  • 虚拟机的首选所有者和可能的所有者:这些设置影响主机群集节点上虚拟机的放置。 默认情况下,没有首选所有者 (没有首选项) ,并且可能的所有者包括群集上的所有服务器节点。
  • 可用性集:将多个虚拟机放在可用性集中时,VMM 会尝试将这些虚拟机保留在单独的主机上,并尽可能地避免将它们一起放置在同一主机上。 这有助于改善服务的连续性。

为配置 QoS、优先级、首选所有者或可用性集的步骤选择所需的选项卡:

按照以下步骤为 VM 配置 QoS:

  1. 打开 Hyper-V 管理器,然后选择“ 操作>设置”。
  2. SCSI 控制器中,选择“硬盘驱动器
  3. “高级功能”中,选择“ 启用服务质量管理”。
  4. 指定最小和最大的 IOPS 值。

配置资源限制

VMM 包括资源限制功能,例如处理器 (CPU) 和内存限制,用于控制资源分配并帮助虚拟机更有效地运行。

  • 处理器限制:你可以设置虚拟处理器的权重,以便向处理器提供更大或更小的 CPU 周期份额。 这些属性确保了可在 CPU 资源过载时划分或取消划分 VM 的优先级。 对于高密集型工作负载,可以添加更多虚拟处理器,特别是在物理 CPU 接近其上限时。

    • 高、正常、低、自定义:指定在发生争用时如何分配 CPU。 将为较高优先级的虚拟机首先分配 CPU。
    • 保留 CPU 周期(%):指定与应该为虚拟机保留的一个逻辑处理器关联的 CPU 资源的百分比。 当虚拟机运行特别占用 CPU 的应用程序并且你需要确保 CPU 资源的最低级别时,这一点非常有用。 零设置指示没有为虚拟机保留特定 CPU 百分比。
    • 将 CPU 周期限制 (%) :指定虚拟机的消耗量不应超过一个逻辑处理器的指定百分比。
  • 内存限制和权重:内存限制可在内存资源受限的情况下帮助划分或取消划分内存资源访问的优先级。 如果主机上的内存使用率较高,则内存优先级较高的虚拟机比优先级较低的虚拟机优先获分配内存资源。 如果指定较低的优先级,则可能会使虚拟机在其他虚拟机正在运行且可用内存较低时无法启动。 你可以按以下方式设置内存优先级设置和阈值:

    • 静态:分配给特定虚拟机的静态内存量。
    • 动态:动态内存设置包括:
      • 启动内存:在虚拟机启动时分配给它的内存量。 它至少应设置为在虚拟机上运行操作系统和应用程序所需的最少内存量。 动态内存将根据需要调整内存量。
      • 最小内存:虚拟机需要的最小内存量。 它允许空闲计算机将内存消耗相应缩减为低于启动内存要求。 可用内存随后可供其他虚拟机使用。
      • 最大内存:分配给虚拟机的内存限制。 默认值为 1 TB。
      • 内存缓冲区百分比:动态内存根据需要向虚拟机添加内存,但应用程序可能需要比动态内存分配内存更快。 内存缓冲区百分比指定将在需要时分配给虚拟机的可用内存量。 该百分比基于虚拟机上运行的应用程序和服务所需的内存量。 它以百分比表示,因为它会根据虚拟机要求而变化。 百分比的计算方式如下:内存缓冲区量 = 虚拟机所需的内存/ (内存缓冲区值/100) 。 例如,提交到虚拟机的内存为 1000 MB,缓冲区为 20%,则将为分配给虚拟机的总量为 1200 MB 的物理内存分配 20% (200 MB) 的附加缓冲区。
    • 内存权重:当内存资源被完全占用时分配给虚拟机的优先级。 如果设置高优先级值,它将在分配内存资源时优先考虑虚拟机。 如果设置低优先级,则虚拟机在内存资源不足的情况下可能无法启动。

选择配置处理器或内存限制的步骤所需的选项卡:

按照以下步骤配置处理器限制:

  1. 在虚拟机 >“高级属性”>中,选择CPU 优先级”。

  2. 选择虚拟机的优先级值。 这些值指定如何在虚拟机之间平衡 CPU 资源,并对应于 Hyper-V 中的相对权重值:

    • 高 - 相对权重值 200
    • Normal - 相对权重值 100
    • 低 - 相对重量值 50
    • 自定义 - 支持的相对权重值介于 1 和 10000 之间
  3. 在“保留 CPU 周期(%)”中,指定与应该为虚拟机保留的一个逻辑处理器关联的 CPU 资源的百分比。 当虚拟机运行特别占用 CPU 的应用程序并且你需要确保 CPU 资源的最低级别时,这一点非常有用。 零设置指示不保留特定 CPU 百分比。

  4. 在“限制 CPU 周期(%)”中,指定虚拟机应在一个逻辑处理器上消耗的最大 CPU 资源百分比。 虚拟机的分配不会超过此百分比。

配置虚拟 NUMA

可以在 VMM 中配置、部署和管理虚拟非一致性内存访问 (NUMA)。 虚拟 NUMA 具有以下属性:

  • NUMA 是多处理器系统中使用的一种内存体系结构,在该体系结构中,处理器访问内存所需的时间取决于内存相对于处理器的位置。 在 NUMA 系统上,与非本地内存(附加到另一个处理器的内存)相比,处理器能够更快地访问本地内存(直接附加到该处理器的内存)。 NUMA 尝试缩小处理器速度与其使用的内存之间的差距。 为此,NUMA 基于每个处理器提供单独的内存。 因此,这有助于避免在多个处理器尝试访问同一内存时出现性能下降。 每个专用内存块称为 NUMA 节点。
  • 与运行带有物理 NUMA 硬件的非虚拟化计算机相比,利用虚拟 NUMA 能够部署更大和更业务关键的工作负载,这些工作负载可在不会使虚拟化环境性能明显下降的情况下运行。 创建新虚拟机时,默认情况下,Hyper-V 对与 Hyper-V 主机 NUMA 拓扑同步的来宾设置使用值。 例如,如果主机的 16 个核心和 64 GB 在两个 NUMA 节点之间均匀分配,每个物理处理器套接字有两个 NUMA 节点,则在具有 16 个虚拟处理器的主机上创建的虚拟机将每个节点的最大处理器数设置为 8,每个套接字的最大节点数设置为 2, 和每个节点的最大内存设置为 32 GB。
  • 可以启用或禁用 NUMA 跨越。 在启用了跨越后,单独的虚拟 NUMA 节点可以分配非本地内存,并且管理员可在 Hyper-V 主机上部署每个虚拟 NUMA 节点的虚拟处理器数比基础硬件 NUMA 节点上可用的处理器数多的虚拟机。 针对虚拟机的 NUMA 跨越确实会引致性能开销,原因是虚拟机会访问非本地 NUMA 节点上的内存。

按如下所示的操作,设置 VM 的虚拟 NUMA:

  1. 在“虚拟机>属性高级>中,选择“虚拟 NUMA”。
  2. 在“每虚拟 NUMA 节点最大处理器数”中,指定可在虚拟 NUMA 节点上以并发方式使用的属于同一虚拟机的虚拟处理器的最大数量。 配置此设置以确保最大带宽。 不同的 NUMA 虚拟机使用不同的 NUMA 节点。 最小限制为 1,最大值为 32。
  3. 在“每虚拟 NUMA 节点最大内存(MB)”中,指定可分配给单一虚拟 NUMA 节点的最大内存量 (MB)。 最小限制为 8 MB,最大限制为 256 GB。
  4. 在“每套接字最大虚拟 NUMA 节点数”中,指定单一插槽上允许的最大虚拟 NUMA 节点数。 最小数字为 1,最大值为 64。
  5. 若要启用跨越,请选择“ 允许虚拟机跨硬件 NUMA 节点”。