CN112363801A - 虚拟机迁移方法、处理方法、系统、装置、芯片及介质 - Google Patents

虚拟机迁移方法、处理方法、系统、装置、芯片及介质 Download PDF

Info

Publication number
CN112363801A
CN112363801A CN202011247083.6A CN202011247083A CN112363801A CN 112363801 A CN112363801 A CN 112363801A CN 202011247083 A CN202011247083 A CN 202011247083A CN 112363801 A CN112363801 A CN 112363801A
Authority
CN
China
Prior art keywords
migration
migrated
data
memory page
virtual machine
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
Application number
CN202011247083.6A
Other languages
English (en)
Other versions
CN112363801B (zh
Inventor
韩里洋
冯浩
应志伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Haiguang Information Technology Co Ltd
Original Assignee
Haiguang Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Haiguang Information Technology Co Ltd filed Critical Haiguang Information Technology Co Ltd
Priority to CN202011247083.6A priority Critical patent/CN112363801B/zh
Publication of CN112363801A publication Critical patent/CN112363801A/zh
Application granted granted Critical
Publication of CN112363801B publication Critical patent/CN112363801B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution 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)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本申请的虚拟机迁移方法、处理方法、系统、装置、芯片及介质,实现运行源主机向目的主机进行安全型的虚拟机的迁移,通过存储每个待迁移内存页的内存页信息;在所存储的内存页信息满足迁移执行条件时,获得相关于各内存页信息的内存页迁移参数;从而根据所述内存页迁移参数中的元数据从各所述待迁移内存页获取待迁移数据并转换为能被目的主机解密的待传输数据并暂存;将各所述待迁移内存页的待传输数据批量地向所述目的主机传输。实现安全型的虚拟机内存迁移的批量处理方案,提升虚拟机内存页迁移的效率;此外,还可兼顾内存迁移的效率和保障软件的兼容性。

Description

