VMotion大揭密

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

你可能感兴趣的:(vmware,职场,虚拟化,休闲,Vmotion)