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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在 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
参考技术A KVM是Linux的一个系统模块,所以你只要在ESXi上安装Linux系统,比如Ubuntu或者CentOS等,再配置好KVM,就可以使用它。
如果你想要ESXi直接运行KVM所支持的img磁盘文件,那么新建一台虚拟机,然后将这个img给软驱加载就可以了,或者用Grub做个启动盘加载也行。
希望对你有所帮助!
参考技术B VPC当中只是让你创建一个虚拟的硬盘镜像而不直接读写你的硬盘数据,但是可以通过VPC当中的扩展选项来实现与本地磁盘的共享,具体方法是:系统启动之后点一下左上角的action,install or update.虚拟光盘里就会插入带有附件模块的光盘,也就是驱动之类的东西。双击就可以安装了。一般也不需要共享文件夹,装过附加模块之后可以直接在虚拟机和实际电脑之间托拽文件。
不知道是不是您要的答案.

VMware ESXI5.5虚拟机更改MAC地址

  上周在盘点和整理服务器信息时,发现一台去年上线的临时服务器(POS查货系统)还运行在PC机上。看样子公司是不打算换新服务器了,为防止出意外打算迁移到VMware虚拟机上。现有vSphere环境可利用资源不多,遂打算把前年更换的A8服务器(已更换OA系统,但原数据要保留3年以上供查询。硬件资源使用率不到一半)重装成vSphere环境,再迁移POS系统到A8服务器上。实施步骤:

一、P2V迁移A8系统到vCenter6.5(ESXI主机为5.5,IBMx3650M2兼容性问题不建议升级),迁移过程比较顺利,由于需修改配置而使用文件级数据迁移,在文件较多的情况下,速度较慢;

二、停止原A8系统,把加密狗插到ESXI主机上,编辑虚拟机设置,新增Host USB Device设备,并选择识别到的加密狗。启动迁移后的虚拟机,安装vmware tools。

三、重启后A8服务无法启动,检查后发现加密狗绑定了网卡的MAC地址,在迁移时没有修改MAC地址,导致MAC地址变更后加载加密狗时报错。

修改虚拟机MAC地址为原物理机MAC地址,解决办法:

1、关闭vm虚拟机,并从清单中移除虚拟机;

2、开启ESXI主机的SSH服务,使用Putty登录到ESXI主机,并进入到虚拟机目录,如下:

# cd /vmfs/volumes/DatastoreName/VMFolderName

技术分享

3、备份原vmname.vmx文件,并修改.vmx文件

# cp vmname.vmx vmname.vmx.old

# vi vmname.vmx 修改或添加以下内容:

ethernetN.checkMACAddress = "false"
ethernetN.addressType = "static"
ethernetN.Address = "XX:XX:XX:XX:XX:XX"

技术分享

其中 XX:XX:XX:XX:XX:XX 是虚拟机的新 MAC 地址。将 ethernetN 中的 N 改为网络适配器值。例如:
网络适配器 1 -> ethernet0
网络适配器 2 -> ethernet1

注意:

修改MAC地址时,也可以在编辑虚拟机设置里,修改网络连接,并指定MAC地址为手动,输入新的MAC地址保存即可。如下图:

技术分享

但修改完成后,启动虚拟机时会报错:Invalid Ethernet address

技术分享

此时需要检查ethernetN.checkMACAddress = "false"是否设置,虚拟网卡类型(Adapter Type)是否为"vmxnet3"。如果为E1000类型,可以删除后重新添加网卡并选择网卡类型为"VMXNET 3"。否则即使修改了.vmx文件,一样会报以上错误。

一开始没有注意到网卡类型的问题,测试修改几次都无法开机。

4、在存储中找到虚拟机vmx文件,并注册虚拟机

技术分享

5、启动虚拟机即可。

参考:迁移到 VMware vCenter Server 5.x 后打开虚拟机电源失败并显示错误:指定的 MAC 地址无效 (2102096)

四、重装原A8服务器为ESXI6.0(Dell R710兼容性最高支持6.0),并加入vCenter6.5。在线迁移A8系统回到原服务器上。

五、P2V迁移POS系统到原A8服务器上,淘汰PC机。

以上是关于如何在 VMware ESXi 虚拟机上运行 KVM的主要内容,如果未能解决你的问题,请参考以下文章

如何在 vmware esxi 虚拟机上运行 kvm

如何在VMware ESXi虚拟机上设置静态MAC地址

vmware esxi服务器无法启动

VMware ESXI5.5虚拟机更改MAC地址

ESXI的虚拟机中VMWare tools 无法安装如何解决

VMware-ESXI上挂载U盘到某台虚拟机上