我正在尝试在装有 Windows 8 64 位的主机 Dell Inspiron15R 5521 上的 VMware 中的 Ubuntu 12.04.3 Desktop AMD 64 上安装 OpenStack。
我已按照教程进行操作这里但我收到错误
您的系统未配置为正确运行 KVM。在继续之前调查一下。
在我按照教程中的建议运行命令后
./openstack_networking.sh
答案1
您通常无法在其他虚拟化产品中运行虚拟化产品。在这种情况下,您尝试在另一个虚拟化产品 (VMware) 中运行 KVM(一种虚拟化产品),这在技术上可能是可行的,但在 Dell Inspiron 笔记本电脑上的另一个虚拟机管理程序中运行嵌套虚拟机管理程序的性能可能会完全受到影响。无法使用。
请参阅我对其他 U&L 问答的回答:Proxmox 下的 Virtualbox这可能有助于解释一些问题。该问题涉及不同的虚拟化产品,但这些问题适用于此类别的所有产品。
编辑#1
看完之后@mikeserv 的我做了进一步的挖掘和研究,并确实发现了这篇博客文章,它似乎表明您可以在 VMware Workstation 8 内安装嵌套的 KVM 主机。因此您的情况可能会有所不同。这篇文章的标题是:在 VMware Workstation 8 VM 中嵌套 KVM VM – 如何。
文章解释了以下步骤:
- 在工作站 8 中创建自定义(高级)VM
- 创建时选择“LSI Logic SAS”SCSI 控制器
创建后启动前,自定义处理启用:“虚拟化 Intel VT-x/EPT 或 AMD-V/RVI”。
修改虚拟机的
.vmx
文件。apic.xapic.enabled=FALSE vhv.enable = “TRUE” vcpu.hotadd = “FALSE”
在里面创建一个基于KVM的VM
然而,考虑到这一切,如果这是设置后可用的配置,我仍然会感到震惊。正如迈克雄辩地说的那样,表演很可能是“残暴的”。
答案2
这是我提出的解决方案:
在这博客文章我找到了启用嵌套虚拟化指令的说明ESXi
或者 VMWare Workstation v8
在 Windows 主机上。尽管博主引用了安装Microsoft's HyperV
在他的客人中作为他这样做的目的,相同的配置应该将必要的CPU指令传递给你的客人kvm
模块。相关截图:
同一位博主警告我们:
请记住,嵌套虚拟机管理程序意味着它将运行非常非常慢...
我建议它会(至少)工作是因为...
我知道内核的虚拟机需要支持硬件的虚拟化 CPU 扩展。所以唯一的办法就是启用kvm
当然,是根据您的 CPU 供应商为其提供 AMD-v 或 VT-x cpu 扩展。显然,根据这,从 vSphere 5 开始,可以在虚拟化 64 位来宾中呈现此功能,从而嵌套虚拟化主机。既然你只提到了“VMWare”我不可能确切地知道您正在尝试使用他们的哪些产品 - 每个产品都有不同的功能。
但这里是安装说明VMWare's ESXi
在VMWare Workstation
在 Windows 主机上。只要能够做到这一点,我就相信这也一定是可能的kvm.
我自己的 AMD 架构多年来一直支持 AMD-Vi(或包含 IOMMU 的嵌套虚拟化)。根据这这kvm
默认情况下会启用可以利用它的功能,但对于英特尔架构而言并非如此。在 Intel 架构上,如果您在启动时不传递此参数,内核似乎会忽略必要的 CPU 扩展:
kvm-intel.nested=1
或者,您可以配置kvm
模块本身通过modprobe
通过将此添加到/etc/modprobe.d/dist.conf:
options kvm-intel nested=y
上面主要关注的是如何启用kvm
主机将虚拟化指令传递给其来宾 - 换句话说,在主机上执行上述操作应该是必要的,但是不是于客。来宾应检测扩展(如果存在)并默认启用该模块(如果已安装)。但对我来说最值得注意的是可能的。
回到2我在页面底部找到了这个附录:
如果您使用 i3 或更高版本的处理器(即,没有 Core 2 Duo),则可以启用嵌套虚拟化技术 (VT)。这允许您在 ESXi 中运行 64 位虚拟机。要启用嵌套 VT,请将此行添加到 ESXi 虚拟机的 .vmx 文件中:
vhv.enable = "TRUE"
再说一次,也许您的所有软件都支持传播 VT-x/EPT 和/或 AMD-Vi,而唯一缺少的部分是您的 CPU 不支持(可能)或者您没有在系统固件中启用它(更有可能)。