XenServer

管理虚拟机

本节概述了如何使用模板创建虚拟机 (VM)。它还介绍了其他准备方法,包括克隆模板和导入以前导出的虚拟机。

什么是虚拟机?

虚拟机 (VM) 是一种软件计算机,与物理计算机一样,它运行操作系统和应用程序。虚拟机由一组规范和配置文件组成,这些文件由主机的物理资源支持。每个虚拟机都具有虚拟设备,这些设备提供与物理硬件相同的功能。虚拟机具有更便携、更易管理和更安全的优点。此外,您可以根据特定要求调整每个虚拟机的启动行为。有关详细信息,请参阅 VM 启动行为

XenServer® 支持具有 IPv4 或 IPv6 配置地址任意组合的来宾。

在 XenServer 中,虚拟机可以在完全虚拟化模式下运行。特定的处理器功能用于“捕获”虚拟机执行的特权指令。此功能使您能够使用未经修改的操作系统。对于网络和存储访问,模拟设备会呈现给虚拟机。或者,出于性能和可靠性原因,可以使用 PV 驱动程序。

创建虚拟机

使用虚拟机模板

虚拟机是根据模板准备的。模板是包含所有各种配置设置的黄金映像,用于创建特定虚拟机的实例。XenServer 附带一组基本模板,这些模板是原始虚拟机,您可以在其上安装操作系统。不同的操作系统需要不同的设置才能发挥最佳性能。XenServer 模板经过调整,可最大限度地提高操作系统性能。

您可以通过两种基本方法从模板创建虚拟机:

  • 使用完整的预配置模板。

  • 将操作系统从 CD、ISO 映像或网络存储库安装到提供的相应模板上。

Windows 虚拟机 介绍了如何将 Windows 操作系统安装到虚拟机上。

Linux 虚拟机 介绍了如何将 Linux 操作系统安装到虚拟机上。

注意:

由旧版本XenServer创建的模板可以在新版本XenServer中使用。但是,在新版本XenServer中创建的模板与旧版本XenServer不兼容。

创建VM的其他方法

除了使用提供的模板创建VM之外,您还可以使用以下方法创建VM。

克隆现有VM

您可以通过从模板克隆来创建现有VM的副本。模板是普通的VM,旨在用作创建VM实例的原始副本。VM可以自定义并转换为模板。请确保遵循VM的适当准备过程。有关详细信息,请参阅使用Sysprep准备克隆Windows VM准备克隆Linux VM

注意:

模板不能用作普通VM。

XenServer有两种克隆VM的机制:

  • 完全复制

  • 写时复制

    更快的写时复制模式只将修改过的块写入磁盘。写时复制旨在节省磁盘空间并允许快速克隆,但会略微降低正常磁盘性能。模板可以多次快速克隆而不会减速。

    注意:

    如果您将模板克隆到VM中,然后将克隆转换为模板,则磁盘性能可能会下降。下降的程度与此过程发生的次数呈线性关系。在这种情况下,可以使用vm-copy CLI命令执行磁盘的完全复制并恢复预期的磁盘性能水平。

资源池注意事项

如果您从共享SR上的VM虚拟磁盘创建模板,则模板克隆操作会转发到池中可以访问共享SR的任何主机。但是,如果您从仅具有本地SR的VM虚拟磁盘创建模板,则模板克隆操作只能在可以访问该SR的主机上运行。

导入导出的 VM

您可以通过导入现有导出的 VM 来创建 VM。与克隆类似,导出和导入 VM 是快速创建具有特定配置的更多 VM 的方法。使用此方法可以提高部署速度。例如,您可能拥有一个多次使用的专用主机配置。在按要求设置 VM 后,将其导出并稍后导入以创建另一个特殊配置的 VM 副本。您还可以使用导出和导入将 VM 移动到位于另一个资源池中的 XenServer 主机。

有关导入和导出 VM 的详细信息和过程,请参阅导入和导出 VM

XenServer VM 工具

XenServer VM Tools 提供高性能 I/O 服务,而无需传统设备仿真的开销。

适用于 Windows 的 XenServer VM Tools

适用于 Windows 的 XenServer VM Tools 包含 I/O 驱动程序(也称为半虚拟化驱动程序或 PV 驱动程序)和管理代理。

I/O 驱动程序包含存储和网络驱动程序以及低级管理接口。这些驱动程序取代了仿真设备,并在 Windows 和 XenServer 产品系列软件之间提供高速传输。在安装 Windows 操作系统时,XenServer 使用传统设备仿真向 VM 提供标准 IDE 控制器和标准网卡。这种仿真允许 Windows 安装使用内置驱动程序,但由于仿真控制器驱动程序固有的开销,性能会降低。

