Linux 虚拟机

Last published : Oct 07, 2026
当您想要创建 Linux 虚拟机时,请使用您希望在虚拟机上运行的操作系统的模板来创建虚拟机。您可以使用 XenServer 为您的操作系统提供的模板,也可以使用您之前创建的模板。您可以通过 XenCenter® 或 CLI 创建虚拟机。本节重点介绍如何使用 CLI。
注意:
要创建比 XenServer® 支持安装的 RHEL 版本更新的次要更新虚拟机,请完成以下步骤:
  • 从最新支持的介质安装
  • 使用 yum update 使虚拟机保持最新
此过程也适用于 RHEL 派生版本,例如 CentOS 和 Oracle Linux。
我们建议您在安装操作系统后立即安装 XenServer VM Tools for Linux。有关详细信息,请参阅安装 XenServer VM Tools for Linux。
创建 Linux 虚拟机的概述如下:
  1. 使用 XenCenter 或 CLI 为目标操作系统创建虚拟机。
  2. 使用供应商安装介质安装操作系统。
  3. 安装 XenServer VM Tools for Linux(推荐)。
  4. 在虚拟机和 VNC 上配置正确的时间和时区,就像在正常的非虚拟环境中一样。
XenServer 支持将许多 Linux 发行版作为虚拟机进行安装。
警告:
此 其他安装介质 模板适用于希望尝试安装运行不受支持的操作系统的高级用户。XenServer 仅测试了标准提供的模板所涵盖的受支持分发版和特定版本。使用 其他安装介质 模板安装的任何虚拟机都 不 受支持。
有关特定 Linux 发行版的信息,请参阅Linux 发行版安装说明。

支持的 Linux 发行版

有关支持的 Linux 发行版列表,请参阅来宾操作系统支持。

创建 Linux 虚拟机

本节包含通过从物理 CD/DVD 或网络可访问的 ISO 安装操作系统来创建 Linux 虚拟机的过程。

使用 xe CLI 创建 Linux 虚拟机

本节介绍通过从物理 CD/DVD 或网络可访问的 ISO 安装操作系统来创建 Linux 虚拟机的 CLI 过程。
  1. 从相应的模板创建虚拟机。将返回虚拟机的 UUID:
    xe vm-install template=template-name new-name-label=vm-name
  2. (可选)更改虚拟机的引导模式。
    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>
    mode 的值可以是 BIOS 或 uefi,如果您的虚拟机操作系统支持该选项,则默认为 uefi。否则,模式默认为 BIOS。option 的值可以设置为 true 或 false。如果您未指定安全引导选项,则默认为 auto。
    有关详细信息,请参阅来宾 UEFI 引导和安全引导。
  3. 将虚拟 CD-ROM 添加到新虚拟机:
    • 如果要从 CD 或 DVD 安装,请获取 XenServer 主机上物理 CD 驱动器的名称:
      xe cd-list
      此命令的结果将为 name-label 字段提供类似 SCSI 0:0:0:0 的内容。
      将此值参数用作 cd-name 参数:
      xe vm-cd-add vm=vm_name cd-name="host_cd_drive_name_label" device=3
    • 如果您要从网络可访问的 ISO 进行安装,请使用 ISO 库标签中的 ISO 名称作为 cd-name 参数的值:
      xe vm-cd-add vm=vm_name cd-name="iso_name.iso" device=3
  4. 将操作系统安装 CD 插入 XenServer 主机上的 CD 驱动器。
  5. 使用 XenCenter 或 SSH 终端打开 VM 控制台,然后按照步骤执行操作系统安装。
  6. 启动 VM。它会直接引导到操作系统安装程序中:
    xe vm-start uuid=UUID
  7. 安装来宾实用程序并配置图形显示。有关详细信息,请参阅 安装适用于 Linux 的 XenServer VM Tools。

