vMotion
论坛 发表于:11年07月11日 14:18 [转载] 51CTO
vMotion
这里再多唠叨几句vMotion技术。vMotion是VMware公司提出的虚拟机动态迁移技术名称(XEN也有相应的XENMotion技术),由于此名称被喊得最早,范围最广,认知度最高,因此下文提到虚拟机迁移技术时大都会使用vMotion来代称。
先要明确vMotion是一项资源管理技术,不是高可靠性技术,如果你的某台服务器或VM突然宕机了,vMotion是无助于应用访问进行故障切换和快速恢复的。vMotion是将一个正常的处于服务提供中的VM从一台物理服务器搬家到另一台物理服务器的技术,vMotion的目的是尽可能方便的为服务管理人员提供资源调度转移手段,当物理服务器需要更换配件关机重启啦,当数据中心需要扩容重新安排资源啦,这种时候vMotion就会有用武之地了。
设想一下没有vMotion上述迁移工作是怎么完成的,首先需要将原始物理服务器上的VM关机,再将VM文件拷贝到新的物理服务器上,最后将VM启动,整个过程VM对外提供的服务中断会达到几分钟甚至几小时的级别。而且需要来回操作两台物理服务器上的VM,对管理人员来说也很忙叨。
使用vMotion后,两台物理服务器使用共享存储来保存VM文件,这样就节省了上述步骤2中的时间, vMotion只需在两台物理服务器间传递当前的服务状态信息,包括内存和TCP等上层连接表项,状态同步的拷贝时间相对较短,而且同步时原始VM还可以提供服务使其不会中断。同步时间跟VM当前负载情况及迁移网络带宽有关,负载大了或带宽较低使同步时间较长时,有可能会导致vMotion出现概率性失败。当状态同步完成后,原始物理服务器上的VM会关闭,而新服务器上的VM激活(系统已经在状态同步前启动完毕,始终处于等待状态),此时会有个较短的业务中断时间,可以达到秒级。再者vMotion是通过VMware的vCenter管理平台一键化完成的,管理人员处理起来轻松了许多。
这里要注意vMotion也一定会出现业务中断,只是时间长短区别,不要轻易被一些宣传所忽悠。想想原理,不论怎么同步状态,只要始终有新建发生,在同步过程中原始服务器上新建立的客户连接,新服务器上都是没有的,切换后这部分连接势必被断开重建,零丢包只能是理想值。VMware也同样建议将vMotion动作安排在业务量最少的时候进行。
vMotion什么场景适用呢?首先肯定得是一虚多的VM应用场景,然后是对外业务中断恢复的可靠性要求极高,一般都是7*24小时不间断应用服务才用得上,最后是计算节点规模始终在不断增长,资源调度频繁,管理维护工作量大的数据中心。
另外共享存储这个强制要求会给数据中心带来了整体部署上的限制,尤其是下面提到的跨数据中心站点vMotion时,跨站点共享存储的问题解决起来是很麻烦的,由于这部分内容和网络关系不大,属于存储厂商的地盘,对跨站点共享存储技术有兴趣的读者可以参考EMC/IBM等厂商的资料看看,本文就不过多介绍了。
vMotion的出现推动了数据中心站点间大二层互联和多站点动态选路的网络需求,从而导致OTV和LISP等一系列新网络技术的出现。