加入收藏 | 设为首页 | 会员中心 | 我要投稿 济源站长网 (https://www.0391zz.cn/)- 数据工具、数据仓库、行业智能、CDN、运营!
当前位置: 首页 > 教程 > 正文

KVM 嵌套虚拟化说明及使用 virtual ETP 特性

发布时间:2022-06-19 17:35:44 所属栏目:教程 来源:互联网
导读:嵌套虚拟化简介 嵌套虚拟化(nested virtualization、recursive virtualization)是指在虚拟化的客户机中运行一个Hypervisor,从而再虚拟化运行一个客户机。嵌套虚拟化不仅包括相同 Hypervisor的嵌套(如KVM on KVM、Xen on Xen、VMware on VMware等),也包括不同
  嵌套虚拟化简介
 
  嵌套虚拟化(nested virtualization、recursive virtualization)是指在虚拟化的客户机中运行一个Hypervisor,从而再虚拟化运行一个客户机。嵌套虚拟化不仅包括相同 Hypervisor的嵌套(如KVM on KVM、Xen on Xen、VMware on VMware等),也包括不同Hypervisor的相互嵌套(如VMware on KVM、KVM on Xen、Xen on KVM等),根据嵌套虚拟化这个概念可知,不仅包括两层嵌套(如KVM on KVM),还包括多层的嵌套(如KVM on KVM on KVM).
 
  如果嵌套虚拟化比较成熟并商用了,在Amazon上的EC2或者Google的GCE上面租用的虚拟客户机中,就可以自己再使用VMware、KVM、Xen等虚拟机.
 
  KVM嵌套虚拟化的当前状态(virtual EPT)
 
  在两三年前(约2010年),KVM就开始支持嵌套虚拟化,可以向L1提供最基本的CPU硬件虚拟化。然后由于没有EPT的支持,在L1中只能使用 shadow pagetable,其内存访问的效率比较低;最近IBM和Intel(我们team)的工程师开始做一些virtual EPT的工作,可以让L1使用虚拟EPT的特性,从而极大地提高L2中内存访问的效率,有了virtual EPT之后,L2的pagetable就有3种可能的类型:shadow on shadow, shadow on EPT,EPT on EPT(其中EPT on EPT的性能当然是最好的),目前,virtual EPT的patch还没发到upstream KVM中,不过最近应该可以很快进去了.
 
  另外,最近IBM(和Intel)的工程师也在KVM maillist中发了一些关于VMCS shadowing的patch,这个也是可以很好地提高L2的运行效率的(今后可以再说说).
 
  BTW,在最新的Xen中,Intel工程师已经开发了virtual EPT 和 VMCS shadowing等nested中重要feature的patch,并且都已经正式加入到upstream中了的,貌似性能有很大的提高(今后可以有些数据),也可以参考Xen Summit 2013中的一个演讲稿:http://www.slideshare.net/xen_com_mgr/nested-virtualization- update-from-intel
 
  KVM virtual EPT的性能数据
 
  在最新的KVM内核(3.9.0-RCx)中,添加了内部的virtual EPT相关的patch,然后在L2中测试kernel build的效率,这里的嵌套虚拟化是 KVM on KVM 类型.
 
  在一台Ivy Bridge机器上,L2是4 vCPU 和 4GB内存配置,内核编译所需的时间对比如下.
 
  without v-EPT: 32’6″ (32分6秒) –> 是shadow on EPT的情况.
 
  with v-EPT: 9’56″ –> 是 EPT on EPT 的情况.
 
  可见,在KVM虚拟化中使用了virtual EPT的性能,可以让kernel build这个测试场景的性能变为原来的3倍(3X)左右.
 
  相信在最近virtual EPT 和 VMCS shadowing 等patch都加入到upstream KVM中后,KVM的嵌套虚拟化效率会得到很大的提高,从而让嵌套虚拟化成为真正可实际使用的技术.

(编辑:济源站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读