使用 XenCenter 创建 Linux VM

  1. 在 XenCenter 工具栏上,单击“新建 VM”按钮以打开“新建 VM”向导。
    “新建 VM”向导允许您配置新 VM,调整 CPU、存储和网络资源的各种参数。
  2. 选择一个 VM 模板,然后单击“下一步”。
    每个模板都包含创建具有特定来宾操作系统 (OS) 和最佳存储的 VM 所需的设置信息。此列表反映了 XenServer 当前支持的模板。
    注意:
    如果您要在 VM 上安装的操作系统仅与原始硬件兼容,请选中“将主机 BIOS 字符串复制到 VM”框。例如,您可能将此选项用于随特定计算机一起打包的操作系统安装 CD。
    首次启动 VM 后,您无法更改其 BIOS 字符串。请确保在首次启动 VM 之前 BIOS 字符串正确无误。
    要使用 CLI 复制 BIOS 字符串,请参阅 从经销商选件套件 (BIOS 锁定) 介质安装 VM。
    高级用户可以设置用户定义的 BIOS 字符串。有关更多信息,请参阅用户定义的 BIOS 字符串。
  3. 为新 VM 输入名称和可选描述。
  4. 选择要在新 VM 上安装的操作系统介质的来源。
    从 CD/DVD 安装是入门最简单的选项。
    1. 选择默认安装源选项(DVD 驱动器)
    2. 将磁盘插入 XenServer 主机的 DVD 驱动器中
    XenServer 还允许您从一系列来源(包括预先存在的 ISO 库)提取操作系统安装介质。
    要附加预先存在的 ISO 库,请单击 新建 ISO 库 并指明 ISO 库的位置和类型。然后,您可以从列表中选择特定的操作系统 ISO 介质。
  5. 在 安装介质 选项卡中,您可以为 VM 选择启动模式。默认情况下,XenCenter 会选择适用于 VM 操作系统版本的可用最安全的启动模式。
    注意:
    • 如果您选择的 VM 模板不支持 UEFI 启动,则 UEFI 启动 和 UEFI 安全启动 选项将显示为灰色。
    • 首次启动 VM 后,您无法更改启动模式。 有关更多信息,请参阅来宾 UEFI 启动和安全启动。
  6. 为 VM 选择一个主服务器。
    主服务器是为池中的 VM 提供资源的主机。当您为 VM 指定主服务器时,XenServer 会尝试在该主机上启动 VM。如果此操作不可能,将自动选择同一池中的备用主机。要选择主服务器,请单击 将 VM 放置在此服务器上 并从列表中选择一个主机。
    备注:
    • 在启用 WLB 的池中,指定的宿主机不用于启动、重新启动、恢复或迁移 VM。相反,工作负载平衡通过分析 XenServer 资源池指标并推荐优化措施来为 VM 指定最佳主机。
    • 如果 VM 分配有一个或多个虚拟 GPU,则宿主机指定不起作用。相反,主机指定基于用户设置的虚拟 GPU 放置策略。
    • 在滚动池升级期间,迁移 VM 时不考虑宿主机。相反,VM 将迁移回升级前所在的宿主机。 如果您不想指定宿主机,请单击 不为此 VM 分配宿主机。VM 将在具有所需资源的任何主机上启动。
    单击 下一步 继续。
  7. 为 VM 分配处理器和内存资源。单击 下一步 继续。
  8. 分配虚拟 GPU。
    如果支持 vGPU,新建 VM 向导会提示您为 VM 分配专用 GPU 或一个或多个虚拟 GPU。此选项使 VM 能够使用 GPU 的处理能力。借助此功能,您可以更好地支持高端 3D 专业图形应用程序,例如 CAD/CAM、GIS 和医学成像应用程序。
  9. 为新 VM 分配和配置存储。
    单击 下一步 选择默认分配 (24 GB) 和配置,或者您可能需要执行以下额外配置:
    • 通过单击 编辑 更改虚拟磁盘的名称、描述或大小。
    • 通过选择 添加 添加新的虚拟磁盘。
  10. 在新 VM 上配置网络。
    单击 下一步 选择默认 NIC 和配置,包括为每个 NIC 自动创建的唯一 MAC 地址。或者,您可能需要执行以下额外配置:
    • 通过单击 编辑 更改虚拟磁盘的物理网络、MAC 地址或服务质量 (QoS) 优先级。
    • 通过选择 添加 来添加新的虚拟网卡。
  11. 检查设置,然后单击 立即创建 以创建虚拟机并返回到 搜索 选项卡。
    新虚拟机的图标将显示在 资源 窗格中主机下方。
    在 资源 窗格中,选择虚拟机,然后单击 控制台 选项卡以查看虚拟机控制台。
  12. 按照操作系统安装屏幕进行操作并做出选择。
  13. 操作系统安装完成后,虚拟机重新启动,然后安装适用于 Linux 的 XenServer VM Tools。

使用 PXE 启动创建 Linux 虚拟机

