Citrix Hypervisor

Linux VM

创建 Linux VM 时,请使用与要用来运行 VM 的操作系统对应的模板创建 VM。可以使用 Citrix Hypervisor 为您的操作系统提供的模板,也可以使用之前您自己创建的模板。可以从 XenCenter 或 CLI 中创建 VM。本节重点介绍如何使用 CLI。

注意:

要创建 RHEL 版本的次要更新版本高于 Citrix Hypervisor 支持安装的版本的 VM,请完成以下步骤:

  • 从支持的最新介质安装
  • 使用 yum update 使 VM 保持最新

此过程也适用于 RHEL 衍生产品,例如 CentOS 和 Oracle Linux。

我们建议您在安装操作系统之后立即安装适用于 Linux 的 Citrix VM Tools。有关详细信息,请参阅安装适用于 Linux 的 Citrix VM Tools

下面将概括介绍 Linux VM 的创建过程:

  1. 使用 XenCenter 或 CLI 为目标操作系统创建 VM。

  2. 使用供应商的安装介质安装操作系统。

  3. 安装适用于 Linux 的 Citrix VM Tools(推荐)。

  4. 按照在常规非虚拟环境中的配置方式,在 VM 和 VNC 上配置正确的时间和时区。

Citrix Hypervisor 支持将多个 Linux 版本安装为 VM。

警告:

其他安装介质模板面向高级用户,这些用户可能会尝试安装运行不受支持的操作系统的 VM。Citrix Hypervisor 已经过测试,只能运行提供的标准模板所涵盖的受支持发行版本和特定版本。使用其他安装介质模板安装的任何 VM 均受支持。

有关特定 Linux 发行版的信息,请参阅适用于 Linux 发行版的安装说明

支持的 Linux 发行版

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

其他 Linux 发行版受支持。但是,与 Red Hat Enterprise Linux 使用相同安装机制的版本(例如 Fedora Core)可以使用同一模板成功安装。

创建 Linux VM

本部分内容包括通过从物理 CD/DVD 或从支持网络访问的 ISO 安装操作系统来创建 Linux VM 的过程。

使用 xe CLI 创建 Linux VM

本节说明通过从物理 CD/DVD 或从支持网络访问的 ISO 安装操作系统来创建 Linux VM 的 CLI 过程。

  1. 从相应的模板创建 VM。系统会返回该 VM 的 UUID:

    xe vm-install template=template-name new-name-label=vm-name
    <!--NeedCopy-->
    
  2. 将虚拟 CD-ROM 添加到新 VM:

    • 如果从 CD 或 DVD 安装,请获取 Citrix Hypervisor 服务器上的物理 CD 驱动器的名称:

       xe cd-list
       <!--NeedCopy-->
      

      在此命令为您提供的结果中,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
       <!--NeedCopy-->
      
    • 如果要从支持网络访问的 ISO 进行安装,请使用 ISO 库标签中的 ISO 名称作为 cd-name 参数的值:

       xe vm-cd-add vm=vm_name cd-name="iso_name.iso" device=3
       <!--NeedCopy-->
      
  3. 将操作系统安装 CD 插入到 Citrix Hypervisor 服务器上的 CD 驱动器。

  4. 使用 XenCenter 或 SSH 终端打开 VM 控制台,然后按照相关步骤执行操作系统安装。

  5. 启动 VM。它直接引导到操作系统安装程序:

    xe vm-start uuid=UUID
    <!--NeedCopy-->
    
  6. 安装来宾实用程序,并配置图形显示。有关详细信息,请参阅安装适用于 Linux 的 Citrix VM Tools

