[发明专利]一种虚拟机热迁移方法及装置在审
申请号: | 201610392077.7 | 申请日: | 2016-06-03 |
公开(公告)号: | CN107465626A | 公开(公告)日: | 2017-12-12 |
发明(设计)人: | 李靖轩;张军伟;刘劲松;刘泓昊 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | H04L12/801 | 分类号: | H04L12/801;H04L12/841;H04L29/08;H04L29/06;H04L1/16;H04L1/18 |
代理公司: | 杭州君度专利代理事务所(特殊普通合伙)33240 | 代理人: | 诸佩艳 |
地址: | 英属开曼群岛大开*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 虚拟机 迁移 方法 装置 | ||
技术领域
本发明属于虚拟机热迁移技术领域,尤其涉及一种虚拟机热迁移方法及装置。
背景技术
虚拟机热迁移:热迁移(Live Migration,又叫动态迁移、实时迁移),即虚拟机保存/恢复(Save/Restore):将整个虚拟机的运行状态完整保存下来,同时可以快速的恢复到原有硬件平台甚至是不同硬件平台上。恢复以后,虚拟机仍旧平滑运行,用户不会察觉到任何差异。目前主要的热迁移技术有XenMotion、VMware的VMotion和微软的Hyper-V Live Migration等。
一般来说,将虚拟机从一台(源端)物理机迁移到另一台(目的端)物理机的过程中,需要将源端虚拟机的内存拷贝到目的端,而在拷贝的过程中,源端虚拟机的内存一直在发生变化。于是,最后需要将源端虚拟机挂起,即操作系统暂时停止对源端虚拟机进程的操作,从而让其内存不再发生变化,并将源端虚拟机的所有“脏内存”全部拷贝到目的端,使目的端虚拟机的内存与源端保持一致,从而使目的端恢复过来后虚拟机的状态与之前挂起前保持一致。由于从源端虚拟机被挂起后,到在目的端把虚拟机重新启用需要一段时间,在这段时间内虚拟机不可用,而这段时间的长短与虚拟机最后一轮拷贝的“脏内存”的大小有关,当脏内存较大时,最后一轮拷贝的时间比较长,导致虚拟机不可用的时间比较长。因此,对于虚拟机内部的TCP(Transmission Control Protocol,传输控制协议)连接来说,没有收到对方数据包的时间更长,对方没有收到迁移虚拟机的回应的时间也更长。而TCP本身的超时重传时间间隔是以2倍递增的,这种情况下,TCP连接恢复的时间变得更长。
而在现有技术的虚拟机热迁移技术中,并没有对TCP连接进行快速恢复的方法,只能等待连接的超时重传或者重新建立新的连接。
发明内容
本发明的目的是提供一种虚拟机热迁移方法及装置,以解决现有技术虚拟机热迁移时TCP会话的网络流量恢复慢的技术问题,以尽快恢复TCP连接的流量,缩短网络流量抖动的时间。
为了实现上述目的,本发明技术方案如下:
一种虚拟机热迁移方法,用于将虚拟机从源端物理机迁移到目的端物理机,所述虚拟机热迁移方法包括:
接收在源端物理机上的被迁移虚拟机被挂起阶段发送给被迁移虚拟机的数据包,对接收的数据包进行缓存;
当感知到被迁移虚拟机在目的端恢复后,将缓存的数据包发送给目的端物理机上的被迁移虚拟机。
所述接收在源端物理机上的被迁移虚拟机被挂起阶段发送给被迁移虚拟机的数据包之前,还包括:
接收启动指令,将处理逻辑的回调函数挂到启动指令中包含的后端网卡,所述后端网卡为目的端物理机与外部进行通信的虚拟网卡,所述目的端物理机的后端网卡与源端物理机的后端网卡配置一致。
所述对接收的数据包进行缓存之前,还包括:
判断所接收的数据包是否是TCP数据包,如果是则进行后续处理,否则不进行处理。
进一步地,所述对接收的数据包进行缓存,还包括:
根据数据包的源IP、源端口、目的IP和目的端口,计算对应的哈希值,作为一个流节点保存;
将具有相同哈希值的流节点放在同一个哈希节点的单链表上,所有哈希节点组成哈希表。
进一步地,所述流节点最多保存同一个TCP流的TCP序列号最大的3个数据包和1个序列号最大的确认包。
本发明还提出了一种虚拟机热迁移装置,用于将虚拟机从源端物理机迁移到目的端物理机,所述虚拟机热迁移装置包括:
缓存单元,用于接收在源端物理机上的被迁移虚拟机被挂起阶段发送给被迁移虚拟机的数据包,对接收的数据包进行缓存;
数据恢复单元,用于当感知到被迁移虚拟机在目的端恢复后,将缓存的数据包发送给目的端物理机上的被迁移虚拟机。
所述缓存单元接收在源端物理机上的被迁移虚拟机被挂起阶段发送给被迁移虚拟机的数据包之前,还执行如下操作:
接收启动指令,将处理逻辑的回调函数挂到启动指令中包含的后端网卡,所述后端网卡为目的端物理机与外部进行通信的虚拟网卡,所述目的端物理机的后端网卡与源端物理机的后端网卡配置一致。
所述缓存单元在对接收的数据包进行缓存之前,还执行如下操作:
判断所接收的数据包是否是TCP数据包,如果是则进行后续处理,否则不进行处理。
进一步地,所述缓存单元对接收的数据包进行缓存,执行如下操作:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610392077.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:传输控制协议的传输方法和装置
- 下一篇:门花