Nested Hypervisor: 公有云迁移技术

Oracle 2016年2月22日收购了Ravello,一个做nested hypervisor的公司。新东西层出不穷,又需要做功课了。

nested hypervisor的意思,就是hypervisor里再放hypervisor,虚拟机里放虚拟机,够绕的,再加上网上的文章偏于宣传,也是绕来绕去,不触及实质问题,我的头也nested(绕晕了)。

不过最终还是找到了几篇说的清楚的文章:
1. Ravello: An interesting solution using Nested Virtualization | virtuallyGhetto
2. Ravello在USENIX上发布的论文
3. VM社区的文章:Running Nested VMs

先来看VMware的这篇文章,老大就是老大,人家2008年就有这技术了,而且解释的很清楚:

The phrase “running nested VMs” refers to running a VM inside another VM. The outer guest is the VM that runs on physical hardware. The inner guest (or nested guest) is the VM that runs within another VM. The host hypervisor is the hypervisor that runs on the physical hardware. The guest hypervisor is the hypervisor that runs within a VM. To avoid confusion, we will not consider deeper levels of nesting here.

这说的不就是在VMware ESXi 上装一个VMware workstation吗。

其实,说清楚Ravello的Nested Hypervisor, 看下面一张图就够了,这种图来做USENIX的论文,不长,就6页,而且你看到第3页就懂了:

这里写图片描述

Ravello做的是中间3层黑色的部分,它的目的就是把自己伪装成ESXi或KVM(Xen不确定是否支持),然后来自于ESXi和KVM的虚拟机就可以不经修改的运行在公有云上了。

比较不好理解的是最底下的两层,所谓Cloud VM hardware就是公有云上运行的虚拟硬件,而Linux实际上是个虚拟机,为什么选用Linux,因为Linux对于硬件虚拟化的驱动支持较多。所以,这种图比较坑爹的是还应该在最下面再画一个hypervisor,这才能说明nested的意思。也就是Ravello的HVX hypervisor 实际上是运行在另一个hypervisor之中的。
对于Amazon EC2就是Xen,对于HP cloud就是KVM,对于私有云通常是ESXi。

nested hypervisor产生的目的,实际上是方便了私有云向公有云,以及公有云之间的虚拟机迁移。但可以想象,由于多了一层hypervisor,那么性能多少受些影响,具体自己去测。

https://www.ravellosystems.com/technology/hvx 上还有一张图,高大上点,意思和前面那张差不多:

这里写图片描述

不过底层哪个CLOUD VM,概念上就清晰多了。

想起昨天在coherence 3.5一书中看到Bellovin 教授所说的一句话,用在这里真是再合适不过了:

any software problem can be solved by adding another layer of indirection

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值