一种虚拟机迁移装置及方法制造方法及图纸

技术编号:10567116 阅读:83 留言:0更新日期:2014-10-22 17:46
本发明专利技术提供一种虚拟机迁移装置及方法,应用在虚拟化集群系统中的控制主机上,该装置执行如下处理流程:A、根据预设的分组表将集群中的宿主主机进行分组,其中所述分组表中的每一个分组都包含一个特定的CPU指令集,每一个分组中的宿主主机都兼容该特定的CPU指令集;B、根据源宿主主机所在的分组包含的所述特定的CPU指令集配置虚拟机所能使用的指令集;C、接收到虚拟机的迁移指令时,在源宿主主机所在的分组中选择一台目标宿主主机并执行迁移。通过本发明专利技术的技术方案,有效解决了现有技术中虚拟机迁移之后运行不流畅、响应速度慢等问题。

【技术实现步骤摘要】
【专利摘要】本专利技术提供,应用在虚拟化集群系统中的控制主机上,该装置执行如下处理流程:A、根据预设的分组表将集群中的宿主主机进行分组,其中所述分组表中的每一个分组都包含一个特定的CPU指令集,每一个分组中的宿主主机都兼容该特定的CPU指令集;B、根据源宿主主机所在的分组包含的所述特定的CPU指令集配置虚拟机所能使用的指令集;C、接收到虚拟机的迁移指令时,在源宿主主机所在的分组中选择一台目标宿主主机并执行迁移。通过本专利技术的技术方案,有效解决了现有技术中虚拟机迁移之后运行不流畅、响应速度慢等问题。【专利说明】
本专利技术涉及虚拟化集群
,尤其涉及。
技术介绍
随着虚拟化技术的日益成熟,应用的领域也不断增加,虚拟化集群的规模也越来 越大。虚拟化技术中最重要的特性就是虚拟机的迁移,就是将虚拟机从一个宿主主机迁移 到另一个宿主主机上,在这个过程中,虚拟机本身的业务并不需要中断或者暂停。这得益于 虚拟化技术的特点,由于虚拟机运行的环境本身是虚拟的,如果虚拟机运行的源宿主主机 和目标宿主主机硬件环境完全相同,就意味着源宿主主机和目标宿主主机运行的CPU指令 集是一致的,所以在这两个宿主主机之间,虚拟机可以在感知不到任何差异和变化的情况 下进行迁移。但是如果两个宿主主机的硬件存在较大的差异,例如是Intel公司的不同代 CPU,他们所支持的指令集可能就会存在差异,如果在源宿主主机上虚拟机运行的过程中使 用了目标宿主主机上没有的特殊指令,那么在迁移后就会出现严重的不兼容问题,部分指 令无法继续运行,进而导致虚拟机崩溃。 为解决虚拟机迁移兼容性的问题,现有技术中通常是通过指令转换系统进行指令 转换,也就是将源宿主主机上需要运行的特殊指令转换为目标宿主主机上等价的其他指 令,以此来实现兼容。但是由于目标宿主主机缺少硬件虚拟化支持,通常都是将虚拟机需要 执行的指令进行转换后让底层的操作系统代为执行,这种模式存在性能损失,可能会导致 迁移之后的虚拟机运行不流畅,减低系统的响应速度。
技术实现思路
有鉴于此,本专利技术提供,以解决上述现有技术的不足。 具体地,所述装置应用在虚拟化集群系统中的控制主机上,该装置包括: 分组模块,用于根据预设的分组表将集群中的宿主主机进行分组,其中所述分组 表中的每一个分组都包含一个特定的CPU指令集,每一个分组中的宿主主机都兼容该特定 的CPU指令集; 配置模块,用于根据源宿主主机所在的分组包含的所述特定的CPU指令集配置虚 拟机所能使用的指令集; 迁移模块,用于接收到虚拟机的迁移指令时,在源宿主主机所在的分组中选择一 台目标宿主主机并执行迁移。 本专利技术还提供一种虚拟机迁移方法,应用在虚拟化集群中的控制主机上,所述方 法包括: A、根据预设的分组表将集群中的宿主主机进行分组,其中所述分组表中的每一个 分组都包含一个特定的CPU指令集,每一个分组中的宿主主机都兼容该特定的CPU指令 集; B、根据源宿主主机所在的分组包含的所述特定的CPU指令集配置虚拟机所能使 用的指令集; C、接收到虚拟机的迁移指令时,在源宿主主机所在的分组中选择一台目标宿主主 机并执行迁移。 由以上技术方案可见,本专利技术对宿主主机进行分组,然后根据源宿主主机所属分 组包含的CPU指令集对虚拟机进行配置,使得虚拟机能够在该分组内实现无缝迁移,进而 解决现有技术中虚拟机迁移后运行不流畅、响应速度慢等问题。 【专利附图】【附图说明】 图1是本专利技术一种实施方式中虚拟机迁移装置的逻辑结构图; 图2是本专利技术一种实施方式中虚拟机迁移方法的流程图; 图3是本专利技术一种实施方式中为新加入的宿主主机分组的流程图。 【具体实施方式】 为了实现本专利技术的目的,本专利技术技术方案采用设立宿主主机的分组方式,使得虚 拟机能够在该分组内实现无缝隙迁移。为了使本领域技术人员更加清楚和明白,以下结合 附图和实施例详细介绍本专利技术的具体实现。 请参考图1和图2,本专利技术提供一种虚拟机迁移的装置和方法,应用在虚拟化集群 中,具体是应用在虚拟化集群系统的控制主机上,该装置包括:分组模块、配置模块、迁移模 块以及校验模块。所述装置在实现本专利技术时执行以下处理流程: 步骤101,根据预设的分组表将集群中的宿主主机进行分组,其中所述分组表中的 每一个分组都包含一个特定的CPU指令集,每一个分组中的宿主主机都兼容该特定的CPU 指令集。 本步骤由分组模块执行。所述预设的分组表是依据CPU指令预先定义好的。CPU 作为一台电脑的核心,是依靠指令来计算和控制系统,不论是Intel公司还是AMD公司的 CPU,每种不同类型的CPU都包含自己特定的一个指令集,所述指令集可以与其硬件电路相 配合进而实现对计算机数据的处理。CPU厂商在发布产品的时候,会将其产品依照指令集或 者功能集分成几个类别,本专利技术中预设的分组表就是依据厂商发布的CPU类别设置的。 具体地,在设置时要将宿主主机的不同CPU指令量化成唯一的特征量。一条CPU 指令一般包括两个部分:操作码和地址码。操作码是指令序列号,用来告诉CPU需要执行的 是哪一条指令,地址码主要包括源操作数地址、目的地址和下一条指令的地址。一条CPU指 令的长度通常是32位或者64位的二进制数,为了在分组的时候便于识别,所以将CPU指令 量化成唯一的字符串或者数值,进而使用所述字符串或者数值作为唯一的特征量来衡量和 判断所述CPU指令。 所述分组表中每一个分组包含的特定的CPU指令集中不包含有互斥关系的CPU指 令。CPU指令有相容和互斥之分,两条指令互斥是指在同一台计算机上,如果能够兼容其中 一条指令那么一定不能够兼容另外一条指令,即两条互斥的指令不能够运行在同一台计算 机上。在优选的方式中,本专利技术进一步需要保证各分组内包含的特定的CPU指令集中不能 有互斥关系的CPU指令,也就是说如果宿主主机1兼容的特征量A1和宿主主机2兼容的特 征量A2互斥,那么,就不能够把A1和A2设置在分组表中的同一个分组对应的特性集中。该 分组表中的每一个分组都包含一个特定的CPU指令集,由于已将CPU指令集量化为特征量, 也就是说该分组表中的每一个分组都包含一个特定的特征量集合,进而每一个分组中的宿 主主机都会兼容该特定的特征量集合。 所述分组表中每一个分组包含的特定的CPU指令集中不包含有非标准的CPU指 令。某些非标准CPU指令可能无法被其他计算机兼容,具体地,比方说两个宿主主机都能够 支持某CPU指令B,但是该指令B是非标准指令,在其中一个宿主主机上该指令在执行的时 候可能需要依据缓存量或者依据某个特定的寄存器,由于另一个宿主主机可能缺少所述特 定的寄存器或者是缓存量有变化,那么其在执行所述指令B的时候就会出错,所以在设置 分组表的时候,如果其某一分组中所述特定的特征量集合中包含有非标准的CPU指令量化 成的特征量,那么就要对其进行微调。具体地,将所述非标准指令踢出所述分组,进而保证 分组后的该分组中的宿主主机都不兼容该非标准指令。 这样,在完成分组之后,每一个分组中的宿主主机就都会兼容一个特定的CPU指 令集,即每个分组中的宿主主机都会本文档来自技高网
...
一种<a href="http://www.xjishu.com/zhuanli/55/201310139729.html" title="一种虚拟机迁移装置及方法原文来自X技术">虚拟机迁移装置及方法</a>

【技术保护点】
一种虚拟机迁移装置,应用在虚拟化集群系统中的控制主机上,其特征在于,该装置包括:分组模块,用于根据预设的分组表将集群中的宿主主机进行分组,其中所述分组表中的每一个分组都包含一个特定的CPU指令集,每一个分组中的宿主主机都兼容该特定的CPU指令集;配置模块,用于根据源宿主主机所在的分组包含的所述特定的CPU指令集配置虚拟机所能使用的指令集;迁移模块,用于接收到虚拟机的迁移指令时,在源宿主主机所在的分组中选择一台目标宿主主机并执行迁移。

【技术特征摘要】

【专利技术属性】
技术研发人员:王树太
申请(专利权)人:杭州迪普科技有限公司
类型:发明
国别省市:浙江;33

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

1