管理代理(也称为客户机代理)负责高级虚拟机管理功能,并为 XenCenter 提供一整套功能。

在每个 Windows VM 上安装适用于 Windows 的 XenServer VM Tools,以便该 VM 具有完全受支持的配置,并能够使用 xe CLI 或 XenCenter。VM 在没有适用于 Windows 的 XenServer VM Tools 的情况下也能运行,但如果未安装 I/O 驱动程序(PV 驱动程序),性能会受到影响。您必须在 Windows VM 上安装适用于 Windows 的 XenServer VM Tools 才能执行以下操作:

  • 干净地关闭、重新启动或暂停 VM

  • 在 XenCenter 中查看 VM 性能数据

  • 迁移正在运行的 VM(使用实时迁移或存储实时迁移)

  • 创建包含内存的快照(检查点)或还原到快照

  • 多页支持(自动启用)

有关详细信息,请参阅 安装适用于 Windows 的 XenServer VM Tools

适用于 Linux 的 XenServer VM Tools

适用于 Linux 的 XenServer VM Tools 包含一个客户机代理,可向主机提供有关 VM 的额外信息。

您必须在 Linux VM 上安装适用于 Linux 的 XenServer VM Tools,才能执行以下操作:

  • 在 XenCenter 中查看 VM 性能数据

  • 调整正在运行的 Linux VM 上的 vCPU 数量

  • 启用动态内存控制

    注意:

    某些 Linux 客户机操作系统不支持 Xen® hypervisor 的内存气球技术,因此无法使用动态内存控制 (DMC) 功能。有关此功能适用于哪些客户机操作系统的信息,请参阅 客户机操作系统功能支持

有关详细信息,请参阅 安装适用于 Linux 的 XenServer VM Tools

查找 VM 的虚拟化状态

XenCenter 在 VM 的“常规”选项卡上报告 VM 的虚拟化状态。您可以查明是否安装了 XenServer VM Tools。此选项卡还会显示 VM 是否可以从 Windows Update 安装和接收更新。以下部分列出了 XenCenter 中显示的消息:

I/O 优化(未优化):此字段显示是否在 VM 上安装了 I/O 驱动程序。

管理代理已安装(未安装):此字段显示是否在 VM 上安装了管理代理。

能够(无法)从 Windows Update 接收更新:指定 VM 是否可以从 Windows Update 接收 I/O 驱动程序。

注意:

Windows Server Core 2016 不支持使用 Windows Update 安装或更新 I/O 驱动程序。请改用 XenServer 下载页面 上提供的适用于 Windows 的 XenServer VM Tools 安装程序。

安装 I/O 驱动程序和管理代理:当 VM 未安装 I/O 驱动程序或管理代理时,会显示此消息。

来宾 UEFI 启动和安全启动

有关哪些来宾操作系统可以启动到 UEFI 模式的详细信息,请参阅 来宾操作系统功能支持

UEFI 启动为来宾操作系统提供了更丰富的接口来与硬件交互,这可以显著缩短 VM 启动时间。如果 XenServer 支持您的来宾操作系统的 UEFI 启动,我们建议您选择此启动模式而不是 BIOS。

对于这些操作系统,XenServer 还支持安全启动。安全启动可防止未签名、签名不正确或已修改的二进制文件在启动期间运行。在强制执行安全启动的 UEFI 启用 VM 上,所有驱动程序都必须经过签名。此要求可能会限制 VM 的使用范围,但提供了阻止未签名/已修改驱动程序的安全性。如果您使用未签名的驱动程序,安全启动将失败,并且 XenCenter 中会显示警报。安全启动还降低了来宾中的恶意软件在启动过程中操纵启动文件或运行的风险。

创建 VM 时必须指定启动模式。VM 首次启动后,无法在 BIOS 和 UEFI(或 UEFI 安全启动)之间更改 VM 的启动模式。但是,在 VM 用于排查潜在的安全启动问题后,您可以在 UEFI 和 UEFI 安全启动之间更改启动模式。有关更多信息,请参阅 故障排除

