在 kickstart 文件中使用固定 IP 时,使用 pxe 的 virt-install 会失败

在 kickstart 文件中使用固定 IP 时,使用 pxe 的 virt-install 会失败

当我在 kickstart 文件中设置固定 IP 时,使用 virt-install 部署 qemu 域 (CentOS 7) 会失败。如果在同一个 kickstart 文件中设置了 dhcp bootproto,则一切正常。

virt-install 命令是:

virt-install --hvm --connect qemu:///system \
--network=bridge:br0 --pxe \
--graphics spice --name=kvm_cos7_docker01 \
--ram=3082 --vcpus=1 \
--os-type=linux --os-variant=centos7.0 \
--disk /dev/vgSATA/lv_kvm_cos7-docker01,device=disk,bus=virtio

pxe 启动正常,我可以选择要执行的操作(centos7 的 kickstart 安装),它照常启动,但在图形部分应该出现时停止。我收到一条错误消息,提示我应选择“vnc”或“text”以继续,但这些都无法使安装程序继续。

KS 文件非常简单,这是(失败的)网络部分:

network  --bootproto=static --ip=192.168.16.16 \
--netmask=255.255.255.0 --gateway=192.168.16.254 \
--nameserver=192.168.16.254 --device=eth0 \
--ipv6=auto --hostname=docker01.crapco.labs \
--activate

下面是使用 dhcp 且一切运行正常时的网络情况:

network  --bootproto=dhcp --device=eth0 --ipv6=auto --activate
network  --hostname=docker01.crapco.labs

kickstart 文件中没有其他更改,并且我已经使用 redhat 的 kickstarter 参考验证了参数。ks 参考

KS 中的固定 IP 与启动 pxe 时使用的 IP 不同,因为它超出了 dhcp 范围。我还没有尝试使用 dhcp 范围内的 IP 和固定分配,但如果可以,那么如何/为什么可以解决这个问题?(将尽快尝试)

只需在 dhcp-scope 中修复租约,并在 kickstart 文件中相应地设置接口 mac 地址:

...
network  --bootproto=static --ip=192.168.16.122 --netmask=255.255.255.0 --gateway=192.168.16.254 --nameserver=192.168.16.254 --device=52:54:00:cf:3d:c4 --ipv6=auto --hostname=docker01.crapco.labs --activate
...

以及 virt-install 命令:

virt-install --hvm --connect qemu:///system --network=bridge:br0,mac=52:54:00:cf:3d:c4 --pxe --graphics spice --name=kvm_cos7_docker01 --ram=3082 --vcpus=1 --os-type=linux --os-variant=centos7.0 --disk /dev/vgSATA/lv_kvm_cos7-docker01,device=disk,bus=virtio

但遗憾的是,问题仍然存在:当在 kickstart 文件中不使用 dhcp 时,选择 vnc 或文本时,安装在完全被阻止。(这些都不能真正解决问题)

为什么让 virt-install 在域的 kickstart / pxe 安装中使用固定 ip 似乎是不可能的?

问题出在其他地方吗?不,不是。显然我没有用 DHCP 范围内的新 IP 更新正确的 KS 文件...

结论:

我猜想 spice 和 kickstart 似乎依赖于它们位于同一个 ip 地址,并且在安装期间进行系统切换(KS 文件中的 ip)会混淆 spice 连接。

我不知道这是否可以通过 spice 和 virt-install 修复,因为我找不到这样的选项在 virt-install 的图形中。

当然,解决方法很简单:只需确保用于启动 pxe 安装的 ip 与 switchroot 之后安装程序中使用的 ip 相同。

答案1

我想我也会将此作为答案发布:

我猜想 spice 和 kickstart 似乎依赖于它们位于同一个 ip 地址,并且在安装期间进行系统切换(KS 文件中的 ip)会混淆 spice 连接。

我不知道这是否可以用 spice 和 virt-install 来解决,因为我在 virt-install 的图形中找不到任何这样的选项。

当然,解决方法很简单:只需确保用于启动 pxe 安装的 ip 与 switchroot 之后安装程序中使用的 ip 相同。

相关内容