在 VMM 计算构造中配置虚拟机设置
本文介绍如何在 System Center Virtual Machine Manager (VMM) 构造中为 VM 配置性能和可用性设置。
设置包括更改 VM 属性和设置性能选项,例如存储质量(QoS)、可用性选项、资源限制和虚拟 NUMA。
将虚拟适配器添加到 VM
可以从正在运行的 VM 中添加和删除虚拟网络适配器(vNIC)。 这可减少工作负荷停机时间。
注意
- 通过创建或修改 VMM 硬件配置文件来添加新的虚拟网络适配器。
- 此功能仅适用于第 2 代 VM。
- 默认情况下,添加的虚拟网络适配器未连接到虚拟网络。 可以将分配有硬件配置文件的 VM 配置为在主机上部署 VM 后使用一个或多个虚拟网络适配器。
在虚拟机属性 >硬件配置中,选择 网络适配器,然后选择要添加的网络适配器。
可以为网络适配器配置许多属性,包括:
- 已连接到:选择适配器连接到的内容。
- 未连接:如果不想立即指定网络,请选择。
- 内部网络:选择是否要连接到隔离的内部网络,以便在同一主机上的 VM 之间进行通信。 附加到内部虚拟网络的虚拟机无法与主机、主机 LAN 上的任何其他物理计算机或 Internet 通信。
- 外部网络:选择指定使用此硬件配置文件创建的虚拟机将连接到其主机上的物理网络适配器。 附加到物理网络适配器的虚拟机可以与主机可以与之通信的任何物理计算机或虚拟计算机,并与 Intranet 上可用的任何资源以及主机可以访问的 Internet 通信。
- 以太网(MAC)地址:虚拟机上的虚拟 MAC 地址唯一标识同一子网上的每台计算机。 选择以下选项之一:
- 动态:如果要为虚拟机启用动态 MAC 地址,请选择此选项。
- 静态:如果要为虚拟机指定静态 MAC 地址,请选择此选项。 在提供的字段中输入静态 MAC 地址。
- 中继模式:选择以启用中继模式。
VMM 2019 UR3 及更高版本支持 VM vNIC 的中继 模式。
支持中继模式
注意
中继模式 仅在基于 VLAN 的独立网络中受支持。
NFV/VNF 应用程序(例如虚拟防火墙、软件负载均衡器和虚拟网关)使用中继模式通过多个 VLAN 发送和接收流量。 可以通过控制台和 PowerShell 启用中继模式。
请参阅以下部分,了解如何通过控制台启用中继模式;请参阅 Set-SCVirtualNetworkAdapter 和 New-SCVirtualNetworkAdapter ,了解如何通过 PowerShell commandlet 启用。
配置中继模式
若要在 VMM 中配置中继模式,请执行以下步骤:
- 在“VM 属性”下,导航到“配置硬件设置>网络适配器”,然后选择“中继”模式,为 VM vNIC 启用中继模式。
- 选择要通过该 VM 网络(多个 VLAN)来定向 VM 网络流量。
- 作为“连接到 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:可以使用服务质量(QoS)设置配置 Hyper-V VM 硬盘,以控制带宽。 使用 Hyper-V 管理器执行此操作。
- 虚拟机优先级:可以为在主机群集中部署的 VM 配置优先级设置。 根据 VM 优先级,主机群集在中等优先级或低优先级虚拟机之前启动或放置高优先级虚拟机。 这可确保高优先级虚拟机首先分配内存和其他资源,以提高性能。 此外,节点发生故障后,如果高优先级虚拟机没有必要的内存和其他资源要启动,则低优先级虚拟机将脱机释放高优先级虚拟机的资源。 被占用的虚拟机稍后将按优先级顺序重启。
- 虚拟机的首选所有者和可能的所有者:这些设置影响主机群集节点上虚拟机的放置。 默认情况下,没有首选所有者(没有首选项),可能的所有者包括群集上的所有服务器节点。
- 可用性集:在可用性集中放置多个虚拟机时,VMM 将尝试将这些虚拟机保留在单独的主机上,并尽可能避免将它们放在同一主机上。 这有助于改善服务的连续性。
为配置 QoS、优先级、首选所有者或可用性集的步骤选择所需的选项卡:
按照以下步骤为 VM 配置 QoS:
- 打开 Hyper-V 管理器 并选择“ 操作>设置”。
- 在 SCSI 控制器中,选择“硬盘驱动器”
- 在 “高级功能”中,选择“ 启用服务质量管理”。
- 指定最小值和最大 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) 的附加缓冲区。
- 内存权重:在内存资源完全使用时分配给虚拟机的优先级。 如果设置高优先级值,它将在分配内存资源时优先考虑虚拟机。 如果设置低优先级,则虚拟机在内存资源不足的情况下可能无法启动。
为配置处理器或内存限制的步骤选择所需的选项卡:
- 处理器节流
- 内存限制
按照以下步骤配置处理器限制:
在“虚拟机>属性>高级”中,选择“CPU 优先级”。
选择虚拟机的优先级值。 这些值指定如何在虚拟机之间平衡 CPU 资源,并对应于 Hyper-V 中的相对权重值:
- 高 - 相对权重值 200
- 普通 - 相对权重值 100
- 低 - 相对权重值 50
- 自定义 - 支持的相对权重值介于 1 到 10000 之间
在 预留 CPU 周期中 ,指定必须为虚拟机保留的一个逻辑处理器上的 CPU 资源的百分比。 当虚拟机运行特别占用 CPU 的应用程序并且你需要确保 CPU 资源的最低级别时,这一点非常有用。 零设置指示不保留特定 CPU 百分比。
在 “限制 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 节点可以分配非本地内存,管理员可以部署每个虚拟 NUMA 节点具有比 Hyper-V 主机上基础硬件 NUMA 节点上可用的处理器数更多的虚拟处理器的虚拟机。 虚拟机的 NUMA 跨越会产生性能成本,因为虚拟机访问非本地 NUMA 节点上的内存。
为 VM 设置虚拟 NUMA,如下所示:
- 在“虚拟机>属性>高级”中,选择“虚拟 NUMA”。
- 在“每虚拟 NUMA 节点最大处理器数” 中,指定可在虚拟 NUMA 节点上以并发方式使用的属于同一虚拟机的虚拟处理器的最大数量。 配置此设置以确保最大带宽。 不同的 NUMA 虚拟机使用不同的 NUMA 节点。 最小限制为 1,最大值为 32。
- 在“每虚拟 NUMA 节点最大内存(MB)” 中,指定可分配给单一虚拟 NUMA 节点的最大内存量 (MB)。 最小限制为 8 MB,最大值为 256 GB。
- 在“每套接字最大虚拟 NUMA 节点数” 中,指定单一插槽上允许的最大虚拟 NUMA 节点数。 最小数字为 1,最大值为 64。
- 若要启用跨越,请选择“ 允许虚拟机跨硬件 NUMA 节点”。