VMware VMotion的重要性自然是不言而喻,VMware VMotion能够在两台正在运行的服务器之间进行实时迁移,具有零停机性能,能够大幅度提高了服务器的可用性,保证交易数据的完整性。用户可以手工迁移服务器上的虚拟机至另外一台服务器,从而在不间断服务的情况下,升级和维护原来的服务器。多个服务器之间可以自动迁移虚拟机,从而达到负载均衡,提高资源利用率的目的。同时,这项技术还可以实现双机或多机热备,保证了服务的高可用性。
那么这项技术实现的关键原理是什么呢?VMotion从一台物理服务器将虚拟机迁移到另外一台虚拟机要用到下述三项技术:
1. 虚拟机的全部状态信息被压缩在一套存储于共享存储器的文件中。作为载体的存储器类型可以是光纤通道(Fibre Channel),iSCSI存储区域网络(iSCSI Storage Area Network,SAN)或者网络附加存储器(Network Attached Storage,NAS)。VMware的群集虚拟机系统(VMFS)允许多台ESX服务器同时访问同一个虚拟机文件。
2. 虚拟机的动态内存和执行状态在一个高速的网络上进行快速传输,允许虚拟机即时地在源ESX服务器和目标ESX服务器之间进行信息交换。在迁移过程中,VMotion只是在点阵图里对信息交换进行监控,所以整个转移过程对用户来说是透明的。一旦整个内存和系统状态全部复制到目标ESX服务器中,VMotion就会自动终止源虚拟机,同时将点阵图转移到目标ESX服务器中,并在目标ESX服务器中重新启动虚拟机。上述整个操作假如是在一个千兆以太网络中进行,那么不用两秒的时间就可以完成。
3. 虚拟机使用的网络同样也会被目标ESX服务器虚拟化,确保在实时迁移之后,虚拟机的网络身份和连接能够得到保留。VMotion将MAC地址作为进程的一部分来进行管理。一旦目标机被激活,VMotion会检查网络路由器来确保它能识别虚拟机MAC地址新的物理位置。由于虚拟机使用VMotion来进行实时迁移,它的执行状态,网络身份和动态链接都能够得到保护,所以对于用户来说,整个迁移过程并没有引起服务器停机或者网络中断。