<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/ DTD/wml_1.1.xml">

<wml>
<head>
<meta http-equiv="cache-control" content="max-age=180,private" />
</head>
<card title="如何在 VMware ESXi 虚拟机上运行 KVM">
<p>
作者:<a href="index.php?action=showuser&amp;userid=1&amp;hash=">admin</a><br />时间:2013-08-21 15:21<br />分类:<a href="index.php?action=list&amp;cid=3&amp;hash=">电脑技术</a><br />内容:
如何在 VMware ESXi 虚拟机上运行 KVM

记得以前就有人问过 &ldquo;能不能在一个虚拟机上运行虚拟机&rdquo;，答案当然是可以的，Xen HVM, KVM, VMware, Qemu 等 Hypervisor 都可以这样嵌套虚拟，不过由于性能低下实际用处不大。在 VMware ESXi 虚拟机上运行虚拟机，被称为多层虚拟或者嵌套虚拟机（Nested VMs）。如果只有一台电脑想测试多节点 OpenStack 环境的话，使用 VMware ESXi 虚拟几个运行 KVM Hypervisor 的 OpenStack 计算节点是个不错的办法。VMware ESXi 5.0 默认情况下不支持嵌套虚拟，所以在 VMware ESXi 虚拟机里安装完 KVM 以后会发现 KVM 虽然能装但不可用：

# kvm-ok 
INFO: Your CPU does not support KVM extensions
KVM acceleration can NOT be used
解决办法很简单：1、修改 VMware ESXi 的设置；2、修改对应虚拟机的设置。

登陆 VMware ESXi 控制台打开 VMware ESXi 5.0 的 SSH 服务（默认 SSH 服务是关闭的），然后用 ssh 登陆 VMware ESXi 后在 config 文件中最后加入 vhv.allow = &ldquo;TRUE&rdquo; 一行：

# vi /etc/vmware/config
libdir = &quot;/usr/lib/vmware&quot;
authd.proxy.vim = &quot;vmware-hostd:hostd-vmdb&quot;
authd.proxy.nfc = &quot;vmware-hostd:ha-nfc&quot;
authd.proxy.nfcssl = &quot;vmware-hostd:ha-nfcssl&quot;
authd.proxy.vpxa-nfcssl = &quot;vmware-vpxa:vpxa-nfcssl&quot;
authd.proxy.vpxa-nfc = &quot;vmware-vpxa:vpxa-nfc&quot;
authd.fullpath = &quot;/sbin/authd&quot;
authd.soapServer = &quot;TRUE&quot;
vmauthd.server.alwaysProxy = &quot;TRUE&quot;
vhv.allow = &quot;TRUE&quot;
重启 VMware ESXi 后编辑虚拟机选项（需要先关闭虚拟机），打开 Edit virtual machine settings 对话框，在 options 页面的 General Options 选项里把 Guest Operating System 的类型换成 Other 里面的 VMware ESxi 5.x，如图：



 

最后启动虚拟机后再 kvm-ok 一下就可以看到 KVM 可以用了：

# kvm-ok 
INFO: /dev/kvm exists
KVM acceleration can be used</p><p>
<a href="index.php?action=login&amp;hash=">立即登陆发表评论</a><br />
</p>
<p><a href="index.php?action=list&amp;hash=">返回日志列表</a><br /><a href="index.php?action=index&amp;hash=">返回主页</a></p>
</card>
</wml>
