![Ubuntu 20.04云镜像无法获取IP地址](https://linux22.com/image/766991/Ubuntu%2020.04%E4%BA%91%E9%95%9C%E5%83%8F%E6%97%A0%E6%B3%95%E8%8E%B7%E5%8F%96IP%E5%9C%B0%E5%9D%80.png)
当使用virt-install
创建客户机时,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 端口的传入和传出流量的规则。
任何帮助是极大的赞赏。
答案1
显然,不仅有 virt-resize,还有 virt-customize 和 virt-sysprep。virt-* 与 RHEL 系列(centos、fedora、rhel)的兼容性似乎更好 - RedHat 是拥有 KVM 的公司,这可能是可以理解的 - 使用 Ubuntu 时,最好坚持使用 cloud-init。使用 cloud-init 设置内容后,您仍然可以使用 libvirt suite 来管理 VM。
如果您使用 virt-* 自定义 ubuntu 云映像,OpenBSD ssh 服务器可能无法启动,因为缺少主机 ssh 密钥。您可以通过在客户机操作系统中运行 ssh-keygen -A(通过 virt-customize 或 cloud-init)来解决这个问题
答案2
显然,使用该virt-resize
实用程序会以某种方式破坏 Ubuntu 云映像,并且无法启动 DHCP 服务(需要确认)。我停止使用virt-resize
,开始只使用qemu-img create
并提供大小参数,现在 DHCP 可以按预期工作,并且虚拟机被分配了一个 IP 地址。