CN107168786B - 一种虚拟机的动态迁移方法及装置 - Google Patents
一种虚拟机的动态迁移方法及装置 Download PDFInfo
- Publication number
- CN107168786B CN107168786B CN201710452713.5A CN201710452713A CN107168786B CN 107168786 B CN107168786 B CN 107168786B CN 201710452713 A CN201710452713 A CN 201710452713A CN 107168786 B CN107168786 B CN 107168786B
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- migration
- source
- target
- vcpu
- 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.)
- Active
Links
- 238000013508 migration Methods 0.000 title claims abstract description 149
- 230000005012 migration Effects 0.000 title claims abstract description 149
- 238000000034 method Methods 0.000 title claims abstract description 47
- 238000001514 detection method Methods 0.000 claims description 21
- 238000011084 recovery Methods 0.000 claims description 3
- 230000008569 process Effects 0.000 abstract description 13
- 238000005516 engineering process Methods 0.000 description 3
- 230000009467 reduction Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000011895 specific detection Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/4557—Distribution of virtual machine instances; Migration and load balancing
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种虚拟机的动态迁移方法及装置,该方法包括:根据可用CPU资源按预设规则计算源虚拟机的vCPU迁移权重;解除源虚拟机的物理CPU绑定,根据vCPU迁移权重设置源虚拟机的vCPU权重;根据源虚拟机的状态信息和迁移要求,在目标主机启动对应的目标虚拟机,并对源虚拟机的数据进行动态迁移和网络切换;解除目标虚拟机的vCPU权重设置,并进行目标虚拟机的物理CPU绑定;本发明可以通过计算的vCPU迁移权重,在解除源虚拟机的物理CPU绑定后,根据vCPU迁移权重进行vCPU的权重提升,从而实现了源虚拟机到目标虚拟机的动态迁移,且在源虚拟机进行动态迁移过程中不影响源虚拟机及其承载应用使用和性能。
Description
技术领域
本发明涉及计算机虚拟化技术领域,特别涉及一种虚拟机的动态迁移方法及装置。
背景技术
随着计算机虚拟化技术的不断发展,CPU(处理器)虚拟化作为虚拟化技术的重要组成部分,对虚拟机的vCPU(虚拟处理器)的性能也提出了更高的要求。对于计算能力需求较高的虚拟机来说(如:数据库服务器等),我们可以通过增加vCPU个数、提高vCPU权重和绑定物理CPU等方式让虚拟机获取更高的性能。绑定物理CPU作为提升性能最有效的手段之一,避免了进程在各个CPU之间的频繁切换,同时因为CPU之间是不共享缓存的,所以也就不存在释放旧CPU的缓存问题,从而大大增加了缓存的命中率,进而提升了虚拟机vCPU的计算性能。
虚拟机动态迁移对于管理员调整数据中心工作负载、回复基础架构、升级服务器软件时,不停机而自由移动虚拟机具有重要意义,例如VMware vMotion、CitrixXenMotion、KVM Live Migration等。当硬件需要维护时,正在运行的服务需要被迁移到其他的硬件平台运行,并且这一过程不能对虚拟机承载应用服务产生影响。
虽然虚拟机采用CPU绑定的方法可以大大提高vCPU的性能,但是虚拟机却无法进行动态迁移。因为当虚拟机进行动态迁移后,主机已经发生了变化,绑定的物理CPU自然也发生了变化,原来的绑定策略也就无法生效。而迁移后的虚拟机因为解除了物理CPU绑定,性能自然也会下降,对虚拟机承载的应用也有了一定的影响。
现有技术中,对于物理CPU绑定后虚拟机迁移问题的解决方法除了用户(管理员)手动重新配置之外,并没有其他更好的解决方式,不利于用户体验。因此,如何能够在不影响虚拟机及其承载应用性能的情况下,实现同平台虚拟机的动态迁移,进一步扩展虚拟机动态迁移范围,实现虚拟机迁移的灵活操作,是现今急需解决的问题。
发明内容
本发明的目的是提供一种虚拟机的动态迁移方法及装置,以在虚拟机绑定物理CPU的情况下,实现同平台虚拟机的动态迁移,且不影响虚拟机及其承载应用使用和性能,提升用户体验。
为解决上述技术问题,本发明提供一种虚拟机的动态迁移方法,包括:
接收虚拟机动态迁移指令;
检测所述虚拟机动态迁移指令对应的源虚拟机是否存在物理CPU绑定;
若是,则根据提取的对应的源主机和目标主机的全部vCPU使用率,计算可用CPU资源,并根据所述可用CPU资源按预设规则计算所述源虚拟机的vCPU迁移权重;
解除所述源虚拟机的物理CPU绑定,根据所述vCPU迁移权重设置所述源虚拟机的vCPU权重;
根据所述源虚拟机的状态信息和迁移要求,在所述目标主机启动对应的目标虚拟机,并对所述源虚拟机的数据进行动态迁移和网络切换;
解除所述目标虚拟机的vCPU权重设置,并进行所述目标虚拟机的物理CPU绑定。
可选的,所述根据所述源虚拟机的信息和迁移要求,在所述目标主机启动对应的目标虚拟机,并对所述源虚拟机的数据进行动态迁移和网络切换,包括:
根据所述源虚拟机的状态信息,在所述目标主机启动对应的目标虚拟机;
根据所述源虚拟机的迁移要求,判断所述源虚拟机的数据中的存储数据是否需要迁移;
若是,则对所述源虚拟机的数据中的存储数据和内存数据进行动态迁移;
若否,则对所述源虚拟机的数据中的内存数据进行动态迁移;
对所述源虚拟机的数据进行动态迁移之后,中断所述源虚拟机的网络连接,并开启所述目标虚拟机的网络连接。
可选的,所述根据所述源虚拟机的状态信息和迁移要求,在所述目标主机启动对应的目标虚拟机,并对所述源虚拟机的数据进行动态迁移和网络切换,还包括:
判断所述目标虚拟机的启动、对所述源虚拟机的数据进行动态迁移和所述网络切换是否均成功;
若所述目标虚拟机的启动、对所述源虚拟机的数据进行动态迁移和所述网络切换未均成功,则恢复所述源虚拟机并删除所述目标虚拟机。
可选的,所述解除所述目标虚拟机的vCPU权重设置,并进行所述目标虚拟机的物理CPU绑定之后,还包括:
检测所述目标虚拟机是否正常运行;
若所述目标虚拟机未正常运行,则恢复所述源虚拟机并删除所述目标虚拟机。
可选的,所述根据所述可用CPU资源按预设规则计算所述源虚拟机的vCPU迁移权重,包括:
根据所述可用CPU资源按最快迁移速度要求计算所述vCPU迁移权重。
可选的,所述根据提取的对应的源主机和目标主机的全部vCPU使用率,计算可用CPU资源,并根据所述可用CPU资源按预设规则计算所述源虚拟机的vCPU迁移权重之前,还包括:
根据预设的检测条件判断所述源主机和所述目标主机是否能够迁移所述源虚拟机;其中,所述检测条件包括虚拟机内存、虚拟机磁盘、主机内存和物理存储;
若所述源主机和所述目标主机能够迁移所述源虚拟机,则执行所述根据提取的对应的源主机和目标主机的全部vCPU使用率,计算可用CPU资源,并根据所述可用CPU资源按预设规则计算所述源虚拟机的vCPU迁移权重的步骤。
可选的,所述源虚拟机和所述目标虚拟机具有相同的Hostname、内存、虚拟硬件设备、网络配置和虚拟化平台中的内部表示结构。
此外,本发明还提供了一种虚拟机的动态迁移装置,包括:
接收模块,用于接收虚拟机动态迁移指令;
第一检测模块,用于检测所述虚拟机动态迁移指令对应的源虚拟机是否存在物理CPU绑定;
计算模块,用于若所述源虚拟机存在物理CPU绑定,则根据提取的对应的源主机和目标主机的全部vCPU使用率,计算可用CPU资源,并根据所述可用CPU资源按预设规则计算所述源虚拟机的vCPU迁移权重;
设置模块,用于解除所述源虚拟机的物理CPU绑定,根据所述vCPU迁移权重设置所述源虚拟机的vCPU权重;
迁移模块,用于根据所述源虚拟机的状态信息和迁移要求,在所述目标主机启动对应的目标虚拟机,并对所述源虚拟机的数据进行动态迁移和网络切换;
绑定模块,用于解除所述目标虚拟机的vCPU权重设置,并进行所述目标虚拟机的物理CPU绑定。
可选的,该装置还包括:
第二检测模块,用于检测所述目标虚拟机是否正常运行;
恢复模块,用于若所述目标虚拟机未正常运行,则恢复所述源虚拟机并删除所述目标虚拟机。
可选的,该装置还包括:
判断模块,用于根据预设的检测条件判断所述源主机和所述目标主机是否能够迁移所述源虚拟机;其中,所述检测条件包括虚拟机内存、虚拟机磁盘、主机内存和物理存储;若所述源主机和所述目标主机能够迁移所述源虚拟机,则向所述计算模块发送启动指令。
本发明所提供的一种虚拟机的动态迁移方法,包括:接收虚拟机动态迁移指令;检测所述虚拟机动态迁移指令对应的源虚拟机是否存在物理CPU绑定;若是,则根据提取的对应的源主机和目标主机的全部vCPU使用率,计算可用CPU资源,并根据所述可用CPU资源按预设规则计算所述源虚拟机的vCPU迁移权重;解除所述源虚拟机的物理CPU绑定,根据所述vCPU迁移权重设置所述源虚拟机的vCPU权重;根据所述源虚拟机的状态信息和迁移要求,在所述目标主机启动对应的目标虚拟机,并对所述源虚拟机的数据进行动态迁移和网络切换;解除所述目标虚拟机的vCPU权重设置,并进行所述目标虚拟机的物理CPU绑定;
可见,本发明通过根据可用CPU资源按预设规则计算源虚拟机的vCPU迁移权重,可以计算源虚拟机迁移过程中的vCPU权重,减少源虚拟机解除物理CPU绑定后vCPU性能的下降程度;通过解除源虚拟机的物理CPU绑定,根据vCPU迁移权重设置源虚拟机的vCPU权重,可以解除源虚拟机的物理CPU绑定,根据vCPU迁移权重进行vCPU的权重提升,从而在源虚拟机进行动态迁移过程中不影响源虚拟机及其承载应用使用和性能;通过解除目标虚拟机的vCPU权重设置,并进行目标虚拟机的物理CPU绑定,可以对目标虚拟机进行物理CPU绑定,从而实现了源虚拟机到目标虚拟机的同平台虚拟机的动态迁移,提升了用户体验。此外,本发明还提供了一种虚拟机的动态迁移装置,同样具有上述有益效果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例所提供的一种虚拟机的动态迁移方法的流程图;
图2为本发明实施例所提供的一种虚拟机的动态迁移装置的结构图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参考图1,图1为本发明实施例所提供的一种虚拟机的动态迁移方法的流程图。该方法可以包括:
步骤101:接收虚拟机动态迁移指令。
其中,虚拟机动态迁移指令可以用户发送的对源主机上的源虚拟机进行动态迁移的指令。
可以理解的是,对于虚拟机动态迁移指令的具体内容可以由设计人员或用户根据实用场景和用户需求自行设置,本实施例对此不受任何限制。
步骤102:检测虚拟机动态迁移指令对应的源虚拟机是否存在物理CPU绑定;若是,则进入步骤103。
其中,本步骤的目的是通过检测虚拟机动态迁移指令对应的源虚拟机是否存在物理CPU绑定,判断源虚拟机是否需要按本实施例所提供的方法中对绑定物理CPU的源虚拟机进行动态迁移的方式,对源虚拟机进行动态迁移;若是,则通过接下来的步骤对绑定物理CPU的源虚拟机进行动态迁移;若否,则说明源虚拟机未绑定物理CPU,可以按传统虚拟机的动态迁移方式,进行动态迁移。也就是说,本实施例所提供的方法还可以包括传统虚拟机的动态迁移流程。本实施例对此不受任何限制。
可以理解的是,不进行本步骤也可以达到本实施例的目的,如接收虚拟机动态迁移指令后直接进入步骤103,提取虚拟机动态迁移指令对应的源虚拟机对应的源主机和目标主机的全部vCPU使用率。也就是说,可以由用户判断源虚拟机是否绑定物理CPU,从而发送绑定物理CPU的源虚拟机对应的虚拟机动态迁移指令。本实施例对此不受任何限制。
需要说明的是,本步骤之前还可以包括收集虚拟机动态迁移指令对应的源虚拟机的信息的步骤。其中,源虚拟机的信息可以包括源虚拟机的配置信息,配置信息包含:vCPU资源信息、内存资源信息、虚拟机设备信息、虚拟磁盘容量大小,以及使用的网络资源信息。从而方便本步骤对源虚拟机是否存在物理CPU绑定的检测和步骤105中对目标虚拟机的配置启动。本实施例对此不受任何限制。
步骤103:根据提取的对应的源主机和目标主机的全部vCPU使用率,计算可用CPU资源,并根据可用CPU资源按预设规则计算源虚拟机的vCPU迁移权重。
其中,源主机可以为源虚拟机所在的主机,目标虚拟机可以为源虚拟机进行动态迁移的目标虚拟机所在的主机。预设规则可以为设计人员设置的计算源虚拟机迁移过程中使用的vCPU权重的规则。对于预设规则的具体设置方式,可以由设计人员或用户自行设置,如可以为满足最快迁移速度要求的规则,本实施例对此不受任何限制。
可以理解的是,本步骤之前还可以包括根据预设的检测条件判断源主机和目标主机是否能够迁移源虚拟机的步骤。其中,检测条件包括虚拟机内存、虚拟机磁盘、主机内存和物理存储。从而对绑定物理CPU的源虚拟机是否能够进行动态迁移进行判断;若是,则通过本步骤和接下来的步骤对源虚拟机进行动态迁移;若否,则可以结束本方法或向用户发送源虚拟机无法进行动态迁移的提示信息。对于检测条件的具体设置内容,可以由设计人员自行设置,本实施例对此不受任何限制。
具体的,根据预设的检测条件判断源主机和目标主机是否能够迁移源虚拟机的步骤,可以为源虚拟化环境中的管理器(源主机)与目的虚拟化环境中的管理器(目标主机)之间进行迁移前沟通,检测目的虚拟化环境中的存储设备的剩余空间是否能够容纳源虚拟机的虚拟机磁盘,以及目的虚拟化环境中的资源配置是否满足源虚拟机的需求。
步骤104:解除源虚拟机的物理CPU绑定,根据vCPU迁移权重设置源虚拟机的vCPU权重。
其中,本步骤的目的是在源虚拟机解除物理CPU绑定后,通过根据vCPU迁移权重设置源虚拟机的vCPU权重,来保证接下来源虚拟机的迁移过程中,尽量减少源虚拟机vCPU性能的下降程度。
可以理解的是,对于解除源虚拟机的物理CPU绑定和根据vCPU迁移权重设置源虚拟机的vCPU权重的具体方式,可以由设计人员自行设置,只要可以在在源虚拟机解除物理CPU绑定后,通过根据vCPU迁移权重设置源虚拟机的vCPU权重,本实施例对此不做任何限制。
需要说明的是,本步骤可以放在步骤105之前,也可以放在步骤105之中,如可以在目标主机启动对应的目标虚拟机后进行本步骤。本实施例对此不做任何限制。
步骤105:根据源虚拟机的状态信息和迁移要求,在目标主机启动对应的目标虚拟机,并对源虚拟机的数据进行动态迁移和网络切换。
其中,本步骤可以具体划分为配置启动目标虚拟机的步骤、对源虚拟机的数据的进行动态迁移的步骤和网络切换的步骤,如配置启动目标虚拟机的步骤可以为根据源虚拟机的状态信息,在目标主机启动对应的目标虚拟机;对源虚拟机的数据的进行动态迁移的步骤可以为根据源虚拟机的迁移要求,判断源虚拟机的数据中的存储数据是否需要迁移;若是,则对源虚拟机的数据中的存储数据和内存数据进行动态迁移;若否,则对源虚拟机的数据中的内存数据进行动态迁移;网络切换的步骤可以为对源虚拟机的数据进行动态迁移之后,中断源虚拟机的网络连接,并开启目标虚拟机的网络连接。对于本步骤的具体执行方式和过程,可以由设计人员自行设置,本实施例对此不做任何限制。
可以理解的是,对于启动的目标虚拟机的具体配置方式,可以与源虚拟机相同,也可以与源虚拟机不同,如可以启动比源虚拟机内存更大的目标虚拟机。本实施例对此不受任何限制。
需要说明的是,本步骤还可以包括判断目标虚拟机的启动、对源虚拟机的数据进行动态迁移和网络切换是否均成功;若目标虚拟机的启动、对源虚拟机的数据进行动态迁移和网络切换未均成功,则恢复源虚拟机并删除目标虚拟机的步骤。避免源虚拟机动态迁移不成功,而源虚拟机无法使用的情况发生。其中,恢复源虚拟机包括恢复源虚拟机的内存存储、物理CPU绑定和vCPU权重。
具体的,可以分别在配置启动目标虚拟机的步骤、对源虚拟机的数据的进行动态迁移的步骤和网络切换的步骤之后或过程中,判断所进行的步骤是否成功,如配置启动目标虚拟机的步骤后,判断启动的目标虚拟机是否成功;若是,则进入对源虚拟机的数据的进行动态迁移的步骤;若否,则恢复源虚拟机并删除目标虚拟机。本实施例对此不受任何限制。
步骤106:解除目标虚拟机的vCPU权重设置,并进行目标虚拟机的物理CPU绑定。
可以理解的是,进行网络切换后,完成了源虚拟机到目标虚拟机的转换,可以通过本步骤将与源虚拟机相同的目标虚拟机的vCPU权重解除,再为目标虚拟机进行物理CPU绑定。
其中,本实施例中进行物理CPU绑定后的目标虚拟机可以与解除物理CPU绑定之前的源CPU相同,如具有相同的Hostname、内存、虚拟硬件设备、网络配置和虚拟化平台中的内部表示结构。
需要说明的是,本步骤之后还可以包括检测目标虚拟机是否正常运行;若目标虚拟机未正常运行,则恢复源虚拟机并删除目标虚拟机的步骤,以进一步保证源虚拟机进行动态迁移的准确性。对于具体的检测方式可以由设计人员自行设置,本实施例对此不受任何限制。
本实施例中,本发明实施例通过根据可用CPU资源按预设规则计算源虚拟机的vCPU迁移权重,可以计算源虚拟机迁移过程中的vCPU权重,减少源虚拟机解除物理CPU绑定后vCPU性能的下降程度;通过解除源虚拟机的物理CPU绑定,根据vCPU迁移权重设置源虚拟机的vCPU权重,可以解除源虚拟机的物理CPU绑定,根据vCPU迁移权重进行vCPU的权重提升,从而在源虚拟机进行动态迁移过程中不影响源虚拟机及其承载应用使用和性能;通过解除目标虚拟机的vCPU权重设置,并进行目标虚拟机的物理CPU绑定,可以对目标虚拟机进行物理CPU绑定,从而实现了源虚拟机到目标虚拟机的同平台虚拟机的动态迁移,提升了用户体验。
请参考图2,图2为本发明实施例所提供的一种虚拟机的动态迁移装置的结构图。该装置可以包括:
接收模块100,用于接收虚拟机动态迁移指令;
第一检测模块200,用于检测虚拟机动态迁移指令对应的源虚拟机是否存在物理CPU绑定;
计算模块300,用于若源虚拟机存在物理CPU绑定,则根据提取的对应的源主机和目标主机的全部vCPU使用率,计算可用CPU资源,并根据可用CPU资源按预设规则计算源虚拟机的vCPU迁移权重;
设置模块400,用于解除源虚拟机的物理CPU绑定,根据vCPU迁移权重设置源虚拟机的vCPU权重;
迁移模块500,用于根据源虚拟机的状态信息和迁移要求,在目标主机启动对应的目标虚拟机,并对源虚拟机的数据进行动态迁移和网络切换;
绑定模块600,用于解除目标虚拟机的vCPU权重设置,并进行目标虚拟机的物理CPU绑定。
可选的,该装置还可以包括:
第二检测模块,用于检测目标虚拟机是否正常运行;
恢复模块,用于若目标虚拟机未正常运行,则恢复源虚拟机并删除目标虚拟机。
可选的,该装置还可以包括:
判断模块,用于根据预设的检测条件判断源主机和目标主机是否能够迁移源虚拟机;其中,检测条件包括虚拟机内存、虚拟机磁盘、主机内存和物理存储;若源主机和目标主机能够迁移源虚拟机,则向计算模块发送启动指令。
本实施例中,本发明实施例通过计算模块300根据可用CPU资源按预设规则计算源虚拟机的vCPU迁移权重,可以计算源虚拟机迁移过程中的vCPU权重,减少源虚拟机解除物理CPU绑定后vCPU性能的下降程度;通过设置模块400解除源虚拟机的物理CPU绑定,根据vCPU迁移权重设置源虚拟机的vCPU权重,可以解除源虚拟机的物理CPU绑定,根据vCPU迁移权重进行vCPU的权重提升,从而在源虚拟机进行动态迁移过程中不影响源虚拟机及其承载应用使用和性能;通过绑定模块600解除目标虚拟机的vCPU权重设置,并进行目标虚拟机的物理CPU绑定,可以对目标虚拟机进行物理CPU绑定,从而实现了源虚拟机到目标虚拟机的同平台虚拟机的动态迁移,提升了用户体验。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上对本发明所提供的虚拟机的动态迁移方法及装置进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
Claims (9)
1.一种虚拟机的动态迁移方法,其特征在于,包括:
接收虚拟机动态迁移指令;
检测所述虚拟机动态迁移指令对应的源虚拟机是否存在物理CPU绑定;
若是,则根据提取的对应的源主机和目标主机的全部vCPU使用率,计算可用CPU资源,并根据所述可用CPU资源按预设规则计算所述源虚拟机的vCPU迁移权重;
解除所述源虚拟机的物理CPU绑定,根据所述vCPU迁移权重设置所述源虚拟机的vCPU权重;
根据所述源虚拟机的状态信息和迁移要求,在所述目标主机启动对应的目标虚拟机,并对所述源虚拟机的数据进行动态迁移和网络切换;
解除所述目标虚拟机的vCPU权重设置,并进行所述目标虚拟机的物理CPU绑定;
其中,所述根据所述可用CPU资源按预设规则计算所述源虚拟机的vCPU迁移权重,包括:
根据所述可用CPU资源按最快迁移速度要求计算所述vCPU迁移权重。
2.根据权利要求1所述的虚拟机的动态迁移方法,其特征在于,所述根据所述源虚拟机的信息和迁移要求,在所述目标主机启动对应的目标虚拟机,并对所述源虚拟机的数据进行动态迁移和网络切换,包括:
根据所述源虚拟机的状态信息,在所述目标主机启动对应的目标虚拟机;
根据所述源虚拟机的迁移要求,判断所述源虚拟机的数据中的存储数据是否需要迁移;
若是,则对所述源虚拟机的数据中的存储数据和内存数据进行动态迁移;
若否,则对所述源虚拟机的数据中的内存数据进行动态迁移;
对所述源虚拟机的数据进行动态迁移之后,中断所述源虚拟机的网络连接,并开启所述目标虚拟机的网络连接。
3.根据权利要求1所述的虚拟机的动态迁移方法,其特征在于,所述根据所述源虚拟机的状态信息和迁移要求,在所述目标主机启动对应的目标虚拟机,并对所述源虚拟机的数据进行动态迁移和网络切换,还包括:
判断所述目标虚拟机的启动、对所述源虚拟机的数据进行动态迁移和所述网络切换是否均成功;
若所述目标虚拟机的启动、对所述源虚拟机的数据进行动态迁移和所述网络切换未均成功,则恢复所述源虚拟机并删除所述目标虚拟机。
4.根据权利要求3所述的虚拟机的动态迁移方法,其特征在于,所述解除所述目标虚拟机的vCPU权重设置,并进行所述目标虚拟机的物理CPU绑定之后,还包括:
检测所述目标虚拟机是否正常运行;
若所述目标虚拟机未正常运行,则恢复所述源虚拟机并删除所述目标虚拟机。
5.根据权利要求1至4任一项所述的虚拟机的动态迁移方法,其特征在于,所述根据提取的对应的源主机和目标主机的全部vCPU使用率,计算可用CPU资源,并根据所述可用CPU资源按预设规则计算所述源虚拟机的vCPU迁移权重之前,还包括:
根据预设的检测条件判断所述源主机和所述目标主机是否能够迁移所述源虚拟机;其中,所述检测条件包括虚拟机内存、虚拟机磁盘、主机内存和物理存储;
若所述源主机和所述目标主机能够迁移所述源虚拟机,则执行所述根据提取的对应的源主机和目标主机的全部vCPU使用率,计算可用CPU资源,并根据所述可用CPU资源按预设规则计算所述源虚拟机的vCPU迁移权重的步骤。
6.根据权利要求5所述的虚拟机的动态迁移方法,其特征在于,所述源虚拟机和所述目标虚拟机具有相同的Hostname、内存、虚拟硬件设备、网络配置和虚拟化平台中的内部表示结构。
7.一种虚拟机的动态迁移装置,其特征在于,包括:
接收模块,用于接收虚拟机动态迁移指令;
第一检测模块,用于检测所述虚拟机动态迁移指令对应的源虚拟机是否存在物理CPU绑定;
计算模块,用于若所述源虚拟机存在物理CPU绑定,则根据提取的对应的源主机和目标主机的全部vCPU使用率,计算可用CPU资源,并根据所述可用CPU资源按预设规则计算所述源虚拟机的vCPU迁移权重;其中,所述根据所述可用CPU资源按预设规则计算所述源虚拟机的vCPU迁移权重,包括:根据所述可用CPU资源按最快迁移速度要求计算所述vCPU迁移权重;
设置模块,用于解除所述源虚拟机的物理CPU绑定,根据所述vCPU迁移权重设置所述源虚拟机的vCPU权重;
迁移模块,用于根据所述源虚拟机的状态信息和迁移要求,在所述目标主机启动对应的目标虚拟机,并对所述源虚拟机的数据进行动态迁移和网络切换;
绑定模块,用于解除所述目标虚拟机的vCPU权重设置,并进行所述目标虚拟机的物理CPU绑定。
8.根据权利要求7所述的虚拟机的动态迁移装置,其特征在于,还包括:
第二检测模块,用于检测所述目标虚拟机是否正常运行;
恢复模块,用于若所述目标虚拟机未正常运行,则恢复所述源虚拟机并删除所述目标虚拟机。
9.根据权利要求7或8所述的虚拟机的动态迁移装置,其特征在于,还包括:
判断模块,用于根据预设的检测条件判断所述源主机和所述目标主机是否能够迁移所述源虚拟机;其中,所述检测条件包括虚拟机内存、虚拟机磁盘、主机内存和物理存储;若所述源主机和所述目标主机能够迁移所述源虚拟机,则向所述计算模块发送启动指令。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710452713.5A CN107168786B (zh) | 2017-06-15 | 2017-06-15 | 一种虚拟机的动态迁移方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710452713.5A CN107168786B (zh) | 2017-06-15 | 2017-06-15 | 一种虚拟机的动态迁移方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107168786A CN107168786A (zh) | 2017-09-15 |
CN107168786B true CN107168786B (zh) | 2020-11-10 |
Family
ID=59819368
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710452713.5A Active CN107168786B (zh) | 2017-06-15 | 2017-06-15 | 一种虚拟机的动态迁移方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107168786B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108153580A (zh) * | 2018-01-05 | 2018-06-12 | 北京中实信息技术有限公司 | 一种超融合架构下的虚拟机内存热扩展的方法 |
CN109918172A (zh) * | 2019-02-26 | 2019-06-21 | 烽火通信科技股份有限公司 | 一种虚拟机热迁移方法及系统 |
CN111124597B (zh) * | 2019-10-12 | 2022-05-17 | 苏州浪潮智能科技有限公司 | 一种定位Vmotion测试中故障项的方法、设备及介质 |
TWI756978B (zh) * | 2020-12-11 | 2022-03-01 | 中華電信股份有限公司 | 遷移雲服務的虛擬磁碟的電子裝置和方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103888501A (zh) * | 2012-12-24 | 2014-06-25 | 华为技术有限公司 | 虚拟机迁移方法和装置 |
CN103324532B (zh) * | 2013-06-28 | 2016-05-04 | 东软集团股份有限公司 | 虚拟机的动态迁移方法及系统 |
CN106133693B (zh) * | 2015-02-28 | 2019-10-25 | 华为技术有限公司 | 虚拟机的迁移方法、装置及设备 |
CN106844012A (zh) * | 2017-02-23 | 2017-06-13 | 郑州云海信息技术有限公司 | 一种非共享存储动态迁移虚拟机的方法及系统 |
-
2017
- 2017-06-15 CN CN201710452713.5A patent/CN107168786B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN107168786A (zh) | 2017-09-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107168786B (zh) | 一种虚拟机的动态迁移方法及装置 | |
US9413683B2 (en) | Managing resources in a distributed system using dynamic clusters | |
Sahni et al. | A hybrid approach to live migration of virtual machines | |
US9201823B2 (en) | Pessimistic interrupt affinity for devices | |
US9632725B2 (en) | Computer-implemented method, program, and tracer node for obtaining trace data relating to particular virtual machine | |
WO2016134542A1 (zh) | 虚拟机的迁移方法、装置及设备 | |
JP6144639B2 (ja) | ネットワーク制御装置、通信システム、ネットワーク制御方法、および、ネットワーク制御プログラム | |
JP2016103113A5 (zh) | ||
US20220405385A1 (en) | Secure container construction device and method executable by android application, and computer-readable recording medium on which program thereof is recorded | |
KR20160049006A (ko) | 가상 머신 마이그레이션 관리 방법, 장치, 및 시스템 | |
Versick et al. | Reducing energy consumption by load aggregation with an optimized dynamic live migration of virtual machines | |
CN113886012A (zh) | 一种自动选择虚拟机热迁移加速方案的方法、装置、设备 | |
Svärd et al. | The Noble Art of Live VM Migration-Principles and Performance of precopy, postcopy and hybrid migration of demanding workloads | |
Ge et al. | Memory sharing for handling memory overload on physical machines in cloud data centers | |
US11456919B2 (en) | Input and output for target device communication | |
CN104182271A (zh) | 一种基于申威处理器的虚拟化实现方法 | |
CN112241304A (zh) | 龙芯集群内的超融合资源的调度方法、装置及龙芯集群 | |
US11256540B2 (en) | Server-to-container migration | |
CN108132828B (zh) | 基于libvirt实现的虚拟机构建方法、装置及设备 | |
CN112000437A (zh) | 一种灾备方法、装置、电子设备及存储介质 | |
CN115016901B (zh) | 一种虚拟机的迁移方法、装置、介质、及电子设备 | |
US20110282920A1 (en) | Request processing system, method and program product | |
EP4155922A1 (en) | Reliable device assignment for virtual machine based containers | |
Chuang et al. | Aggregate VM: Why Reduce or Evict VM's Resources When You Can Borrow Them From Other Nodes? | |
CN111061586B (zh) | 一种容器云平台异常检测方法、系统及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |