【技术实现步骤摘要】
虚拟机热升级方法、主机设备及存储介质
本申请涉及计算机
,尤其涉及一种虚拟机热升级方法、主机设备及存储介质。
技术介绍
虚拟机(VirtualMachine,VM),一种资源隔离手段,能够在计算机中实现计算内存、存储、网络等资源隔离。与物理机一样,虚拟机同样需要升级。热迁移是一种可在用户无感知的情况下,将虚拟机的资源从一台主机中迁移到另一台主机的热升级方案。然而,在虚拟机热迁移过程中,需要将虚拟机内存中的数据从一台主机迁移到另一台主机上,其耗费资源较多,总迁移时间长,热升级效率低。
技术实现思路
本申请的多个方面提供一种虚拟机热升级方法、主机设备及存储介质,用以减少虚拟机热升级所耗费的资源,提高热升级效率。本申请实施例提供一种虚拟机热升级方法,包括:在虚拟机热升级过程中,控制所述虚拟机在主机上运行的初始进程进入暂停状态;采集所述初始进程的状态数据进行保存,并为所述初始进程占用的内存添加锁定标记,以锁定所述内存不被释放;由所述初始进程在同一主机上创建所述虚拟机对应的目标进程,并将带有所述锁定标记的内存分配给所述目标进程,以实现内存共享;根据所述虚拟机对应的升级文件执行所述目标进程,并由所述目标进程在执行过程中基于所保存的状态数据恢复所述虚拟机的状态。本申请实施例还提供一种主机设备,包括:存储器和处理器,以及运行在由所述存储器和处理器构建的隔离环境中的虚拟机;所述存储器,用于存储计算机程序;所述处理器,与所述存储器耦合,用于执行所述计算机程序,以用于:在虚拟机热升级过程中 ...
【技术保护点】
1.一种虚拟机热升级方法,其特征在于,包括:/n在虚拟机热升级过程中,控制所述虚拟机在主机上运行的初始进程进入暂停状态;/n采集所述初始进程的状态数据进行保存,并为所述初始进程占用的内存添加锁定标记,以锁定所述内存不被释放;/n由所述初始进程在同一主机上创建所述虚拟机对应的目标进程,并将带有所述锁定标记的内存分配给所述目标进程,以实现内存共享;/n根据所述虚拟机对应的升级文件执行所述目标进程,并由所述目标进程在执行过程中基于所保存的状态数据恢复所述虚拟机的状态。/n
【技术特征摘要】
1.一种虚拟机热升级方法,其特征在于,包括:
在虚拟机热升级过程中,控制所述虚拟机在主机上运行的初始进程进入暂停状态;
采集所述初始进程的状态数据进行保存,并为所述初始进程占用的内存添加锁定标记,以锁定所述内存不被释放;
由所述初始进程在同一主机上创建所述虚拟机对应的目标进程,并将带有所述锁定标记的内存分配给所述目标进程,以实现内存共享;
根据所述虚拟机对应的升级文件执行所述目标进程,并由所述目标进程在执行过程中基于所保存的状态数据恢复所述虚拟机的状态。
2.根据权利要求1所述的方法,其特征在于,还包括:
向所述初始进程同步所述目标进程的执行状态,并在所述目标进程执行成功后关闭所述初始进程。
3.根据权利要求1所述的方法,其特征在于,在控制所述虚拟机在主机上运行的初始进程进入暂停状态之前,还包括:
根据所述虚拟机当前的运行状态,判断是否适合对所述虚拟机进行热升级;
若是,则执行控制所述虚拟机在主机上运行的初始进程进入暂停状态的操作;
若否,则等待第一指定时间后,继续执行根据所述虚拟机当前的运行状态,判断是否适合对所述虚拟机进行热升级的操作。
4.根据权利要求3所述的方法,其特征在于,根据所述虚拟机当前的运行状态,判断是否适合对所述虚拟机进行热升级,包括:
判断所述虚拟机当前是否正处于启动状态;
若是,确定不适合对所述虚拟机进行热升级;
若否,确定适合对所述虚拟机进行热升级。
5.根据权利要求1所述的方法,其特征在于,在采集所述初始进程的状态数据进行保存之前,还包括:
判断所述虚拟机是否还有未完成的IO操作;
若否,则执行保存所述初始进程的状态数据的操作;
若是,则等待未完成的IO操作在第二指定时间内完成后,或者在所述第二指定时间结束后,执行保存所述初始进程的状态数据的操作。
6.根据权利要求1所述的方法,其特征在于,控制所述虚拟机在主机上运行的初始进程进入暂停状态,包括:
暂停所述初始进程中所有虚拟处理器线程的执行,并在所有虚拟处理器线程在内核虚拟机接口上返回后,确定所述初始进程进入暂停状态。
7.根据权利要求6所述的方法,其特征在于,所述方法由虚拟机监视器执行,则采集所述初始进程的状态数据进行保存,包括:
采集所述虚拟处理器线程的状态、所述虚拟机的状态以及所述虚拟机监视器的状态进行保存。
8.根据权利要求1所述的方法,其特征在于,在创建所述虚拟机对应的目标进程之前,还包括:为所述初始进程访问的资源添加保留标记,以保留所述资源不被销毁;
相应地,在恢复所述虚拟机的状态之后,还包括:由所述目标进程直接访问带有所述保留标记的资源。
9.根据权利要求1-8任一项所述的方法,其特征在于,在创建所述虚拟机对应的目标进程之前,还包括:
结合所述状态数据涉及的数据类型序列化所述状态数据,以得到序列化后的状态数据。
10.根据权利要求9所述的方法,其特征在于,由所述目标进程在执行过程中基于所保存的状态数据恢复所述虚拟机的状态,包括:
由所述目标进程在执行过程中反序列化所述序列化后的状态数据,并基于反序列化出的状态数据恢复所述虚拟机的状态。
11.根据权利要求10所述的方法,其特征在于,结合所述状态数据涉及的数据类型序列化所述状态数据,以得到序列化后的状态数据,包括:
若所述状态数据涉及目标编程语言从第三方库中引入的目标数据类型,则生成与所述目标数据类型包含的字段相同的影子数据类型;
从所述目标数据类型对应的内存中拷贝各字段的值并赋值给所述影子数据类型中的相同字段,以得到数据类型为影子数据类型的状态数据...
【专利技术属性】
技术研发人员:朱延海,王磊,
申请(专利权)人:阿里巴巴集团控股有限公司,
类型:发明
国别省市:开曼群岛;KY
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。