使用 XenCenter 创建 Linux VM

  1. 在 XenCenter 工具栏上,单击新建 VM 按钮以打开“新建 VM”向导。

    通过“新建 VM”向导,可以配置新 VM,调整 CPU、存储和网络连接资源的各种参数。

  2. 选择 VM 模板并单击下一步

    每个模板都包含创建具有特定来宾操作系统和最佳存储的 VM 所需的设置信息。此列表反映了 Citrix Hypervisor 当前支持的模板。

    注意:

    如果要在 VM 上安装的操作系统仅与原始硬件兼容,请选中将主机 BIOS 字符串复制到 VM 框。例如,对于与特定计算机打包在一起的操作系统安装 CD,可能要使用此选项。

    先启动 VM 后,便无法更改其 BIOS 设置。在首次启动 VM 之前,请确保 BIOS 设置正确无误。

    要使用 CLI 复制 BIOS 字符串,请参阅从经销商可选套件(锁定了 BIOS)介质安装 HVM VM。用于设置用户定义的 BIOS 字符串的选项不适用于 HVM VM。

  3. 为新 VM 输入名称及可选说明。

  4. 为将安装在新 VM 上的操作系统选择安装源。

    通过 CD/DVD 安装是最简单的入门方法。

    1. 选择默认安装来源选项(DVD 驱动器)
    2. 将磁盘插入 Citrix Hypervisor 服务器的 DVD 驱动器中

    Citrix Hypervisor 还允许您从多种来源提取操作系统安装介质,包括预先存在的 ISO 库。

    要附加预先存在的 ISO 库,请单击新建 ISO 库并指定 ISO 库的位置和类型。然后可以从列表中选择特定的操作系统 ISO 介质。

  5. 为 VM 选择主服务器。

    主服务器是为池中的 VM 提供资源的服务器。为 VM 指定主服务器后,Citrix Hypervisor 将尝试在该服务器上启动 VM。如果此操作不可行,将自动选择同一池中的备用服务器。要选择主服务器,请单击将 VM 置于此服务器上,然后从列表中选择服务器。

    备注:

    • 在启用了 WLB 的池中,指定的主服务器不用于启动、重新启动、恢复或迁移 VM。而是由 Workload Balancing 分析 Citrix Hypervisor 资源池指标并提供优化建议,从而为 VM 指定最佳服务器。
    • 如果为 VM 分配了一个或多个虚拟 GPU,主服务器指定将无效。相反,服务器指定将取决于用户设置的虚拟 GPU 放置策略。
    • 在滚动池升级期间,迁移 VM 时不考虑主服务器。而是将 VM 迁移回升级前所在的服务器。 如果不希望指定主服务器,请单击不为此 VM 分配主服务器。VM 将在具有必备资源的任意服务器上启动。

    单击下一步继续操作。

  6. 为 VM 分配处理器和内存资源。单击下一步继续操作。

  7. 分配虚拟 GPU。

    如果支持 vGPU,“新建 VM”向导会提示您将专用 GPU 或者一个或多个虚拟 GPU 分配给 VM。此选项使 VM 能够使用 GPU 的处理能力。借助此功能,可为 CAD/CAM、GIS 和医学成像应用程序等高端三维专业图形应用程序提供更好的支持。

  8. 为新 VM 分配和配置存储。

    单击下一步选择默认分配 (24 GB) 和配置,或者您可能需要进行以下额外配置:

    • 通过单击编辑更改虚拟磁盘的名称、说明或大小。
    • 选择添加以添加一个新虚拟磁盘。
  9. 配置新 VM 的网络连接设置。

    单击下一步选择默认 NIC 和配置,包括为每个 NIC 自动创建的唯一 MAC 地址。或者,您可能想要进行以下额外配置:

    • 通过单击编辑更改虚拟磁盘的物理网络、MAC 地址或服务质量 (QoS) 优先级。
    • 选择添加以添加一个新虚拟 NIC。
  10. 检查设置,然后单击立即创建以创建新 VM 并返回到搜索选项卡。

    新 VM 的图标将显示在资源窗格中的主机下。

    资源窗格中,选择 VM,然后单击控制台选项卡以查看 VM 控制台。

  11. 按照操作系统安装屏幕上的说明操作并进行选择。

  12. 操作系统安装完成并重新启动 VM 后,安装适用于 Linux 的 Citrix VM Tools。

使用 PXE 引导创建 Linux VM

可以使用 PXE 引导安装 Linux VM 的操作系统。必须创建许多 Linux VM 时,此方法非常有用。

要使用 PXE 引导进行安装,请在 Linux VM 所在的网络中设置以下必备条件:

  • 配置为将任何 PXE 引导安装请求定向到 TFTP 服务器的 DHCP 服务器
  • 托管 Linux 操作系统的安装文件的 TFTP 服务器

创建 Linux VM 时,请运行以下命令:

  1. 从相应的模板创建 VM。系统会返回该 VM 的 UUID:

    xe vm-install template=template-name new-name-label=vm-name
    <!--NeedCopy-->
    
  2. 将引导顺序设置为从磁盘引导,然后从网络引导:

    xe vm-param-set uuid=<UUID> HVM-boot-params:order=cn
    <!--NeedCopy-->
    
  3. 启动 VM 以开始执行 PXE 引导安装:

    xe vm-start uuid=<UUID>
    <!--NeedCopy-->
    
  4. 安装来宾实用程序,并配置图形显示。有关详细信息,请参阅安装适用于 Linux 的 Citrix VM Tools

有关使用 PXE 引导安装 Linux 操作系统的详细信息,请参阅操作系统文档:

安装适用于 Linux 的 Citrix VM Tools

虽然受支持的所有 Linux 发行版都是本机半虚拟化的(并且不需要特殊驱动程序即可实现最佳性能),但是适用于 Linux 的 Citrix VM Tools 仍提供来宾代理。此来宾代理向主机提供有关 VM 的额外信息。在每个 Linux VM 上安装来宾代理以便从以下功能中受益:

  • 在 XenCenter 中查看 VM 性能数据。

    例如,仅当安装了 XenServer VM Tools 时,以下内存性能值在 XenCenter 中才可见:“已用内存”、“磁盘”、“网络”和“地址”。

  • 在 XenCenter 中,查看 Linux 来宾操作系统信息。

  • 在 XenCenter 的网络连接选项卡中,查看 VM 的 IP 地址。

  • 在 XenCenter 中对 VM 启动 SSH 控制台。

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

  • 启用动态内存控制 (DMC)。

    注意:

    您不能在 Red Hat Enterprise Linux 8、Red Hat Enterprise Linux 9、Rocky Linux 8、Rocky Linux 9 或 CentOS Stream 9 VM 上使用动态内存控制 (DMC) 功能,因为这些操作系统不支持 Xen 虚拟机管理程序的内存气球功能。

升级 Citrix Hypervisor 服务器时务必使 Linux 来宾代理保持最新。有关详细信息,请参阅更新 Linux 内核和来宾实用程序

注意:

在 SUSE Linux Enterprise Desktop 或 Server 15 来宾上安装来宾代理之前,请务必在来宾上安装 insserv-compat-0.1-2.15.noarch.rpm

要安装适用于 Linux 的 Citrix VM Tools,请执行以下操作:

  1. Citrix Hypervisor 下载页面下载适用于 Linux 的 Citrix 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
    <!--NeedCopy-->
    
  5. 如果内核已升级,或者 VM 已先以前版本进行升级,请立即重新启动 VM。

Linux 发行版安装说明

本节列出了在创建指定的 Linux VM 之前要考虑的供应商特定的配置信息。

有关所有发行版的更多详细发行说明,请参阅 Linux VM 发行说明

Red Hat Enterprise Linux* 7(32/64 位)

适用于这些来宾系统的新模板指定 2 GB RAM。此 RAM 大小是成功安装 v7.4 及更高版本的一个要求。对于 v7.0 - v7.3,该模板指定 2 GB RAM,但与早期版本的 Citrix Hypervisor 一样,1 GB RAM 已足够。

注意:

此信息适用于 Red Hat 和 Red Hat 衍生产品。

Apt 存储库 (Debian)

对于不经常进行或一次性的安装来说,建议直接使用 Debian 镜像。但是,如果您计划进行多次 VM 安装,我们建议您使用缓存代理服务器或本地镜像。以下任一工具都可以安装到 VM 中。

  • Apt-cacher:保留本地软件包缓存的代理服务器的实现
  • debmirror:用于创建 Debian 存储库的部分或完整镜像的工具

准备克隆 Linux VM

通常情况下,克隆 VM 或计算机时,除非要使克隆的映像通用化,否则,将会在您的环境中复制该计算机特有的属性。克隆时复制的其中一些特有属性为 IP 地址、SID 或 MAC 地址。

因此,克隆 Linux VM 时,Citrix Hypervisor 会自动更改某些虚拟硬件参数。如果使用 XenCenter 复制 VM,XenCenter 会自动为您更改 MAC 地址和 IP 地址。如果这些接口是在您的环境中动态配置的,可能不需要修改克隆的 VM。但是,如果这些接口是静态配置的,可能需要修改其网络配置。

可能需要自定义 VM 以识别这些更改。有关受支持的特定 Linux 发行版的说明,请参阅 Linux VM 发行说明

计算机名称

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

IP 地址

克隆的 VM 必须在所属网络域中具有唯一的 IP 地址。通常情况下,使用 DHCP 分配地址时,此要求不是问题。当 VM 引导时,DHCP 服务器将为其分配一个 IP 地址。如果克隆的 VM 具有静态 IP 地址,必须在克隆的 VM 引导前为其指定一个未使用的 IP 地址。

