如何在 KVM 虚拟机下在 Openstack 上运行 ESXi
Posted
技术标签:
【中文标题】如何在 KVM 虚拟机下在 Openstack 上运行 ESXi【英文标题】:How to run ESXi on Openstack under a KVM VM 【发布时间】:2021-12-23 17:43:23 【问题描述】:我们使用 KVM 作为管理程序运行 Openstack,现在需要在 VM 中运行 ESXi 6 或 7(嵌套虚拟化)。这主要是为了将磁盘转换为正确的vmdk
磁盘,而不是真正在 ESXi 下运行任何虚拟机(这就是我们不使用准系统并将 esxi 作为 hv 运行的原因)
我们在 Proxmox 下运行同样的设置没有更大的问题,主要是使用 NIX 的 vmxnet
驱动程序。这正是我们使用 Openstack 失败的地方。好像没有这个驱动,用e1000不行。引导安装 iso
最终导致“找不到 nic”。
我们在内核 5.10/5.14 上使用 Openstack Xena 和 Debian-Buster 作为计算(运行 libvirt)。
任何提示如何启动和运行?
【问题讨论】:
我发现github.com/virt-lightning/esxi-cloud-images 假设这是有效的,但不清楚 7.x 是否有效。问题是,在 VMware 网站上下载 6.x iso 不再起作用 我可以通过使用 6.5 的 esxi-cloud-image 安装程序让它工作。使用 e1000 时似乎无法通过 iso 在 OpenStack 上安装 - 在我的本地 libvirt(arch)上安装似乎可以工作。然后导入 qcow 也适用于 openstack。 【参考方案1】:使用https://github.com/virt-lightning/esxi-cloud-images 我设法让它适用于 6.5/6.7 但不适用于 7.0。
似乎无法通过 ISO 在 OpenStack 实例本身(直接)上安装 ESXi,因为无论您使用 e1000
(6.x) 还是 e1000e
(7.x) 进行安装,安装程序在安装过程中将无法找到网卡。同样对于 Openstack 下的 6.x 安装程序,它找不到任何磁盘(带或不带 SATA 标志)。
相反,我使用上面的 repo 构建了一个通过 qcow
发送的预安装 esxi 映像 - 它构建在我的本地计算机上,因此构建在我的本地 libvirt 上。还不知道为什么这会产生巨大的差异,也许是基于 nova 的抽象或其他东西阻碍了 Openstack(尚未验证)。
在本地构建基于 6.5/6.7 的 qcow2 映像,通过 Glance 导入(确保使用 e1000 用于 6.x,使用 e1000e 用于 7.x),然后创建一个新实例。
这将使您在 6.5/6.7 上启动并运行正确的 DHCP 和网络配置。 对于 7.x,检测到接口,但不知何故 DHCP 不起作用。我尝试使用 q35 和其他其他选项,但在知道之前无法让 7.x 工作。
我在https://github.com/EugenMayer/esxi-cloud-images 创建了一个分支
正确公开可以登录的凭据 使用作者预定义的公钥删除 ansible zuul 用户 清理自述文件【讨论】:
以上是关于如何在 KVM 虚拟机下在 Openstack 上运行 ESXi的主要内容,如果未能解决你的问题,请参考以下文章