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

2025-02-26 14:40:59
推荐回答(3个)
回答1:

记得以前就有人问过“能不能在一个虚拟机上运行虚拟机”,答案当然是可以的,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

回答2:

KVM是Linux的一个系统模块,所以你只要在ESXi上安装Linux系统,比如Ubuntu或者CentOS等,再配置好KVM,就可以使用它。
如果你想要ESXi直接运行KVM所支持的img磁盘文件,那么新建一台虚拟机,然后将这个img给软驱加载就可以了,或者用Grub做个启动盘加载也行。
希望对你有所帮助!

回答3:

VPC当中只是让你创建一个虚拟的硬盘镜像而不直接读写你的硬盘数据,但是可以通过VPC当中的扩展选项来实现与本地磁盘的共享,具体方法是:系统启动之后点一下左上角的action,install or update.虚拟光盘里就会插入带有附件模块的光盘,也就是驱动之类的东西。双击就可以安装了。一般也不需要共享文件夹,装过附加模块之后可以直接在虚拟机和实际电脑之间托拽文件。
不知道是不是您要的答案.