CN108121589A - 一种虚拟机的在线迁移自动收敛的方法 - Google Patents
一种虚拟机的在线迁移自动收敛的方法 Download PDFInfo
- Publication number
- CN108121589A CN108121589A CN201611092331.8A CN201611092331A CN108121589A CN 108121589 A CN108121589 A CN 108121589A CN 201611092331 A CN201611092331 A CN 201611092331A CN 108121589 A CN108121589 A CN 108121589A
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- migrated
- migration
- online
- automatic
- 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.)
- Pending
Links
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/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
Abstract
本发明涉及一种虚拟机的在线迁移自动收敛的方法,包括如下步骤:S1:预迁移,确定待迁移虚拟机和目标主机;S2:传输内存数据,在此过程中,迭代系统自动检测在线迁移是否缺乏收敛,并在缺乏收敛的情况下激发自动收敛功能;S3:在传输内存数据的最后一轮,挂起待迁移虚拟机并复制最后传输的内存数据;S4:提交并激活目标主机。本发明提供的虚拟机的在线迁移自动收敛的方法,为虚拟机在负载很重的情形下进行在线迁移时,总迁移时间太长甚至无法完成在线迁移的问题提供了一种通用的解决方法,从而大大提高了虚拟化集群管理系统的性能。
Description
技术领域
本发明涉及计算机技术领域,具体涉及一种虚拟机的在线迁移自动收敛的方法。
背景技术
在线迁移就是在保证虚拟机上服务正常运行的同时,将一个虚拟机系统从一个物理主机移动到另一个物理主机的过程。该过程不会对最终用户造成明显的影响,从而使得管理员能够在不影响用户正常使用的情况下对物理服务器进行离线维修或者升级。
为了保证迁移过程中虚拟机服务的可用,迁移过程仅有非常短暂的停机时间。迁移的前面阶段,服务在源主机的虚拟机上运行,当迁移进行到一定阶段,目的主机已经具备了运行虚拟机系统的必须资源,经过一个非常短暂的切换,源主机将控制权转移到目的主机,虚拟机系统在目的主机上继续运行。对于虚拟机服务本身而言,由于切换的时间非常短暂,用户感觉不到服务的中断,因而迁移过程对用户是透明的。在线迁移适用于对虚拟机服务可用性要求很高的场合。
目前主流的动态迁移工具,VMware 的 VMotion,Citrix 的 XenMotion,他们都依赖于物理机之间采用 SAN(storage area network)或 NAS(network-attached storage)之类的集中式共享外存设备,因而在迁移时只需要进行虚拟机系统内存执行状态的迁移,从而获得较好的迁移性能。
在线虚拟机迁移方案的设计目标是最小化如下三个指标:微小的停机时间、最低的网络带宽消耗及合理的总迁移时间。
如果虚拟机的负载很重,那么在进行在线迁移时,虚拟机内存的更新速度,即内存脏页的产生速度可能会超过虚拟机在线迁移的速度。尽管在迁移速度方面可以尽可能的去优化,例如采用专用的万兆网进行迁移,但是仍然可能发生迁移收敛太慢甚至无法收敛,最终造成总迁移时间太长甚至无法完成在线迁移的情况。
发明内容
为改善现有技术的不足,解决虚拟机在进行在线迁移时,完成总迁移时间太长甚至无法完成在线迁移的问题,本发明提供一种虚拟机的在线迁移自动收敛的方法,利用自动收敛的特性,解决这一技术问题。
自动收敛是这样一个新特性,它可以有效的控制总迁移时间太长的问题,用户可以启用该功能来强制在线迁移收敛。该特性能够自动检测迁移是否缺乏收敛,如果缺乏收敛则触发虚拟机CPU减速操作,短时间内降低虚拟机内存更新的速度,让在线迁移操作能够在较合理的总迁移时间内完成。
本发明提供的虚拟机的在线迁移自动收敛的方法,包括如下步骤:
S1:预迁移,确定待迁移虚拟机和目标主机;
S2:传输内存数据,在此过程中,迭代系统自动检测在线迁移是否缺乏收敛,并在缺乏收敛的情况下激发自动收敛功能;
S3:在传输内存数据的最后一轮,挂起待迁移虚拟机并复制最后传输的内存数据;
S4:提交并激活目标主机。
其中,所述步骤S1包括:在源主机上激活待迁移虚拟机在线迁移功能,选择迁移的目标主机,镜像块设备,保留空闲资源,并在目标主机上初始化一个容器。
其中,所述步骤S2包括:
S21:将待迁移虚拟机所有的非脏内存数据传输到目标主机;
S22:不断地迭代复制待迁移虚拟机的内存脏页数据到目标主机;
S23:重复进行步骤S22,直至待迁移虚拟机的内存脏页数据减少至预定值。
其中,所述步骤S2中,缺乏收敛的判断标准为数据收敛很慢或无法收敛。
其中,所述步骤S2中,缺乏收敛的判断标准为:A≥预定值且C≥预定值;
其中,A为每个步骤S22中生成的参数,且A= (nb-na)/nc;
nb为在tb时待迁移虚拟机的内存脏页数据数目,na为在ta时待迁移虚拟机的内存脏页数据数目;ta为待迁移虚拟机开始发送内存脏页数据的时间,tb为待迁移虚拟机接受目标主机返回的传输完成应答时间;nc为本次传输的内存脏页数据数目;
C表示A在循环的各步骤S22中,连续大于或等于预定值的次数。
其中,所述步骤S2中,缺乏收敛的判断标准为:A≥50%且C≥5。
其中,所述步骤S2中,C的计数方法为:
在开始迁移时,C默认值为0;
每个步骤S22中,若A满足A≥预定值,则C值自动加1;若A不满足上述条件,则C清零。
其中,所述步骤S3还包括:同时发送其它非内存数据,并且在此步骤中,停止待迁移虚拟机及其应用的运行。
其中,所述非内存数据包括CPU或网格状态。
其中,所述步骤S4包括:
S41:重新装载目标主机及其状态,恢复在其中执行的程序,并继续提供服务,使其成为目标虚拟机;
S42:将网络连接重定向至目标虚拟机,清除目标虚拟机对源主机的依赖;
S43:从源主机中移除原始的待迁移虚拟机。
本发明提供的虚拟机的在线迁移自动收敛的方法,为虚拟机在负载很重的情形下进行在线迁移时,总迁移时间太长甚至无法完成在线迁移的问题提供了一种通用的解决方法,从而大大提高了虚拟化集群管理系统的性能。
附图说明
图1:待迁移虚拟机传输内存数据到目标主机的流程示意图。
具体实施方式
为了对本发明的技术方案及有益效果有更进一步的了解,下面配合附图详细说明本发明的技术方案及其产生的有益效果。
本发明提供了一种虚拟机的在线迁移自动收敛的方法,包括如下步骤:
S1:预迁移,确定待迁移虚拟机和目标主机;
S2:传输内存数据,在此过程中,迭代系统自动检测在线迁移是否缺乏收敛,并在缺乏收敛的情况下激发自动收敛功能;具体实施时,可通过触发CPU降速机制启动自动收敛功能;
S3:在传输内存数据的最后一轮,挂起待迁移虚拟机并复制最后传输的内存数据;
S4:提交并激活目标主机。
具体的,所述步骤S1包括:在源主机上激活待迁移虚拟机在线迁移功能,选择迁移的目标主机,镜像块设备,保留空闲资源,并在目标主机上初始化一个容器。
具体的,所述步骤S2包括:
S21:将待迁移虚拟机所有的非脏内存数据传输到目标主机;
S22:不断地迭代复制待迁移虚拟机的内存脏页数据到目标主机;
S23:重复进行步骤S22,直至待迁移虚拟机的内存脏页数据减少至预定值。具体实施时,所谓的“预定值”,是指内存脏页数据足够少。
具体的,所述步骤S3还包括:同时发送其它非内存数据(如CPU和/或网格状态),并且在此步骤中,停止待迁移虚拟机及其应用的运行。这一段不可用的时间为迁移的停机时间,应尽量缩短停机时间,使得用户无法察觉。
较优的,所述步骤S4包括:
S41:重新装载目标主机及其状态,恢复在其中执行的程序,并继续提供服务,使其成为目标虚拟机;
S42:将网络连接重定向至目标虚拟机,清除目标虚拟机对源主机的依赖;
S43:从源主机中移除原始的待迁移虚拟机。
较优的,所述步骤S2中,缺乏收敛的判断标准为数据收敛很慢或无法收敛。更具体的,当参数:A≥预定值且C≥预定值时,迭代系统即可判断在线迁移缺乏收敛,并启动自动收敛功能;
具体的,A为每个步骤S22中生成的参数,且A= (nb-na)/nc;
nb为在tb时待迁移虚拟机的内存脏页数据数目,na为在ta时待迁移虚拟机的内存脏页数据数目;ta为待迁移虚拟机开始发送内存脏页数据的时间,tb为待迁移虚拟机接受目标主机返回的传输完成应答时间;nc为本次传输的内存脏页数据数目(详见图1);
也即,待迁移虚拟机在tb-ta时间里生成的内存脏页数据数目为nb-na,A表示的是待迁移虚拟机一次传输完成的时间中新生成的内存脏页数和传输的内存脏页数的比率;
C表示A在循环的各步骤S22中,连续大于或等于预定值的次数。
具体的,C的计数方法为:
在开始迁移时,C默认值为0;
每个步骤S22中,若A满足A≥预定值,则C值自动加1;若A不满足上述条件,则C清零。
具体实施时,当待迁移虚拟机开始迭代拷贝内存脏页数据时,每一次迭代系统都会生成如上所述的参数A,如果A≥预定值,则认为系统可能会发生迁移收敛很慢或者不能收敛的情况,系统会自动记录这种情况的发生的次数,使用参数C表示发生该情况的次数。开始在线迁移时,C默认值为0,当系统拷贝内存脏页数据且发生了A1≥预定值的情况时,C自动加1,如果不满足A1≥预定值则C清零,这样每次拷贝内存脏页数据都会做一次条件判断,如果C值比较大就可以判断出迭代系统可能会出现数据收敛很慢或者无法收敛的情况。
自动收敛条件定义为判断是否同时满足两个参数,第一个参数为一个周期内产生的内存脏页数和在线迁移传输的内存脏页数的比率A。第二个参数为统计连续出现大于等于此比率的次数C。自动收敛条件的设置是为了准确的判断待迁移虚拟机在负载很重的情况下,是否发生了内存脏页数据生成速率持续大于或者与在线迁移传输的内存数据的速率相差不大的情况,如果此情况发生会导致总迁移完成时间太长甚至无法完成。考虑到总迁移完成时间不能太长,第一个参数可以定义为50%,第二个参数可以定义为5。也就是说,如果一个周期内产生的内存脏页数大于或等于该周期内已传输内存脏页数的50%,并且这种情况连续出现了5次,则触发CPU降速机制,启动自动收敛功能。
当然根据不同的场景和迁移时间的要求,A和C两个参数可以通过传参的方式修改,本发明不加以限制。
本发明提供的虚拟机的在线迁移自动收敛的方法,在模拟待迁移虚拟机负载很重的情况下进行了验证,如果不使用本发明的方法会出现待迁移虚拟机在线迁移总迁移时间太长甚至失败的情况,如果使用本发明的方法,则在线迁移可以顺利较快速的完成。
本发明提供的虚拟机的在线迁移自动收敛的方法,为虚拟机在负载很重的情形下进行在线迁移时,总迁移时间太长甚至无法完成在线迁移的问题提供了一种通用的解决方法,从而大大提高了虚拟化集群管理系统的性能。
虽然本发明已利用上述较佳实施例进行说明,然其并非用以限定本发明的保护范围,任何本领域技术人员在不脱离本发明的精神和范围之内,相对上述实施例进行各种变动与修改仍属本发明所保护的范围,因此本发明的保护范围以权利要求书所界定的为准。
Claims (9)
1.一种虚拟机的在线迁移自动收敛的方法,其特征在于,包括如下步骤:
S1:预迁移,确定待迁移虚拟机和目标主机;
S2:传输内存数据,在此过程中,迭代系统自动检测在线迁移是否缺乏收敛,并在缺乏收敛的情况下激发自动收敛功能;
S3:在传输内存数据的最后一轮,挂起待迁移虚拟机并复制最后传输的内存数据;
S4:提交并激活目标主机。
2.如权利要求1所述的虚拟机的在线迁移自动收敛的方法,其特征在于,所述步骤S1包括:在源主机上激活待迁移虚拟机在线迁移功能,选择迁移的目标主机,镜像块设备,保留空闲资源,并在目标主机上初始化一个容器。
3.如权利要求1所述的虚拟机的在线迁移自动收敛的方法,其特征在于:所述步骤S2包括:
S21:将待迁移虚拟机所有的非脏内存数据传输到目标主机;
S22:不断地迭代复制待迁移虚拟机的内存脏页数据到目标主机;
S23:重复进行步骤S22,直至待迁移虚拟机的内存脏页数据减少至预定值。
4.如权利要求3所述的虚拟机的在线迁移自动收敛的方法,其特征在于:所述步骤S2中,缺乏收敛的判断标准为:A≥预定值且C≥预定值;
其中,A为每个步骤S22中生成的参数,且A= (nb-na)/nc;
nb为在tb时待迁移虚拟机的内存脏页数据数目,na为在ta时待迁移虚拟机的内存脏页数据数目;ta为待迁移虚拟机开始发送内存脏页数据的时间,tb为待迁移虚拟机接受目标主机返回的传输完成应答时间;nc为本次传输的内存脏页数据数目;
C表示A在循环的各步骤S22中,连续大于或等于预定值的次数。
5.如权利要求4所述的虚拟机的在线迁移自动收敛的方法,其特征在于:所述步骤S2中,缺乏收敛的判断标准为:A≥50%且C≥5。
6.如权利要求4所述的虚拟机的在线迁移自动收敛的方法,其特征在于:所述步骤S2中,C的计数方法为:
在开始迁移时,C默认值为0;
每个步骤S22中,若A满足A≥预定值,则C值自动加1;若A不满足上述条件,则C清零。
7.如权利要求1所述的虚拟机的在线迁移自动收敛的方法,其特征在于:所述步骤S3还包括:同时发送其它非内存数据,并且在此步骤中,停止待迁移虚拟机及其应用的运行。
8.如权利要求7所述的虚拟机的在线迁移自动收敛的方法,其特征在于:所述非内存数据包括CPU或网格状态。
9.如权利要求1所述的虚拟机的在线迁移自动收敛的方法,其特征在于:所述步骤S4包括:
S41:重新装载目标主机及其状态,恢复在其中执行的程序,并继续提供服务,使其成为目标虚拟机;
S42:将网络连接重定向至目标虚拟机,清除目标虚拟机对源主机的依赖;
S43:从源主机中移除原始的待迁移虚拟机。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611092331.8A CN108121589A (zh) | 2016-11-30 | 2016-11-30 | 一种虚拟机的在线迁移自动收敛的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611092331.8A CN108121589A (zh) | 2016-11-30 | 2016-11-30 | 一种虚拟机的在线迁移自动收敛的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108121589A true CN108121589A (zh) | 2018-06-05 |
Family
ID=62225696
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611092331.8A Pending CN108121589A (zh) | 2016-11-30 | 2016-11-30 | 一种虚拟机的在线迁移自动收敛的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108121589A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109062669A (zh) * | 2018-08-07 | 2018-12-21 | 郑州云海信息技术有限公司 | 一种随机负载下的虚拟机迁移方法及系统 |
CN111352695A (zh) * | 2018-12-24 | 2020-06-30 | 中国电信股份有限公司 | 虚拟机迁移方法、装置和计算机可读存储介质 |
CN116560802A (zh) * | 2023-07-05 | 2023-08-08 | 麒麟软件有限公司 | 一种基于虚拟机负载的虚拟机自适应热迁移方法及系统 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110087901A1 (en) * | 2009-10-14 | 2011-04-14 | Shi-Wu Lo | Fast speed computer system power-on & power-off method |
CN102917055A (zh) * | 2012-10-18 | 2013-02-06 | 华为技术有限公司 | 虚拟机在线迁移的方法、装置和终端设备 |
CN103049308A (zh) * | 2012-11-30 | 2013-04-17 | 华为技术有限公司 | 实现虚拟机热迁移的方法、装置及系统 |
CN103218260A (zh) * | 2013-03-06 | 2013-07-24 | 中国联合网络通信集团有限公司 | 虚拟机迁移方法和装置 |
CN103365704A (zh) * | 2012-03-26 | 2013-10-23 | 中国移动通信集团公司 | 虚拟机迁移中的内存预拷贝方法及执行该方法的装置和系统 |
CN103631633A (zh) * | 2012-08-20 | 2014-03-12 | 中国电信股份有限公司 | 虚拟机全系统在线迁移方法、装置与系统 |
US20150149999A1 (en) * | 2013-11-27 | 2015-05-28 | Vmware, Inc. | Virtual machine group migration |
CN104750620A (zh) * | 2015-04-23 | 2015-07-01 | 四川师范大学 | 一种内存迁移方法及装置 |
-
2016
- 2016-11-30 CN CN201611092331.8A patent/CN108121589A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110087901A1 (en) * | 2009-10-14 | 2011-04-14 | Shi-Wu Lo | Fast speed computer system power-on & power-off method |
CN103365704A (zh) * | 2012-03-26 | 2013-10-23 | 中国移动通信集团公司 | 虚拟机迁移中的内存预拷贝方法及执行该方法的装置和系统 |
CN103631633A (zh) * | 2012-08-20 | 2014-03-12 | 中国电信股份有限公司 | 虚拟机全系统在线迁移方法、装置与系统 |
CN102917055A (zh) * | 2012-10-18 | 2013-02-06 | 华为技术有限公司 | 虚拟机在线迁移的方法、装置和终端设备 |
CN103049308A (zh) * | 2012-11-30 | 2013-04-17 | 华为技术有限公司 | 实现虚拟机热迁移的方法、装置及系统 |
CN103218260A (zh) * | 2013-03-06 | 2013-07-24 | 中国联合网络通信集团有限公司 | 虚拟机迁移方法和装置 |
US20150149999A1 (en) * | 2013-11-27 | 2015-05-28 | Vmware, Inc. | Virtual machine group migration |
CN104750620A (zh) * | 2015-04-23 | 2015-07-01 | 四川师范大学 | 一种内存迁移方法及装置 |
Non-Patent Citations (1)
Title |
---|
李传云: ""KVM虚拟机热迁移算法分析及优化"", 《中国优秀硕士学位论文全文数据库信息科技辑》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109062669A (zh) * | 2018-08-07 | 2018-12-21 | 郑州云海信息技术有限公司 | 一种随机负载下的虚拟机迁移方法及系统 |
CN111352695A (zh) * | 2018-12-24 | 2020-06-30 | 中国电信股份有限公司 | 虚拟机迁移方法、装置和计算机可读存储介质 |
CN111352695B (zh) * | 2018-12-24 | 2023-09-29 | 中国电信股份有限公司 | 虚拟机迁移方法、装置和计算机可读存储介质 |
CN116560802A (zh) * | 2023-07-05 | 2023-08-08 | 麒麟软件有限公司 | 一种基于虚拟机负载的虚拟机自适应热迁移方法及系统 |
CN116560802B (zh) * | 2023-07-05 | 2023-09-26 | 麒麟软件有限公司 | 一种基于虚拟机负载的虚拟机自适应热迁移方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104965757B (zh) | 虚拟机热迁移的方法、虚拟机迁移管理装置及系统 | |
CN103631633B (zh) | 虚拟机全系统在线迁移方法、装置与系统 | |
US8280974B2 (en) | Migrating workloads using networked attached memory | |
EP3690648B1 (en) | Resource scheduling method, scheduling server, cloud computing system and storage medium | |
US9817606B1 (en) | System and methods for dynamically adjusting between asynchronous and synchronous data replication policies in a networked virtualization environment | |
CN103955399A (zh) | 一种虚拟机迁移方法和装置及物理主机 | |
CN102136993B (zh) | 一种数据迁移的方法、装置和系统 | |
CN107247619B (zh) | 虚拟机热迁移方法、装置、系统、存储介质及设备 | |
JP2010097533A (ja) | パーティションで区切られた計算機システムにおけるアプリケーション移動及び消費電力の最適化 | |
US10691477B2 (en) | Virtual machine live migration using intelligent order of pages to transfer | |
CN101945131B (zh) | 一种基于存储虚拟化的数据迁移方法 | |
CN111722786A (zh) | 基于NVMe设备的存储系统 | |
CN106569738A (zh) | 一种删除级联快照的方法及装置 | |
CN104123171A (zh) | 基于numa架构的虚拟机迁移方法及系统 | |
TW201322134A (zh) | 虛擬機管理系統及方法 | |
WO2022021856A1 (zh) | 一种多磁盘虚拟机在线迁移到不同存储池的方法及装置 | |
CN108121589A (zh) | 一种虚拟机的在线迁移自动收敛的方法 | |
WO2016045428A1 (zh) | 一种创建虚拟机的方法和创建虚拟机的装置 | |
CN102123176A (zh) | 一种网络存储系统空间分配管理方法及装置 | |
CN107463424A (zh) | 一种虚拟机迁移方法及装置 | |
CN111026510A (zh) | 一种云环境下虚拟机跨存储热迁移方法 | |
CN104951352A (zh) | 一种数据流的迁移方法和设备 | |
CN112328365A (zh) | 一种虚拟机迁移方法、装置、设备及存储介质 | |
US20190212924A1 (en) | Sidefiles for management of data written via a bus interface to a storage controller during consistent copying of data | |
CN109426439A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180605 |
|
RJ01 | Rejection of invention patent application after publication |