MAC 地址

在两种情况下,我们会建议在克隆之前禁用 MAC 地址规则:

  1. 在某些 Linux 版本中,克隆 VM 的虚拟网络接口的 MAC 地址记录在网络配置文件中。但是,克隆 VM 时,XenCenter 会为新克隆的 VM 分配一个不同的 MAC 地址。因此,首次启动新 VM 时,网络会识别新 VM,但不会自动显示出来。

  2. 某些 Linux 版本使用 udev 规则记住每个网络接口的 MAC 地址,并为该接口保留名称。此行为的目的是使同一物理 NIC 始终映射到同一 ethn 接口,这对可移动 NIC(如便捷式计算机)很有用。但是,此行为在 VM 环境中存在问题。

    例如,假设在以下情况下存在此行为:

    1.  Configure two virtual NICs when installing a VM
    1.  Shut down the VM
    1.  Remove the first NIC
    

    VM 重新启动时,XenCenter 仅显示一个 NIC,但其称为 eth0。同时,VM 会特意强制此 NIC 为 eth1。结果导致网络连接无法工作。

对于使用静态名称的 VM,应在克隆之前禁用这些规则。如果您不希望禁用静态名称,则必须在 VM 中重新配置网络连接(按常规方法进行操作)。但是,XenCenter 中显示的信息将与网络中的实际地址不符。

更新 Linux 内核和来宾实用程序

可以通过重新运行适用于 Linux 的 Citrix VM Tools 中的 install.sh 脚本来更新 Linux 来宾实用程序(请参阅安装适用于 Linux 的 Citrix VM Tools)。

对于启用了 yum 的发行版(CentOS 和 RHEL),xe-guest-utilities 会安装 yum 配置文件,以便能够以标准方式使用 yum 进行后续更新。

对于 Debian,会填充 /etc/apt/sources.list 以便能够在默认情况下使用 apt 更新。

升级时,我们建议始终重新运行 install.sh。此脚本可自动确定 VM 是否需要更新,并在需要时安装更新。

从 PV 升级到 HVM 来宾

Citrix Hypervisor 8.2 不支持 PV 模式的来宾。在将服务器升级到 Citrix Hypervisor 8.2 之前,请按照以下步骤将您的现有 PV Linux 来宾升级到支持的版本。

  1. 将来宾操作系统升级到 Citrix Hypervisor 支持的版本。请使用该 Linux 发行版提供的机制执行升级。

    完成此步骤后,升级后的来宾仍处于 PV 模式,该模式不受支持且存在已知问题。

  2. 请使用 pv2hvm 脚本将新升级的来宾系统转换为受支持的 HVM 模式。

    在 Citrix Hypervisor 服务器上,打开本地 shell,以 root 用户身份登录,然后输入以下命令:

    /opt/xensource/bin/pv2hvm vm_name
    <!--NeedCopy-->
    

    /opt/xensource/bin/pv2hvm vm_uuid
    <!--NeedCopy-->
    
  3. 重新启动 VM 以完成此过程。

Linux VM 发行说明

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

RHEL 图形安装支持

要使用图形安装程序,请在 XenCenter 中逐步完成新建 VM 向导。在安装介质页面的高级操作系统启动参数部分中,向列出的参数中添加 vnc

graphical utf8 vnc
<!--NeedCopy-->

“新建 VM”向导的屏幕截图。在“Installation Media”(安装介质)页面上,在“Advanced OS Boot Parameters”(高级操作系统引导参数)字段中输入值 `graphical utf8 vnc`。

系统将提示您为新 VM 提供网络连接配置,以便能够实现 VNC 通信。依次完成“新建 VM”向导的剩余部分。完成向导后,在基础结构视图中选择 VM,然后单击控制台以查看 VM 的控制台会话。此时,将使用标准安装程序。VM 安装最初在文本模式下启动,并且可能要求提供网络配置。提供后,XenCenter 窗口右上角将显示切换到图形控制台按钮。

Red Hat Enterprise Linux 7

迁移或挂起 VM 后,在恢复期间,RHEL 7 来宾系统可能会冻结。有关详细信息,请参阅 Red Hat 问题 1141249

Red Hat Enterprise Linux 8

您不能在 Red Hat Enterprise Linux 8、Red Hat Enterprise Linux 9、Rocky Linux 8、Rocky Linux 9 或 CentOS Stream 9 VM 上使用动态内存控制 (DMC) 功能,因为这些操作系统不支持 Xen 虚拟机管理程序的内存气球功能。

