由于我的 IBM Blade Center H 无法从 CDROM 启动 HS22 Blades,因此对我来说最好的选择是通过网络安装。因此,我尝试设置 XenServer 7.1.0 安装的 PXE 启动。我正在关注Citrix 安装指南附录 C,第 37 页及后续页面。
我的 Blade 启动到 grub 控制台,但未加载安装系统。因此我猜 tftp 和 dhcp 工作正常。
安装指南第 38 页指出:
配置 TFTP 服务器以进行 UEFI 启动
要为 UEFI 启动配置 TFTP 服务器:
- 在 /tftpboot 目录中,创建一个名为 EFI/xenserver 的新目录。
- 配置您的 DHCP 服务器以提供 /EFI/xenserver/grubx64.efi 作为启动文件。
- 创建 grub.cfg 文件。例如:
menuentry "XenServer 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 }
将 grub.cfg 文件复制到 TFTP 服务器上的 /tftpboot/EFI/xenserver 目录。
从 XenServer 安装介质中,将文件 grubx64.efi 、 install.img (来自根目录)、 vmlinuz 和 xen.gz (来自 /boot 目录)复制到 TFTP 服务器上的新 /tftpboot/EFI/ xenserver 目录。注意:以下示例显示如何配置安装程序以在物理控制台 tty0 上运行。要使用不同的默认值,请确保要使用的控制台位于最左侧。
好的,由于 ISO 根目录中没有 grubx64.efi 文件,因此我从 /EFI/xenserver 中获取了一个。
然后,下面没有任何内容,只是出现了这一段配置。我不知道该怎么处理它,所以我的问题可能出在这里:
> 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
答案1
我没有找到真正的解决方案,但是:
由于某种原因,root
grub 中的变量未设置,因此 grub 找不到配置文件。
我的解决方法是在 grub 控制台中手动设置变量并加载配置
set root=(tftp,192.168.xxx)
configfile /EFI/xenserver/grub.cfg
还需要采用 grub.cfg 才能在本地屏幕上查看安装程序:
menuentry "XenServer 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 console=tty0
module2 /EFI/xenserver/install.img }
答案2
我必须将您的配置修改为类似的东西 - 这是使用 IPXE。我发现本文来自 Citrix显示使用 ram 磁盘作为 root。我对 pxe 和 ipxe 启动一窍不通,但最终这对我来说是可行的配置。我基本上看到了模块IPXE 中的部分涉及---在 pxelinux 中。似乎您可以在 pxelinux.cfg 的 vmlinuz 部分中设置根。
:xen
kernel ${base}/XenServer-7.4/boot/xen dom0_max_vcpus=1 dom0_mem=max:1G com1=115200,8n1 console=com1,vga
module ${base}/XenServer-7.4/boot/vmlinuz ramdisk_size=100000 root=dev/ram0 console=hvc0 console=tty0
module ${base}/XenServer-7.4/install.img
boot || goto failed
goto menu