XenServer

Linux VM

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

注意:

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

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

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

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

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

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

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

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

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

XenServer 支持将多个 Linux 版本安装到 VM 中。

警告:

其他安装介质模板面向高级用户,这些用户可能会尝试安装运行不受支持的操作系统的 VM。XenServer 已经过测试,只能运行提供的标准模板所涵盖的受支持发行版本和特定版本。使用其他安装介质模板安装的任何 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. (可选)更改 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-->
    

    mode 的值可以是 BIOSuefi,并在您的 VM 操作系统支持该选项时默认设置为 uefi。否则,模式默认设置为 BIOSoption 的值可以设置为 truefalse。如果未指定“安全引导”选项,则默认设置为 auto

    有关详细信息,请参阅来宾 UEFI 引导和安全引导

  3. 将虚拟 CD-ROM 添加到新 VM:

    • 如果从 CD 或 DVD 安装,请获取 XenServer 主机上的物理 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-->
      
  4. 将操作系统安装 CD 插入到 XenServer 主机上的 CD 驱动器。

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

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

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

使用 XenCenter 创建 Linux VM

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

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

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

    每个模板都包含创建具有特定来宾操作系统和最佳存储的 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。而是由 Workload Balancing 分析 XenServer 资源池指标并提供优化建议,从而为 VM 指定最佳服务器。
    • 如果为 VM 分配了一个或多个虚拟 GPU,主服务器指定将无效。相反,主机指定将取决于用户设置的虚拟 GPU 放置策略。
    • 在滚动池升级期间,迁移 VM 时不考虑主服务器。而是将 VM 迁移回升级前所在的主机。 如果不希望指定主服务器,请单击不为此 VM 分配主服务器。VM 将在具有必备资源的任意主机上启动。

    单击下一步继续操作。

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

  8. 分配虚拟 GPU。

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

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

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

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

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

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

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

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

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

  13. 操作系统安装完成并重新启动 VM 后,安装适用于 Linux 的 XenServer 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 的 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)。

    注意:

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

升级 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
    <!--NeedCopy-->
    
  5. 如果内核已升级,或者 VM 已先以前版本进行升级,请立即重新启动 VM。

卸载适用于 Linux 的 XenServer VM Tools

自版本 8.4.0-1 起,您可以使用 install.sh 脚本卸载适用于 Linux 的 XenServer VM Tools。要卸载这些工具,请以 root 用户身份运行以下命令:

/<extract-directory>/install.sh -u
<!--NeedCopy-->

在安全引导 Linux VM 上安装第三方驱动程序

要在启用了 UEFI 安全引导的 Linux VM 中安装第三方驱动程序,必须创建签名密钥,将其作为计算机所有者密钥 (MOK) 添加到 VM 中,并使用该密钥对驱动程序进行签名。例如,如果您在 Linux VM 中使用 XenServer 显卡功能,则可能需要在 VM 上安装 NVIDIA 显卡驱动程序。

请完成以下步骤以创建密钥并用来安装第三方驱动程序:

  1. 生成公钥和私钥对。
  2. 在 MOK 中注册公钥。
  3. 将您创建的密钥设置为驱动程序的模块签名密钥。

以下示例详细说明了这一在启用了安全引导的 Ubuntu VM 上安装 NVIDIA 显卡驱动程序的过程:

  1. 将 NVIDIA 驱动程序下载到您的 VM 中。

  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. 请确保 VM 引导目标设置为图形化:

    systemctl set-default graphical.target
    
  6. 重新启动 VM。

  7. 在引导期间,将显示 Perform MOK manageement(执行 MOK 管理)GUI。

    MOK GUI 的第一个屏幕。

    在此界面中,完成以下步骤:

    1. 选择 Enroll MOK(注册 MOK)> Continue(继续)。
    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 VM 之前要考虑的供应商特定的配置信息。

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

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

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

注意:

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

Apt 存储库 (Debian)

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

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

准备克隆 Linux VM

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

因此,克隆 Linux VM 时,XenServer 会自动更改某些虚拟硬件参数。如果使用 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 的 XenServer VM Tools 中的 install.sh 脚本来更新 Linux 来宾实用程序(请参阅安装适用于 Linux 的 XenServer VM Tools)。

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

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

升级时,我们建议始终重新运行 install.sh。此脚本可自动确定 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 虚拟机管理程序的内存气球功能。

CentOS 7

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

Oracle Linux 7

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

Scientific Linux 7

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

Debian 10

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

有关详细信息,请参阅 Debian 问题 944106944125

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 18.04(已弃用)

Ubuntu 18.04 提供以下类型的内核:

  • 正式发布 (GA) 版本内核,在单点发布时不会更新
  • 硬件支持 (HWE) 内核,在单点发布时更新

Ubuntu 18.04 的某些次要版本(例如 18.04.2 和 18.04.3)默认使用 HWE 内核,该内核在运行图形控制台时可能会遇到问题。要解决这些问题,可以选择运行使用正式发布版本内核的 Ubuntu 18.04 的这些次要版本,或者更改某些图形设置。有关详细信息,请参阅 CTX265663 - Ubuntu 18.04.2 VMs can fail to boot on XenServer(CTX265663 - Ubuntu 18.04.2 VM 可能无法在 XenServer 上启动)。