虚拟机迁移方法、处理方法、系统、装置、芯片及介质
技术领域
本申请实施例涉及半导体芯片技术领域,尤其虚拟机迁移方法、处理方法、系统、装置、芯片及介质。
背景技术
云主机是一种虚拟机,是云计算在基础设施应用上的重要组成部分,以向用户提供远程的云计算的服务,而降低用户本地计算机的负担。通过虚拟化技术,可以在一台物理服务器(物理主机)上虚拟出单个或多个的云主机,对应于不同用户的运算服务。
为了更好地保证用户的安全性,通过加密虚拟化技术实现的安全云主机(亦可称为“加密云主机”),每个安全云主机的内存数据都会通过一个私有的密钥(简称私钥)进行加解密,当一安全云主机写数据到内存时使用该私钥加密,当该云主机从内存读数据时用该私钥解密。由于私钥是每个云主机私有的,所以其他云主机或者物理服务器的系统软件访问这部分内存时,只能得到密文而无法看到明文,从而达到加密安全的目的。
在安全云主机需要迁移的情形下,例如物理服务器老化等,需要将安全云主机从一台物理主机转移到另一台。为消除迁移过程中对用户产生的不良体验,会采用“热迁移”的技术,也就是不对待迁移的云主机停止运行再迁移,而是在待迁移的云主机的运行过程中就直接进行内存数据的迁移。
然而,由于目前“热迁移”的方式都是将待迁移的安全云主机的每一个内存页内存逐个传送到需要迁移至的目的物理服务器,在每个内存页传输时皆需要对其记载的数据进行诸如虚拟地址到物理地址转换、解密再加密等工作,过程非常复杂,导致迁移效率低下。
因此,如何找到一种快速提升安全云主机迁移效率的迁移机制,已成为业界亟待解决的技术问题。
发明内容
有鉴于此,本申请实施例中提供虚拟机迁移方法、处理方法、系统、装置、芯片及介质,解决现有技术中的问题。
本申请实施例提供了一种虚拟机迁移方法,应用于运行有待迁移的虚拟机的源主机,以向目的主机进行虚拟机的迁移;其中,所述虚拟机具有私钥,以用于对其在内存页中的数据加密或解密;所述虚拟机迁移方法包括:
存储每个待迁移内存页的内存页信息;
在所存储的内存页信息满足迁移执行条件时,获得相关于各内存页信息的内存页迁移参数;其中,所述内存页迁移参数包括所述待迁移内存页的元数据;
根据所述内存页迁移参数中的元数据从各所述待迁移内存页获取经私钥加密的待迁移数据,转换所述待迁移数据为能被目的主机解密的待传输数据并暂存;
将各所述待迁移内存页的待传输数据向所述目的主机传输。
可选的,所述迁移执行条件包括:
存储的待迁移内存页的内存页信息的数量达到预设阈值;
或者,存储的待迁移内存页的内存页信息的数量未达到预设阈值,且无新的待迁移内存页产生。
可选的,所述元数据包括:各所述待迁移内存页所在的内存地址;以及用于存储所述待传输数据的暂存地址。
可选的,所述虚拟机迁移方法包括:将所述待传输数据存储至所述暂存地址。
可选的,所述内存页迁移参数包括:用于表示单页或批量迁移的批量迁移标志位,以用于确定单页或批量迁移的迁移方式。
可选的,所述元数据包括:相关的多个数据项;
当所述批量迁移标志位为表示单页迁移方式的第一取值时,所述相关的多个数据项用于分别存储单个待迁移内存页的内存地址,以及待传输数据的暂存地址;
或者,当所述批量迁移标志位为表示批量迁移方式的第二取值时,所述相关的多个数据项中的至少一个用于存储多个待迁移内存页的内存地址,以及它们各自对应的待传输数据的暂存地址。
可选的,所述多个待迁移内存页的内存地址以及它们各自对应的待传输数据的暂存地址,通过数组形式存储于一个数据项内。
可选的,所述转换所述待迁移数据为能被目的主机解密的待传输数据并暂存,包括:
将每个待迁移内存页的待迁移数据经对应私钥解密后,通过由源主机与目的主机协商的传输密钥加密为所述待传输数据。
可选的,所述源主机包括服务器;所述虚拟机为运行于服务器的云主机。
本申请实施例提供了一种实现虚拟机迁移的处理系统,应用于运行有待迁移的虚拟机的源主机,以向目的主机进行虚拟机的迁移;其中,所述虚拟机具有私钥,以用于对其在内存页中的数据加密或解密;所述处理系统包括:
虚拟机控制模块,用于存储每个待迁移内存页的内存页信息;在所存储的内存页信息满足迁移执行条件时,获得相关于各内存页信息的内存页迁移参数;其中,所述内存页迁移参数包括所述待迁移内存页的元数据;
安全模块,用于根据所述内存页迁移参数中的元数据从各所述待迁移内存页获取经私钥加密的待迁移数据,转换所述待迁移数据为能被目的主机解密的待传输数据并暂存;
所述虚拟机控制模块,还用于将各所述待迁移内存页的待传输数据向所述目的主机传输。
本申请实施例提供了一种虚拟机迁移方法,应用于运行有待迁移的虚拟机的源主机中的中央处理器,所述源主机向目的主机进行虚拟机的迁移;其中,源主机包括安全处理器,用于管理所述虚拟机的私钥,所述私钥用于对虚拟机在内存页中的数据加密或解密;所述虚拟机迁移方法包括:
存储每个待迁移内存页的内存页信息;
在所存储的内存页信息满足迁移执行条件时,获得相关于各内存页信息的内存页迁移参数;其中,所述内存页迁移参数包括所述待迁移内存页的元数据;
向安全处理器传输所述内存页迁移参数,以供将所述元数据所索引的待迁移数据转换为能被目的主机解密的待传输数据并暂存;
将各所述待迁移内存页的待传输数据向所述目的主机传输。
可选的,所述迁移执行条件包括:
存储的待迁移内存页的内存页信息的数量达到预设阈值;
或者,存储的待迁移内存页的内存页信息的数量未达到预设阈值,且无新的待迁移内存页产生。
可选的,所述元数据包括:各所述待迁移内存页所在的内存地址;以及用于存储所述待传输数据的暂存地址。
可选的,所述内存页迁移参数包括:用于表示单页或批量迁移的批量迁移标志位,以用于确定单页或批量迁移的迁移方式。
可选的,所述元数据包括:相关的多个数据项;
当所述批量迁移标志位为表示单页迁移方式的第一取值时,所述相关的多个数据项用于分别存储单个待迁移内存页的内存地址,以及待传输数据的暂存地址;
或者,当所述批量迁移标志位为表示批量迁移方式的第二取值时,所述相关的多个数据项中的至少一个用于存储多个待迁移内存页的内存地址,以及它们各自对应的待传输数据的暂存地址。
可选的,所述多个待迁移内存页的内存地址以及它们各自对应的待传输数据的暂存地址,通过数组形式存储于一个数据项内。
可选的,所述源主机包括服务器;所述虚拟机为运行于服务器的云主机。
本申请实施例提供了一种虚拟机迁移数据处理方法,应用于运行有虚拟机的源主机中的安全处理器,所述源主机向目的主机进行虚拟机的迁移;所述虚拟机具有私钥,以用于对其在内存页中的数据加密或解密;所述安全处理器管理所述私钥;所述虚拟机迁移数据处理方法包括:
获取待迁移内存页的内存页迁移参数;
根据所述内存页迁移参数中待迁移内存页的元数据获取每个待迁移内存页的经私钥加密的待迁移数据,并转换所述待迁移数据为能被目的主机解密的待传输数据并暂存;
发送通知,以通知源主机向目的主机传输所述待传输数据。
可选的,所述元数据包括:各所述待迁移内存页所在的内存地址;以及用于存储所述待传输数据的暂存地址。
可选的,所述通知中包含所述暂存地址。
可选的,所述内存页迁移参数包括:用于表示单页或批量迁移的批量迁移标志位,以用于确定单页或批量迁移的迁移方式;所述根据所述内存页迁移参数中待迁移内存页的元数据获取每个待迁移内存页的经私钥加密的待迁移数据,并转换所述待迁移数据为能被目的主机解密的待传输数据并暂存,包括:
根据所确定的迁移方式,将每个待迁移内存页的待迁移数据转换为待传输数据。
可选的,所述转换所述待迁移数据为能被目的主机解密的待传输数据并暂存,包括:
将每个待迁移内存页的待迁移数据经对应私钥解密后,通过由源主机与目的主机协商的传输密钥加密为所述待传输数据。
可选的,所述源主机包括服务器;所述虚拟机为运行于服务器的云主机。
本申请实施例提供了一种中央处理器,用于运行可执行程序代码,以执行如前述的虚拟机迁移方法。
本申请实施例提供了一种安全处理器,用于运行可执行程序代码,以执行如前述的虚拟机迁移数据处理方法。
本申请实施例提供了一种芯片,包括:前述所述的中央处理器,以及安全处理器;所述中央处理器与所述安全处理器通信连接。
本申请实施例提供了一种计算机装置,包括:所述的芯片;或者,计算机装置包括:所述的中央处理器,以及所述的安全处理器,所述中央处理器与所述安全处理器通信连接。
本申请实施例提供了一种计算机可读存储介质,其上存储有可执行程序代码,所述可执行程序代码被运行时执行所述的虚拟机迁移方法;或执行如权利要求所述的虚拟机迁移数据处理方法。
与现有技术相比,本申请实施例的技术方案具有以下有益效果:
一方面,实现安全型的虚拟机内存迁移的批量处理方案,从而提升虚拟机内存页迁移的效率;另一方面。还可以兼顾内存迁移的效率和保障软件的兼容性。
附图说明
图1展示云主机实现的原理架构图。
图2展示安全云主机的内存访问原理图。
图3展示本申请实施例中的虚拟机迁移方法的流程示意图。
图4A展示本申请实施例中单页迁移方式下的内存页迁移参数的数据结构示意图。
图4B展示本申请实施例中批量迁移方式下的内存页迁移参数的数据结构示意图。
图5展示本申请实施例中中央处理器与安全处理器架构下执行虚拟机迁移方法的流程示意图。
图6展示本申请实施例中的实现虚拟机迁移的处理系统的模块示意图。
图7展示本申请实施例中的芯片示意图。
具体示例方式
随着云计算概念的推广普及,很多企业和个人用户选择上云服务,其中典型的代表就是云主机。云主机是运行在云计算平台(简称云平台)的物理服务器上的虚拟机,通过硬件虚拟化技术,使云主机达到接近本地计算机的使用效果。
如图1所示,展示云主机实现的原理架构图。
以运行有Linux作为操作系统11的物理服务器10为例,通过运行硬件模拟器程序12(例如QEMU等),模拟出一台完整的云主机13,包括模拟的中央处理器131、内存132、硬盘133、通信模块134(例如网卡)等,并通过Linux内核的基于内核的虚拟机模块111(Kernel-based Virtual Machine,KVM)实现对硬件模拟器程序12的物理硬件支持,从而实现对云主机13的虚拟硬件的中央处理器131和内存132的物理硬件加速,即例如图中两种虚线的连接线所表示的,从物理服务器10的中央处理器101到云主机13的模拟的中央处理器131的加速,及从物理服务器10的内存102到云主机13的模拟的内存132的加速。
由于一个云平台通常是由大量物理服务器集群组建起来的,但是物理服务器由于硬件老化或系统维护等原因,需要从云平台下线,所以需要对下线物理服务器上的云主机进行有效管理,否则使用该云主机的用户无法得到服务,对用户造成不同程度的损失,这样就需要使用虚拟机的迁移技术来将云主机从下线的物理服务器转移到新的物理服务器。为描述方便,可以将待迁移的云主机所在的物理服务器称为源主机,需要迁移至的物理服务器称为目的主机。
为加强用户体验,可采用“热迁移”的技术来将云主机从源主机迁移到目的主机,所谓热迁移,即源主机上待迁移的云主机继续运行,在此过程中,将云主机的数据平稳过渡到目的主机,直至最后可以在目的主机运行所述云主机时,对源主机下线切换到目的主机,云主机在目的主机沿着原来的状态继续运行;可见,在此过程中对于用户而言,迁移过程的用户体验较好。
热迁移过程中,有很大的一部分工作就是对云主机的内存进行从源主机到目的主机的迁移。当前内存管理都是以页为单位的,例如每个内存页可表示为4K对齐的4K大小的内存。以QEMU和KVM实现的云主机为例,在软件实现上,虚拟机管理层即QEMU层,会逐个地将待迁移的内存页从源主机向目标主机发送。
为了更好地保证用户的安全性,在物理硬件的基础上可进一步实现安全云主机(或称加密云主机),每个安全云主机的内存数据都会由一个其私有的密钥进行加解密,这个密钥可由专门的安全处理器进行统一管理。
如图2所示,展示安全云主机的内存访问原理图。
按图示具体来讲,当云主机201写数据到内存203的内存区域A时用其私有密钥即私钥1加密,当云主机201从内存区域A读数据时用该私钥1解密。由于每个云主机都具有各自私有的私钥,所以云主机202或者物理服务器的系统软件访问内存区域A时,只能得到密文;同理,云主机202同样使用其私钥2进行相应内存区域B中数据的加密或解密,对于外部而言同样只能看到密文。
可以理解的是,通过每个云主机通过各自的私钥获得自身的数据安全,而且其私钥可由安全性较好的专门硬件(例如图示的安全处理器204)管理,进一步加强了安全性。当然,在一些示例中,如果物理服务器的系统是可信的情况下,也可以不需要安全处理器204。
由于在每有一个待迁移内存页出现时,就需要执行一次迁移流程,即从虚拟机管理层到KVM层的相关通知,再传递到安全处理器对待迁移内存页对应的待迁移数据的解密,以及源主机与目的主机间对待迁移数据的加密传输,过程非常复杂,随待迁移内存页的增加会导致迁移效率低下。
有鉴于此,为提升迁移效率,本申请实施例中通过改善内存页迁移的机制,从而实现批量的内存页迁移,从而提升迁移效率。需说明的是,虽然上述示例中以云主机为例,但实际上云主机只是虚拟机在云计算平台场景中的应用而已,故其它应用场景中的虚拟机皆可使用本申请实施例中的迁移方案,并非以上述云主机为限。
如图3所示,展示本申请实施例中虚拟机迁移方法的流程示意图。
图3中的虚拟机迁移方法,应用于运行有待迁移的虚拟机的源主机,以向目的主机进行虚拟机的迁移。在具体示例中,所述源主机和目的主机可以是物理主机,例如物理服务器或服务器组等;所述虚拟机可以是例如前述应用在云计算平台场景中的安全云主机等。
在一些示例中,所述源主机中可具有中央处理器和安全处理器,中央处理器用于运行操作系统并实现虚拟机,例如运行Linux操作系统并安装有虚拟机管理的应用软件,例如QEMU,QEMU与Linux内核中KVM共同实现的虚拟机;虚拟机可对应具有私钥,由安全处理器来管理,用于虚拟机写/读的内存数据的加密/解密。其中,安全处理器通过运行固件程序来控制所述虚拟机写/读的内存数据的加密/解密。或者在其它示例中,在没有安全处理器的情况下,中央处理器中也可以具有可信执行环境,以用于管理虚拟机的私钥,并用于运行安全程序实现来执行加密/解密的操作。
根据上述示例的原理,可以实现包含虚拟机管理层(例如QEMU软件实现)、内核层(例如KVM实现)、安全处理器的固件层(或中央处理器的安全层)的软件栈,其中,安全处理器的固件层可以由安全处理器运行固件程序实现,中央处理器的安全层可由中央处理器的可信执行环境运行程序实现;各软件层之间的交互实现所述虚拟机的内存迁移。
所述虚拟机迁移方法包括:
步骤S301:存储每个待迁移内存页的内存页信息。
在一些示例中,所述待迁移内存页的内存页信息,可以包括所述待迁移内存页所在的内存地址,其中可包含基地址以及内存页长度,即从基地址偏移所述内存页长度的范围中的各个地址,皆为所述待迁移内存页的内存地址。
根据所述待迁移内存页的内存地址,可以寻址到对应索引的待迁移内存页中的数据。
步骤S302:在所存储的内存页信息满足迁移执行条件时,获得相关于各内存页信息的内存页迁移参数;其中,所述内存页迁移参数包括所述待迁移内存页的元数据。
在一些示例中,所述迁移执行条件包括:存储的待迁移内存页的内存页信息的数量达到预设阈值。具体来讲,即当待迁移内存页的数量达到预设阈值时,触发对它们进行批量迁移的迁移执行条件。所述预设阈值可以根据实际需求进行设置。
由于将单页迁移的方式转变为批量迁移,在通过判断是否积累的待迁移内存页的内存页信息的数量(即相当于是待迁移内存页的数量)是否达到预设阈值而判断迁移动作的执行,故当待迁移内存页虽然存在,但其数量达不到预设阈值且后续无新的待迁移内存页产生时,可能会造成额外的等待时间。
故所述迁移执行条件包括:存储的待迁移内存页的内存页信息的数量未达到预设阈值,且无新的待迁移内存页产生。在具体示例中,所述无新的待迁移内存页产生的判断,可以根据时间条件来进行判断。例如,可以通过设置一预设时长,当超出预设时长没有新的待迁移内存页产生时,可认为无新的待迁移内存页产生。
在上述软件栈,所述内存页迁移参数在各软件层之间传递,以通知执行迁移的方式以及对象。
在具体示例中,所述内存页迁移参数包括:用于表示单页或批量迁移的批量迁移标志位,以用于确定单页或批量迁移的迁移方式。例如,批量迁移标志位的取值为0时,表示单页迁移;为1时表示批量迁移。
通过该批量迁移标志位的设置,既满足在迁移过程中令软件栈的各层能识别改进的批量迁移方式并执行相应操作,又不会造成软件栈的结构变化,兼顾内存迁移的效率和保障软件的兼容性。
在具体示例中,所述元数据对应包括:各所述待迁移内存页所在的内存地址;以及用于存储所述待传输数据的暂存地址。在具体示例中,所述各所述待迁移内存页所在的内存地址可以包括:待迁移内存页所在的基地址以及内存页长度;所述待传输数据的暂存地址,可以是对应需要存放待迁移内存页中的数据的临时分配的地址,即可将待迁移内存页的待迁移数据存放到该暂存地址。
可选的,所述元数据包括:相关的多个数据项。其中,这些数据项可以是对应所述批量迁移标志位的取值不同即迁移方式不同,而对应分配不同的内容,例如对应存放批量的待迁移内存页的相关地址,或对应单页的待迁移内存页的相关地址。
在一种情形中,当所述批量迁移标志位为表示单页迁移方式的第一取值时,所述相关的多个数据项用于分别存储单个待迁移内存页的内存地址,以及待传输数据的暂存地址。
举例来说,如图4A所示,展示虚拟机管理层向内核层传输的内存页迁移参数的一种数据结构示意图。
在图4A中,批量迁移标志位①的取值为0,表示单页迁移。可选而非必要的,数据项②项可存放防传输数据纂改的安全信息。数据项③中的待迁移内存页的内存地址即为单页的待迁移内存页的基地址,数据项④中存放内存页长度,数据项⑤中存放待传输数据的暂存地址,其指向⑥的内存区域以供暂存所述单页的待迁移内存页的待传输数据,当待传输数据未形成时,⑥中内容为空,在之后内核层向安全处理器的固件层或中央处理器的安全层传送内存页迁移参数,以供生成待传输数据并放入暂存地址对应的内存区域。
或者在另一种情形中,当所述批量迁移标志位为表示批量迁移方式的第二取值时,所述相关的多个数据项中的至少一个用于存储多个待迁移内存页的内存地址,以及它们各自对应的待传输数据的暂存地址。例如,所述多个待迁移内存页的内存地址以及它们各自对应的待传输数据的暂存地址,通过数组形式存储于一个数据项内。
举例来说,如图4B所示,展示虚拟机管理层向内核层传输的内存页迁移参数的另一种数据结构示意图。
在图4B中,批量迁移标志位①的取值为1,表示批量迁移。②项可存放防传输数据纂改的安全信息。③中存放需批量传输的各个待迁移内存页的基地址、相应的内存页长度和待传输数据的暂存地址,可以通过例如数组形式存储,图中示例性地展示了3个待迁移内存页的元数据,即待迁移内存页1的基地址、待迁移内存页1的内存页长度、待迁移内存页1的待传输数据的暂存地址;待迁移内存页2的基地址、待迁移内存页2的内存页长度、待迁移内存页2的待传输数据的暂存地址;以及待迁移内存页3的基地址、待迁移内存页3的内存页长度、待迁移内存页3的待传输数据的暂存地址。3个待迁移内存页的待传输数据的暂存地址分别关联于对应的一块内存区域,如图中所示的内存区域⑦、⑧、⑨,用于存放每个待迁移内存页各自的待传输数据。数据项④和数据项⑤则可相应清空。
在图4A和4B的示例中,提供了可以兼容批量迁移、单页迁移的内存页迁移参数的数据结构,在提升迁移效率的情况下,亦兼顾软件的兼容性。
在一些示例中,由于现代计算机系统中的物理内存地址的访问,皆需要虚拟地址(Virtual Address)到物理地址(Physical Address)的转换,而安全处理器作为中央处理器的协处理器,其可以不具备CPU的内存管理单元(Memory Management Unit,MMU)的地址转换能力,故在内存页迁移参数(例如图4A和图4B中所展示)传递到安全处理器之前,所述内存地址和暂存地址都需要转换为主机物理内存地址(Host Physical Address,HPA),因此在所述元数据中的各所述待迁移内存页所在的内存地址、以及用于存储所述待传输数据的暂存地址需要转换为主机物理内存地址。而且,由于是对虚拟机的内存迁移,故涉及从虚拟机的虚拟机物理内存地址(Guest Physical Address,GPA)到所述主机物理内存地址的转换。
以在之前所描述的虚拟机管理层、内核层、安全处理器的固件层的软件栈为例,具体说明上述地址转换的原理。QEMU程序作为类似于虚拟机管理器(Virtual MachineManager,VMM)的程序,在虚拟机管理可以实现虚拟机物理内存地址(GPA)到主机虚拟内存地址(HVA)的转换。
可知,在虚拟机管理层向内核层发送图4A或图4B的内存页迁移参数时,其中的各个待迁移内存页的内存地址以及待传输数据的暂存地址,皆可以是虚拟机管理层根据虚拟机物理内存地址(GPA)转换成的主机虚拟内存地址(HVA);内核层在收到内存页迁移参数后,将其中的各个待迁移内存页的内存地址以及待传输数据的暂存地址的HVA地址转换成主机物理内存地址(HPA),进而向安全处理器的固件层传输或者直接由中央处理器的安全层处理。
例如,图4A中的数据项③、⑤在内核层会从HVA转换为HPA;图4B中的待迁移内存页1、2、3的内存地址及相关的暂存地址在内核层从HVA转换为HPA。
在步骤S302得到内存页迁移参数后,可执行步骤S303:根据所述内存页迁移参数中的元数据从各所述待迁移内存页获取经私钥加密的待迁移数据,转换所述待迁移数据为能被目的主机解密的待传输数据并暂存。
在具体示例中,所述步骤S303可以是由安全处理器的固件层执行或中央处理器的安全层执行。
在具体实现的示例中,可以通过读取内存页迁移参数中的批量迁移标志位的值(0或1),可以确定需要采用单页迁移或批量迁移的方式。
若为单页迁移的方式,则根据例如图4A的内存页迁移参数中的元数据,根据数据项③、④计算的内存地址读取相应的单个待迁移内存页中的待迁移数据,使用对应虚拟机的私钥解密成明文,并通过协商所得的传输密钥加密成待传输数据,存放到所述内存页迁移参数中暂存地址对应的内存区域。
若为批量迁移的方式,则根据例如图4B的内存页迁移参数中的元数据中数据项③中的各个待迁移内存页的基地址、内存页长度、暂存地址,进行逐页的待迁移数据的读取并转换为待传输数据,存放到所述暂存地址对应的内存区域。
需特别说明的是,上述地址转换的示例只是在安全处理器作为无法实现地址转换的协处理器的情形下所实施,然而在其它实施例中,若安全处理器维护有页表而具备地址转换能力,则可以进行GPA到HVA中任意一级地址到HPA的转换,则内核层向固件层传输的内存页迁移参数中的地址的类型亦可以相应变化为GPA或HVA。
在一些示例中,为实现能被所述目的主机解密的所述待传输数据,源主机和目的主机之间可以先行协商一个传输密钥,将每个待迁移内存页的待迁移数据经对应私钥解密后,通过由源主机与目的主机协商的传输密钥加密为所述待传输数据。
在具体示例中,密钥协商的算法可以采用以下中的任意一种:基于非对称加密算法,如RSA,ECC(Error Correcting Code);或者采用专用的密钥交换算法,如迪菲-赫尔曼(Diffie-Hellman,DH),椭圆曲线迪菲-赫尔曼秘钥交换(Elliptic Curve Diffie–Hellmankey Exchange,ECDH)等;或者采用基于秘密共享的算法,如预共享密钥(Pre-Shared Key,PSK),安全远程口令(Secure Remote Password,SRP)等,本申请并不对具体所采用的密钥协商算法进行限制。
步骤S304:将各所述待迁移内存页的待传输数据向所述目的主机传输。
在一些示例中,安全处理器的固件层执行或中央处理器的安全层在根据内存页迁移参数处理完成待传输数据后,可以经内核层返回虚拟机管理层内存页迁移参数以通知暂存地址,或者在一些示例中也可以返回暂存地址;虚拟机管理层可以通过源主机的通信模块(实际上即通过CPU控制通信模块,所述通信模块例如为网卡或其它通信协议的电路模块)与目的主机通信,以将读取自暂存地址中的待传输数据向目的主机传输,当所述暂存地址中的待传输数据对应于批量的待迁移内存页的情况下,即完成了对待迁移内存页的批量迁移,提升了迁移效率。
若所述暂存地址中的待传输数据是对应于单页的待迁移内存页,则说明之前满足预设阈值的批量待迁移内存页已传输完毕,剩余的不足预设阈值的各待迁移内存页可以逐页传输。
之后,可以返回步骤S301循环执行,直至不存在待迁移内存页。因此,在步骤S301中可以先预先判断是否还存在待迁移内存页。
在图3中,并不限制步骤S303是由中央处理器执行或安全处理器执行。
故在图5中,以源主机中包含中央处理器和安全处理器的架构为例,展示中央处理器和安全处理器两侧交互下实现的虚拟机迁移方法的执行流程。
该执行流程具体包括:
步骤S501:中央处理器存储每个待迁移内存页的内存页信息;
在具体示例中,可以由中央处理器运行程序(如QEMU)实现的虚拟机管理层执行步骤S501。
步骤S502:中央处理器在判断出所存储的内存页信息满足迁移执行条件时,获得相关于各内存页信息的内存页迁移参数;
在具体示例中,在中央处理器运行实现虚拟机管理层和内核层的情况下,步骤S502具体包括:
A、虚拟机管理层在判断出所存储的内存页信息满足迁移执行条件时,发送相应的内存页迁移参数给内核层;
在具体示例中,虚拟机管理层发出的内存页迁移参数中的元数据中,待迁移内存页的内存地址和待传输数据的暂存地址可能为HVA地址。
B、内核层将所述内存页迁移参数中的地址转换为HPA地址。
步骤S503:中央处理器向安全处理器传输所述内存页迁移参数;
步骤S504:安全处理器接收所述内存页迁移参数,根据内存页迁移参数中元数据所索引的待迁移数据转换为能被目的主机解密的待传输数据并暂存。
在具体示例中,所述内存页迁移参数包括:用于表示单页或批量迁移的批量迁移标志位,以用于确定单页或批量迁移的迁移方式。
可参考例如图4A和图4B所示,在根据批量迁移标志位确定为批量迁移时,安全处理器可以根据元数据中批量待迁移内存页的待迁移数据逐个经对应私钥解密成明文后,通过由源主机与目的主机协商的传输密钥加密为所述待传输数据;在确定为单页迁移时,对元数据中单页的待迁移内存页的待迁移数据解密成明文,通过传输密钥加密为传输数据。
在此步骤中,安全处理器可以将对应每个待迁移内存页的待迁移数据所得到的待传输数据,存储到元数据中对应的暂存地址。
步骤S505:安全处理器返回通知给所述中央处理器,其中可包含对应待传输数据的暂存地址的内存页迁移参数,或者直接包含待传输数据的暂存地址。
步骤S506:中央处理器接收安全处理器的通知,调用通信模块将暂存地址中的待传输数据发送给目的主机。
在具体示例中,在中央处理器运行实现虚拟机管理层和内核层的情况下,步骤S507具体包括:
A、内核层将所述内存页迁移参数(或暂存地址)传递给虚拟机管理层;
B、虚拟机管理层根据暂存地址获得其中的待传输数据,并通过源主机的通信模块发送给目的主机。
如图6所示,展示本申请实施例中的虚拟机迁移的处理系统的模块示意图。
所述处理系统与前述图4实施例中的虚拟机迁移方法的原理相应一致,本实施例是从软件的角度展示虚拟机迁移的实现,具体的技术细节可以参考之前实施例,此处不作重复赘述。
所述处理系统600应用于运行有待迁移的虚拟机的源主机,以向目的主机进行虚拟机的迁移;其中,所述虚拟机具有私钥,以用于对其在内存页中的数据加密或解密。
所述处理系统600包括:
虚拟机控制模块601,用于存储每个待迁移内存页的内存页信息;在所存储的内存页信息满足迁移执行条件时,获得相关于各内存页信息的内存页迁移参数;其中,所述内存页迁移参数包括所述待迁移内存页的元数据。在具体示例中,所述虚拟机控制模块601,可以由源主机中的中央处理器运行程序实现的虚拟机管理层(例如QEMU)和内核层(例如Linux的KVM)实现。
安全模块602,用于根据所述内存页迁移参数中的元数据从各所述待迁移内存页获取经私钥加密的待迁移数据,转换所述待迁移数据为能被目的主机解密的待传输数据并暂存。在具体示例中,所述安全模块,可以由源主机中的安全处理器运行固件程序所实现的固件层来实现。
所述虚拟机控制模块601,还用于将各所述待迁移内存页的待传输数据向所述目的主机传输。
可选的,所述迁移执行条件包括:
存储的待迁移内存页的内存页信息的数量达到预设阈值;
或者,存储的待迁移内存页的内存页信息的数量未达到预设阈值,且无新的待迁移内存页产生。
可选的,所述元数据包括:各所述待迁移内存页所在的内存地址;以及用于存储所述待传输数据的暂存地址。
可选的,所述虚拟机迁移方法包括:将所述待传输数据存储至所述暂存地址。
可选的,所述内存页迁移参数包括:用于表示单页或批量迁移的批量迁移标志位,以用于确定单页或批量迁移的迁移方式。
可选的,所述元数据包括:相关的多个数据项;
当所述批量迁移标志位为表示单页迁移方式的第一取值时,所述相关的多个数据项用于分别存储单个待迁移内存页的内存地址,以及待传输数据的暂存地址;
或者,当所述批量迁移标志位为表示批量迁移方式的第二取值时,所述相关的多个数据项中的至少一个用于存储多个待迁移内存页的内存地址,以及它们各自对应的待传输数据的暂存地址。
可选的,所述多个待迁移内存页的内存地址以及它们各自对应的待传输数据的暂存地址,通过数组形式存储于一个数据项内。
可选的,所述转换所述待迁移数据为能被目的主机解密的待传输数据并暂存,包括:
将每个待迁移内存页的待迁移数据经对应私钥解密后,通过由源主机与目的主机协商的传输密钥加密为所述待传输数据。
可选的,所述源主机包括服务器;所述虚拟机为运行于服务器的云主机。
本申请实施例可以提供了一种中央处理器,用于运行可执行程序代码,以执行例如图5实施例中的中央处理器一侧所执行的各步骤,亦可称为本申请实施例中一种虚拟机迁移方法的流程。
本申请实施例提供了一种安全处理器,用于运行可执行程序代码,以执行例如图6实施例中的安全处理器一侧所执行的各步骤,亦可称为本申请实施例中一种虚拟机迁移数据处理方法的流程。
其中,可执行程序代码可以存放在非易失性存储介质中,例如硬盘等,通过读取到内存中运行以实现功能。
如图7所示,本申请实施例还可以提供一种芯片700,包括:所述的中央处理器701,以及安全处理器702;两者间相互通信。
在一些示例中,所述芯片700可以是封装而成的片上系统(System On Chip,SoC)芯片,以将所述中央处理器701和安全处理器702封装于其中;此外,还可以根据需求集成例如存储器、接口控制模块等。
在可能的示例中,中央处理器701可以实现为32位或64位X86架构的处理器;可选的,在芯片700中集成有安全处理器113的情况下,中央处理器701和安全处理器702可采用相同架构的处理器,例如均可采用例如32位或64位X86架构的处理器;或者,也可采用不同架构,例如中央处理器701采用32位或64位X86架构的处理器,而安全处理器702可采用ARM架构的处理器、专用集成电路(Application Specific Integrated Circuit,ASIC)、或现场可编程门阵列(Field Programmable Gate Array,FPGA)等。
本申请实施例还可以提供一种计算机装置,包括:例如图7实施例中的芯片700;或者,所述计算机装置也可以包括分别位于不同芯片上的通信连接的安全处理器和中央处理器。
计算机装置中的安全处理器和中央处理器运行可执行程序,以令该计算机装置作为源主机,以实现前述实施例(如图3或图5)中的虚拟机迁移流程。
可选的,计算机装置还可包括存储器和通信模块。所述存储器可以包括:作为运行内存的随机存取存储器(Random Access Memory,RAM)和用于作为外部内存的存储用途的非易失性存储器;所述通信模块可以包括有线通信电路模块和/或无线通信电路模块,例如有线网卡、USB模块、无线网卡、及2G/3G/4G/5G模块等中的一种或多种,而能与外部进行信息交互,所述信息交互例如为网络交互,例如局域网或广域网,广域网包括例如互联网等,或者其它通信协议的交互方式,如USB通信等。
在具体示例中,所述计算机装置可以是运行安全型的云主机的物理服务器,作为源主机以向目的主机迁移云主机。
本申请实施例提供了计算机可读存储介质,其上存储有可执行程序代码,所述可执行程序代码被运行时执行例如图3实施例中的虚拟机迁移方法;或图5实施例中中央处理器一侧所执行的各步骤;或图5实施例中安全处理器一侧所执行的各步骤。
即,本申请实施例(例如图3、图5等实施例)中的方法步骤可被实现为可存储在记录介质(诸如CDROM、RAM、软盘、硬盘或磁光盘)中的软件或计算机代码,或者被实现通过网络下载的原始存储在远程记录介质或非暂时机器可读介质中并将被存储在本地记录介质中的计算机代码,从而在此描述的方法可被存储在使用通用计算机、专用处理器或者可编程或专用硬件(诸如ASIC或FPGA)的记录介质上的这样的软件处理。可以理解,计算机、处理器、微处理器控制器或可编程硬件包括可存储或接收软件或计算机代码的存储组件(例如,RAM、ROM、闪存等),当所述软件或计算机代码被计算机、处理器或硬件访问且执行时,实现在此描述的方法步骤。此外,当通用计算机访问用于实现在此示出方法的代码时,代码的执行将通用计算机转换为用于执行在此示出方法的专用计算机。
与现有技术相比,本申请实施例的技术方案具有以下有益效果:
一方面,实现安全型的虚拟机内存迁移的批量处理方案,从而提升虚拟机内存页迁移的效率;另一方面。还可以兼顾内存迁移的效率和保障软件的兼容性。
在本申请的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包括于本申请的至少一个实施例或示例中。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本申请中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
另外,前述实施例(例如图3、图5实施例)中的流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行程序代码的代码的模块、片段或部分。并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能。
虽然本申请实施例披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本申请实施例的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。

