[发明专利]虚拟机在线迁移的方法、装置和终端设备有效
| 申请号: | 201210398042.6 | 申请日: | 2012-10-18 |
| 公开(公告)号: | CN102917055A | 公开(公告)日: | 2013-02-06 |
| 发明(设计)人: | 向光蓉 | 申请(专利权)人: | 华为技术有限公司 |
| 主分类号: | H04L29/08 | 分类号: | H04L29/08;H04L12/701 |
| 代理公司: | 北京三高永信知识产权代理有限责任公司 11138 | 代理人: | 黄厚刚 |
| 地址: | 518129 广东*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 虚拟机 在线 迁移 方法 装置 终端设备 | ||
技术领域
本发明涉及通信技术领域,特别涉及一种虚拟机在线迁移的方法、装置和终端设备。
背景技术
VM(Virtual Machine,虚拟机)技术常应用于数据中心、集群计算场合。该技术让多个操作系统可以运行在同一个物理机上,并提供了可靠的隔离,大大提高了物理资源的复用性。而为了实现服务器的在线维护、在线升级和动态负载均衡,可进行在线迁移,也称实时迁移,即是在保持虚拟机运行的同时,把它从一个计算机迁移到另一个计算机,并在目的计算机恢复运行。
目前为止,对于VM的迁移,一般采用了主流的预复制(pre-copy)的策略。虚拟机的迁移是通过源主机和目的主机之间的交互完成的,以预复制方式进行,具体地,预复制方式的在线迁移可以包括:保持VM运行,源主机以循环的方式将VM的内存页复制到目的主机上,在第一轮循环中,所有的内存页都要从源主机传送到目的主机,以后的循环只复制前一轮传送过程中被修改过的页面(脏页面)。停止源主机上的VM,把它的网络连接重定向到目的主机,CPU状态和前一轮传送过程中修改过的页都在这个步骤被传送,最后,源主机和目的主机上有一致的VM映像。源主机确认迁移成功,则抛弃或销毁其上的VM。启动迁移到目的主机上的VM,迁移后使用目的计算机的设备驱动,广播新的IP地址。
在实施本发明的过程中,发明人发现现有技术中至少存在以下缺点:
在进行迁移时,对于更新速度非常快的内存部分,由于其每次循环过程都会变脏,需要重复预复制,同时也导致循环次数非常多,迁移的时间变长。针对这种情况,KVM虚拟机采取了有限循环措施,控制循环次数,也即是对每轮预复制的效果进行计算,若预复制对于减少不一致内存数量的效果不显著,或者循环次数超过了上限,循环将中止,进入停机复制阶段。而在对服务可用性要求很高的场景下,服务器停机是令人难以接受的,一旦已经建立的会话被强制中断,不可避免地会丢失正在传输过程中的报文,进而可能影响数据的一致性和完整性。
发明内容
为了解决现有技术的问题,本发明实施例提供了一种虚拟机在线迁移的方法、装置和终端设备。所述技术方案如下:
一方面,一种虚拟机在线迁移的方法,所述方法包括:
启动在线迁移;
复制虚拟机的内存页面,并向目的主机发送复制的内存页面;
当所述虚拟机中处于更新状态的内存页面数量小于第一预设阈值,将所述虚拟机发送的报文的窗口阈值修改为第二预设阈值,并将修改后的报文发送给目的客户端设备,使得所述目的客户端设备和所述虚拟机之间不继续报文传输;
暂停所述虚拟机的运行,复制所述处于更新状态的内存页面,并向所述目的主机发送复制的所述处于更新状态的内存页面,使得所述虚拟机在线迁移成功。
当所述虚拟机中处于更新状态的内存页面数量小于第一预设阈值,将所述虚拟机发送的报文的窗口阈值修改为第二预设阈值,并将修改后的报文发送给目的客户端设备,使得所述目的客户端设备和所述虚拟机之间不继续报文传输,之后还包括:
缓存各个客户端设备向所述虚拟机发送的报文,并在向所述目的主机发送复制的所述处于更新状态的内存页面之后,向所述目的主机发送缓存的报文。
所述方法还包括:
当所述虚拟机中处于更新状态的内存页面数量小于第一预设阈值,将客户端设备向所述虚拟机发送的报文的窗口阈值修改为第二预设阈值,并将修改后的报文发送给所述虚拟机,使得所述客户端设备和所述虚拟机之间不继续报文传输。
所述第二预设阈值为零。
另一方面,一种虚拟机在线迁移的装置,所述装置包括:
启动模块,用于启动在线迁移;
发送模块,用于复制虚拟机的内存页面,并向目的主机发送复制的内存页面;
阈值修改模块,用于当所述虚拟机中处于更新状态的内存页面数量小于第一预设阈值,将所述虚拟机发送的报文的窗口阈值修改为第二预设阈值,并将修改后的报文发送给目的客户端设备,使得所述目的客户端设备和所述虚拟机之间不继续报文传输;
所述发送模块,还用于暂停所述虚拟机的运行,复制所述处于更新状态的内存页面,并向所述目的主机发送复制的所述处于更新状态的内存页面,使得所述虚拟机在线迁移成功。
所述装置还包括:
缓存模块,用于缓存各个客户端设备向所述虚拟机发送的报文;相应地,所述发送模块还用于在向所述目的主机发送复制的所述处于更新状态的内存页面之后,向所述目的主机发送缓存的报文。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210398042.6/2.html,转载请声明来源钻瓜专利网。





