网络引导安装

XenServer 支持使用 UEFI 模式引导主机。UEFI 模式向 Bootloader 和操作系统提供了一套丰富的标准化工具。此功能使客户能够更加轻松地在默认引导模式为 UEFI 的主机上安装 XenServer。

以下文章包含有关如何将 TFTP 和 NFS、FTP 或 HTTP 服务器设置为对 XenServer 主机安装启用 PXE 和 UEFI 引导的信息。然后说明如何创建 XML 应答文件,通过该文件可以执行无人参与安装。

为 XenServer 安装配置 PXE 和 UEFI 环境

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

注意:

XenServer 6.0 已从 MBR 磁盘分区方案改为使用 GUID 分区表 (GPT)。某些第三方 PXE 部署系统在将映像部署到主机之前,可能会尝试读取该计算机硬盘上的分区表。

如果部署系统与 GPT 分区方案不兼容,并且以前使用该硬盘的 XenServer 版本使用的是 GPT,PXE 部署系统可能会出现故障。此故障的解决方法是删除磁盘上的分区表。

除了 TFTP 和 DHCP 服务器外,还需要一个 NFS、FTP 或 HTTP 服务器来保存 XenServer 安装文件。这些服务器可在同一个服务器上共存,也可分布在网络中的不同服务器上。

此外,每个要进行 PXE 引导的 XenServer 主机都必须具有一个启用了 PXE 引导的以太网卡。

以下步骤假定所用 Linux 服务器支持 RPM。

将 TFTP 服务器配置为进行 PXE 引导

要将您的 TFTP 服务器配置为进行 PXE 引导,请执行以下操作:

  1. /tftpboot 目录中,创建一个名为 xenserver 的目录

  2. mboot.c32pxelinux.0 文件从 /usr/lib/syslinux 目录复制到 /tftboot 目录。

    注意:

    Citrix 强烈建议您使用来自同一个来源(例如,来自同一个 XenServer ISO)的 mboot.c32pxelinux.0 文件。

  3. 在 XenServer 安装介质中,将文件 install.img(来自根目录)、vmlinuzxen.gz(来自 /boot 目录)复制到 TFTP 服务器上的新 /tftpboot/xenserver 目录。

  4. /tftboot 目录中,创建一个名为 pxelinux.cfg 的目录。

  5. pxelinux.cfg 目录中,创建名为 default 的配置文件。

    此文件的内容取决于您对 PXE 引导环境的配置。下面列出了两个示例配置。第一个示例配置在从 TFTP 服务器引导的任何计算机上启动安装过程。此安装过程要求手动响应。第二个示例配置适用于无人参与安装。

    注意:

    以下示例显示了如何将安装程序配置为在物理控制台 tty0 上运行。要使用其他默认设置,应确保您要使用的控制台在最右侧。

       default xenserver
       label xenserver
       kernel mboot.c32
       append /tftpboot/xenserver/xen.gz dom0_max_vcpus=2 \
         dom0_mem=1024M,max:1024M com1=115200,8n1 \
       console=com1,vga ---  /tftpboot/xenserver/vmlinuz \
       xencons=hvc console=hvc0 console=tty0 \
       ---  /tftpboot/xenserver/install.img
    

    使用位于指定 URL 的应答文件执行无人参与安装的示例配置:

    注意:

    要指定用于检索应答文件的网络适配器,请将 answerfile_device=ethXanswerfile_device=MAC 参数包括在内,并指定该设备的以太网设备号或 MAC 地址。

       default xenserver-auto
       label xenserver-auto
          kernel mboot.c32
          append /tftpboot/xenserver/xen.gz dom0_max_vcpus=2 \
          dom0_mem=1024M,max:1024M com1=115200,8n1 \
          console=com1,vga ---  /tftpboot/xenserver/vmlinuz \
         xencons=hvc console=hvc0 console=tty0 \
         answerfile=http://pxehost.example.com/answerfile \
         install ---  /tftpboot/xenserver/install.img
    

    有关 PXE 配置文件内容的详细信息,请参阅 SYSLINUX Web 站点。

将 TFTP 服务器配置为进行 UEFI 引导

将 TFTP 服务器配置为进行 UEFI 引导:

  1. /tftpboot 目录中,创建一个名为 EFI/xenserver 的目录。

  2. 配置 DHCP 服务器以提供 /EFI/xenserver/grubx64.efi 作为引导文件。

  3. 创建 grub.cfg 文件。例如:

    menuentry "XenServerInCloud Sphere Install (serial)" {
        multiboot2 /EFI/xenserver/xen.gz dom0_mem=1024M,max:1024M watchdog \
        dom0_max_vcpus=4 com1=115200,8n1 console=com1,vga
        module2 /EFI/xenserver/vmlinuz console=hvc0
        module2 /EFI/xenserver/install.img
    }
    
  4. grub.cfg 文件复制到 TFTP 服务器上的 /tftpboot/EFI/xenserver 目录。

  5. 在 XenServer 安装介质中,将文件 grubx64.efiinstall.img(来自根目录)、vmlinuzxen.gz(来自 /boot 目录)复制到 TFTP 服务器上的新 /tftpboot/EFI/xenserver 目录。

    注意

    以下示例说明如何将安装程序配置为在物理控制台 tty0 上运行。要使用其他默认设置,应确保您要使用的控制台在最左侧。

    default xenserver
    label xenserver
        kernel mboot.c32
        append /tftpboot/EFI/xenserver/xen.gz dom0_mem=1024M,max:1024M watchdog \
          dom0_max_vcpus=4 com1=115200,8n1 \
        console=com1,vga ---  /tftpboot/EFI/xenserver/vmlinuz \
        console=hvc0 console=tty0 \
        ---  /tftpboot/EFI/xenserver/install.img
    

    使用位于指定 URL 的应答文件执行无人参与安装的示例配置:

    注意

    要指定应用于检索应答文件的网络适配器,请将 answerfile_device=ethXanswerfile_device=MAC 参数包括在内,并指定该设备的以太网设备号或 MAC 地址。

    default xenserver-auto
    label xenserver-auto
       kernel mboot.c32
       append /tftpboot/EFI/xenserver/xen.gz dom0_mem=1024M,max:1024M watchdog \
          dom0_max_vcpus=4 com1=115200,8n1 \
          console=com1,vga ---  /tftpboot/EFI/xenserver/vmlinuz \
          console=hvc0 console=tty0 \
          answerfile=http://pxehost.example.com/answerfile \
          install ---  /tftpboot/EFI/xenserver/install.img
    

有关特定操作系统的详细信息,请参阅服务器操作系统手册。此处提供的信息可用作 Red Hat、Fedora 和一些基于 RPM 的其他版本的指南。

要在 HTTP、FTP 或 NFS 服务器上设置 XenServer 安装介质,请执行以下操作:

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

  2. 将 XenServer 安装介质的全部内容复制到 HTTP、FTP 或 NFS 服务器上的新建目录中。此目录将是您的安装库。

    注意:

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

准备目标系统:

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

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

  3. 然后,系统将从您设置的安装源进行 PXE 引导并开始执行安装脚本。如果您设置了一个应答文件,则以无人参与方式执行安装。

在 XenServer 安装期间安装补充包

补充包可以通过将软件安装到控制域 (Dom0) 中来修改和扩展 XenServer 的功能。例如,OEM 合作伙伴可能希望在 XenServer 中随附一套需要安装 SNMP 代理才能使用的管理工具。用户可以在初始 XenServer 安装过程中或以后的任意时间添加补充包。

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

此外,还存在一些可供 OEM 合作伙伴在将补充包添加到 XenServer 安装存储库时使用的设施,以允许自动执行工厂安装。

创建无人参与 PXE 和 UEFI 安装的应答文件

要以无人参与方式执行安装,请创建一个 XML 应答文件。以下是一个示例应答文件:

<?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>
<post-install-script type="url">
http://pxehost.example.com/myscripts/post-install-script
</post-install-script>
<admin-interface name="eth0" proto="dhcp" />
<timezone>Europe/London</timezone>
</installation>

包含名为 installation 的根节点中的所有节点。

注意:

要启用精简预配,请将 srtype 属性指定为 ext。如果不指定该属性,则默认本地存储类型为 LVM。精简预配将本地存储类型设置为 EXT3 并启用本地缓存,以便 XenDesktop 能够正常运行。有关详细信息,请参阅《XenServer 管理员指南》。

下表汇总了相应的元素。除非另行说明,否则所有值都是文本。表中指明了哪些是必需的元素。

  • <primary-disk>(必需)

    应安装控制域的存储设备的名称,等同于在交互式安装过程的选择主磁盘步骤中所做的选择。

    属性:

    可以指定 guest-storage 属性,可能的值为 yesno

    例如:

    <primary-disk guest-storage="no">sda</primary-disk>
    

    如果不指定此属性,则默认值为 yes。如果指定为 no 并且没有指定 guest-disk 注册表项,则可以自动执行不创建存储库的安装方案

  • <guest-disk>

    用于存储来宾的存储设备的名称。应对每个附加磁盘使用一个此类元素。

  • <keymap>(必需)

    安装期间要使用的键映射名称

    <keymap>us</keymap>
    

    如果不为此属性指定一个值,则考虑默认值 us。

  • <root-password>

    XenServer 主机所需的 root 用户密码。如果未提供密码,在首次引导主机时,将会显示一个提示。

    属性:

    Type:hash 或 plaintext

    例如:

    <root-password type="hash">hashedpassword</root-password>
    
  • <source>(必需)

    上载的 XenServer 安装介质或补充包的位置。元素可以出现多次。

    属性:

    type:url、nfs 或 local

    如果为 local,则元素为空。例如:

    <source type="url">http://server/packages</source>
    <source type="local" />
    <source type="nfs">server:/packages</source>
    
  • <script>

    安装后脚本的位置。

    属性:

    stage: filesystem-populated、installation-start 或 installation-complete

    • 使用 filesystem-populated 时,将在卸载根文件系统前(例如安装/升级完成后、构建 initrd 后,等等)调用该脚本。该脚本将接收指示根文件系统装载点参数。

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

    type:url、nfs 或 local

    如果为 url 或 nfs,则将 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>
    

    请注意,如果使用本地文件,请确保路径为绝对路径。这通常意味着,file:// 前缀的后面将跟有另一个正斜线以及脚本的完整路径。

  • <admin-interface>

    用作主机管理接口的单一网络接口。

    属性:

    proto:dhcp 或 static

    name:例如 eth0。

    子项:

    • <ipaddr>:IP 地址(如果 proto=”static”)
    • <subnet>:子网掩码(如果 proto=“static”)
    • <gateway>:网关(如果 proto=”static”)

    如果 proto=”static”,则这三个子元素都为必需元素

  • <timezone>(必需)

    TZ 变量使用的格式,例如 Europe/London 或 America/Los_Angeles。

  • <name-server>

    名称服务器的 IP 地址。应对要使用的每个名称服务器使用一个此类元素。

  • <hostname>

    如果希望手动设置主机名,则指定此元素。

  • <ntp-server>

    指定一台或多台 NTP 服务器。

还可以通过相应地更改应答文件来执行自动升级。将 installation 元素的 mode 属性设置为 upgrade,使用 existing-installation 元素指定现有安装所在的磁盘。不指定 primary-diskguest-disk 元素。例如:

<?xml version="1.0"?>
<installation mode="upgrade">
<existing-installation>sda</existing-installation>
<source type="url">http://pxehost.example.com/xenserver/</source>
<post-install-script type="url">
http://pxehost.example.com/myscripts/post-install-script
</post-install-script>
</installation>
上一步

网络引导安装