Claims (28)

1.一种虚拟机迁移方法,其特征在于,应用于运行有待迁移的虚拟机的源主机,以向目的主机进行虚拟机的迁移;其中,所述虚拟机具有私钥,以用于对其在内存页中的数据加密或解密;所述虚拟机迁移方法包括:
存储每个待迁移内存页的内存页信息;
在所存储的内存页信息满足迁移执行条件时,获得相关于各内存页信息的内存页迁移参数;其中,所述内存页迁移参数包括所述待迁移内存页的元数据;
根据所述内存页迁移参数中的元数据从各所述待迁移内存页获取经私钥加密的待迁移数据,转换所述待迁移数据为能被目的主机解密的待传输数据并暂存;
将各所述待迁移内存页的待传输数据向所述目的主机传输。
2.根据权利要求1所述的虚拟机迁移方法,其特征在于,所述迁移执行条件包括:
存储的待迁移内存页的内存页信息的数量达到预设阈值;
或者,存储的待迁移内存页的内存页信息的数量未达到预设阈值,且无新的待迁移内存页产生。
3.根据权利要求1所述的虚拟机迁移方法,其特征在于,所述元数据包括:各所述待迁移内存页所在的内存地址;以及用于存储所述待传输数据的暂存地址。
4.根据权利要求3所述的虚拟机迁移方法,其特征在于,包括:将所述待传输数据存储至所述暂存地址。
5.根据权利要求3所述的虚拟机迁移方法,其特征在于,所述内存页迁移参数包括:用于表示单页或批量迁移的批量迁移标志位,以用于确定单页或批量迁移的迁移方式。
6.根据权利要求5所述的虚拟机迁移方法,其特征在于,所述元数据包括:相关的多个数据项;
当所述批量迁移标志位为表示单页迁移方式的第一取值时,所述相关的多个数据项用于分别存储单个待迁移内存页的内存地址,以及待传输数据的暂存地址;
或者,当所述批量迁移标志位为表示批量迁移方式的第二取值时,所述相关的多个数据项中的至少一个用于存储多个待迁移内存页的内存地址,以及它们各自对应的待传输数据的暂存地址。
7.根据权利要求6所述的虚拟机迁移方法,其特征在于,所述多个待迁移内存页的内存地址以及它们各自对应的待传输数据的暂存地址,通过数组形式存储于一个数据项内。
8.根据权利要求1所述的虚拟机迁移方法,其特征在于,所述转换所述待迁移数据为能被目的主机解密的待传输数据并暂存,包括:
将每个待迁移内存页的待迁移数据经对应私钥解密后,通过由源主机与目的主机协商的传输密钥加密为所述待传输数据。
9.根据权利要求1所述的虚拟机迁移方法,其特征在于,所述源主机包括服务器;所述虚拟机为运行于服务器的云主机。
10.一种实现虚拟机迁移的处理系统,其特征在于,应用于运行有待迁移的虚拟机的源主机,以向目的主机进行虚拟机的迁移;其中,所述虚拟机具有私钥,以用于对其在内存页中的数据加密或解密;所述处理系统包括:
虚拟机控制模块,用于存储每个待迁移内存页的内存页信息;在所存储的内存页信息满足迁移执行条件时,获得相关于各内存页信息的内存页迁移参数;其中,所述内存页迁移参数包括所述待迁移内存页的元数据;
安全模块,用于根据所述内存页迁移参数中的元数据从各所述待迁移内存页获取经私钥加密的待迁移数据,转换所述待迁移数据为能被目的主机解密的待传输数据并暂存;
所述虚拟机控制模块,还用于将各所述待迁移内存页的待传输数据向所述目的主机传输。
11.一种虚拟机迁移方法,其特征在于,应用于运行有待迁移的虚拟机的源主机中的中央处理器,所述源主机向目的主机进行虚拟机的迁移;其中,源主机包括安全处理器,用于管理所述虚拟机的私钥,所述私钥用于对虚拟机在内存页中的数据加密或解密;所述虚拟机迁移方法包括:
存储每个待迁移内存页的内存页信息;
在所存储的内存页信息满足迁移执行条件时,获得相关于各内存页信息的内存页迁移参数;其中,所述内存页迁移参数包括所述待迁移内存页的元数据;
向安全处理器传输所述内存页迁移参数,以供将所述元数据所索引的待迁移数据转换为能被目的主机解密的待传输数据并暂存;
将各所述待迁移内存页的待传输数据向所述目的主机传输。
12.根据权利要求11所述的虚拟机迁移方法,其特征在于,所述迁移执行条件包括:
存储的待迁移内存页的内存页信息的数量达到预设阈值;
或者,存储的待迁移内存页的内存页信息的数量未达到预设阈值,且无新的待迁移内存页产生。
13.根据权利要求12所述的虚拟机迁移方法,其特征在于,所述元数据包括:各所述待迁移内存页所在的内存地址;以及用于存储所述待传输数据的暂存地址。
14.根据权利要求13所述的虚拟机迁移方法,其特征在于,所述内存页迁移参数包括:用于表示单页或批量迁移的批量迁移标志位,以用于确定单页或批量迁移的迁移方式。
15.根据权利要求14所述的虚拟机迁移方法,其特征在于,所述元数据包括:相关的多个数据项;
当所述批量迁移标志位为表示单页迁移方式的第一取值时,所述相关的多个数据项用于分别存储单个待迁移内存页的内存地址,以及待传输数据的暂存地址;
或者,当所述批量迁移标志位为表示批量迁移方式的第二取值时,所述相关的多个数据项中的至少一个用于存储多个待迁移内存页的内存地址,以及它们各自对应的待传输数据的暂存地址。
16.根据权利要求15所述的虚拟机迁移方法,其特征在于,所述多个待迁移内存页的内存地址以及它们各自对应的待传输数据的暂存地址,通过数组形式存储于一个数据项内。
17.根据权利要求11所述的虚拟机迁移方法,其特征在于,所述源主机包括服务器;所述虚拟机为运行于服务器的云主机。
18.一种虚拟机迁移数据处理方法,其特征在于,应用于运行有虚拟机的源主机中的安全处理器,所述源主机向目的主机进行虚拟机的迁移;所述虚拟机具有私钥,以用于对其在内存页中的数据加密或解密;所述安全处理器管理所述私钥;所述虚拟机迁移数据处理方法包括:
获取待迁移内存页的内存页迁移参数;
根据所述内存页迁移参数中待迁移内存页的元数据获取每个待迁移内存页的经私钥加密的待迁移数据,并转换所述待迁移数据为能被目的主机解密的待传输数据并暂存;
发送通知,以通知源主机向目的主机传输所述待传输数据。
19.根据权利要求18所述的虚拟机迁移数据处理方法,其特征在于,所述元数据包括:各所述待迁移内存页所在的内存地址;以及用于存储所述待传输数据的暂存地址。
20.根据权利要求19所述的虚拟机迁移数据处理方法,其特征在于,所述通知中包含所述暂存地址。
21.根据权利要求18所述的虚拟机迁移数据处理方法,其特征在于,所述内存页迁移参数包括:用于表示单页或批量迁移的批量迁移标志位,以用于确定单页或批量迁移的迁移方式;所述根据所述内存页迁移参数中待迁移内存页的元数据获取每个待迁移内存页的经私钥加密的待迁移数据,并转换所述待迁移数据为能被目的主机解密的待传输数据并暂存,包括:
根据所确定的迁移方式,将每个待迁移内存页的待迁移数据转换为待传输数据。
22.根据权利要求18或21所述的虚拟机迁移数据处理方法,其特征在于,所述转换所述待迁移数据为能被目的主机解密的待传输数据并暂存,包括:
将每个待迁移内存页的待迁移数据经对应私钥解密后,通过由源主机与目的主机协商的传输密钥加密为所述待传输数据。
23.根据权利要求18所述的虚拟机迁移数据处理方法,其特征在于,所述源主机包括服务器;所述虚拟机为运行于服务器的云主机。
24.一种中央处理器,其特征在于,用于运行可执行程序代码,以执行如权利要求11至17中任一项所述的虚拟机迁移方法。
25.一种安全处理器,其特征在于,用于运行可执行程序代码,以执行如权利要求18至23中任一项所述的虚拟机迁移数据处理方法。
26.一种芯片,其特征在于,包括:如权利要求24所述的中央处理器,以及如权利要求25所述的安全处理器,所述中央处理器与所述安全处理器通信连接。
27.一种计算机装置,其特征在于,包括:如权利要求26所述的芯片;或者,计算机装置包括:如权利要求如权利要求24所述的中央处理器,以及如权利要求25所述的安全处理器,所述中央处理器与所述安全处理器通信连接。
28.一种计算机可读存储介质,其上存储有可执行程序代码,其特征在于,所述可执行程序代码被运行时执行如权利要求11至17中任一项所述的虚拟机迁移方法;或执行如权利要求18至23中任一项所述的虚拟机迁移数据处理方法。
CN202011247083.6A 2020-11-10 2020-11-10 虚拟机迁移方法、处理方法、系统、装置、芯片及介质 Active CN112363801B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011247083.6A CN112363801B (zh) 2020-11-10 2020-11-10 虚拟机迁移方法、处理方法、系统、装置、芯片及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011247083.6A CN112363801B (zh) 2020-11-10 2020-11-10 虚拟机迁移方法、处理方法、系统、装置、芯片及介质

