基于Qemu动态迁移vTPM数据的方法及装置制造方法及图纸

技术编号:18138262 阅读:39 留言:0更新日期:2018-06-06 11:43
本发明专利技术公开了一种基于Qemu动态迁移vTPM数据的方法,应用于目的主机端,在源主机的第一虚拟机运行过程中,加载源主机发送的第一虚拟机的vTPM封装数据,然后对vTPM封装数据进行解封装,得到vTPM数据副本,暂停第一虚拟机的运行,将vTPM数据副本同步到目的主机的第二虚拟机,启动第二虚拟机以完成动态迁移。可见,本发明专利技术能够在源主机的第一虚拟机运行过程中,将第一虚拟机的vTPM数据迁移到目的主机上,保证了虚拟机工作的连续性,满足了更多的实际应用需求。此外,本发明专利技术还提供了与上述方法相对应的装置,以及一种应用于源主机端的基于Qemu动态迁移vTPM数据的方法及装置,其作用与上述方法的作用相对应。

【技术实现步骤摘要】
基于Qemu动态迁移vTPM数据的方法及装置
本专利技术涉及计算机领域,特别是涉及一种应用于目的主机端的基于Qemu动态迁移vTPM数据的方法及装置,和一种应用于源主机端的基于Qemu动态迁移vTPM数据的方法及装置。
技术介绍
随着信息时代的到来,人们对硬件的需求日益增高,而硬件的切换成本一般十分高昂,因此云计算技术成为行业热门。云计算通过软件来虚拟各种硬件的方式来满足业务需求或用户需求,它是一种虚拟化技术,更具体的来讲,云计算是一种通过互联网以服务的形式为用户提供的动态的可伸缩的虚拟化资源的模式。云计算允许在一台物理主机上可运行多台虚拟机,并通过虚拟机监视器hypervisor对各个虚拟机进行管理,实现了计算资源的高效利用,同时虚拟机可在不同物理主机间迁移,因而实现了计算资源的弹性分配。高效性和弹性分配是云计算的核心价值。虽然虚拟机技术实现了高效的资源共享,但业界对其安全性的质疑一直不断。围绕该问题,科技人员研究和设计了多种安全技术,其中可信计算技术是近年来兴起的应用于云计算的重要安全技术之一。可信计算技术在设计之初,目标是保障主机在启动过程中的安全性,用于检测各模块未被破坏或篡改。随着虚拟机技术的兴起,一台物理主机上运行了多台虚拟机,由于为每台虚拟机配置一个物理TPM芯片难以实现,所以需要虚拟化实现TPM,也就是为每台虚拟机提供虚拟TPM芯片,即vTPM,由vTPM实现与物理TPM芯片无差别的可信服务。由于云计算具有弹性分配的特点,也就是经常需要将虚拟机在不同物理主机上进行迁移,迁移的类型包括静态迁移和动态迁移。所谓动态迁移,就是指在虚拟机上的服务正常运行时,将虚拟机系统从一个物理主机迁移到另一个物理主机的过程。其中,Qemu是目前广泛应用的虚拟化软件之一,它模拟实现了CPU、网卡、显卡、TPM等多种设备,为虚拟机提供与物理设备无差别的功能,从公开资料看,Qemu已实现了CPU、网卡、显卡等通用设备的动态迁移。但是,对于TPM设备,Qemu尚不具备动态迁移能力,所以如果虚拟机配置了vTPM设备,将无法实现vTPM的动态迁移。只能将虚拟机关机后,再将vTPM迁移至目的主机。因此,在利用Qemu迁移vTPM之前必须关闭虚拟机,中断虚拟机的运行,不能满足诸多实际应用需求。
技术实现思路
本专利技术的目的是提供一种应用于目的主机端的基于Qemu动态迁移vTPM数据的方法及装置,和一种应用于源主机端的基于Qemu动态迁移vTPM数据的方法及装置,用以解决利用传统Qemu迁移vTPM时必须中断虚拟机的运行,不能满足诸多实际应用需求的问题。为解决上述技术问题,本专利技术提供一种基于Qemu动态迁移vTPM数据的方法,应用于目的主机端,包括:在源主机的第一虚拟机运行过程中,加载所述源主机发送的所述第一虚拟机的vTPM封装数据;对所述vTPM封装数据进行解封装,得到vTPM数据副本;向所述源主机发送暂停指令,以便所述第一虚拟机响应于所述暂停指令暂停运行;将所述vTPM数据副本和所述第一虚拟机的相关设备数据副本同步到所述目的主机上的第二虚拟机,并启动所述第二虚拟机以完成动态迁移。其中,在所述将所述vTPM数据副本和所述第一虚拟机的相关设备数据副本同步到所述目的主机上的第二虚拟机,并启动所述第二虚拟机以完成动态迁移之后,还包括:判断所述第二虚拟机是否启动成功;若所述第二虚拟机启动失败,则向所述源主机发送启动指令,以便所述源主机响应于所述启动指令启动所述第一虚拟机。其中,在所述判断所述第二虚拟机是否启动成功之后,还包括:若所述第二虚拟机启动成功,则判断加载得到的所述vTPM封装数据是否完整;若加载得到的所述vTPM封装数据完整,则向所述源主机发送删除指令,以便所述源主机响应于所述删除指令删除所述第一虚拟机的vTPM数据。其中,在所述在源主机的第一虚拟机运行过程中,加载所述源主机发送的所述第一虚拟机的vTPM封装数据之前,还包括:从主机管理端获取源主机的可信状态;判断所述可信状态是否为可信;若所述可信状态为可信,则建立与所述源主机之间的通信链路。本专利技术还提供了一种基于Qemu动态迁移vTPM数据的方法,应用于源主机端,包括:在源主机的第一虚拟机运行过程中,复制所述第一虚拟机的vTPM数据,得到vTPM数据副本;对所述vTPM数据副本进行封装,得到vTPM封装数据;将所述vTPM封装数据发送到目的主机,以便所述目的主机对所述vTPM封装数据进行解封装得到所述vTPM数据副本,向所述源主机发送暂停指令,并将所述vTPM数据副本和所述第一虚拟机的相关设备数据副本同步到所述目的主机上的第二虚拟机,启动所述第二虚拟机以完成动态迁移。其中,所述对所述vTPM数据副本进行封装,得到vTPM封装数据包括:通过Qemu接口层向Qemu功能层发送封装指令;所述Qemu功能层响应于所述封装指令,对所述vTPM数据副本进行封装,得到vTPM封装数据。除此之外,本专利技术还提供了一种基于Qemu动态迁移vTPM数据的装置,应用于目的主机端,包括:加载模块:用于在源主机的第一虚拟机运行过程中,加载所述源主机发送的所述第一虚拟机的vTPM封装数据;解封装模块:用于对所述vTPM封装数据进行解封装,得到vTPM数据副本;暂停指令发送模块:用于向所述源主机发送暂停指令,以便所述第一虚拟机响应于所述暂停指令暂停运行;第二虚拟机启动模块:用于将所述vTPM数据副本和所述第一虚拟机的相关设备数据副本同步到所述目的主机上的第二虚拟机,并启动所述第二虚拟机以完成动态迁移。其中,所述装置还包括:启动判断模块:用于判断所述第二虚拟机是否启动成功;启动指令发送模块:用于若所述第二虚拟机启动失败,向所述源主机发送启动指令,以便所述源主机响应于所述启动指令启动所述第一虚拟机。其中,所述装置还包括:数据判断模块:用于若所述第二虚拟机启动成功,判断加载得到的所述vTPM封装数据是否完整;删除指令发送模块:用于若加载得到的所述vTPM封装数据完整,向所述源主机发送删除指令,以便所述源主机响应于所述删除指令删除所述第一虚拟机的vTPM数据。最后,本专利技术还提供了一种基于Qemu动态迁移vTPM数据的装置,应用于源主机端,包括:复制模块:用于在源主机的第一虚拟机运行过程中,复制所述第一虚拟机的vTPM数据,得到vTPM数据副本;封装模块:用于对所述vTPM数据副本进行封装,得到vTPM封装数据;发送模块:用于将所述vTPM封装数据发送到目的主机,以便所述目的主机对所述vTPM封装数据进行解封装得到所述vTPM数据副本,向所述源主机发送暂停指令,并将所述vTPM数据副本和所述第一虚拟机的相关设备数据副本同步到所述目的主机上的第二虚拟机,启动所述第二虚拟机以完成动态迁移。本专利技术所提供的一种基于Qemu动态迁移vTPM数据的方法,应用于目的主机端,在源主机的第一虚拟机运行过程中,加载所述源主机发送的所述第一虚拟机的vTPM封装数据,然后对所述vTPM封装数据进行解封装,得到vTPM数据副本,再向所述源主机发送暂停指令,以便所述第一虚拟机响应于所述暂停指令暂停运行,最后将所述vTPM数据副本和所述第一虚拟机的相关设备数据副本同步到所述目的主机上的第二虚拟机,启动所述第二虚拟机以完成动态迁移。可见,本本文档来自技高网
...
基于Qemu动态迁移vTPM数据的方法及装置

