如何在 VMware ESXi 虚拟机上运行 KVM


记得以前就有人问过“能不能在一个虚拟机上运行虚拟机”,答案当然是可以的,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 = “TRUE”一行:
 
# vi /etc/vmware/config
libdir = "/usr/lib/vmware"
authd.proxy.vim = "vmware-hostd:hostd-vmdb"
authd.proxy.nfc = "vmware-hostd:ha-nfc"
authd.proxy.nfcssl = "vmware-hostd:ha-nfcssl"
authd.proxy.vpxa-nfcssl = "vmware-vpxa:vpxa-nfcssl"
authd.proxy.vpxa-nfc = "vmware-vpxa:vpxa-nfc"
authd.fullpath = "/sbin/authd"
authd.soapServer = "TRUE"
vmauthd.server.alwaysProxy = "TRUE"
vhv.allow = "TRUE"
重启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


相关阅读:
在 CentOS 上安装和配置 KVM.
在 VMware ESXi 上安装 Minix.
在 VMware ESXi 虚拟机上运行不同的 Hypervisor 可以看看 VMware 的Running Nested VMs

相关内容

    暂无相关文章