Publications (2)

Publication Number Publication Date
CN112363801A true CN112363801A (zh) 2021-02-12
CN112363801B CN112363801B (zh) 2022-10-21

Family

ID=74508506

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011247083.6A Active CN112363801B (zh) 2020-11-10 2020-11-10 虚拟机迁移方法、处理方法、系统、装置、芯片及介质

Country Status (1)

Country Link
CN (1) CN112363801B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115189928A (zh) * 2022-06-25 2022-10-14 中国人民解放军战略支援部队信息工程大学 一种密码服务虚拟机动态安全迁移方法及系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106341228A (zh) * 2016-11-01 2017-01-18 广东浪潮大数据研究有限公司 一种虚拟机迁移方法、系统及虚拟机迁入端和迁出端
CN107015844A (zh) * 2015-12-18 2017-08-04 英特尔公司 虚拟机批量在线迁移
CN108155988A (zh) * 2017-12-22 2018-06-12 浪潮(北京)电子信息产业有限公司 一种保护密钥的迁移方法、装置、设备及可读存储介质
CN108363796A (zh) * 2018-02-23 2018-08-03 北京网信云服信息科技有限公司 一种数据的迁移方法及装置
CN109858265A (zh) * 2018-11-22 2019-06-07 海光信息技术有限公司 一种加密方法、装置及相关设备
CN111158853A (zh) * 2019-12-13 2020-05-15 海光信息技术有限公司 虚拟机内存数据迁移方法、cpu芯片及服务器

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107015844A (zh) * 2015-12-18 2017-08-04 英特尔公司 虚拟机批量在线迁移
CN106341228A (zh) * 2016-11-01 2017-01-18 广东浪潮大数据研究有限公司 一种虚拟机迁移方法、系统及虚拟机迁入端和迁出端
CN108155988A (zh) * 2017-12-22 2018-06-12 浪潮(北京)电子信息产业有限公司 一种保护密钥的迁移方法、装置、设备及可读存储介质
CN108363796A (zh) * 2018-02-23 2018-08-03 北京网信云服信息科技有限公司 一种数据的迁移方法及装置
CN109858265A (zh) * 2018-11-22 2019-06-07 海光信息技术有限公司 一种加密方法、装置及相关设备
CN111158853A (zh) * 2019-12-13 2020-05-15 海光信息技术有限公司 虚拟机内存数据迁移方法、cpu芯片及服务器

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115189928A (zh) * 2022-06-25 2022-10-14 中国人民解放军战略支援部队信息工程大学 一种密码服务虚拟机动态安全迁移方法及系统
CN115189928B (zh) * 2022-06-25 2023-10-17 中国人民解放军战略支援部队信息工程大学 一种密码服务虚拟机动态安全迁移方法及系统