您可以使用 PXE 启动来安装 Linux 虚拟机的操作系统。当您需要创建许多 Linux 虚拟机时,此方法会很有用。
要使用 PXE 启动进行安装,请在 Linux 虚拟机所在的网络中设置以下先决条件:
  • DHCP 服务器,配置为将所有 PXE 启动安装请求定向到 TFTP 服务器
  • TFTP 服务器,用于托管 Linux 操作系统的安装文件
创建 Linux 虚拟机时,运行以下命令:
  1. 从相应的模板创建虚拟机。将返回虚拟机的 UUID:
    xe vm-install template=template-name new-name-label=vm-name
  2. 设置启动顺序,使其从磁盘启动,然后从网络启动:
    xe vm-param-set uuid=<UUID> HVM-boot-params:order=cn
  3. 启动虚拟机以开始 PXE 启动安装:
    xe vm-start uuid=<UUID>
  4. 安装客户机实用程序并配置图形显示。有关详细信息,请参阅 安装适用于 Linux 的 XenServer VM Tools。
有关使用 PXE 引导安装 Linux 操作系统的信息,请参阅操作系统文档:

安装适用于 Linux 的 XenServer VM Tools

尽管所有受支持的 Linux 发行版都原生支持半虚拟化(并且不需要特殊驱动程序即可获得完整性能),但适用于 Linux 的 XenServer VM Tools 提供了客户机代理。此客户机代理向主机提供有关 VM 的额外信息。在每个 Linux VM 上安装客户机代理可获得以下优势:
  • 在 XenCenter 中查看 VM 性能数据。
    例如,仅当安装了 XenServer VM Tools 时,以下内存性能值才会在 XenCenter 中显示:“已用内存”、“磁盘”、“网络”和“地址”。
  • 在 XenCenter 中,查看 Linux 客户机操作系统信息。
  • 在 XenCenter 的“网络”选项卡中,查看 VM 的 IP 地址。
  • 从 XenCenter 启动到 VM 的 SSH 控制台。
  • 调整正在运行的 Linux VM 上的 vCPU 数量。
  • 启用动态内存控制 (DMC)。
    注意:
    某些 Linux 客户机操作系统不支持 Xen® 虚拟机管理程序内存气球技术,因此无法使用动态内存控制 (DMC) 功能。有关此功能适用的客户机操作系统的信息,请参阅 客户机操作系统功能支持。
升级 XenServer 主机时,务必使 Linux 客户机代理保持最新。有关详细信息,请参阅 更新 Linux 内核和客户机实用程序。
注意:
在 SUSE Linux Enterprise Desktop 或 Server 15 客户机上安装客户机代理之前,请确保客户机上已安装 insserv-compat-0.1-2.15.noarch.rpm。
安装适用于 Linux 的 XenServer VM Tools:
  1. 从 XenServer 下载页面 下载适用于 Linux 的 XenServer VM Tools 文件。
  2. 将 LinuxGuestTools-xxx.tar.gz 文件复制到您的 Linux VM 或 Linux VM 可以访问的共享驱动器。
  3. 提取 tar 文件的内容:tar -xzf LinuxGuestTools-xxx.tar.gz
  4. 以 root 用户身份运行安装脚本:
    /<extract-directory>/install.sh
  5. 如果内核已升级,或者 VM 已从以前的版本升级,请立即重新启动 VM。

卸载适用于 Linux 的 XenServer VM Tools

从版本 8.4.0-1 开始,您可以使用 install.sh 脚本卸载适用于 Linux 的 XenServer VM Tools。要卸载这些工具,请以 root 用户身份运行以下命令:
/<extract-directory>/install.sh -u

在您的安全启动 Linux VM 上安装第三方驱动程序

要在启用了 UEFI 安全启动的 Linux 虚拟机中安装第三方驱动程序,您必须创建一个签名密钥,将其作为机器所有者密钥 (MOK) 添加到虚拟机,并使用该密钥对驱动程序进行签名。例如,如果您在 Linux 虚拟机中使用 XenServer 图形功能,则可能需要在虚拟机上安装 NVIDIA 图形驱动程序。
完成以下步骤以创建密钥并使用它来安装第三方驱动程序:
  1. 生成公钥和私钥对。
  2. 在 MOK 中注册公钥。
  3. 将您创建的密钥设置为驱动程序的模块签名密钥。
