源主机和目的主机上的虚拟机内存迁移装置、方法及系统制造方法及图纸

技术编号:12879355 阅读:68 留言:0更新日期:2016-02-17 13:47
本发明专利技术涉及源主机和目的主机上的虚拟机内存迁移装置、方法及系统。源主机上的虚拟机内存迁移装置包括:初始拷贝单元、标记单元、暂停单元、访问单元、以及管理单元。目的主机上的虚拟机内存迁移装置包括:虚拟机内存页面保存单元、内存页面状态保存单元、目的虚拟机监控单元、管理单元。该虚拟机迁移系统包括源主机上的虚拟机内存迁移装置和目的主机上的虚拟机内存迁移装置。根据本发明专利技术的装置、方法及系统,可以减少缺页中断的产生,提高缺页访问的效率,减少迁移对服务性能的影响。

【技术实现步骤摘要】

本专利技术涉及计算机
,更具体地涉及一种虚拟机内存迁移装置、方法及系 统。
技术介绍
当前云计算的核心技术之一是虚拟化,也就是对原有基础设施资源进行整合,以 虚拟机的形式对用户提供虚拟化服务。虚拟机运行在实际的物理主机上,在实际应用中,有 些场合下,例如,负载均衡、容错、节约能源等,需要迁移虚拟机,即,将虚拟机从一个物理主 机上迁移到另一个物理主机上。而往往在不关闭虚拟机的情况下进行的迁移,也就是热迁 移更有意义。这里,如何迁移虚拟机的内存是较为关键的技术。目前已有的内存热迁移技术为pre-copy(预拷贝)和post-copy(后拷贝)。前者 是保持源VM(虚拟机)的运行,拷贝内存页到目的VM,对于此过程中产生的脏页面,重复迭 代拷贝传输的过程,直到源VM上的脏页面较少,可在一轮传输中完成时,停止源VM,拷贝剩 余的脏页面,然后切换到目的VM工作。缺点是,针对脏页面产生频繁的情况,迁移时间会很 长,甚至无法完成迁移,导致迁移失败。后者是从源VM向目的VM拷贝CPU状态和其它外设 状态后,启动目的VM的运行,如果遇到缺失的内存页,则通过从源VM拷贝到目的VM的方式 获取。缺点是缺页的情况下,严重影响对外提供服务的性能。 因此,需要一种能够提高缺页访问的效率、减小对服务性能的影响地对虚拟机内 存进行热迁移的方法。
技术实现思路
在下文中给出关于本专利技术的简要概述,以便提供关于本专利技术的某些方面的基本理 解。应当理解,这个概述并不是关于本专利技术的穷举性概述。它并不是意图确定本专利技术的关 键或重要部分,也不是意图限定本专利技术的范围。其目的仅仅是以简化的形式给出某些概念, 以此作为稍后论述的更详细描述的前序。 本专利技术的一个主要目的在于,提供一种源主机上的虚拟机内存迁移装置,包括:初 始拷贝单元,用于初始地将源主机上的源虚拟机的内存页面全部拷贝到目的主机上的目的 虚拟机;标记单元,用于标记源虚拟机的每个内存页面在从源虚拟机拷贝到目的虚拟机的 过程中是否发生改变;暂停单元,用于暂停源虚拟机的运行,将所标记的源虚拟机的每个内 存页面是否发生改变的状态从源主机传送到目的主机,并将对外部请求的服务从源虚拟机 转移到目的虚拟机;访问单元,用于响应于目的主机监控到要被访问的目的虚拟机的内存 页面被标记为发生了改变,恢复源虚拟机的运行,以在源虚拟机上对相应的源虚拟机的内 存页面进行访问;管理单元,用于将相应的源虚拟机的内存页面传送到目的虚拟机,将相应 的源虚拟机的内存页面的状态重新标记为未发生改变,以及将重新标记后的相应的源虚拟 机的内存页面的状态同步到目的主机。 根据本专利技术的一个方面,提供了一种目的主机上的虚拟机内存迁移装置,包括:虚 拟机内存页面保存单元,用于保存从源主机上的源虚拟机拷贝过来的源虚拟机的内存页 面;内存页面状态保存单元,用于保存在从源虚拟机拷贝源虚拟机的内存页面的过程中每 个源虚拟机的内存页面是否发生改变的状态;目的虚拟机监控单元,用于在对外部请求提 供服务时监控对目的虚拟机的内存页面的访问,如果监控到要被访问的目的虚拟机的内存 页面被标记为发生了改变,暂停目的虚拟机,并将对标记为发生了改变的所述内存页面的 访问从目的虚拟机转移到源虚拟机;管理单元,用于接收来自源虚拟机的相应的源虚拟机 的内存页面以及重新标记后的相应的源虚拟机的内存页面的状态,并且恢复目的虚拟机的 运行。另外,本专利技术的实施例还提供了用于实现上述方法的计算机程序。 根据本专利技术的又一个方面,提供了一种虚拟机迁移系统,包括源主机上的虚拟机 内存迁移装置和目的主机上的虚拟机内存迁移装置。 此外,本专利技术的实施例还提供了至少计算机可读介质形式的计算机程序产品,其 上记录有用于实现上述方法的计算机程序代码。 通过以下结合附图对本专利技术的最佳实施例的详细说明,本专利技术的这些以及其他优 点将更加明显。【附图说明】 参照下面结合附图对本专利技术实施例的说明,会更加容易地理解本专利技术的以上和其 它目的、特点和优点。附图中的部件只是为了示出本专利技术的原理。在附图中,相同的或类似 的技术特征或部件将采用相同或类似的附图标记来表示。 图1示出了根据本专利技术的一个实施例的虚拟机内存迁移方法的简化示意图; 图2示出了根据本专利技术的一个实施例的虚拟机内存迁移方法的整体示意图; 图3示出了根据本专利技术的一个实施例的虚拟机内存迁移方法100的示例性流程 图; 图4示出了利用位图管理内存页面的示意图; 图5示出了根据本专利技术的一个实施例对目的虚拟机产生缺页进行处理的示意图; 图6示出了根据本专利技术的一个实施例将脏页面的页面号压入和弹出栈的示意图; 图7示出了根据本专利技术的一个实施例的后台守护进程对脏页面进行传输的示例 性流程图; 图8是示出根据本专利技术的一个实施例的在源主机上的虚拟机内存迁移装置800的 示例性配置的框图; 图9是示出图8中的访问单元808的一种示例性配置的框图; 图10示出根据本专利技术的另一个实施例的访问单元808'的另一种示例性配置的框 图; 图11是示出根据本专利技术的一个实施例的在目的主机上的虚拟机内存迁移装置 1100的示例性配置的框图; 图12是示出根据本专利技术的一个实施例的在源主机上的虚拟机内存迁移方法1200 的示例性流程图; 图13是示出根据本专利技术的一个实施例的在目的主机上的虚拟机内存迁移方法 1300的示例性流程图;以及 图14是示出可以用于实施本专利技术的虚拟机内存迁移装置和方法的计算设备的示 例性结构图。【具体实施方式】 下面参照附图来说明本专利技术的实施例。在本专利技术的一个附图或一种实施方式中描 述的元素和特征可以与一个或更多个其它附图或实施方式中示出的元素和特征相结合。应 当注意,为了清楚的目的,附图和说明中省略了与本专利技术无关的、本领域普通技术人员已知 的部件和处理的表示和描述。 图1示出了根据本专利技术的一个实施例的虚拟机内存迁移方法的简化示意图。 简单来说,根据本专利技术的一个实施例的虚拟机内存迁移方法在时间顺序上可以分 为三个阶段。第一个阶段是全拷贝阶段,第二个阶段是循环拷贝阶段,第三个阶段是清理阶 段。 在全拷贝阶段,源主机上的源虚拟机的内存页面全部拷贝到目的主机上的目的虚 拟机。 在循环拷贝阶段,将源虚拟机的所有脏页面传输到目的虚拟机。当一个内存页面 从源虚拟机拷贝到目的虚拟机之后中,在源虚拟机上又发生改变,则该内存页面被称为脏 页面。这里所说的"发生改变"是指该内存页面在从源虚拟机拷贝到目的虚拟机之后在源 主机上被CPU进行了写操作。 根据来自CPU的内存访问请求,目的主机上的虚拟机管理器将决定如何在源虚拟 机或目的虚拟机上运行。CPU将在源虚拟机和目的虚拟机之间来回切换。当所有的脏页面 都被转移到目的虚拟机之后,循环拷贝阶段结束。 通过以上两个阶段,内存迁移实际上已经完成,在最后的清理阶段,终止源虚拟 机,目的虚拟机开始运行,迁移过程结束。 图2示出了根据本专利技术的一个实施例的虚拟机内存迁移方法的整体示意图。 从图2中可以看到,在将源虚拟机上的内存热迁移到目的虚拟机之前,还要进行 迁移前的准备。具体地,源虚拟机管理器与目的虚拟机管理器建立联系,然后源虚拟机管理 器将源虚拟机的资源信息(包括CPU、内存、内存虚拟设备等)传送到目的虚拟机管理器。 目的虚拟本文档来自技高网...