Red Hat Enterprise Linux 9

您不能在 Red Hat Enterprise Linux 8、Red Hat Enterprise Linux 9、Rocky Linux 8、Rocky Linux 9 或 CentOS Stream 9 VM 上使用动态内存控制 (DMC) 功能,因为这些操作系统不支持 Xen 虚拟机管理程序的内存气球功能。

CentOS 7

有关 CentOS 7 发行说明列表,请参阅 Red Hat Enterprise Linux 7

CentOS Stream 9

如果您尝试使用 XenCenter 或 xe CLI 关闭 CentOS Stream 9 VM,关闭过程将暂停并在 1200 秒后超时。此行为是由 kernel-5.14.0-362.el9 中的一个内核问题导致的。

可以使用以下解决方法:

  • 要解决该问题的单个实例,您可以从来宾操作系统内部关闭 VM。

  • 为防止您的 VM 出现问题,请通过在 VM 中运行以下命令将您的 VM 降级为使用 kernel-5.14.0-354.el9:

     # yum install kernel-5.14.0-354.el9
     # grubby --set-default /boot/vmlinuz-5.14.0-354.el9.x86_64
    

您不能在 Red Hat Enterprise Linux 8、Red Hat Enterprise Linux 9、Rocky Linux 8、Rocky Linux 9 或 CentOS Stream 9 VM 上使用动态内存控制 (DMC) 功能,因为这些操作系统不支持 Xen 虚拟机管理程序的内存气球功能。

Rocky 9 和 CentOS Stream 9 VM 要求主机的 CPU 与 x86-64-v2 指令集或更高版本兼容。有关详细信息,请参阅 https://access.redhat.com/solutions/6833751

Oracle Linux 7

有关 Oracle Linux 7 发行说明列表,请参阅 Red Hat Enterprise Linux 7

Scientific Linux 7

有关 Scientific Linux 7 发行说明列表,请参阅 Red Hat Enterprise Linux 7

Rocky Linux 9

您不能在 Red Hat Enterprise Linux 8、Red Hat Enterprise Linux 9、Rocky Linux 8、Rocky Linux 9 或 CentOS Stream 9 VM 上使用动态内存控制 (DMC) 功能,因为这些操作系统不支持 Xen 虚拟机管理程序的内存气球功能。

Rocky 9 和 CentOS Stream 9 VM 要求主机的 CPU 与 x86-64-v2 指令集或更高版本兼容。有关详细信息,请参阅 https://access.redhat.com/solutions/6833751

Debian 10

如果使用 PXE 网络引导安装 Debian 10 (Buster),请勿在引导参数中添加 console=tty0。此参数可能会导致安装过程出现问题。请仅在引导参数中使用 console=hvc0。 有关详细信息,请参阅 Debian 问题 944106944125

Debian 11

使用 QEMU 模拟网络设备在 VM 上安装 32 位 Debian 11 时,安装可能会失败。此问题是由于安装程序内核中缺少 Xen PV 驱动程序导致的。有关详细信息,请参阅 https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=818481

64 位 Debian 11 中不存在此问题。

Debian 12

Debian 12 (Bookworm) 不支持 GPU 直通或 vGPU。

SUSE Linux Enterprise 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
    <!--NeedCopy-->
    

    更改为

    FORCE_PERSISTENT_NAMES=no
    <!--NeedCopy-->
    
  3. 保存更改并重新启动 VM。

有关详细信息,请参阅准备克隆 Linux VM

Ubuntu 24.04

由于 Ubuntu 24.04 上的 Mesa 驱动程序存在已知问题,在默认启用了 Wayland 协议的 AMD 平台主机上安装 Ubuntu 24.04(桌面)VM 后,您可能会遇到重复的重新登录提示。

我们建议通过禁用 Wayland 或升级 Mesa 驱动程序来解决此问题:

  • 禁用 Wayland

    打开命令提示符并运行以下命令:

     sudo nano /etc/gdm3/custom.conf
     <!--NeedCopy-->
    

    请设置以下值以禁用 Wayland:

     WaylandEnable=false
     <!--NeedCopy-->
    

    重新启动 VM 以完成此过程。

  • 更新 Mesa 驱动程序

    运行以下命令:

     sudo add-apt-repository ppa:kisak/kisak-mesa
     sudo apt update
     sudo apt upgrade
     <!--NeedCopy-->
    

    重新启动 VM 以完成此过程。

Linux VM