管理虚拟机
本节概述了如何使用模板创建虚拟机 (VM)。它还解释了其他准备方法,包括克隆模板和导入以前导出的 VM。
什么是虚拟机?
虚拟机 (VM) 是一种软件计算机,与物理计算机一样,它运行操作系统和应用程序。VM 由一组规范和配置文件组成,这些文件由主机的物理资源支持。每个 VM 都具有提供与物理硬件相同功能的虚拟设备。VM 可以提供更便携、更易管理和更安全的优势。此外,您可以根据特定要求调整每个 VM 的启动行为。有关详细信息,请参阅 VM 启动行为。
XenServer® 支持配置了 IPv4 或 IPv6 地址任意组合的来宾。
在 XenServer 中,VM 可以在完全虚拟化模式下运行。特定的处理器功能用于“捕获”虚拟机执行的特权指令。此功能使您能够使用未经修改的操作系统。对于网络和存储访问,模拟设备会呈现给虚拟机。或者,出于性能和可靠性原因,可以使用 PV 驱动程序。
创建 VM
使用 VM 模板
VM 是根据模板准备的。模板是包含创建特定 VM 实例所需的所有各种配置设置的 黄金映像。XenServer 附带一组基本模板,这些模板是 原始 VM,您可以在其上安装操作系统。不同的操作系统需要不同的设置才能发挥最佳性能。XenServer 模板经过调整以最大限度地提高操作系统性能。
您可以通过两种基本方法从模板创建 VM:
-
使用完整的预配置模板。
-
将操作系统从 CD、ISO 映像或网络存储库安装到提供的相应模板上。
Windows VM 介绍了如何将 Windows 操作系统安装到 VM 上。
Linux VM 介绍了如何将 Linux 操作系统安装到 VM 上。
注意:
旧版 XenServer 创建的模板可以在新版 XenServer 中使用。但是,在新版 XenServer 中创建的模板与旧版 XenServer 不兼容。
虚拟机创建的其他方法
除了从提供的模板创建虚拟机之外,您还可以使用以下方法创建虚拟机。
克隆现有虚拟机
您可以通过从模板克隆来创建现有虚拟机的副本。模板是普通的虚拟机,旨在用作原始副本以从中创建虚拟机实例。虚拟机可以自定义并转换为模板。确保您遵循了适用于该虚拟机的相应准备过程。有关详细信息,请参阅使用 Sysprep 准备克隆 Windows 虚拟机和准备克隆 Linux 虚拟机。
注意:
模板不能用作普通虚拟机。
XenServer 具有两种克隆虚拟机的机制:
-
完全复制
-
写时复制
更快的写时复制模式仅将修改过的块写入磁盘。写时复制旨在节省磁盘空间并允许快速克隆,但会略微降低正常磁盘性能。模板可以多次快速克隆而不会降低速度。
注意:
如果您将模板克隆到虚拟机中,然后将该克隆转换为模板,则磁盘性能可能会下降。性能下降的程度与此过程发生的次数呈线性关系。在这种情况下,可以使用
vm-copyCLI 命令执行磁盘的完全复制并恢复预期的磁盘性能水平。
资源池注意事项
如果您从共享 SR 上的虚拟机虚拟磁盘创建模板,则模板克隆操作将转发到池中可以访问共享 SR 的任何主机。但是,如果您从仅具有本地 SR 的虚拟机虚拟磁盘创建模板,则模板克隆操作只能在该 SR 可访问的主机上运行。
导入导出的虚拟机
您可以通过导入现有的已导出虚拟机来创建虚拟机。与克隆类似,导出和导入虚拟机是快速创建具有特定配置的更多虚拟机的方法。使用此方法可以提高部署速度。例如,您可能有一个多次使用的专用主机配置。在按要求设置好虚拟机后,将其导出并稍后导入,以创建另一个特殊配置的虚拟机副本。您还可以使用导出和导入功能将虚拟机移动到另一个资源池中的 XenServer 主机。
有关导入和导出虚拟机的详细信息和步骤,请参阅导入和导出虚拟机。
XenServer 虚拟机工具
XenServer 虚拟机工具提供高性能 I/O 服务,且没有传统设备仿真的开销。
适用于 Windows 的 XenServer 虚拟机工具
适用于 Windows 的 XenServer 虚拟机工具包含 I/O 驱动程序(也称为半虚拟化驱动程序或 PV 驱动程序)和管理代理。
I/O 驱动程序包含存储和网络驱动程序以及低级管理接口。这些驱动程序取代了仿真设备,并在 Windows 和 XenServer 产品系列软件之间提供高速传输。在安装 Windows 操作系统时,XenServer 使用传统设备仿真向虚拟机呈现标准 IDE 控制器和标准网卡。此仿真允许 Windows 安装使用内置驱动程序,但由于仿真控制器驱动程序固有的开销,性能会降低。
管理代理(也称为客户机代理)负责高级虚拟机管理功能,并为 XenCenter 提供全套功能。
在每个 Windows 虚拟机上安装适用于 Windows 的 XenServer 虚拟机工具,以便该虚拟机具有完全受支持的配置,并能够使用 xe CLI 或 XenCenter。虚拟机在没有适用于 Windows 的 XenServer 虚拟机工具的情况下也能运行,但如果未安装 I/O 驱动程序(PV 驱动程序),性能会受到影响。您必须在 Windows 虚拟机上安装适用于 Windows 的 XenServer 虚拟机工具才能执行以下操作:
-
正常关闭、重新启动或暂停虚拟机
-
在 XenCenter 中查看虚拟机性能数据
-
迁移正在运行的虚拟机(使用实时迁移或存储实时迁移)
-
创建带内存的快照(检查点)或还原到快照
-
多页支持(自动启用)
有关更多信息,请参阅 安装适用于 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 下载页面 上提供的 XenServer VM Tools for Windows 安装程序。
安装 I/O 驱动程序和管理代理:当 VM 未安装 I/O 驱动程序或管理代理时,会显示此消息。
来宾 UEFI 启动和安全启动
有关哪些来宾操作系统可以启动到 UEFI 模式的详细信息,请参阅 (/zh-cn/xenserver/9/system-requirements/guest-os-support.html#feature-support)。
UEFI 启动为来宾操作系统提供了更丰富的接口来与硬件交互,这可以显著缩短 VM 启动时间。如果 XenServer 支持您的来宾操作系统的 UEFI 启动,我们建议您选择此启动模式而不是 BIOS。
对于这些操作系统,XenServer 还支持安全启动。安全启动可防止未签名、签名不正确或已修改的二进制文件在启动期间运行。在强制执行安全启动的 UEFI 虚拟机上,所有驱动程序都必须经过签名。此要求可能会限制 VM 的使用范围,但提供了阻止未签名/已修改驱动程序的安全性。如果您使用未签名的驱动程序,安全启动将失败,并且 XenCenter 中会显示警报。安全启动还降低了来宾中的恶意软件在启动过程中操纵启动文件或运行的风险。
创建 VM 时必须指定启动模式。VM 首次启动后,无法在 BIOS 和 UEFI(或 UEFI 安全启动)之间更改 VM 的启动模式。但是,在 VM 用于排查潜在的安全启动问题后,您可以在 UEFI 和 UEFI 安全启动之间更改启动模式。有关详细信息,请参阅 (/zh-cn/xenserver/9/vms/troubleshoot.html#is-secure-boot-causing-an-issue-on-my-vm)。
在 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 控制台的屏幕分辨率。有关详细说明,请参阅 (/zh-cn/xenserver/9/vms/troubleshoot.html#how-do-i-change-the-screen-resolution-of-the-xencenter-console-on-a-uefi-enabled-vm)。
注意
启用了 UEFI 的 VM 使用 NVME 和 E1000 作为模拟设备。在 VM 上安装 XenServer VM Tools for Windows 之前,仿真信息不会显示这些值。 在安装 XenServer VM Tools for Windows 之前,启用了 UEFI 的 VM 也只显示为具有 2 个 NIC。
启用 UEFI 引导或 UEFI 安全引导
您可以使用 XenCenter 或 xe CLI 为您的虚拟机启用 UEFI 引导或 UEFI 安全引导。
有关在 XenCenter 中创建启用 UEFI 的虚拟机的信息,请参阅使用 XenCenter 创建 Windows 虚拟机 或使用 XenCenter 创建 Linux 虚拟机。
使用 xe CLI 启用 UEFI 引导或 UEFI 安全引导
创建虚拟机时,请在首次引导虚拟机之前运行以下命令:
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 是虚拟机的 UUID,MODE 是 BIOS 或 uefi,且 OPTION 是 ‘true’ 或 ‘false’。如果您未指定模式,则在您的虚拟机操作系统支持该选项的情况下,它默认为 uefi。否则,模式默认为 BIOS。如果您未指定 secureboot 选项,它默认为 ‘auto’。对于启用 UEFI 的虚拟机,’auto’ 行为是为虚拟机启用 Secure Boot。
要从 XenServer 提供的模板创建启用 UEFI 的虚拟机,请运行以下命令:
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-->
请勿对已安装某些内容的模板或从快照创建的模板运行此命令。这些快照的引导模式无法更改,如果您尝试更改引导模式,虚拟机将无法引导。
首次引导启用 UEFI 的虚拟机时,系统会在虚拟机控制台上提示您按任意键开始安装。如果您未开始操作系统安装,虚拟机控制台将切换到 UEFI shell。
要在 UEFI 控制台中重新启动安装过程,请键入以下命令。
EFI:
EFI\BOOT\BOOTX64
安装过程重新启动时,请在虚拟机控制台上观察安装提示。当提示出现时,按任意键。
禁用安全引导
您可能偶尔需要禁用安全引导。例如,某些类型的调试无法在处于安全引导用户模式的虚拟机上启用。要禁用安全引导,您可以使用以下命令:
xe vm-param-set uuid=<VM_UUID> platform:secureboot=false
可以使用以下命令重新启用:
xe vm-param-set uuid=<VM_UUID> platform:secureboot=true
密钥
对于 Windows 虚拟机:
已启用 UEFI 的 Windows 虚拟机通过临时私钥、Microsoft KEK、Microsoft Windows Production PCA 和 Microsoft 第三方密钥预配 PK。虚拟机还提供了来自 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 创建方法的文档。
如果您有现有的 UEFI 或 UEFI 安全启动 VM,并且想要为其添加 vTPM,则可以使用 XenCenter 或 xe CLI 来完成。
使用 XenCenter
- 关闭 VM。
- 将 vTPM 添加到 VM。
- 右键单击 VM 并选择 管理 vTPM。或者,在主菜单栏上,转到 VM > 管理 vTPM。将打开 TPM 管理器 对话框。
- 在 TPM 管理器 对话框中,添加 vTPM。
- 要验证 VM 是否具有链接的 vTPM,请选择 VM 并转到其 常规 选项卡,然后在 设备安全 部分中查找。
- 启动 VM。
使用 xe CLI
-
关闭虚拟机:
xe vm-shutdown uuid=<vm_uuid> <!--NeedCopy--> -
创建 vTPM 并将其附加到虚拟机:
xe vtpm-create vm-uuid=<vm_uuid> <!--NeedCopy--> -
启动虚拟机:
xe vm-start uuid=<vm_uuid> <!--NeedCopy-->
支持的客户机和资源分配
有关支持的客户机操作系统列表,请参阅支持的客户机、虚拟内存和磁盘大小限制
本节介绍 XenServer 产品系列成员在虚拟设备支持方面的差异。
XenServer 产品系列虚拟设备支持
当前版本的 XenServer 产品系列对虚拟机的虚拟设备有一些通用限制。特定的客户机操作系统可能对某些功能有较低的限制。各个客户机安装部分会注明这些限制。有关配置限制的详细信息,请参阅配置限制。
硬件和环境等因素可能会影响这些限制。有关支持的硬件信息,请参阅 XenServer 硬件兼容性列表。
虚拟机块设备
XenServer 以 hd* 设备的形式模拟 IDE 总线。使用 Windows 时,安装 XenServer VM Tools 会安装一个特殊的 I/O 驱动程序,其工作方式与 Linux 类似,但处于完全虚拟化的环境中。
CPU 功能
池的 CPU 功能集在虚拟机运行时可能会发生变化,例如,当新主机添加到现有池中,或者当虚拟机迁移到另一个池中的主机时。当池的 CPU 功能集发生变化时,虚拟机将继续使用其启动时应用的功能集。要更新虚拟机以使用池的新功能集,您必须重新启动虚拟机。