Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1994816
  • 博文数量: 346
  • 博客积分: 10221
  • 博客等级: 上将
  • 技术积分: 4079
  • 用 户 组: 普通用户
  • 注册时间: 2009-06-01 19:43
文章分类

全部博文(346)

文章存档

2012年(1)

2011年(102)

2010年(116)

2009年(127)

我的朋友

分类:

2009-10-14 14:08:13

VMotion作为VMware  VI3vSphere产品系列的一个重要特性,常常让很多用户感到惊奇,具体的实现方式也一直是一个谜。实际上,VMotion已经成为服务器虚拟化的一个标竿,如果没有VMotion功能的虚拟化,根本没办法运行生产环境。既然VMotion如此重要,所以我试着从纯流程的角度来解释VMotion发生时背后的故事,让大家能够更深入理解虚拟化中VMotion的实现机理。
发生VMotion开始时,就相当于在目标机器上创建一个新的虚拟机。在新虚拟机创建过程中的前10%部分和创建其他的虚拟机没什么两样。接下去,我们开始为该虚拟机启动VMM(虚拟机监控程序,是每个虚拟机必备的底层),这实际上就是启动了一个新的虚拟机,并为它清空了一段内存地址。此时,该虚拟机并没有访问磁盘,也没有执行任何指令,它只是准备好了接受内存段,然后填充到它自己的内存页表里。
从虚拟机创建到10%这个点,我们开始从源虚拟机将内存段复制到目标虚拟机,该动作需要的时间取决于网络速度、网络拥塞、虚拟机正在使用的内存大小和内存变化的速度(此时虚拟机仍然在正常运行中)。当完成到80%时,我们假定可以在1秒或更短时间内完成内存复制。接着我们就暂停源虚拟机,复制剩余的内存段,启动目标虚拟机,并且从目标虚拟机上执行反向ARP,让网络交换机知道新的MAC地址。当到达90%,复制最后可能变化的内存到目标虚拟机。接着源虚拟机被破坏(只是解散配置和VMM),从而成功完成该次VMotion
阅读(877) | 评论(0) | 转发(0) |
0

上一篇:ESX使用的TCP/IP端口

下一篇:链接

给主人留下些什么吧!~~