在云数据中心环境中虚机迁移是最常见的,可通过管理员手工迁移以及通过虚机自动感知服务器负载来动态迁移,无论哪种迁移方式都要尽量做到迁移前后用户无感知,也是最基本的要求。
虚机迁移会关注2点1.虚机配置文件、2.虚机内存。配置文件一般存储在存储设备上的,而迁移前后绝大多数都是共享存储,而内存就不同了,虚机内存分布在每个物理服务器上,为保障虚机迁移前后用户无感知,需要通过严谨科学的内存搬运方法,实现迁移前后用户无感知的终极目标。
主机虚拟化软件可以做到灵活且可靠的虚机内存搬运。假设5点钟做虚机迁移,那5点时的内存状态会被锁定,锁定后的内存状态会被通过集群服务器环境下的管理网络传到目标物理服务器的内存中,在5点钟源服务器内存状态被锁定的同时,会在源服务器内存中其他区域开辟一个新的内存空间,用于存取新时间段的数据内容。接着继续使用迭代的方法锁定刚刚开辟的内存空间,同时另外开辟一块内存空间用于最新时间用户的数据写入,然后继续通过服务器管理网络传输锁定好的虚机内存。依此类推、层层迭代,直至新服务器内存里的数据搬运过程中路上消耗的时间小于一个CPU周期的时候即可停止,用户侧此时用户侧此时可以做到无感知。
此时即可把原服务器上的原虚机可以关闭,同时目标服务器上的目标虚机开启此时便完成了虚机迁移,迁移前后硬盘数据并没有改变(因为使用的共享存储)、内存也已经从一端迁移到了另一端,新虚机运行的状态在迁移过来的内存中都有,所以虚机开机会马上运行,此时即可关闭原服务器中的原虚机。
这时目标服务器的目标虚机会向外发送ARP,及时更新最新的表项信息。同时SDN控制器会动态建立相应的VXLAN隧道,后续有用户流量下来后可到达迁移后的目标服务器的目标虚机上,自此迁移完成。
以上是我对虚机迁移过程的理解与认识,希望可以给各位兄弟带来帮助,温馨提示:如果您觉得本文对您有用,请在右下角点击“在看”,并欢迎关注我的微信公众号:“ICT售前新说”并欢迎大家转发。