以下示例详细展示了在启用了安全启动的 Ubuntu 虚拟机上安装 NVIDIA 图形驱动程序的步骤:
  1. 将 NVIDIA 驱动程序下载到您的虚拟机。
  2. 创建一个目录(例如,/root/module-signing)来存放密钥:
    mkdir -p /root/module-signing
  3. 创建用于签名驱动程序的公钥和私钥:
    openssl req -new -x509 -newkey rsa:2048 -keyout /root/module-signing/Nvidia.key -outform DER -out /root/module-signing/Nvidia.der -nodes -days 36500 -subj "/CN=Graphics Drivers"
  4. 使用 mokutil 将公钥导入 MOK:
    mokutil --import /root/module-signing/Nvidia.der
    在此步骤中,系统会要求您创建密码。下次启动时,系统会提示您提供在此处创建的密码。
  5. 确保虚拟机启动目标设置为图形界面:
    systemctl set-default graphical.target
  6. 重新启动虚拟机。
  7. 启动期间,将显示 Perform MOK manageement GUI。
    在此界面中,完成以下步骤:
    1. 选择 Enroll MOK > 继续。
    2. 当询问是否要 Enroll the key(s)? 时,选择 Yes。
    3. 出现提示时,提供您在导入公钥时创建的密码(步骤 4)。
  8. 安装软件包 libglvnd-dev:
    apt install pkg-config libglvnd-dev
  9. 安装 NVIDIA 驱动程序,将您创建的密钥指定为模块签名密钥:
    bash ./NVIDIA-Linux-x86_64-535.129.03-grid.run --module-signing-secret-key=/root/module-signing/Nvidia.key --module-signing-public-key=/root/module-signing/Nvidia.der

Linux 发行版的安装注意事项

本节列出了在创建指定的 Linux 虚拟机之前需要考虑的供应商特定配置信息。
有关所有发行版的更详细发行说明,请参阅 Linux VM Release Notes。

Apt 存储库 (Debian)

对于不频繁或一次性安装,直接使用 Debian 镜像库是合理的。但是,如果您打算进行多次虚拟机安装,我们建议您使用缓存代理或本地镜像库。以下任一工具都可以安装到虚拟机中。
  • Apt-cacher:一个代理服务器实现,用于维护软件包的本地缓存
  • debmirror:一个用于创建 Debian 存储库部分或完整镜像的工具

准备克隆 Linux 虚拟机

通常,在克隆虚拟机或计算机时,除非您对克隆映像进行泛化处理,否则该机器特有的属性会在您的环境中重复。克隆时重复的一些唯一属性包括 IP 地址、SID 或 MAC 地址。
因此,当您克隆 Linux 虚拟机时,XenServer 会自动更改一些虚拟硬件参数。当您使用 XenCenter 复制虚拟机时,XenCenter 会自动为您更改 MAC 地址和 IP 地址。如果这些接口在您的环境中是动态配置的,您可能不需要修改克隆的虚拟机。但是,如果接口是静态配置的,您可能需要修改它们的网络配置。
可能需要自定义虚拟机以使其了解这些更改。有关特定受支持的 Linux 发行版的说明,请参阅Linux VM 发行说明。

计算机名称

克隆的虚拟机是另一台计算机,与网络中的任何新计算机一样,它必须在网络域中具有唯一的名称。

IP 地址

克隆的虚拟机必须在其所属的网络域中具有唯一的 IP 地址。通常,当使用 DHCP 分配地址时,此要求不是问题。当虚拟机启动时,DHCP 服务器会为其分配一个 IP 地址。如果克隆的虚拟机具有静态 IP 地址,则必须在启动之前为克隆分配一个未使用的 IP 地址。

MAC 地址

在克隆之前,我们建议在以下两种情况下禁用 MAC 地址规则:
  1. 在某些 Linux 发行版中,克隆虚拟机的虚拟网络接口的 MAC 地址记录在网络配置文件中。但是,当您克隆虚拟机时,XenCenter 会为新的克隆虚拟机分配一个不同的 MAC 地址。因此,当新虚拟机首次启动时,网络无法识别新虚拟机,并且不会自动启动。
  2. 某些 Linux 发行版使用 udev 规则来记住每个网络接口的 MAC 地址,并为该接口保留一个名称。此行为旨在使相同的物理网卡始终映射到相同的 ethn 接口,这对于可移动网卡(如笔记本电脑)很有用。但是,此行为在虚拟机环境中存在问题。
    例如,考虑以下情况中的行为:
    1.  Configure two virtual NICs when installing a VM
    1.  Shut down the VM
    1.  Remove the first NIC
    当虚拟机重新启动时,XenCenter 只显示一个网卡,但将其称为 eth0。同时,虚拟机故意强制此网卡为 eth1。结果是网络无法工作。