Also Published As

Publication number Publication date
CN112363801B (zh) 2022-10-21

Similar Documents

Publication Publication Date Title
US8977842B1 (en) Hypervisor enabled secure inter-container communications
JP6414863B2 (ja) 仮想化システムにおける暗号復号方法および装置、およびシステム
WO2016101288A1 (zh) 一种远程直接数据存取方法、设备和系统
US11841985B2 (en) Method and system for implementing security operations in an input/output device
US20200104528A1 (en) Data processing method, device and system
CN111090869B (zh) 一种数据加密方法、处理器及计算机设备
US11239997B2 (en) Techniques for cipher system conversion
WO2022132184A1 (en) System, method and apparatus for total storage encryption
US11700277B2 (en) Providing access to data in a secure communication
CN108900324B (zh) 校验虚拟机通信性能的方法及装置
CN114238185A (zh) 直接存储访问及命令数据传输方法、装置及相关设备
EP4332810A1 (en) Method for realizing virtualized trusted platform module, and secure processor and storage medium
CN112363801B (zh) 虚拟机迁移方法、处理方法、系统、装置、芯片及介质
CN107133517B (zh) 一种基于内存中数据加密和计算的数据还原方法
JP2013058006A (ja) 情報処理装置及び情報処理プログラム
CN116048716A (zh) 一种直接存储访问方法、装置及相关设备
CN114238938B (zh) 一种pcie密码卡虚拟化配置管理方法
CN112416525B (zh) 设备驱动初始化方法、直接存储访问方法及相关装置
WO2018095240A1 (zh) 一种在集群中建立安全通道的方法和装置
CN113556333A (zh) 一种计算机网络数据安全传输方法、装置
CN113468563B (zh) 虚拟机数据加密方法、装置、计算机设备和存储介质
CN112579255B (zh) 虚拟机迁移的压缩保护方法、迁入迁出加速器模块和soc芯片
CN115664836B (zh) 数据传输方法、装置、计算机设备及存储介质
CN116841691A (zh) 加密硬件的配置方法、数据机密计算方法及相关设备
CN112688953B (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