管理虚拟机
本节概括介绍使用模板创建虚拟机 (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 不兼容。如果您使用 Citrix Hypervisor 8.2 创建了一个 VM 模板,要在早期版本中使用此模板,请单独导出 VDI 并重新创建 VM。
其他 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 将 VM 移动到位于其他资源池中的 XenServer 主机上。
有关导入和导出 VM 的详细信息和步骤,请参阅导入和导出 VM。
XenServer VM Tools
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(使用实时迁移或 Storage 实时迁移)
-
创建带有内存(检查点)的快照,或还原到快照
有关详细信息,请参阅安装适用于 Windows 的 XenServer VM Tools。
适用于 Linux 的 XenServer VM Tools
适用于 Linux 的 XenServer VM Tools 包含一个来宾代理,负责向主机提供有关 VM 的额外信息。
必须在 Linux VM 上安装适用于 Linux 的 XenServer VM Tools,才能执行以下操作:
-
在 XenCenter 中查看 VM 性能数据
-
在正在运行的 Linux VM 上调整 vCPU 数
-
启用动态内存控制
注意:
您不能在 Red Hat Enterprise Linux 8、Red Hat Enterprise Linux 9、Rocky Linux 8、Rocky Linux 9 或 CentOS Stream 9 VM 上使用动态内存控制 (DMC) 功能,因为这些操作系统不支持 Xen 虚拟机管理程序的内存气球功能。
有关详细信息,请参阅安装适用于 Linux 的 XenServer VM Tools。
了解 VM 的虚拟化状态
XenCenter 会在 VM 的常规选项卡中报告 VM 的虚拟化状态。您可以确定是否安装了 XenServer VM Tools。此选项卡还显示 VM 是否可以安装和接收来自 Windows Update 的更新。以下部分列出了在 XenCenter 中显示的消息:
已优化 I/O(未优化 I/O): 此字段显示是否在 VM 上安装了 I/O 驱动程序。
已安装管理代理(未安装管理代理): 此字段显示是否在 VM 上安装了管理代理。
能够接收来自 Windows Update 的更新(无法接收来自 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 引导和安全引导
XenServer 允许以下来宾操作系统在 UEFI 模式下引导:
- Windows 10
- Windows 11
- Windows Server 2016
- Windows Server 2019
- Windows Server 2022
- Red Hat Enterprise Linux 8
- Red Hat Enterprise Linux 9(预览版)
- Ubuntu 20.04
- Ubuntu 22.04
- Rocky Linux 8
- Rocky Linux 9(预览版)
- SUSE Linux Enterprise 15
- Debian Bookworm 12(预览版)
- Oracle Linux 8
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 没有此限制。
- 您能够以 OVA 、OVF 或 XVA 文件格式导入或导出在 XenServer 上创建的启用了 UEFI 的 VM。不支持从在其他虚拟机管理程序上创建的 OVA 或 OVF 导入启用了 UEFI 的 VM。
- 要将 PVS 加速器用于启用了 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,MODE
为 BIOS
或 uefi
,OPTION
为 true 或 false。如果您未指定模式,则默认为 uefi
(如果您的 VM 操作系统支持该选项)。否则,模式默认设置为 BIOS
。如果您未指定 secureboot
选项,则默认为“auto”。对于启用了 UEFI 的 VM,“自动”行为是为 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 将无法引导。
当您在 VM 控制台上在系统首次提示按任意键启动安装时启动启用了 UEFI 的 VM 时。如果不启动操作系统安装,VM 控制台将切换到 UEFI shell。
要重新启动安装过程,请在 UEFI 控制台中键入以下命令。
EFI:
EFI\BOOT\BOOTX64
安装过程重新启动时,请观察 VM 控制台以获得安装提示。出现提示时,按任意键。
禁用安全引导
您可能希望有时禁用安全引导。例如,无法在处于安全引导用户模式的 VM 上启用某些调试类型。要禁用安全引导,请将 VM 更改为安全引导设置模式。在您的 XenServer 主机上,运行以下命令:
varstore-sb-state <VM_UUID> setup
注册表项
对于 Windows VM:
启用了 UEFI 的 Windows VM 预配了来自临时私钥、Microsoft KEK、Microsoft Windows 生产 PCA 和 Microsoft 第三方密钥的 PK。这些 VM 还会从 UEFI 论坛获得最新的吊销列表。此配置使 Windows VM 能够在打开安全引导的情况下启动,并从 Microsoft 接收密钥和吊销列表的自动更新。
适用于 Linux VM:
要在启用了安全引导的 Linux VM 中安装第三方驱动程序,必须创建签名密钥,将其作为计算机所有者密钥 (MOK) 添加到 VM 中,并使用该密钥对驱动程序进行签名。有关详细信息,请参阅在安全引导 Linux VM 上安装第三方驱动程序。
对 UEFI 和 UEFI 安全引导 VM 进行故障排除
有关对 UEFI 或 UEFI 安全引导 VM 进行故障排除的信息,请参阅对 UEFI 和安全引导问题进行故障排除。
支持的来宾系统与资源分配
有关受支持的来宾操作系统列表,请参阅支持的来宾系统、虚拟内存和磁盘大小限制
本部分内容介绍了 XenServer 产品系列中各产品在虚拟设备支持方面的差异。
XenServer 产品系列虚拟设备支持
XenServer 产品系列的当前版本对 VM 的虚拟设备具有某些常规限制。特定来宾操作系统对某些功能的限制可能更低一些。在各来宾系统的安装部分对这些限制进行了说明。有关配置限制的详细信息,请参阅配置限制。
硬件和环境等因素会影响这些限制。有关受支持硬件的信息,请参阅 XenServer 硬件兼容性列表。
VM 块设备
XenServer 以 hd*
设备的形式模拟 IDE 总线。使用 Windows 时,安装 XenServer VM Tools 也就安装了与在 Linux 环境中的工作方式相似的特殊 I/O 驱动程序(在完全虚拟化的环境中除外)。
CPU 功能
池的 CPU 功能集在 VM 运行过程中会发生变化(例如,将新主机添加到现有池时,或者将 VM 迁移到其他池中的主机时)。当池的 CPU 功能集发生变化时,VM 将继续使用启动时应用的功能集。要更新 VM 以使用池的新功能集,必须重新启动该 VM。