CN104111867A - 一种虚拟机迁移装置及方法 - Google Patents
一种虚拟机迁移装置及方法 Download PDFInfo
- Publication number
- CN104111867A CN104111867A CN201310139729.2A CN201310139729A CN104111867A CN 104111867 A CN104111867 A CN 104111867A CN 201310139729 A CN201310139729 A CN 201310139729A CN 104111867 A CN104111867 A CN 104111867A
- Authority
- CN
- China
- Prior art keywords
- grouping
- host
- virtual machine
- cpu instruction
- migration
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明提供一种虚拟机迁移装置及方法,应用在虚拟化集群系统中的控制主机上,该装置执行如下处理流程:A、根据预设的分组表将集群中的宿主主机进行分组,其中所述分组表中的每一个分组都包含一个特定的CPU指令集,每一个分组中的宿主主机都兼容该特定的CPU指令集;B、根据源宿主主机所在的分组包含的所述特定的CPU指令集配置虚拟机所能使用的指令集;C、接收到虚拟机的迁移指令时,在源宿主主机所在的分组中选择一台目标宿主主机并执行迁移。通过本发明的技术方案,有效解决了现有技术中虚拟机迁移之后运行不流畅、响应速度慢等问题。
Description
技术领域
本发明涉及虚拟化集群技术领域,尤其涉及一种虚拟机迁移装置及方法。
背景技术
随着虚拟化技术的日益成熟,应用的领域也不断增加,虚拟化集群的规模也越来越大。虚拟化技术中最重要的特性就是虚拟机的迁移,就是将虚拟机从一个宿主主机迁移到另一个宿主主机上,在这个过程中,虚拟机本身的业务并不需要中断或者暂停。这得益于虚拟化技术的特点,由于虚拟机运行的环境本身是虚拟的,如果虚拟机运行的源宿主主机和目标宿主主机硬件环境完全相同,就意味着源宿主主机和目标宿主主机运行的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指令集,即每个分组中的宿主主机都会兼容一个特定的特征量集合,所述特定的特征量集合可以称之为特征量库。在实际实现中,依据经验,Intel公司的处理器可以分为20个组,AMD公司的处理器可以分为15个组。
具体地,将宿主主机加入分组时,分组模块根据宿主主机兼容的CPU指令集为该宿主主机选择对应的分组。请参考图3,具体地,分组模块将宿主主机的CPU指令集和各个分组包含的所述特定的CPU指令集进行比较,选择能够兼容所述特定CPU指令集的分组加入。进一步地,分组模块是将宿主主机所支持的CPU指令集进行量化,将该宿主主机支持的CPU指令集量化后的特征量集合和各个分组的特征量集合进行比对,如果该宿主主机的特征量集合包含某一分组的特征量集合,说明该宿主主机兼容该组的特定的CPU指令集,那么便可以将该宿主主机加入该分组,如果不能完全包含,则意味着宿主主机不能完全兼容该组的特定的CPU指令集,阻止该宿主主机加入。当集群系统中加入新宿主主机的时候,首先由分组模块根据该新宿主主机兼容的CPU指令集为该新宿主主机选择对应的分组,以便后续其上运行的虚拟机执行迁移。
步骤102,根据源宿主主机所在的分组包含的所述特定的CPU指令集配置虚拟机所能使用的指令集。
本步骤由配置模块执行。具体地,根据源宿主主机所在的分组包含的特定的CPU指令集进行运算,最终得出虚拟机所能使用的指令集,并将该指令集作为虚拟机的启动参数保存在虚拟机的配置中。其中,所述虚拟机能使用的指令集是所述特定的CPU指令集的子集。
步骤103,在接收到虚拟机的迁移指令时,在源宿主主机所在的分组中选择一台目标宿主主机。
步骤104,根据源宿主主机、目标宿主主机以及虚拟机运行的指令集判断该目标宿主主机是否能够完全兼容所述虚拟机,如果能,则转步骤105,如果不能,则转步骤103。
步骤105,将虚拟机迁移至目标宿主主机上。
上述步骤103和105由迁移模块执行。当源宿主主机出现资源不足或者需要备份、升级等情况时,就需要将其上运行的虚拟机迁移到其他宿主主机上。具体地,可以在源宿主主机所属的分组中选择任意一台目标宿主主机,然后执行迁移。由于该虚拟机执行的指令集是根据源宿主主机所属的分组包含的特定CPU指令集的子集,所以理论上该分组中所有宿主主机都可以兼容所述虚拟机,也就是说在该分组内,虚拟机可以任意迁移。
需要注意的是,上述步骤104并不是必需步骤,在实际应用中,分组内的目标宿主主机如果在更新的时候发生错误,比方说出现数据库所在设备断电等情况,就有可能导致虚拟机迁移之后出现错误,所以为了保证虚拟机迁移后能够被宿主主机兼容,在一种优选的实施方式中,本发明提供的装置设置有虚拟机迁移前的校验步骤,以确保虚拟机迁移后能够运行流畅。所述步骤104由校验模块执行。
由以上描述可以看出,本发明通过对宿主主机进行分组,进而根据源宿主主机所属分组所包含的特定的CPU指令集来配置虚拟机,进而实现该虚拟机能够在该分组中无缝隙迁移,兼容性好,同时不损失虚拟机监视器的性能。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (10)
1.一种虚拟机迁移装置,应用在虚拟化集群系统中的控制主机上,其特征在于,该装置包括:
分组模块,用于根据预设的分组表将集群中的宿主主机进行分组,其中所述分组表中的每一个分组都包含一个特定的CPU指令集,每一个分组中的宿主主机都兼容该特定的CPU指令集;
配置模块,用于根据源宿主主机所在的分组包含的所述特定的CPU指令集配置虚拟机所能使用的指令集;
迁移模块,用于接收到虚拟机的迁移指令时,在源宿主主机所在的分组中选择一台目标宿主主机并执行迁移。
2.根据权利要求1所述的装置,其特征在于,该装置还包括,
校验模块,用于在虚拟机执行迁移前根据源宿主主机、目标宿主主机以及虚拟机运行的CPU指令集判断该目标宿主主机是否能够完全兼容所述虚拟机,如果能,则通知迁移模块执行虚拟机的迁移,如果不能,则阻止迁移模块执行迁移。
3.根据权利要求1所述的装置,其特征在于,当集群中加入新宿主主机时,分组模块根据该新宿主主机兼容的CPU指令集为该新宿主主机选择对应的分组。
4.根据权利要求1所述的装置,其特征在于,所述特定的CPU指令集中不包含有互斥关系的CPU指令。
5.根据权利要求1所述的装置,其特征在于,所述特定的CPU指令集中不包含有非标准的CPU指令。
6.一种虚拟机迁移方法,应用在虚拟化集群系统中的控制主机上,其特征在于,该方法包括以下步骤:
A、根据预设的分组表将集群中的宿主主机进行分组,其中所述分组表中的每一个分组都包含一个特定的CPU指令集,每一个分组中的宿主主机都兼容该特定的CPU指令集;
B、根据源宿主主机所在的分组包含的所述特定的CPU指令集配置虚拟机所能使用的指令集;
C、接收到虚拟机的迁移指令时,在源宿主主机所在的分组中选择一台目标宿主主机并执行迁移。
7.根据权利要求6所述的方法,其特征在于,步骤C进一步包括:
C1、在虚拟机执行迁移前根据源宿主主机、目标宿主主机以及虚拟机运行的CPU指令集判断该目标宿主主机是否能够完全兼容所述虚拟机,如果能,则通知迁移模块执行虚拟机的迁移,如果不能,则阻止迁移模块执行迁移。
8.根据权利要求6所述的方法,其特征在于,步骤A进一步包括:
A1、当集群中加入新宿主主机时,根据该新宿主主机兼容的CPU指令集为该新宿主主机选择对应的分组。
9.根据权利要求6所述的方法,其特征在于,所述特定的CPU指令集中不包含有互斥关系的CPU指令。
10.根据权利要求6所述的方法,其特征在于,所述特定的CPU指令集中不包含有非标准的CPU指令。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310139729.2A CN104111867B (zh) | 2013-04-19 | 2013-04-19 | 一种虚拟机迁移装置及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310139729.2A CN104111867B (zh) | 2013-04-19 | 2013-04-19 | 一种虚拟机迁移装置及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104111867A true CN104111867A (zh) | 2014-10-22 |
CN104111867B CN104111867B (zh) | 2017-10-17 |
Family
ID=51708666
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310139729.2A Active CN104111867B (zh) | 2013-04-19 | 2013-04-19 | 一种虚拟机迁移装置及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104111867B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106648826A (zh) * | 2016-09-09 | 2017-05-10 | 北京百度网讯科技有限公司 | 用于热迁移虚拟机的方法和装置 |
CN107203414A (zh) * | 2017-05-27 | 2017-09-26 | 郑州云海信息技术有限公司 | 一种异构cpu服务器集群中虚拟机的热迁移方法及装置 |
CN107220103A (zh) * | 2017-05-27 | 2017-09-29 | 郑州云海信息技术有限公司 | 一种宿主物理机的cpu加速方法及装置 |
CN107621970A (zh) * | 2017-10-16 | 2018-01-23 | 郑州云海信息技术有限公司 | 一种异构cpu的虚拟机迁移方法和装置 |
CN113010263A (zh) * | 2021-02-26 | 2021-06-22 | 山东英信计算机技术有限公司 | 云平台中的虚拟机的创建方法、系统、设备及存储介质 |
CN113553143A (zh) * | 2021-09-18 | 2021-10-26 | 云宏信息科技股份有限公司 | 虚拟化资源池的异构方法、可读存储介质及虚拟化平台 |
WO2024055809A1 (zh) * | 2022-09-15 | 2024-03-21 | 中电信数智科技有限公司 | 一种基于聚类集成算法的云计算虚拟资源调度方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101382906A (zh) * | 2007-09-06 | 2009-03-11 | 戴尔产品有限公司 | 处理器架构之间的虚拟机迁移 |
CN101398768A (zh) * | 2008-10-28 | 2009-04-01 | 北京航空航天大学 | 一种分布式虚拟机监视器系统的构建方法 |
US7783779B1 (en) * | 2003-09-19 | 2010-08-24 | Vmware, Inc | Storage multipath management in a virtual computer system |
-
2013
- 2013-04-19 CN CN201310139729.2A patent/CN104111867B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7783779B1 (en) * | 2003-09-19 | 2010-08-24 | Vmware, Inc | Storage multipath management in a virtual computer system |
CN101382906A (zh) * | 2007-09-06 | 2009-03-11 | 戴尔产品有限公司 | 处理器架构之间的虚拟机迁移 |
CN101398768A (zh) * | 2008-10-28 | 2009-04-01 | 北京航空航天大学 | 一种分布式虚拟机监视器系统的构建方法 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106648826A (zh) * | 2016-09-09 | 2017-05-10 | 北京百度网讯科技有限公司 | 用于热迁移虚拟机的方法和装置 |
CN106648826B (zh) * | 2016-09-09 | 2018-06-19 | 北京百度网讯科技有限公司 | 用于热迁移虚拟机的方法和装置 |
US10318331B2 (en) | 2016-09-09 | 2019-06-11 | Beijing Baidu Netcom Science And Technology Co., Ltd. | Method and apparatus for live-migrating virtual machines |
CN107203414A (zh) * | 2017-05-27 | 2017-09-26 | 郑州云海信息技术有限公司 | 一种异构cpu服务器集群中虚拟机的热迁移方法及装置 |
CN107220103A (zh) * | 2017-05-27 | 2017-09-29 | 郑州云海信息技术有限公司 | 一种宿主物理机的cpu加速方法及装置 |
CN107621970A (zh) * | 2017-10-16 | 2018-01-23 | 郑州云海信息技术有限公司 | 一种异构cpu的虚拟机迁移方法和装置 |
CN107621970B (zh) * | 2017-10-16 | 2021-02-05 | 郑州云海信息技术有限公司 | 一种异构cpu的虚拟机迁移方法和装置 |
CN113010263A (zh) * | 2021-02-26 | 2021-06-22 | 山东英信计算机技术有限公司 | 云平台中的虚拟机的创建方法、系统、设备及存储介质 |
CN113553143A (zh) * | 2021-09-18 | 2021-10-26 | 云宏信息科技股份有限公司 | 虚拟化资源池的异构方法、可读存储介质及虚拟化平台 |
CN113553143B (zh) * | 2021-09-18 | 2022-01-07 | 云宏信息科技股份有限公司 | 虚拟化资源池的异构方法、可读存储介质及虚拟化平台 |
WO2024055809A1 (zh) * | 2022-09-15 | 2024-03-21 | 中电信数智科技有限公司 | 一种基于聚类集成算法的云计算虚拟资源调度方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104111867B (zh) | 2017-10-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104111867A (zh) | 一种虚拟机迁移装置及方法 | |
US10922153B2 (en) | Communication method and device for virtual base stations | |
US20190149399A1 (en) | Dynamic reconfiguration of resilient logical modules in a software defined server | |
US10318331B2 (en) | Method and apparatus for live-migrating virtual machines | |
US9697024B2 (en) | Interrupt management method, and computer implementing the interrupt management method | |
US20180189094A1 (en) | Virtual machine to host device bridging | |
US10452686B2 (en) | System and method for memory synchronization of a multi-core system | |
US10048886B2 (en) | Method and system providing file system for an electronic device comprising a composite memory device | |
US11494215B2 (en) | Techniques to decrease a live migration time for a virtual machine | |
CN107368353B (zh) | 一种实现虚拟机内存热添加的方法和装置 | |
US9875131B2 (en) | Virtual PCI device based hypervisor bypass using a bridge virtual machine | |
CN111679889B (zh) | 一种虚拟机的转换迁移方法和系统 | |
US20190057057A1 (en) | Hot-plug of devices in virtualized computer systems | |
CN103403689A (zh) | 一种资源故障管理方法、装置及系统 | |
CN103036947B (zh) | 基于kvm的虚拟机迁移方法及系统 | |
US9779050B2 (en) | Allocating virtual resources to root PCI bus | |
US9971785B1 (en) | System and methods for performing distributed data replication in a networked virtualization environment | |
CN106201564B (zh) | 在线升级基于内核虚拟机模块的设备和方法 | |
US10620856B2 (en) | Input/output (I/O) fencing with persistent reservation information in shared virtual storage environments | |
US10901776B2 (en) | Efficient and scalable transaction processing using a consensus-based transaction model | |
CN111857767B (zh) | 一种基于虚拟机自动迁移的虚拟化系统升级方法及装置 | |
US11436141B2 (en) | Free memory page hinting by virtual machines | |
CN107621970B (zh) | 一种异构cpu的虚拟机迁移方法和装置 | |
CN115292000A (zh) | 一种虚拟机动态迁移的方法、装置及电子设备 | |
CN115277398A (zh) | 一种集群的网络配置方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: Binjiang District and Hangzhou city in Zhejiang Province Road 310051 No. 68 in the 6 storey building Applicant after: Hangzhou Dipu Polytron Technologies Inc Address before: Binjiang District and Hangzhou city in Zhejiang Province Road 310051 No. 68 in the 6 storey building Applicant before: Hangzhou Dipu Technology Co., Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |