XenServer

其他安装场景

除了标准的手动安装过程之外,XenServer® 还提供了执行各种其他类型安装的功能,包括以下内容:

  • 使用 PXE 引导进行网络安装
  • 无人值守安装
  • 将主机设置为从 SAN 引导
  • 配置主机多路径

如果在安装过程中遇到问题,请按照本文所述收集日志:安装日志

支持的引导模式

XenServer 支持使用 UEFI 或 UEFI 安全引导模式引导主机。有关安全引导的更多信息,请参阅适用于 XenServer 9 的安全引导

网络安装

如果您要安装的服务器具有支持 PXE 引导的以太网卡,则可以使用此功能通过 PXE 引导进行网络安装。

使用 PXE 引导从网络安装涉及以下步骤:

  • 将安装程序文件复制到 TFTP 服务器,并为PXE 引导安装配置 TFTP 和 DHCP 服务器。

  • 将安装介质托管在 NFS、FTP 或 HTTP 上。只有安装程序文件是从 TFTP 服务器访问的。要安装在服务器上的 XenServer 文件托管在 NFS、FTP 或 HTTP 服务器上。或者,在通过 PXE 引导启动安装后,您可以从目标服务器上托管的本地介质完成安装。

  • (可选)为无人值守安装创建应答文件。您也可以选择进行有人值守安装并手动完成安装程序。

  • 开始安装过程(#start-the-network-installation)。

注意:

标记的 VLAN 网络不支持 PXE 引导。请确保用于 PXE 引导的 VLAN 网络是未标记的。

配置 TFTP 和 DHCP 服务器

在设置 XenServer 安装介质之前,请配置您的 TFTP 和 DHCP 服务器。以下部分包含有关如何为 UEFI 的 PXE 引导配置 TFTP 服务器的信息。有关常规设置过程,请查阅您的供应商文档。

为 UEFI 的 PXE 引导配置 TFTP 服务器

将安装程序文件托管在 TFTP 服务器上,并配置您的 DHCP 和 TFTP 服务器以启用 UEFI 引导模式下的 PXE 引导。此配置用于启动安装过程。

  1. 在 TFTP 根目录(例如 /tftpboot)中,创建一个名为 EFI/xenserver 的目录。

  2. 将 XenServer 安装介质中的以下文件复制到 TFTP 服务器上的新 EFI/xenserver 目录中:

    • grubx64.efi,来自 /EFI/xenserver 目录
    • install.img,来自根目录
    • vmlinuz,来自 /boot 目录
    • xen.gz,来自 /boot 目录
  3. 配置您的 DHCP 服务器以提供 /EFI/xenserver/grubx64.efi 作为引导文件。

  4. 在 TFTP 服务器上的 EFI/xenserver 目录中,创建 grub.cfg 文件。

    此文件的内容取决于您希望如何配置 PXE 启动环境以及适用于您的服务器的值。

    • 示例:无人值守安装 此示例配置使用指定 URL 处的应答文件执行无人值守安装:

       menuentry "XenServer Install (serial)" {
           multiboot2 /EFI/xenserver/xen.gz dom0_max_vcpus=1-16 dom0_mem=max:8192M com1=115200,8n1 console=com1,vga
           module2 /EFI/xenserver/vmlinuz console=hvc0 console=tty0 answerfile_device=<interface_name> answerfile=http://<ip_address>/<path_to_answer_file> install
           module2 /EFI/xenserver/install.img
       }
       <!--NeedCopy-->
      

      注意:

      要指定用于检索应答文件的网络适配器,请包含 answerfile_device=<interface_name>answerfile_device=<MAC> 参数,并指定网络接口名称(例如,eno12429np0)或设备的 MAC 地址。

      在网络适配器可能在不同主机上以不同方式枚举的环境中(例如,使用不同硬件代次时),您可以指定 map_netdev 启动参数,以根据 MAC 地址显式控制网络适配器的逻辑顺序。

      map_netdev 参数必须作为安装程序启动参数提供,并且通常与无人值守安装一起使用,以确保主机之间网络适配器顺序的一致性。此参数支持将特定 MAC 地址映射到逻辑索引(例如,map_netdev=0:<MAC>)。

      为确保确定性的 NIC 顺序,请为每个所需的适配器重复此参数。例如,您可以指定 map_netdev=0:00:11:22:AA:BB:CC 以强制执行特定的硬件映射。

      有关使用应答文件的详细信息,请参阅创建无人值守安装的应答文件

    • 示例:手动安装 此示例配置启动从 TFTP 服务器引导并需要手动响应的安装:

       menuentry "XenServer Install (serial)" {
           multiboot2 /EFI/xenserver/xen.gz dom0_max_vcpus=1-16 dom0_mem=max:8192M com1=115200,8n1 console=com1,vga
           module2 /EFI/xenserver/vmlinuz console=hvc0 console=tty0
           module2 /EFI/xenserver/install.img
       }
       <!--NeedCopy-->
      

下一步: 在 NFS、FTP 或 HTTP 上托管安装介质。除了 TFTP 和 DHCP 服务器之外,您还需要一个 NFS、FTP 或 HTTP 服务器来存放安装在服务器上的 XenServer 文件。

在 NFS、FTP 或 HTTP 上托管安装介质

TFTP 服务器托管启动安装程序所需的文件,但要安装或用于升级的文件托管在 NFS、FTP 或 HTTP 服务器上。

您还可以使用托管在 NFS、FTP 或 HTTP 上的文件来完成从服务器上的本地介质启动的安装或升级。

  1. 在 HTTP、FTP 或 NFS 服务器上,创建一个目录,以便可以通过 HTTP、FTP 或 NFS 导出 XenServer 安装介质。

  2. 如果您正在使用 IIS 托管安装介质,假设使用虚拟目录,请完成以下设置:

    1. 为虚拟目录启用目录浏览。
    2. 在虚拟目录上提取安装 ISO 之前,请确保已为其启用双重转义。
    3. 配置以下必需的 MIME 类型
      1. . 作为 application/octet-stream
      2. .* 作为 application/octet-stream

      以下 web.config 文件演示了为虚拟目录配置的这些值

      <?xml version="1.0" encoding="UTF-8"?>
      <configuration>
          <system.webServer>
              <security>
                  <requestFiltering allowDoubleEscaping="true" />
              </security>
              <directoryBrowse enabled="true" showFlags="Date, Time, Size, Extension, LongDate" />
              <staticContent>
                  <mimeMap fileExtension="." mimeType="application/octet-stream" />
                  <mimeMap fileExtension=".*" mimeType="application/octet-stream" />
              </staticContent>
          </system.webServer>
      </configuration>
      <!--NeedCopy-->
      
  3. 解压 XenServer 安装 ISO 的内容。您可以通过以下任一方式执行此操作:

    • 通过使用 ISO 解压缩应用程序,例如 7-zip。
    • 通过挂载 ISO 并复制所有内容。
  4. 将 XenServer 安装 ISO 的所有解压内容复制到 HTTP、FTP 或 NFS 服务器上新创建的目录中。此目录是您的安装存储库。

    注意:

    复制 XenServer 安装介质时,请确保将文件 .treeinfo 复制到新创建的目录中。

下一步:

为无人值守安装创建应答文件

要以无人值守方式执行安装,请创建 XML 应答文件。

将所有节点包含在名为 installation 的根节点中。构建应答文件时,请参阅应答文件参考

以下是一个应答文件示例:

<?xml version="1.0"?>
    <installation srtype="ext">
        <primary-disk>sda</primary-disk>
        <guest-disk>sdb</guest-disk>
        <guest-disk>sdc</guest-disk>
        <keymap>us</keymap>
        <root-password>mypassword</root-password>
        <source type="url">http://pxehost.example.com/xenserver/</source>
        <script stage="filesystem-populated" type="url">
          http://pxehost.example.com/myscripts/post-install-script
        </script>
        <admin-interface name="<interface-name>" proto="dhcp" />
        <timezone>Europe/London</timezone>
    </installation>
<!--NeedCopy-->

下一步: 启动网络安装

使用应答文件进行自动化升级

您也可以通过适当修改应答文件来执行自动化升级。

  1. installation 元素的 mode 属性设置为 upgrade
  2. 使用 existing-installation 元素指定现有安装所在的磁盘。
  3. primary-diskguest-disk 元素留空。

例如:

<?xml version="1.0"?>
<installation mode="upgrade">
    <existing-installation>sda</existing-installation>
    <source type="url">http://pxehost.example.com/xenserver/</source>
    <script stage="filesystem-populated" type="url">
        http://pxehost.example.com/myscripts/post-install-script
    </script>
</installation>
<!--NeedCopy-->

应答文件参考

以下是元素的摘要。除非另有说明,所有节点值均为文本。已标明必需元素。

<installation>

必需?

描述: 包含所有其他元素的根元素。

属性:

srtype

属性 srtype 可以具有以下值之一:lvmextxfs

  • lvm - 将本地存储类型设置为 LVM。
  • ext - 将本地存储类型设置为 EXT4。这使得 Citrix Virtual Desktops 的本地缓存能够正常工作。有关详细信息,请参阅 存储
  • xfs - 将本地存储类型设置为 XFS。此选项还允许您创建具有 4 KB 物理块的本地存储设备,而无需 512 字节的逻辑块大小。

要启用精简配置,您可以将 srtype 属性指定为 extxfs。如果您未指定 srtype 属性,则 srtype 的默认值为 lvm。如果您未指定 srtype 属性,但在应答文件中为本地存储配置了 4 KB 本机磁盘,则默认值为 xfs

注意:

您不能将本地 LVM 或本地 EXT3/EXT4 存储类型与 4 KB 物理块一起使用。如果您尝试在配置 4 KB 物理块时为 srtype 属性指定 lvmext,则您的应答文件配置将被拒绝,因为它不兼容。

mode

要将安装类型更改为升级,请指定值为 upgrademode 属性。如果未指定此属性,安装程序将执行全新安装并覆盖服务器上的任何现有数据。

<primary-disk>

必需?

注意:

已弃用,不适用于升级场景。

描述: 安装控制域的存储设备的名称。此元素等同于手动安装过程中“选择主磁盘”步骤中所做的选择。

属性: 您可以指定一个 guest-storage 属性,其可能的值为 yesno。 例如:<primary-disk guest-storage="no">sda</primary-disk>

默认值为 yes。如果您指定 no,则可以自动化一个不创建存储库的安装场景。在这种情况下,请勿指定任何 guest-disk 键。

<guest-disk>

必需?

描述: 用于存储来宾的存储设备的名称。每个额外磁盘使用其中一个元素。

属性:

<ntp>

必需?

描述: 指定 NTP 服务器的来源。如果未指定 <ntp> 元素,则在指定 <ntp-server> 的情况下,默认值为 manual;如果使用 DHCP,则为 dhcp;否则为 default

属性:

属性 source 可以具有以下值之一:dhcpdefaultmanualnone

  • dhcp - 使用 DHCP 中的 NTP 服务器
  • default - 使用默认 NTP 服务器
  • manual - 使用提供的 NTP 服务器,在这种情况下,必须至少指定一个 <ntp-server> 条目
  • none - NTP 已禁用

如果 sourcedhcpdefaultnone,请勿指定 <ntp-server>

<ntp-server>

必需?

描述: 指定一个或多个 NTP 服务器。仅与 ntp 元素和 manual 属性一起使用。

属性:

<keymap>

必需?

描述: 安装期间要使用的键盘映射名称。<keymap>us</keymap> 如果未为此元素指定值,则会考虑默认值 us

属性:

<root-password>

必需:

描述: XenServer 主机所需的 root 密码。如果未提供密码,则在主机首次启动时会显示提示。

属性: 您可以指定一个 type,其值为 hashplaintext

例如:

<root-password type="hash">hashedpassword</root-password>
<!--NeedCopy-->

哈希值可以使用 glibccrypt(3) 支持的任何哈希类型。默认哈希类型为 SHA-512。

您可以使用以下 Python 代码生成要包含在应答文件中的哈希密码字符串:

python -c 'import crypt; print(crypt.crypt("mypasswordhere", crypt.mksalt(crypt.METHOD_SHA512)))'
<!--NeedCopy-->
<source>

必需:

描述: 上传的 XenServer 安装介质或补充包的位置。此元素可以出现多次。

属性: 属性 type 可以具有以下值之一:urlnfslocal

如果值为 local,则将元素留空。例如,

<source type="url">http://server/packages</source>
<source type="local" />
<source type="nfs">server:/packages</source>
<!--NeedCopy-->
<script>

必需:

描述: post-install-script 的位置。

属性:

属性 stage 可以具有以下值之一:filesystem-populatedinstallation-startinstallation-complete

  • 当使用值 filesystem-populated 时,脚本会在根文件系统卸载之前运行(例如,在安装/升级之后,initrds 已构建等)。脚本会接收一个参数,该参数是根文件系统的挂载点。

  • 当使用值 installation-start 时,脚本会在主安装序列开始之前运行,但在安装程序初始化并处理应答文件之后。脚本不接收任何参数。

  • 当使用值 installation-complete 时,脚本在安装程序完成所有操作(因此根文件系统已卸载)后运行。如果安装成功完成,脚本会收到一个值为零的参数;如果安装因任何原因失败,则参数为非零。

属性 type 可以具有以下值之一:urlnfslocal

如果值为 urlnfs,请将 URL 或 NFS 路径放入 PCDATA 中。如果值为 local,请将 PCDATA 留空。例如,

<script stage="filesystem-populated" type="url">
    http://prehost.example.com/post-install-script
</script>
<script stage="installation-start" type="local">
    file:///scripts/run.sh
</script>
<script stage="installation-complete" type="nfs">
    server:/scripts/installation-pass-fail-script
</script>
<!--NeedCopy-->

注意:

如果使用本地文件,请确保路径是绝对路径。这通常意味着 file:// 前缀后跟另一个正斜杠,然后是脚本的完整路径。

<admin-interface>

必需: 有时

注意:

在安装/重新安装期间必需,但在升级或恢复期间不需要。

描述: 用作主机管理接口的单个网络接口。

属性:

指定以下属性之一:

  • name - 您的网络接口名称,例如 eno12429np0
  • hwaddr - 您的网络接口的 MAC 地址,例如 00:00:11:aa:bb:cc

属性 proto 可以具有以下值之一:dhcpstatic

如果您指定 proto="static",则还必须指定所有这些子元素:

子元素

  • <ipaddr>:IP 地址
  • <subnet>:子网掩码
  • <gateway>:网关
<timezone>

必需:

描述: 时区,采用 TZ 变量使用的格式,例如 Europe/London 或 America/Los_Angeles。默认值为 Etc/UTC

<name-server>

必需:

描述: 命名服务器的 IP 地址。对于要使用的每个命名服务器,请使用其中一个元素。

<hostname>

必需:

描述: 如果要手动设置主机名,请指定此元素。

<ntp-server>

必需:

描述: 指定一个或多个 NTP 服务器。

开始网络安装

设置 PXE 引导安装所需的网络服务器后,请在要安装到的服务器上完成以下步骤:

  1. 启动系统并进入引导菜单(在大多数 BIOS 程序中为 F12)。

  2. 选择从以太网卡引导。

  3. 系统将从您设置的安装源进行 PXE 引导,并启动安装脚本。

    • 如果您已设置应答文件,安装将自动进行。
    • 如果您决定手动安装,请在出现提示时提供信息。有关详细信息,请参阅 安装

从 SAN 引导

从 SAN 引导环境具有多项优势,包括高性能、冗余和空间整合。在这些环境中,引导磁盘位于远程 SAN 上,而不是本地主机上。

支持以下类型的从 SAN 引导配置:

在 XenServer 中设置从 SAN 引导之前,请确保已配置硬件 BIOS 以启用此功能。有关详细信息,请参阅您的硬件供应商文档。

对于完全冗余的从 SAN 启动环境,您必须为 I/O 访问配置多条路径。有关详细信息,请参阅 启用多路径

注意:

在使用从 SAN 启动环境时,强烈建议启用将日志发送到远程 syslog 服务器。请参阅 将 syslog 消息发送到中央服务器。如果未启用远程 syslog,并且系统故障导致无法访问启动磁盘,则可能很难确定根本原因,并且如果没有这些日志,技术支持可能无法提供帮助。

HBA 和硬件光纤通道

这种从 SAN 启动的部署类型依赖于基于 SAN 的磁盘阵列,这些阵列在主机上支持硬件光纤通道或 HBA iSCSI 适配器。主机通过主机总线适配器 (HBA) 与 SAN 通信。HBA 的 BIOS 包含使主机能够找到启动磁盘的指令。

通过硬件光纤通道或 HBA 适配器设置从 SAN 启动的所有配置都在您将 XenServer 安装到服务器之前在您的网络基础设施中完成。有关如何完成此设置的信息,请参阅供应商提供的文档。

从 iSCSI 软件启动

从 iSCSI 软件启动功能使客户能够使用 iSCSI 从 SAN 安装和启动 XenServer。使用此功能,XenServer 可以安装到 iSCSI 目标提供的 LUN,从该 LUN 启动并运行。iSCSI 目标在 iSCSI 启动固件表中指定。此功能允许通过 iSCSI 附加根磁盘。此启动磁盘可以位于提供 SR 的同一目标上。

要使用此功能,请确保您的环境满足以下要求:

  • 专用于 iSCSI 启动的网络接口必须与管理接口和用于 VM 流量的接口分开。

  • 存储(iSCSI 目标)必须位于与主机上所有其他具有 IP 地址的网络接口分开的第 3 层 (IP) 网络上。

  • 请勿对专用于 iSCSI 启动目标的网络接口使用标记 VLAN。

  • 我们建议您配置多路径。

要配置从 iSCSI 软件启动功能,您必须将 use_ibft 参数添加到您的启动参数中。添加此参数的方式取决于您的启动模式和您正在进行的安装类型。

在从本地媒体安装期间,在 UEFI 启动服务器上启用从 iSCSI 软件启动功能

  1. 从安装介质启动计算机。有关详细信息,请参阅 安装 XenServer 主机

    在初始启动消息之后,您会看到一个 GRUB 菜单。此菜单显示 5 秒。

  2. 使用光标键选择 install 选项:

  3. e 键以在启动前编辑命令。

  4. 编辑以下开头的行:

    module2 /EFI/xenserver/vmlinuz ...
    <!--NeedCopy-->
    

    使用光标键,编辑此行以在末尾包含 use_ibft

    module2 /EFI/xenserver/vmlinuz ... use_ibft
    <!--NeedCopy-->
    
  5. Enter

  6. 照常继续 XenServer 主机安装过程。

在 PXE 启动安装期间,在 UEFI 启动服务器上启用软件从 iSCSI 启动功能

使用 PXE 安装时,请确保在内核参数中添加关键字 use_ibft

例如:

menuentry "XenServer Install (serial)" {
    multiboot2 /EFI/xenserver/xen.gz dom0_max_vcpus=1-16 dom0_mem=max:8192M com1=115200,8n1 console=com1,vga
    module2 /EFI/xenserver/vmlinuz console=hvc0 console=tty0 answerfile_device=<interface_name> answerfile=http://<ip_address>/<path_to_answer_file> install use_ibft
    module2 /EFI/xenserver/install.img
    }
<!--NeedCopy-->

有关设置 PXE 启动的详细信息,请参阅 为 UEFI 配置 TFTP 服务器以进行 PXE 启动

安装补充包

补充包用于通过将软件安装到控制域 (dom0) 来修改和扩展 XenServer 的功能。例如,OEM 合作伙伴可能希望随 XenServer 一起提供一套需要安装 SNMP 代理的管理工具。您可以在初始 XenServer 安装期间或之后随时在运行的 XenServer 实例上安装补充包。

在 XenServer 安装期间安装补充包时,请将每个补充包解压到 Web 服务器上的单独目录中。

您可以通过以下方式之一安装补充包:

  • 在交互式安装过程中,当系统提示您安装补充包时,请指定补充包介质的 URL。

  • 如果您正在使用应答文件进行安装,请添加一个额外的 <source> 元素来指定补充包的位置。