【技术保护点】
一种基于Qemu动态迁移vTPM数据的方法,应用于目的主机端,其特征在于,包括:在源主机的第一虚拟机运行过程中,加载所述源主机发送的所述第一虚拟机的vTPM封装数据;对所述vTPM封装数据进行解封装,得到vTPM数据副本;向所述源主机发送暂停指令,以便所述第一虚拟机响应于所述暂停指令暂停运行;将所述vTPM数据副本和所述第一虚拟机的相关设备数据副本同步到所述目的主机上的第二虚拟机,并启动所述第二虚拟机以完成动态迁移。

【技术特征摘要】
1.一种基于Qemu动态迁移vTPM数据的方法,应用于目的主机端,其特征在于,包括:在源主机的第一虚拟机运行过程中,加载所述源主机发送的所述第一虚拟机的vTPM封装数据;对所述vTPM封装数据进行解封装,得到vTPM数据副本;向所述源主机发送暂停指令,以便所述第一虚拟机响应于所述暂停指令暂停运行;将所述vTPM数据副本和所述第一虚拟机的相关设备数据副本同步到所述目的主机上的第二虚拟机,并启动所述第二虚拟机以完成动态迁移。2.如权利要求1所述的方法,其特征在于,在所述将所述vTPM数据副本和所述第一虚拟机的相关设备数据副本同步到所述目的主机上的第二虚拟机,并启动所述第二虚拟机以完成动态迁移之后,还包括:判断所述第二虚拟机是否启动成功;若所述第二虚拟机启动失败,则向所述源主机发送启动指令,以便所述源主机响应于所述启动指令启动所述第一虚拟机。3.如权利要求2所述的方法,其特征在于,在所述判断所述第二虚拟机是否启动成功之后,还包括:若所述第二虚拟机启动成功,则判断加载得到的所述vTPM封装数据是否完整;若加载得到的所述vTPM封装数据完整,则向所述源主机发送删除指令,以便所述源主机响应于所述删除指令删除所述第一虚拟机的vTPM数据。4.如权利要求1-3任意一项所述的方法,其特征在于,在所述在源主机的第一虚拟机运行过程中,加载所述源主机发送的所述第一虚拟机的vTPM封装数据之前,还包括:从主机管理端获取源主机的可信状态;判断所述可信状态是否为可信;若所述可信状态为可信,则建立与所述源主机之间的通信链路。5.一种基于Qemu动态迁移vTPM数据的方法,应用于源主机端,其特征在于,包括:在源主机的第一虚拟机运行过程中,复制所述第一虚拟机的vTPM数据,得到vTPM数据副本;对所述vTPM数据副本进行封装,得到vTPM封装数据;将所述vTPM封装数据发送到目的主机,以便所述目的主机对所述vTPM封装数据进行解封装得到所述vTPM数据副本,向所述源主机发送暂停指令,并将所述vTPM数据副本和所述第一虚拟机的相关设备数据副本同步到所述目的主机上的第二虚拟机,启动所述第二虚拟机以完成动...

【专利技术属性】
技术研发人员:曹永超
申请(专利权)人:浪潮北京电子信息产业有限公司
类型:发明
国别省市:北京,11

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

1