对于使用持久名称的虚拟机,请在克隆之前禁用这些规则。如果您不想关闭持久名称,则必须在虚拟机内部重新配置网络(以通常的方式)。但是,XenCenter 中显示的信息与您网络中实际的地址不匹配。

更新 Linux 内核和客户机实用程序

可以通过重新运行 XenServer VM Tools for Linux 中的 install.sh 脚本来更新 Linux 客户机实用程序(请参阅安装 XenServer VM Tools for Linux)。
对于启用 yum 的发行版(CentOS 和 RHEL),xe-guest-utilities 会安装一个 yum 配置文件,以便后续更新可以使用 yum 以标准方式进行。
对于 Debian,/etc/apt/sources.list 会被填充,以便默认使用 apt 进行更新。
升级时,我们建议您始终重新运行 install.sh。此脚本会自动确定您的虚拟机是否需要任何更新,并在必要时进行安装。

Linux 虚拟机的多页支持

多页支持可用于提高存储性能。
要在 Linux 虚拟机上启用多页支持,请完成以下步骤:
  1. 首先,验证您的内核是否支持 max_ring_page_order 参数。
    运行以下命令:modinfo xen_blkfront | grep max_ring_page_order
    如果此命令返回空响应,则您的内核不支持此功能。请勿继续执行这些步骤。
  2. 创建您的虚拟机快照。
  3. 在虚拟机上,运行以下命令:echo 'options xen_blkfront max_ring_page_order=3' >/etc/modprobe.d/xen_blkfront.conf
  4. 根据您的 Linux 发行版,运行以下命令之一:
    • 对于 RHEL、CentOS 或 Oracle 企业版 Linux:dracut -f -v
    • 对于基于 Debian 的发行版:update-initramfs -u -k all
  5. 重新启动您的虚拟机。

Linux VM 发行说明

大多数现代 Linux 发行版直接支持 Xen 半虚拟化,但具有不同的安装机制和一些内核限制。

RHEL 图形安装支持

要使用图形安装程序,请在 XenCenter 中逐步完成新建 VM 向导。在安装介质页面上的高级操作系统引导参数部分中,将 vnc 添加到参数列表:
graphical utf8 vnc
系统会提示您为新 VM 提供网络配置,以启用 VNC 通信。完成新建 VM 向导的其余部分。向导完成后,在基础结构视图中,选择 VM,然后单击控制台以查看 VM 的控制台会话。此时,它使用标准安装程序。VM 安装最初以文本模式启动,并可能请求网络配置。提供后,切换到图形控制台按钮将显示在 XenCenter 窗口的右上角。

SUSE Linux 企业版 12

准备用于克隆的 SLES 客户机

注意:
在准备用于克隆的 SLES 客户机之前,请确保按如下方式清除网络设备的 udev 配置:
cat< /dev/null > /etc/udev/rules.d/30-net_persistent_names.rules
要准备用于克隆的 SLES 客户机,请执行以下操作:
  1. 打开文件 /etc/sysconfig/network/config
  2. 编辑以下行:
    FORCE_PERSISTENT_NAMES=yes
    更改为
    FORCE_PERSISTENT_NAMES=no
  3. 保存更改并重新启动 VM。 有关详细信息,请参阅准备克隆 Linux VM。

Ubuntu 24.04 版本

  • Ubuntu 22.04 上的硬件启用 (HWE) 内核不受支持。
  • 由于 Ubuntu 24.04 上 Mesa 驱动程序的一个已知问题,在默认启用 Wayland 协议的 AMD 平台主机上安装 Ubuntu 24.04(桌面版)虚拟机后,您可能会遇到重复的重新登录提示。
    要解决此问题,您可以禁用 Wayland 或切换到 lightdm 作为默认显示管理器。
    • 禁用 Wayland。
      打开命令提示符并运行以下命令:
      sudo nano /etc/gdm3/custom.conf
      设置以下值以禁用 Wayland:
      WaylandEnable=false
      重启虚拟机以完成此过程。
    • 切换到 lightdm。
      安装 lightdm:
      sudo apt install lightdm
      将其设置为默认显示管理器:
      sudo dpkg-reconfigure lightdm
      重启虚拟机以完成此过程。