网络引导安装
Citrix Hypervisor 支持使用 UEFI 模式引导主机。UEFI 模式向 Bootloader 和操作系统提供了一套丰富的标准化工具。此功能使客户能够更加轻松地在默认引导模式为 UEFI 的主机上安装 Citrix Hypervisor。
注意:
- UEFI 引导不支持旧版 DOS 分区布局。
- UEFI 安全引导不适用于 Citrix Hypervisor 主机。
下节包含有关如何设置 TFTP 和 NFS、FTP 或 HTTP 服务器以对 Citrix Hypervisor 服务器安装启用 PXE 和 UEFI 引导的信息。然后说明如何创建 XML 应答文件,通过该文件可以执行无人参与安装。
为 Citrix Hypervisor 安装配置 PXE 和 UEFI 环境
在设置 Citrix Hypervisor 安装介质之前,请配置 TFTP 和 DHCP 服务器。以下部分介绍如何将您的 TFTP 服务器配置为进行 PXE 和 UEFI 引导。有关常规设置过程,请查阅供应商文档。
注意:
XenServer 6.0 已从 MBR 磁盘分区方案改为使用 GUID 分区表 (GPT)。某些第三方 PXE 部署系统在将映像部署到主机之前,可能会尝试读取该计算机硬盘上的分区表。
如果部署系统与 GPT 分区方案不兼容,并且以前已使用该硬盘安装使用 GPT 的 Citrix Hypervisor 版本,则 PXE 部署系统可能会出现故障。此故障的解决方法是删除磁盘上的分区表。
除了 TFTP 和 DHCP 服务器外,还需要一个 NFS、FTP 或 HTTP 服务器来保存 Citrix Hypervisor 安装文件。这些服务器可在同一个服务器上共存,也可分布在网络中的不同服务器上。
注意:
带标记的 VLAN 网络不支持 PXE 引导。确保未标记用于 PXE 引导的 VLAN 网络。
此外,每个要进行 PXE 引导的 Citrix Hypervisor 服务器都必须具有一个启用了 PXE 引导的以太网卡。
以下步骤假定所用 Linux 服务器支持 RPM。
将 TFTP 服务器配置为进行 PXE 引导
-
在 TFTP 根目录(例如
/tftpboot
)中,创建一个名为xenserver
的目录。 -
将
mboot.c32
和pxelinux.0
文件从安装介质的/boot/pxelinux
目录复制到 TFTP 根目录。注意:
我们强烈建议您使用来自同一来源(例如,来自同一 Citrix Hypervisor ISO)的
mboot.c32
和pxelinux.0
文件。 -
将以下文件从 Citrix Hypervisor 安装介质复制到 TFTP 服务器上的新
xenserver
目录中:- 根目录中的
install.img
-
/boot
目录中的vmlinuz
-
/boot
目录中的xen.gz
- 根目录中的
-
在 TFTP 根目录(例如,
/tftpboot
)中,创建一个名为pxelinux.cfg
的目录。 -
在
pxelinux.cfg
目录中,创建名为default
的配置文件。此文件的内容取决于您希望如何配置 PXE 引导环境以及适合您的服务器的值。
下面列出了两个示例配置:
-
示例:无人参与安装 此示例配置会使用指定 URL 处的应答文件执行无人参与安装:
default xenserver-auto label xenserver-auto kernel mboot.c32 append xenserver/xen.gz dom0_max_vcpus=1-16 \ dom0_mem=max:8192M com1=115200,8n1 \ console=com1,vga --- xenserver/vmlinuz \ console=hvc0 console=tty0 \ answerfile=<http://pxehost.example.com/answer_file> \ answerfile_device=<device> \ install --- xenserver/install.img <!--NeedCopy-->
注意:
要指定用于检索应答文件的网络适配器,请将
answerfile_device=ethX
或answerfile_device=MAC
参数包括在内,并指定该设备的以太网设备号或 MAC 地址。有关使用应答文件的详细信息,请参阅为无人参与的 PXE 和 UEFI 安装创建应答文件。
-
示例:手动安装 此示例配置会启动从 TFTP 服务器引导的在任何计算机上进行的安装且需要手动响应:
default xenserver label xenserver kernel mboot.c32 append xenserver/xen.gz dom0_max_vcpus=1-16 \ dom0_mem=max:8192M com1=115200,8n1 \ console=com1,vga --- xenserver/vmlinuz \ console=hvc0 console=tty0 \ --- xenserver/install.img <!--NeedCopy-->
有关 PXE 配置文件内容的详细信息,请参阅 SYSLINUX Web 站点。
-
将 TFTP 服务器配置为进行 UEFI 引导
要将 TFTP 服务器配置为进行 UEFI 引导,请执行以下操作:
-
在 TFPT 根目录(例如,
/tftpboot
)中,创建一个名为EFI/xenserver
的目录。 -
配置 DHCP 服务器以提供
/EFI/xenserver/grubx64.efi
作为引导文件。 -
创建
grub.cfg
文件。例如:-
对于需要手动响应安装提示的安装:
menuentry "Citrix Hypervisor 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-->
-
对于使用应答文件的无人参与安装:
menuentry "Citrix Hypervisor 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=eth0 answerfile=http://<ip_address>/<path_to_answer_file> install module2 /EFI/xenserver/install.img } <!--NeedCopy-->
有关使用应答文件的详细信息,请参阅为无人参与的 PXE 和 UEFI 安装创建应答文件。
-
-
将
grub.cfg
文件复制到 TFTP 服务器上的EFI/xenserver
目录。 -
将以下文件从 Citrix Hypervisor 安装介质复制到 TFTP 服务器上的新
EFI/xenserver
目录中:-
/EFI/xenserver
目录中的grubx64.efi
- 根目录中的
install.img
-
/boot
目录中的vmlinuz
-
/boot
目录中的xen.gz
-
有关特定操作系统的详细信息,请参阅服务器操作系统手册。此处提供的信息可用作 Red Hat、Fedora 和一些基于 RPM 的其他版本的指南。
要在 HTTP、FTP 或 NFS 服务器上设置 Citrix Hypervisor 安装介质,请执行以下操作:
-
在服务器上,创建将通过 HTTP、FTP 或 NFS 从其导出 Citrix Hypervisor 安装介质的目录。
-
将 Citrix Hypervisor 安装介质的全部内容复制到 HTTP、FTP 或 NFS 服务器上新创建的目录中。此目录将是您的安装库。
注意:
复制 Citrix Hypervisor 安装介质时,请务必将文件
.treeinfo
复制到新创建的目录。
要准备目标系统,请执行以下操作:
-
启动系统并进入引导菜单(在大多数 BIOS 程序中按 F12 键)。
-
选择从以太网卡进行引导。
-
然后,系统将从您设置的安装源进行 PXE 引导并开始执行安装脚本。如果您设置了一个应答文件,则以无人参与方式执行安装。
在 Citrix Hypervisor 安装期间安装补充包
通过将软件安装到控制域 (Dom0),可以使用补充包来修改和扩展 Citrix Hypervisor 的功能。例如,OEM 合作伙伴可能希望在 Citrix Hypervisor 中随附一套需要安装 SNMP 代理才能使用的管理工具。用户可以在初始 Citrix Hypervisor 安装过程中或以后的任意时间添加补充包。
在 Citrix Hypervisor 安装期间安装补充包时,请将每个补充包解压到一个单独的目录中。
此外,还存在一些可供 OEM 合作伙伴在将补充包添加到 Citrix Hypervisor 安装存储库时使用的工具,以允许自动执行出厂安装。
创建无人参与 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/citrix-hypervisor/</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>
<!--NeedCopy-->
包含名为 installation 的根节点中的所有节点。
注意:
要启用精简预配,请将
srtype
属性指定为ext
。如果不指定该属性,则默认本地存储类型为 LVM。精简预配将本地存储类型设置为 EXT4 并启用本地缓存,以便 Citrix Virtual Desktops 能够正常运行。有关详细信息,请参阅存储。
使用应答文件自动升级
还可以通过适当更改应答文件来执行自动升级。
- 将
installation
元素的mode
属性设置为upgrade
。 - 使用
existing-installation
元素指定现有安装所在的磁盘。 - 将
primary-disk
和guest-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>
<!--NeedCopy-->
应答文件参考
下表汇总了相应的元素。除非另行说明,否则所有值都是文本。表中指明了哪些是必需的元素。
<installation>
必需? 是
说明: 包含所有其他元素的根元素。
属性:
- 要启用精简预配,请将
srtype
属性指定为ext
。如果不指定该属性,则默认本地存储类型为 LVM。精简预配将本地存储类型设置为 EXT4 并启用本地缓存,以便 Citrix Virtual Desktops 能够正常运行。有关详细信息,请参阅存储。 - 要将安装类型更改为升级,请指定值为
upgrade
的mode
属性 。如果未指定此属性,安装程序将执行全新安装并覆盖服务器上的所有现有数据。
<primary-disk>
必需? 是
注意:
不推荐用于升级场景。
说明: 安装了控制域的存储设备的名称。此元素相当于在手动安装过程的选择主磁盘步骤中所做的选择。
属性: 可以指定 guest-storage
属性,可能的值为 yes
和 no
。
例如:<primary-disk guest-storage="no">sda</primary-disk>
默认值为 yes
。如果指定 no
,则可以自动执行不创建任何存储库的安装场景。在这种情况下,请不要指定任何 guest-disk 键。
<guest-disk>
必需? 否
说明: 用于存储来宾的存储设备的名称。对每个附加磁盘使用其中一个元素。
属性: 无
<keymap>
必需? 否
说明: 安装期间使用的键映射名称。<keymap>us</keymap>
如果不为此元素指定一个值,请考虑默认值 us
。
属性: 无
<root-password>
必填: 否
说明: Citrix Hypervisor 服务器所需的 root 密码。如果未提供密码,在首次引导服务器时将显示一个提示。
属性: 可以将 type
指定为 hash
或 plaintext
例如:
<root-password type="hash">hashedpassword</root-password>
<!--NeedCopy-->
哈希值可以使用 crypt(3)
中的 glibc
支持的任何哈希类型。默认哈希类型为 SHA-512。
可以使用以下 Python 代码生成哈希密码字符串以包含在应答文件中:
python -c 'import crypt; print(crypt.crypt("mypasswordhere", crypt.mksalt(crypt.METHOD_SHA512)))'
<!--NeedCopy-->
<source>
必填: 是
说明: 上载的 Citrix Hypervisor 安装介质或补充包的位置。此元素可以出现多次。
属性: 属性 type
可以具有以下值之一:url
、nfs
或 local
。
如果值为 local
,请将元素保留为空。例如,
<source type="url">http://server/packages</source>
<source type="local" />
<source type="nfs">server:/packages</source>
<!--NeedCopy-->
<script>
必填: 否
说明: 安装后脚本所在的位置。
属性:
属性 stage
可以具有以下值之一:filesystem-populated
、installation-start
或 installation-complete
-
使用值
filesystem-populated
时,脚本将仅在卸载根文件系统之前运行(例如,安装/升级后、initrd 已构建等)。该脚本将接收指示根文件系统装载点参数。 -
使用
installation-start
值时,脚本在启动主安装序列之前运行,但在安装程序初始化、加载所有驱动程序并处理应答文件之后运行。该脚本不接收任何参数。 -
使用值
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>
<!--NeedCopy-->
注意:
如果使用本地文件,请确保路径为绝对路径。这通常意味着,
file://
前缀将依次后跟另一个正斜线以及脚本的完整路径。
<admin-interface>
必需: 有时
注意:
在安装/重新安装过程中需要,但在升级或还原过程中不需要。
说明: 用作主机管理接口的单一网络接口。
属性:
指定以下属性之一:
-
name
- 您的网络接口的名称,例如eth0
。 -
hwaddr
- 您的网络接口的 MAC 地址,例如00:00:11:aa:bb:cc
。
属性 proto
可以具有以下值之一:dhcp
或 static
如果指定 proto="static"
,还必须指定所有这些子元素:
子元素
-
<ipaddr>
:IP 地址 -
<subnet>
:子网掩码 -
<gateway>
:网关
<timezone>
必填: 否
说明: TZ 变量使用的时区格式,例如 Europe/London 或 America/Los_Angeles。默认值为 Etc/UTC
。
<name-server>
必填: 否
说明: 名称服务器的 IP 地址。请对要使用的每个名称服务器使用这些元素中的一个元素。
<hostname>
必填: 否
说明: 如果要手动设置主机名,请指定此元素。
<ntp-server>
必填: 否
说明: 指定一个或多个 NTP 服务器。