在 VM 上启用 UEFI 启动时,请考虑以下事项:

  • 确保启用了 UEFI 的 Windows VM 至少有两个 vCPU。启用了 UEFI 的 Linux VM 没有此限制。
  • 您可以将 XenServer 上创建的启用了 UEFI 的 VM 导入或导出为 OVA、OVF 或 XVA 文件。不支持从在其他管理程序上创建的 OVA 或 OVF 包导入启用了 UEFI 的 VM。
  • 要将 PVS-Accelerator 与启用了 UEFI 的 VM 配合使用,请确保您使用的是 Citrix Provisioning™ 1906 或更高版本。
  • 对于 Windows VM,请使用 UEFI 设置菜单更改 XenCenter 控制台的屏幕分辨率。有关详细说明,请参阅 故障排除

注意

启用了 UEFI 的 VM 使用 NVME 和 E1000 作为模拟设备。在 VM 上安装适用于 Windows 的 XenServer VM Tools 之前,仿真信息不会显示这些值。 在安装适用于 Windows 的 XenServer VM Tools 之前,启用了 UEFI 的 VM 也只显示为具有 2 个 NIC。

启用 UEFI 引导或 UEFI 安全引导

您可以使用 XenCenter 或 xe CLI 为您的 VM 启用 UEFI 引导或 UEFI 安全引导。

有关在 XenCenter 中创建启用 UEFI 的 VM 的信息,请参阅使用 XenCenter 创建 Windows VM使用 XenCenter 创建 Linux VM

使用 xe CLI 启用 UEFI 引导或 UEFI 安全引导

创建 VM 时,请在首次引导 VM 之前运行以下命令:

    xe vm-param-set uuid=<UUID> HVM-boot-params:firmware=<MODE>
    xe vm-param-set uuid=<UUID> platform:device-model=qemu-upstream-uefi
    xe vm-param-set uuid=<UUID> platform:secureboot=<OPTION>
<!--NeedCopy-->

其中,UUID 是 VM 的 UUID,MODEBIOSuefiOPTION 是 ‘true’ 或 ‘false’。如果您未指定模式,则在您的 VM 操作系统支持该选项的情况下,它默认为 uefi。否则,模式默认为 BIOS。如果您未指定 secureboot 选项,它默认为 ‘auto’。对于启用 UEFI 的 VM,’auto’ 行为是为 VM 启用安全引导。

要从 XenServer 提供的模板创建启用 UEFI 的 VM,请运行以下命令:

    UUID=$(xe vm-clone name-label='Windows 10 (64-bit)' new-name-label='Windows 10 (64-bit)(UEFI)')
    xe template-param-set uuid=<UUID> HVM-boot-params:firmware=<MODE> platform:secureboot=<OPTION>
<!--NeedCopy-->

请勿对已安装某些内容的模板或从快照创建的模板运行此命令。这些快照的引导模式无法更改,如果您尝试更改引导模式,VM 将无法引导。

首次引导启用 UEFI 的 VM 时,系统会在 VM 控制台上提示您按任意键开始安装。如果您未开始操作系统安装,VM 控制台将切换到 UEFI shell。

要重新启动安装过程,请在 UEFI 控制台中键入以下命令。

EFI:
EFI\BOOT\BOOTX64

安装过程重新启动时,请在 VM 控制台上留意安装提示。当提示出现时,按任意键。

禁用安全引导

您可能偶尔需要禁用安全引导。例如,在处于安全引导用户模式的 VM 上无法启用某些类型的调试。要禁用安全引导,您可以使用以下命令:

xe vm-param-set uuid=<VM_UUID> platform:secureboot=false

可以使用以下命令重新启用:

xe vm-param-set uuid=<VM_UUID> platform:secureboot=true

密钥

适用于 Windows 虚拟机:

支持 UEFI 的 Windows 虚拟机使用来自临时私钥的 PK、Microsoft KEK、Microsoft Windows Production PCA 和 Microsoft 第三方密钥进行预配。这些虚拟机还从 UEFI 论坛获取最新的吊销列表。此配置使 Windows 虚拟机能够在启用安全启动的情况下启动,并从 Microsoft 接收密钥和吊销列表的自动更新。

适用于 Linux 虚拟机:

要在启用了安全启动的 Linux 虚拟机中安装第三方驱动程序,您必须创建一个签名密钥,将其作为机器所有者密钥 (MOK) 添加到虚拟机,并使用该密钥对驱动程序进行签名。有关详细信息,请参阅 在安全启动 Linux 虚拟机上安装第三方驱动程序

对 UEFI 和 UEFI 安全启动虚拟机进行故障排除

有关对 UEFI 或 UEFI 安全启动虚拟机进行故障排除的信息,请参阅 对 UEFI 和安全启动问题进行故障排除

