openstack - 如何在 KVM 虚拟机下在 Openstack 上运行 ESXi
问题描述
我们使用 KVM 作为管理程序运行 Openstack,现在需要在 VM 中运行 ESXi 6 或 7(嵌套虚拟化)。这主要是为了将磁盘转换为正确的vmdk
磁盘,而不是真正在 ESXi 下运行任何虚拟机(这就是我们不使用准系统并将 esxi 作为 hv 运行的原因)
我们在 Proxmox 下运行同样的设置,没有更大的问题,主要是使用vmxnet
NIX 的驱动程序。这正是我们使用 Openstack 失败的地方。好像没有这个驱动,用e1000不行。引导安装iso
最终会导致“找不到 nic”。
我们在内核 5.10/5.14 上使用 Openstack Xena 和 Debian-Buster 作为计算(运行 libvirt)。
任何提示如何启动和运行?
解决方案
使用https://github.com/virt-lightning/esxi-cloud-images我设法让它适用于 6.5/6.7 但不适用于 7.0。
似乎无法通过 ISO 在 OpenStack 实例本身(直接)上安装 ESXi,因为无论您使用e1000
(6.x) 还是e1000e
(7.x) 进行安装,安装程序都无法找到安装过程中的 NIC。同样对于 Openstack 下的 6.x 安装程序,它找不到任何磁盘(有或没有 SATA 标志)。
相反,我使用上面的 repo 构建了一个预安装的 esxi 映像qcow
,它是在我的本地机器上构建的,因此是在我的本地 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 usere
- 清理自述文件
推荐阅读
- java - android studio:如何在 ImageView 中获取随机图像,并与微调器项目选择配对以获取“正确”吐司消息
- mysql - 是否可以在 gorm Begin() 中嵌套事务?
- jquery - 我怎样才能在这个符号之前换行而不破坏现有的html
- python - 将文件行读入 xargs 以实现并行 python 脚本
- amazon-web-services - 尝试连接到 SSH 导致无法通过尝试无限期设置 SSH 主机来使用 VScode
- powerapps - 如何在我的电源应用程序中对图标进行编程以触发点击我的相机控件?
- macos - M1 Mac Think Or Swim 原生安装
- c - 读取用户输入的文件并返回第一行的 C 程序
- android - 如何避免从第二个列表中删除项目会影响 kotlin 中的原始列表
- python - 如何为客户最近遇到的分类模型分配更高的权重?