Vagrant 在ESXi上的VMWare VM上运行Virtualbox

Vagrant 在ESXi上的VMWare VM上运行Virtualbox,vagrant,chef-infra,virtualbox,vmware,Vagrant,Chef Infra,Virtualbox,Vmware,我正在尝试运行Chef/Kitchen测试,在ESXi VMWare群集来宾上使用Vagrant/Virtualbox测试cookbook集成。我可能会转移到一个VMWare版本的Kitchen/Vagrant,并在某个时候删除Virtualbox部分,但希望先看到这项工作 我在虚拟机中启用了虚拟化支持,因此它可以正常工作,但速度非常慢。如果在我的桌面上完成完整的聚合只需不到4分钟,那么在虚拟机中需要将近40分钟。检查VMWare虚拟机上的性能,这似乎是可以接受的,但其中的VirtualBox虚

我正在尝试运行Chef/Kitchen测试,在ESXi VMWare群集来宾上使用Vagrant/Virtualbox测试cookbook集成。我可能会转移到一个VMWare版本的Kitchen/Vagrant,并在某个时候删除Virtualbox部分,但希望先看到这项工作

我在虚拟机中启用了虚拟化支持,因此它可以正常工作,但速度非常慢。如果在我的桌面上完成完整的聚合只需不到4分钟,那么在虚拟机中需要将近40分钟。检查VMWare虚拟机上的性能,这似乎是可以接受的,但其中的VirtualBox虚拟机具有非常高的硬件中断服务。所有其他指标似乎都接近平均水平。在正常系统下,HI很少得到1-2左右,即使在Virtualbox来宾中处于空闲状态,HI也会稳定地>30,并且经常超过50


关于要查找什么或我可能错过的神奇设置的任何想法?

在虚拟环境中运行的VirtualBox只能使用“软件”虚拟化。当然慢了。这将消耗大量处理器时间。主机系统中的ESXi使用硬件加速(VT-x或类似),it性能接近真实主机性能。您不应该在VM上安装VM。

在阅读了itfdev在上链接的非常有用的文章后,我发现由于以下引用,我想做的事情可能总是很慢:

磁盘性能 在我最初的嵌套VM实验中,我观察到嵌套VM的性能明显下降。我最初的实验主要是在嵌套的虚拟机上安装操作系统。安装操作系统通常是一项磁盘密集型活动

磁盘虚拟化比大多数虚拟化都要昂贵。嵌套虚拟化磁盘将比其他虚拟化组件更快地积累“虚拟化债务”。简短但杂乱无章的解释是这样的:

在我的内部VM中,我向“磁盘”写入一个块。这将遍历内部操作系统的文件系统代码,并映射到内部VM的虚拟块设备上的扇区。写入是传递到外部VM、遍历文件系统代码并映射到外部VM的虚拟块设备的过程。最后,将块传递到主机(物理)文件系统,映射到扇区,最后 放置在实际的物理设备上。-如果你的头现在在旋转,它会旋转
应该是。这是块通过其最终物理写入路径上的文件系统代码的三倍

这个问题在虚拟化社区中是可以理解的,并且有一些方法可以根据安装的要求避免不同程度的惩罚。我这里不谈这些。我的观点是:若您觉得嵌套VM的速度很慢,这可能是原因之一


VirtualBox inside使用VT-x实现64位兼容性。这是我必须打开的东西,主机VM才能传递到Virtualbox VM。如果你真的需要这个。。。你读过这篇文章吗?这个链接有一个很好的分段,它很好地回答了为什么会这样,而且很可能会一直很慢。