vTPM

XenServer 允许您创建虚拟可信平台模块 (vTPM) 并将其附加到虚拟机。此虚拟 TPM 不使用或直通您硬件上的任何物理 TPM。创建虚拟 TPM 不需要物理 TPM。

所有 UEFI 启动或 UEFI 安全启动虚拟机都允许您附加 vTPM。

虚拟机与其链接的 vTPM 之间存在一对一关系。一个虚拟机只能有一个 vTPM,一个 vTPM 也只能与一个虚拟机关联。具有 VM 管理员及以上角色的用户可以创建和销毁 vTPM 实例。

在虚拟机上运行的应用程序可以通过符合 TPM 2.0 标准的 API 访问 vTPM。不支持 TPM 1.2。具有 VM 操作员及以上角色的用户可以通过虚拟机访问 vTPM。

要检查您的虚拟机是否具有链接的 vTPM,请在 XenCenter 中转到“常规”选项卡,并在“设备安全”部分中查找。

限制

目前,以下限制适用于附加了 vTPM 的虚拟机:

  • BIOS 启动模式下的虚拟机不支持 vTPM。
  • 虽然您可以将 VM 导出为 OVF/OVA 格式,但在此过程中,vTPM 中的任何数据都将丢失。此丢失的数据可能导致 VM 出现意外行为或阻止其启动。如果您的 VM 中使用了任何 vTPM 功能,请勿使用此格式导出您的 VM。
  • 目前不支持为附加了 vTPM 的 VM 使用 BitLocker。
  • 如果池协调器处于脱机状态,则用户或 Windows 在后台执行的 vTPM 操作可能会失败。
  • 如果 VM 正在运行使用 vTPM 的自定义工作负载,并且该工作负载向 vTPM 写入大量数据或发出大量写入请求,这可能会影响 XenServer 工具堆栈的性能。

将 vTPM 附加到 VM

对于新 VM,可以在创建 VM 期间添加 vTPM。有关详细信息,请参阅您首选的 VM 创建方法的文档。

如果您有要添加 vTPM 的现有 UEFI 或 UEFI 安全启动 VM,则可以使用 XenCenter 或 xe CLI 来完成此操作。

使用 XenCenter

  1. 关闭 VM。
  2. 将 vTPM 添加到 VM。
    1. 右键单击 VM 并选择 管理 vTPM。或者,在主菜单栏上,转到 VM > 管理 vTPM。此时将打开“TPM 管理器”对话框。
    2. 在“TPM 管理器”对话框中,添加 vTPM。
  3. 要验证 VM 是否具有链接的 vTPM,请选择该 VM 并转到其“常规”选项卡,然后在“设备安全”部分中查找。
  4. 启动 VM。

使用 xe CLI

  1. 关闭虚拟机:

    xe vm-shutdown uuid=<vm_uuid>
    <!--NeedCopy-->
    
  2. 创建 vTPM 并将其附加到虚拟机:

    xe vtpm-create vm-uuid=<vm_uuid>
    <!--NeedCopy-->
    
  3. 启动虚拟机:

    xe vm-start uuid=<vm_uuid>
    <!--NeedCopy-->
    

支持的客户机和资源分配

有关支持的客户机操作系统列表,请参阅 支持的客户机、虚拟内存和磁盘大小限制

本节介绍 XenServer 产品系列成员在虚拟设备支持方面的差异。

XenServer 产品系列虚拟设备支持

当前版本的 XenServer 产品系列对虚拟机的虚拟设备有一些通用限制。特定的客户机操作系统可能对某些功能有较低的限制。各个客户机安装部分会注明这些限制。有关配置限制的详细信息,请参阅 配置限制

硬件和环境等因素会影响这些限制。有关支持的硬件信息,请参阅 XenServer 硬件兼容性列表

虚拟机块设备

XenServer 以 hd* 设备的形式模拟 IDE 总线。使用 Windows 时,安装 XenServer VM Tools 会安装一个特殊的 I/O 驱动程序,其工作方式与 Linux 类似,但处于完全虚拟化环境中。

CPU 功能

池的 CPU 功能集在虚拟机运行时可能会发生变化,例如,当新主机添加到现有池中,或者当虚拟机迁移到另一个池中的主机时。当池的 CPU 功能集发生变化时,虚拟机将继续使用启动时应用的功能集。要更新虚拟机以使用池的新功能集,必须重新启动虚拟机。

管理虚拟机