使用virt-install
创建guest时,CentOS 7.9云镜像成功获取IP地址,可以用sudo virsh domifaddr <domain>
. 但是,Ubuntu 20.04 LTS 云映像不能,无论我做什么,它都不会被分配 IP 地址。它成功启动,我可以使用 看到登录提示sudo virsh console <domain>
,但我无法 ssh 进入它,因为没有分配 IP。我正在使用 virt-manager 的默认网络。sudo iptables -S
显示接受主机上 DHCP 端口的传入和持续流量的规则。
任何帮助是极大的赞赏。
显然,使用该
virt-resize
实用程序会以某种方式破坏 Ubuntu 云映像,并且无法启动 DHCP 服务(需要确认)。我停止使用virt-resize
并开始仅使用qemu-img create
并提供 size 参数,现在 DHCP 可以按预期工作,并且为虚拟机分配了 IP 地址。显然,不仅是 virt-resize,还有 virt-customize 和 virt-sysprep。似乎 virt-* 与 RHEL 系列(centos、fedora、rhel)有更好的兼容性 - RedHat 是拥有 KVM 的公司,这可能不太稳定 - 使用 Ubuntu 时,最好坚持使用 cloud-init。使用 cloud-init 设置好东西后,您仍然可以使用 libvirt 套件来管理 VM。
如果您使用 virt-* 自定义 ubuntu 云映像,OpenBSD ssh 服务器可能无法启动,因为 tehre 是缺少主机 ssh 密钥。您可以通过在来宾操作系统中运行 ssh-keygen -A 来解决这个问题(通过 virt-customize 或 cloud-init)