记得以前就有人问过 “能不能在一个虚拟机上运行虚拟机”,答案当然是可以的,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
运维网声明
1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网 享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com