【技术保护点】
一种源主机上的虚拟机内存迁移装置,包括:初始拷贝单元,用于初始地将源主机上的源虚拟机的内存页面全部拷贝到目的主机上的目的虚拟机;标记单元,用于标记所述源虚拟机的每个内存页面在从所述源虚拟机拷贝到所述目的虚拟机的过程中是否发生改变;暂停单元,用于暂停所述源虚拟机的运行,将所标记的所述源虚拟机的每个内存页面是否发生改变的状态从所述源主机传送到所述目的主机,并将对外部请求的服务从所述源虚拟机转移到所述目的虚拟机;访问单元,用于响应于所述目的主机监控到要被访问的目的虚拟机的内存页面被标记为发生了改变,恢复所述源虚拟机的运行,以在所述源虚拟机上对相应的源虚拟机的内存页面进行访问;以及管理单元,用于将所述相应的源虚拟机的内存页面传送到所述目的虚拟机,将所述相应的源虚拟机的内存页面的状态重新标记为未发生改变,以及将重新标记后的所述相应的源虚拟机的内存页面的状态同步到所述目的主机。

【技术特征摘要】

【专利技术属性】
技术研发人员:马磊邹纲皮冰锋张军
申请(专利权)人:富士通株式会社
类型:发明
国别省市:日本;JP

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1