CN112948052A - 跨数据中心的虚拟机迁移方法、数据中心及计算机介质 - Google Patents

跨数据中心的虚拟机迁移方法、数据中心及计算机介质 Download PDF

Info

Publication number
CN112948052A
CN112948052A CN202110203575.3A CN202110203575A CN112948052A CN 112948052 A CN112948052 A CN 112948052A CN 202110203575 A CN202110203575 A CN 202110203575A CN 112948052 A CN112948052 A CN 112948052A
Authority
CN
China
Prior art keywords
data center
image information
virtual machine
hash value
target
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
CN202110203575.3A
Other languages
English (en)
Other versions
CN112948052B (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.)
China United Network Communications Group Co Ltd
Original Assignee
China United Network Communications Group 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 China United Network Communications Group Co Ltd filed Critical China United Network Communications Group Co Ltd
Priority to CN202110203575.3A priority Critical patent/CN112948052B/zh
Publication of CN112948052A publication Critical patent/CN112948052A/zh
Application granted granted Critical
Publication of CN112948052B publication Critical patent/CN112948052B/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/45562Creating, deleting, cloning virtual machine instances
    • 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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本公开提供一种跨数据中心的虚拟机迁移方法、数据中心及计算机可读存储介质,所述方法包括:第一数据中心在产生第一虚拟机的跨数据中心迁移需求后,从其存储的所有虚拟机的镜像信息的哈希值中查询所述第一虚拟机对应的第一镜像信息的第一哈希值,判断目标第二数据中心所存储的所有虚拟机的镜像信息的哈希值中是否存在第一哈希值,若存在,则向目标第二数据中心发送第一虚拟机的第一迁移请求,所述第一迁移请求中携带所述第一哈希值及所述第一虚拟机的用户数据,以使目标第二数据中心建立迁移后的第一虚拟机。本公开实施例至少可以解决跨数据中心的虚拟机迁移存在镜像存储系统不共享,所导致的虚拟机迁移效率差等问题。

Description

跨数据中心的虚拟机迁移方法、数据中心及计算机介质
技术领域
本公开涉及云计算技术领域,尤其涉及一种跨数据中心的虚拟机迁移方法、一种数据中心以及一种计算机可读存储介质。
背景技术
随着云计算应用的逐渐推广,多个数据中心共同提供服务来实现更大空间范围的服务高可用的需求日益增加,相对于数据中心内部虚拟机迁移,跨数据中心的虚拟机迁移存在镜像存储系统不共享,将导致虚拟机迁移效率差。
发明内容
本公开提供了一种跨数据中心的虚拟机迁移方法、数据中心及计算机可读存储介质,以至少解决上述问题。
根据本公开实施例的一方面,提供一种跨数据中心的虚拟机迁移方法,所述方法包括:
第一数据中心在产生关于第一虚拟机向目标第二数据中心迁移的跨数据中心迁移需求后,从其存储的所有虚拟机的镜像信息的哈希值中查询所述第一虚拟机对应的第一镜像信息的第一哈希值;其中,各数据中心分别存储有自身存储的所有虚拟机的镜像信息的哈希值,以及其他数据中心存储的所有虚拟机的镜像信息的哈希值;
所述第一数据中心判断所述目标第二数据中心所存储的所有虚拟机的镜像信息的哈希值中是否存在所述第一镜像信息的第一哈希值;
若存在所述第一镜像信息的第一哈希值,则所述第一数据中心判定所述目标第二数据中心存储了所述第一镜像信息;以及,
所述第一数据中心向所述目标第二数据中心发送关于所述第一虚拟机的第一迁移请求,所述第一迁移请求中携带所述第一哈希值及所述第一虚拟机的用户数据,以使所述目标第二数据中心查找其存储的所述第一哈希值对应的第一镜像信息,并根据所述第一镜像信息以及所述第一虚拟机的用户数据创建迁移后的第一虚拟机。
在一种实施方式中,所述镜像信息包括操作系统镜像和软件镜像。
在一种实施方式中,所述第一数据中心判断所述目标第二数据中心所存储的所有虚拟机的镜像信息的哈希值中是否存在所述第一镜像信息的第一哈希值之后,还包括:
若不存在所述第一镜像信息的第一哈希值,则所述第一数据中心判定所述目标第二数据中心未存储所述第一镜像信息;
所述第一数据中心调取其内存储的所述第一哈希值对应的第一镜像信息;以及,
所述第一数据中心向所述目标第二数据中心发送关于所述第一虚拟机的第二迁移请求,所述第二迁移请求中携带所述第一虚拟机的用户数据、所述第一镜像信息及其第一哈希值,以使所述目标第二数据中心根据接收到的所述第一镜像信息以及所述第一虚拟机的用户数据创建迁移后的第一虚拟机,并根据所述第一镜像信息的第一哈希值更新其存储的所有虚拟机的镜像信息的哈希值。
在一种实施方式中,在所述第一数据中心判断所述目标第二数据中心所存储的所有虚拟机的镜像信息的哈希值中是否存在所述第一镜像信息的第一哈希值之后,以及所述第一数据中心判定所述目标第二数据中心未存储所述第一镜像信息之前,还包括:
所述第一数据中心向所述目标第二数据中心发送确认请求,所述确认请求中携带不存在所述第一镜像信息的第一哈希值的判定结果,以使所述目标第二数据中心在接收到所述确认请求后,确认其所存储的所有虚拟机的镜像信息的哈希值中是否存在所述第一镜像信息的第一哈希值,并生成存在所述第一镜像信息的第一哈希值的第一确认结果或者不存在所述第一镜像信息的第一哈希值的第二确认结果;
所述第一数据中心接收所述目标第二数据中心返回的第一确认结果或者第二确认结果;
所述第一数据中心判定所述目标第二数据中心未存储所述第一镜像信息,包括:
所述第一数据中心若接收到所述第一确认结果,则判定所述目标第二数据中心未存储所述第一镜像信息。
在一种实施方式中,在所述第一数据中心产生关于第一虚拟机向目标第二数据中心迁移的跨数据中心迁移需求之前,还包括:
所述第一数据中心判断其存储的所有虚拟机的镜像信息中是否存在用于创建所述第一虚拟机的第一镜像信息;
若存在所述第一镜像信息,则所述第一数据中心根据其所存储的第一镜像信息创建所述第一虚拟机。
在一种实施方式中,在所述第一数据中心判断其存储的所有虚拟机的镜像信息中是否存在用于创建所述第一虚拟机的第一镜像信息之后,还包括:
若不存在所述第一镜像信息,则所述第一数据中心下载所述第一镜像信息,并根据其所下载的第一镜像信息创建所述第一虚拟机;以及,
所述第一数据中心存储所述第一镜像信息;
所述第一数据中心计算所述第一镜像信息的第一哈希值,并更新其存储的所有虚拟机的镜像信息的哈希值。
在一种实施方式中,所述方法还包括:
若所述第一数据中心存储有第二虚拟机对应的第二镜像信息的第二哈希值,则在所述第一数据中心接收到第三数据中心发送的关于第二虚拟机的第三迁移请求后,查找其存储的所述第二哈希值对应的第二镜像信息,并根据所述第二镜像信息以及所述第二虚拟机的用户数据创建迁移后的第二虚拟机;
其中所述第三迁移请求中携带所述第二虚拟机对应的第二镜像信息的第二哈希值及所述第二虚拟机的用户数据。
在一种实施方式中,所述方法还包括:
若所述第一数据中心未存储第二虚拟机对应的第二镜像信息的第二哈希值,则在所述第一数据中心接收到第三数据中心发送的关于第二虚拟机的第三迁移请求后,根据其接收到的所述第二虚拟机对应的第二镜像信息以及所述第二虚拟机的用户数据创建迁移后的第二虚拟机;以及,
所述第一数据中心根据所述第二镜像信息的第二哈希值更新其存储的所有虚拟机的镜像信息的哈希值;
其中所述第三迁移请求中携带所述第二虚拟机的用户数据、所述第二虚拟机对应的第二镜像信息及其第二哈希值。
第三数据中心第三数据中心
根据本公开实施例的另一方面,提供一种数据中心,包括存储器和处理器,所述存储器中存储有计算机程序,当所述处理器运行所述存储器存储的计算机程序时,所述处理器执行所述的跨数据中心的虚拟机迁移方法。
根据本公开实施例的又一方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,所述处理器执行所述的跨数据中心的虚拟机迁移方法。
本公开的实施例提供的技术方案可以包括以下有益效果:
本公开实施例提供的本公开提供的一种跨数据中心的虚拟机迁移方法,通过各个数据中心存储的镜像信息的哈希值进行同步共享,在数据中心产生虚拟机的跨数据中心迁移需求时,通过分析目标数据中心存储的镜像信息的哈希值,以快速实现虚拟机的迁移,其至少可以解决跨数据中心的虚拟机迁移存在镜像存储系统不共享,所导致的虚拟机迁移效率差等问题,并通过传输尽可能少的数据实现目标从而更好的发挥数据中心的资源潜力,提供更多的服务。
本公开的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本公开而了解。本公开的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本公开技术方案的进一步理解,并且构成说明书的一部分,与本公开的实施例一起用于解释本公开的技术方案,并不构成对本公开技术方案的限制。
图1为本公开实施例提供的一种跨数据中心的虚拟机迁移方法的流程示意图;
图2为本公开另一实施例提供的一种跨数据中心的虚拟机迁移方法的流程示意图;
图3为本公开又一实施例提供的一种跨数据中心的虚拟机迁移方法的流程示意图;
图4为本公开实施例提供的一种数据中心的结构示意图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序;并且,在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互任意组合。
在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本公开的说明,其本身没有特定的意义。因此,“模块”、“部件”或“单元”可以混合地使用。
本公开实施例中,虚拟机技术是虚拟化技术的一种,所谓虚拟化技术就是将事物从一种形式转变成另一种形式,最常用的虚拟化技术有操作系统中存的虚拟化,实际运行时用户需要的存空间可能远远大于物理机器的存大小,利用存的虚拟化技术,用户可以将一部分硬盘虚拟化为存,而这对用户是透明的。
镜像(Mirroring)是一种文件存储形式,是冗余的一种类型,一个磁盘上的数据在另一个磁盘上存在一个完全相同的副本即为镜像。
相关技术中,通过根据模板页面索引判断当前传输内存页面是否属于模板页面;若所述当前传输内存页面属于模板页面,则将所述模板页面对应索引发送给目的数据中心;若所述当前传输内存页面不属于模板页面,则将所述当前传输内存页面发送给目的数据中心,来实现虚拟机的数据迁移,上述方案设定了统一的内存模板,然而各类虚拟机的存储信息差异很大,和其设定的内存模板相同的概率很低,在内存模板不同的情况下,其需要传输全部数据,导致其并不能很好的提升虚拟机迁移的效率。
为解决上述问题,本公开实施例提出了一种跨数据中心的虚拟机迁移方法及数据中心,通过哈希图传播机制进行跨数据中心的镜像信息同步,在进行虚拟机迁移过程中,通过传输尽可能少的数据实现目标从而更好的发挥数据中心的资源潜力,提供更多的服务。
请参照图1,本公开实施例提供的一种跨数据中心的虚拟机迁移方法的流程示意图,其中,各数据中心分别计算出其各自存储的所有虚拟机的镜像信息的哈希值,并分别将其各自存储的所有虚拟机的镜像信息的哈希值同步至其它数据中心,所述方法包括步骤S101-S104。
具体地,各数据中心均设置一台统一管理主机,负责本数据中心的镜像信息存储、哈希值计算、各数据中心之间的信息同步以及虚拟机迁移,其中各数据中心的信息同步,通过各数据中心的统一管理主机形成一个哈希图网络,通过预设的八卦协议(又称Gossip协议)定期进行信息同步,彼此达成共识,共同存储一份各数据中心编号及其所存储所有虚拟机的镜像信息的哈希值,在本实施例中,为便于各数据中心的镜像信息的哈希值的查找,各数据中心建立其存储的所有虚拟机的镜像信息的镜像哈希值列表,并共同存储一份各数据中心编号及其所存储所有虚拟机的镜像信息的哈希值列表。
可以理解的,八卦协议是用于系统内节点之间的相互通信,就是模拟人类传播八卦的方式而产生的,类似于社交网络消息传播方式或者是流行性疾病的传染方式。Gossip是以数学为基础、具有扎实理论分析基础的去中心化分布式通讯协议,即系统内节点之间相互通信的通信机制。本公开实施例采用八卦协议的中心化分布式通信方式,实现各数据中心的信息同步。
其中,所述镜像信息包括操作系统镜像和软件镜像(包括应用软件、中间件等)。
在步骤S101中,第一数据中心在产生关于第一虚拟机向目标第二数据中心迁移的跨数据中心迁移需求后,从其存储的所有虚拟机的镜像信息的哈希值中查询所述第一虚拟机对应的第一镜像信息的第一哈希值;其中,各数据中心分别存储有自身存储的所有虚拟机的镜像信息的哈希值,以及其他数据中心存储的所有虚拟机的镜像信息的哈希值。
本实施例中,各数据中心存储的其它数据中心的哈希值是由其它数据中心定期同步得到,数据中心的主机创建虚拟机时,均会在其镜像存储池中存储每台虚拟机对应的操作系统镜像和软件镜像,镜像存储池中每新增一份镜像信息,计算该新增镜像信息的哈希值,并对其镜像哈希值列表进行更新。可以理解的,有些虚拟机的镜像信息相同,其计算得到的镜像哈希值也相同,本实施例对相同的镜像哈希值进行去重后存储,也即,镜像哈希值列表中是去重后的镜像哈希值。
其中第一镜像信息的第一哈希值,包括多个哈希值,系统镜像哈希值和软件镜像哈希值,而软件镜像哈希值可能存在多个,本实施例统称第一镜像信息的第一哈希值。
需要说明的是,本实施例创建虚拟机的主机与统一管理主机相区别,统一管理主机主要负责本数据中心的镜像信息存储、哈希值计算、各数据中心之间的信息同步以及虚拟机迁移等,主机主要负责虚拟机的构建等。
在一些实施例中,第一数据中心创建第一虚拟机的方法如下:
a、在所述第一数据中心产生关于第一虚拟机向目标第二数据中心迁移的跨数据中心迁移需求之前,所述第一数据中心判断其存储的所有虚拟机的镜像信息中是否存在用于创建所述第一虚拟机的第一镜像信息;
b、若存在所述第一镜像信息,则所述第一数据中心根据其所存储的第一镜像信息创建所述第一虚拟机;
c、若不存在所述第一镜像信息,则所述第一数据中心下载所述第一镜像信息,并根据其所下载的第一镜像信息创建所述第一虚拟机;所述第一数据中心存储所述第一镜像信息;
d、所述第一数据中心计算所述第一镜像信息的第一哈希值,并更新其存储的所有虚拟机的镜像信息的哈希值。
具体地,当第一数据中心某台主机A需新建了1台第一虚拟机时,第一数据中心的统一管理主机B查看其镜像存储池中是否有相应的操作系统镜像和软件镜像,若均存在则根据其存储的第一虚拟机的镜像信息创建虚拟机。而若其中一项不存在或两者均不存在于其镜像存储池中,则由统一管理主机B通过网络下载相应所需的镜像到其镜像存储池中,并经过哈希计算得到新增镜像的哈希值,然后更新其所存储镜像哈希值列表。
统一管理主机B进而通过第一数据中心内网向主机A传递其所需的镜像信息,主机A根据该镜像信息构建所需虚拟机,待构建完成后记录主机编号和虚拟机编号并与镜像信息构建对应关系。
在本实施例中,在第一数据中心没有存储第一镜像信息的情况下,由于重新通过网络下载了第一镜像信息,并进行了存储和更新,此时第一数据中心需要向其它数据中心同步相应的存储信息(存储的所有镜像信息的哈希值,或者哈希值列表),进一步地,根据预设的八卦协议的传播规则,各数据中心的统一管理主机会就更新的镜像哈希列表信息进行认证,最终在哈希图网络中最终会达成一致,各统一管理节点会定期更新其所存储的其他主机编号对应的镜像哈希值列表。
在步骤S102中,所述第一数据中心判断所述目标第二数据中心所存储的所有虚拟机的镜像信息的哈希值中是否存在所述第一镜像信息的第一哈希值,若存在所述第一哈希值,则执行步骤S103,否则结束流程。
由于在本实施例中,各数据中心根据八卦协议对其存储的所有虚拟机的镜像信息的哈希值进行了定期同步,第一数据中心可以就目标第二数据中心所同步的其镜像哈希值列表进行判断。具体地,当有跨数据中心虚拟机迁移需求后,第一数据中心的创建该第一虚拟机的源主机A将迁移信息发送给本数据中心的统一管理主机B,(为便于管理,该迁移信息中可以包括源主机编号、虚拟机编号及目标数据中心编号),统一管理主机B会根据迁移信息查询出待迁移的第一虚拟机的操作系统镜像和软件镜像,然后将两个镜像的第一哈希值同目标第二数据中心编号对应的存储镜像哈希列表进行对比,判断目标第二数据中心的存储镜像哈希值列表是否存在该第一哈希值。
在步骤S103中,所述第一数据中心判定所述目标第二数据中心存储了所述第一镜像信息。
本实施例中,各数据中心的镜像哈希值根据其存储的镜像信息计算得到,当目标第二数据中心的镜像哈希值列表中存储在第一镜像信息的哈希值,说明目标第二数据中心的镜像存储池中存储了该第一镜像信息。
具体地,
在一些实施例中,为了有效避免存储镜像信息被破坏等情况,在步骤S103之前,第一数据中心还可以向目标第二数据中心发送存在其哈希值对应的第一镜像信息的确认信息,目标第二数据中心对其存储的镜像信息进行检查,确保镜像文件没有被破坏。
在步骤S104中,所述第一数据中心向所述目标第二数据中心发送关于所述第一虚拟机的第一迁移请求,所述第一迁移请求中携带所述第一哈希值及所述第一虚拟机的用户数据,以使所述目标第二数据中心查找其存储的所述第一哈希值对应的第一镜像信息,并根据所述第一镜像信息以及所述第一虚拟机的用户数据创建迁移后的第一虚拟机。
本实施例,通过镜像信息的哈希计算及哈希值同步,在进行虚拟机同步时,根据哈希值识别待迁移数据中心是否存在虚拟机镜像,进而传输虚拟机的用户数据,完成虚拟机的迁移,以此实现尽可能传输少的数据实现跨数据中心的虚拟机迁移的目的,在这个过程中,发挥了数据中心的资源潜力,同时提升了虚拟机迁移的效率。
请参照图2,图2为本公开另一实施例提供的一种跨数据中心的虚拟机迁移方法的流程示意图,为解决目标第二数据中心不存在镜像信息哈希值时,虚拟机的跨数据中心迁移问题,所述第一数据中心判断所述目标第二数据中心所存储的所有虚拟机的镜像信息的第一镜像信息的哈希值中是否存在所述第一哈希值(即,步骤S102)之后,还包括步骤S201-S203:
在步骤S201中,若不存在所述第一镜像信息的第一哈希值,则所述第一数据中心判定所述目标第二数据中心未存储所述第一镜像信息;
在步骤S202中,所述第一数据中心调取其内存储的所述第一哈希值对应的第一镜像信息;以及,
在步骤S203中,所述第一数据中心向所述目标第二数据中心发送关于所述第一虚拟机的第二迁移请求,所述第二迁移请求中携带所述第一虚拟机的用户数据、所述第一镜像信息及其第一哈希值,以使所述目标第二数据中心根据接收到的所述第一镜像信息以及所述第一虚拟机的用户数据创建迁移后的第一虚拟机,并根据所述第一镜像信息的第一哈希值更新其存储的所有虚拟机的镜像信息的哈希值。
本实施例中,在目标第二数据中心的镜像信息哈希值列表中没有该第一镜像信息的哈希值时,默认为目标第二数据中心没有存储相应的第一镜像信息,在一些实施例中,为了防止因网络问题未能及时更新哈希值信息,可以向目标第二数据中心确认其是否存储了第一镜像信息,如果目标第二数据中心确认其没有存储第一镜像信息,第一数据中心调取第一镜像信息并向目标第二数据中心发送包含第一镜像信息的第二迁移请求,第二目标数据中心进而创建迁移后的第一虚拟机。在这个过程中,由于各个数据中心是否存在镜像文件进行了定期同步,各个数据中心在进行虚拟机迁移时,可以尽可能少的传输数据,有效提高虚拟机的跨数据中心迁移效率。
在一些实施例中,为便于数据的同步及比对,第一数据中心的统一管理主机B对待迁移虚拟机的各镜像(软件镜像可能存在多个)分别创建一个标识符,若某镜像的哈希值与目标数据中心已有的镜像哈希值一致,则将该镜像的标识符设为1,否则设为0,同样的对镜像相应进行标识符为1或0的标记,为了防止因网络问题未能及时更新、存储镜像被破坏等情况的发生,统一管理主机B向目标第二数据中心的统一管理主机D发送对比结果,包括镜像哈希值及对应的标识符,统一管理主机D对信息进行确认,当其本地镜像存储情况同该信息相同时反馈给B确认信号,得到目标主机D的确认信号后,统一管理主机B将标识符为1的镜像哈希值、标识符为0的镜像文件、该虚拟机的其他用户数据传递给主机D;主机D将标识符为0的镜像存储到期本地存储池中,并按照上文中第一目标数据中心创建虚拟机的步骤的过程构建迁移后虚拟机,然后更新其镜像存储哈希列表按照八卦协议的传播规则进行信息传播,此处不再赘述。
进一步地,本实施例还提供第一数据中心作为目标数据中心的虚拟机迁移方案,其包括第一数据中心存储相应的镜像信息和没有存储相应的镜像信息两种情形,所述方法还包括以下步骤:
若所述第一数据中心存储有第二虚拟机对应的第二镜像信息的第二哈希值,则在所述第一数据中心接收到第三数据中心发送的关于第二虚拟机的第三迁移请求后,查找其存储的所述第二哈希值对应的第二镜像信息,并根据所述第二镜像信息以及所述第二虚拟机的用户数据创建迁移后的第二虚拟机;
其中所述第三迁移请求中携带所述第二虚拟机对应的第二镜像信息的第二哈希值及所述第二虚拟机的用户数据。
可以理解的是,第三数据中心和目标第二数据中心为网络中除第一数据中心之外的其它数据中心,其中第三数据中心可以是目标第二数据中心,也可以是其它的数据中心,本实施例对此不做限定。
具体地,所述方法还包括以下步骤:
若所述第一数据中心未存储第二虚拟机对应的第二镜像信息的第二哈希值,则在所述第一数据中心接收到某第二数据中心发送的关于第二虚拟机的第三迁移请求后,根据其接收到的所述第二虚拟机对应的第二镜像信息以及所述第二虚拟机的用户数据创建迁移后的第二虚拟机;以及,
所述第一数据中心根据所述第二镜像信息的第二哈希值更新其存储的所有虚拟机的镜像信息的哈希值;
其中所述第三迁移请求中携带所述第二虚拟机的用户数据、所述第二虚拟机对应的第二镜像信息及其第二哈希值。
需要说明的是,第一数据中心作为目标数据中心进行虚拟机迁移的实现步骤与第二数据中心作为目标数据中心进行虚拟机迁移的实现步骤一致,实现原理可参见上文,此处不再赘述。
请参照图3,图3为本公开实施例提供的又一种跨数据中心的虚拟机迁移方法的流程示意图,为了防止因网络问题未能及时更新同步或者存储镜信息被破坏等情况的发生,在上一实施例的基础上,本实施例通过第一数据中心向目标第二数据中心进行信息的确认,以进一步提升虚拟机迁移的效率,具体地,在所述第一数据中心判断所述目标第二数据中心所存储的所有虚拟机的镜像信息的哈希值中是否存在所述第一镜像信息的第一哈希值之后,以及所述第一数据中心判定所述目标第二数据中心未存储所述第一镜像信息之前(即步骤201之后,以及步骤S202之前),还包括步骤S301和步骤S302,并将步骤S202进一步划分为步骤S202’。
在步骤S301中,所述第一数据中心向所述目标第二数据中心发送确认请求,所述确认请求中携带不存在所述第一镜像信息的第一哈希值的判定结果,以使所述目标第二数据中心在接收到所述确认请求后,确认其所存储的所有虚拟机的镜像信息的哈希值中是否存在所述第一镜像信息的第一哈希值,并生成存在所述第一镜像信息的第一哈希值的第一确认结果或者不存在所述第一镜像信息的第一哈希值的第二确认结果;
在步骤S302中,所述第一数据中心接收所述目标第二数据中心返回的第一确认结果或者第二确认结果;
所述第一数据中心判定所述目标第二数据中心未存储所述第一镜像信息(步骤S202),具体为以下步骤:
在步骤S202a’所述第一数据中心若接收到所述第一确认结果,则判定所述目标第二数据中心未存储所述第一镜像信息。
基于相同的技术构思,本公开实施例相应还提供一种数据中心,如图4所示,所述数据中心包括存储器41和处理器42,所述存储器41中存储有计算机程序,当所述处理器42运行所述存储器41存储的计算机程序时,所述处理器42执行所述的跨数据中心的虚拟机迁移方法。
基于相同的技术构思,本公开实施例相应还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,所述处理器执行所述的跨数据中心的虚拟机迁移方法。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
最后应说明的是:以上各实施例仅用以说明本公开的技术方案,而非对其限制;尽管参照前述各实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本公开各实施例技术方案的范围。

Claims (10)

1.一种跨数据中心的虚拟机迁移方法,其特征在于,所述方法包括:
第一数据中心在产生关于第一虚拟机向目标第二数据中心迁移的跨数据中心迁移需求后,从其存储的所有虚拟机的镜像信息的哈希值中查询所述第一虚拟机对应的第一镜像信息的第一哈希值;其中,各数据中心分别存储有自身存储的所有虚拟机的镜像信息的哈希值,以及其他数据中心存储的所有虚拟机的镜像信息的哈希值;
所述第一数据中心判断所述目标第二数据中心所存储的所有虚拟机的镜像信息的哈希值中是否存在所述第一镜像信息的第一哈希值;
若存在所述第一镜像信息的第一哈希值,则所述第一数据中心判定所述目标第二数据中心存储了所述第一镜像信息;以及,
所述第一数据中心向所述目标第二数据中心发送关于所述第一虚拟机的第一迁移请求,所述第一迁移请求中携带所述第一哈希值及所述第一虚拟机的用户数据,以使所述目标第二数据中心查找其存储的所述第一哈希值对应的第一镜像信息,并根据所述第一镜像信息以及所述第一虚拟机的用户数据创建迁移后的第一虚拟机。
2.根据权利要求1所述的方法,其特征在于,所述镜像信息包括操作系统镜像和软件镜像。
3.根据权利要求1所述的方法,其特征在于,所述第一数据中心判断所述目标第二数据中心所存储的所有虚拟机的镜像信息的哈希值中是否存在所述第一镜像信息的第一哈希值之后,还包括:
若不存在所述第一镜像信息的第一哈希值,则所述第一数据中心判定所述目标第二数据中心未存储所述第一镜像信息;
所述第一数据中心调取其内存储的所述第一哈希值对应的第一镜像信息;以及,
所述第一数据中心向所述目标第二数据中心发送关于所述第一虚拟机的第二迁移请求,所述第二迁移请求中携带所述第一虚拟机的用户数据、所述第一镜像信息及其第一哈希值,以使所述目标第二数据中心根据接收到的所述第一镜像信息以及所述第一虚拟机的用户数据创建迁移后的第一虚拟机,并根据所述第一镜像信息的第一哈希值更新其存储的所有虚拟机的镜像信息的哈希值。
4.根据权利要求3所述的方法,其特征在于,在所述第一数据中心判断所述目标第二数据中心所存储的所有虚拟机的镜像信息的哈希值中是否存在所述第一镜像信息的第一哈希值之后,以及所述第一数据中心判定所述目标第二数据中心未存储所述第一镜像信息之前,还包括:
所述第一数据中心向所述目标第二数据中心发送确认请求,所述确认请求中携带不存在所述第一镜像信息的第一哈希值的判定结果,以使所述目标第二数据中心在接收到所述确认请求后,确认其所存储的所有虚拟机的镜像信息的哈希值中是否存在所述第一镜像信息的第一哈希值,并生成存在所述第一镜像信息的第一哈希值的第一确认结果或者不存在所述第一镜像信息的第一哈希值的第二确认结果;
所述第一数据中心接收所述目标第二数据中心返回的第一确认结果或者第二确认结果;
所述第一数据中心判定所述目标第二数据中心未存储所述第一镜像信息,包括:
所述第一数据中心若接收到所述第一确认结果,则判定所述目标第二数据中心未存储所述第一镜像信息。
5.根据权利要求1所述的方法,其特征在于,在所述第一数据中心产生关于第一虚拟机向目标第二数据中心迁移的跨数据中心迁移需求之前,还包括:
所述第一数据中心判断其存储的所有虚拟机的镜像信息中是否存在用于创建所述第一虚拟机的第一镜像信息;
若存在所述第一镜像信息,则所述第一数据中心根据其所存储的第一镜像信息创建所述第一虚拟机。
6.根据权利要求5所述的方法,其特征在于,在所述第一数据中心判断其存储的所有虚拟机的镜像信息中是否存在用于创建所述第一虚拟机的第一镜像信息之后,还包括:
若不存在所述第一镜像信息,则所述第一数据中心下载所述第一镜像信息,并根据其所下载的第一镜像信息创建所述第一虚拟机;以及,
所述第一数据中心存储所述第一镜像信息;
所述第一数据中心计算所述第一镜像信息的第一哈希值,并更新其存储的所有虚拟机的镜像信息的哈希值。
7.根据权利要求1所述的方法,其特征在于,还包括:
若所述第一数据中心存储有第二虚拟机对应的第二镜像信息的第二哈希值,则在所述第一数据中心接收到第三数据中心发送的关于第二虚拟机的第三迁移请求后,查找其存储的所述第二哈希值对应的第二镜像信息,并根据所述第二镜像信息以及所述第二虚拟机的用户数据创建迁移后的第二虚拟机;
其中所述第三迁移请求中携带所述第二虚拟机对应的第二镜像信息的第二哈希值及所述第二虚拟机的用户数据。
8.根据权利要求1所述的方法,其特征在于,还包括:
若所述第一数据中心未存储第二虚拟机对应的第二镜像信息的第二哈希值,则在所述第一数据中心接收到第三数据中心发送的关于第二虚拟机的第三迁移请求后,根据其接收到的所述第二虚拟机对应的第二镜像信息以及所述第二虚拟机的用户数据创建迁移后的第二虚拟机;以及,
所述第一数据中心根据所述第二镜像信息的第二哈希值更新其存储的所有虚拟机的镜像信息的哈希值;
其中所述第三迁移请求中携带所述第二虚拟机的用户数据、所述第二虚拟机对应的第二镜像信息及其第二哈希值。
9.一种数据中心,其特征在于,包括存储器和处理器,所述存储器中存储有计算机程序,当所述处理器运行所述存储器存储的计算机程序时,所述处理器执行根据权利要求1至8中任一项所述的跨数据中心的虚拟机迁移方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,所述处理器执行根据权利要求1至8中任一项所述的跨数据中心的虚拟机迁移方法。
CN202110203575.3A 2021-02-23 2021-02-23 跨数据中心的虚拟机迁移方法、数据中心及计算机介质 Active CN112948052B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110203575.3A CN112948052B (zh) 2021-02-23 2021-02-23 跨数据中心的虚拟机迁移方法、数据中心及计算机介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110203575.3A CN112948052B (zh) 2021-02-23 2021-02-23 跨数据中心的虚拟机迁移方法、数据中心及计算机介质

Publications (2)

Publication Number Publication Date
CN112948052A true CN112948052A (zh) 2021-06-11
CN112948052B CN112948052B (zh) 2023-10-13

Family

ID=76245805

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110203575.3A Active CN112948052B (zh) 2021-02-23 2021-02-23 跨数据中心的虚拟机迁移方法、数据中心及计算机介质

Country Status (1)

Country Link
CN (1) CN112948052B (zh)

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103491144A (zh) * 2013-09-09 2014-01-01 中国科学院计算技术研究所 一种广域网虚拟平台的构建方法
CN103885829A (zh) * 2014-04-16 2014-06-25 中国科学院软件研究所 一种基于统计的虚拟机跨数据中心动态迁移优化方法
CN104050015A (zh) * 2014-06-27 2014-09-17 国家计算机网络与信息安全管理中心 一种虚拟机镜像存储分发系统
CN104463012A (zh) * 2014-11-24 2015-03-25 东软集团股份有限公司 虚拟机镜像文件的导出、导入方法及装置
CN104811493A (zh) * 2015-04-21 2015-07-29 华中科技大学 一种网络感知的虚拟机镜像存储系统及读写请求处理方法
KR101600717B1 (ko) * 2014-12-04 2016-03-07 한양대학교 산학협력단 P2p 방식의 가상머신 운영체제 이미지 다운로드 방법 및 장치
CN105468372A (zh) * 2015-11-20 2016-04-06 深圳市深信服电子科技有限公司 虚拟机模板镜像管理方法和系统、虚拟机迁移方法和系统
US20170031710A1 (en) * 2015-07-31 2017-02-02 Cisco Technology, Inc. Data suppression for faster migration
CN106790713A (zh) * 2017-03-08 2017-05-31 中国人民解放军国防科学技术大学 云计算环境下的跨数据中心虚拟机迁移方法
CN109597671A (zh) * 2018-12-11 2019-04-09 国云科技股份有限公司 一种兼容集中式和分布式运行的桌面云实现方法
CN112363671A (zh) * 2020-10-23 2021-02-12 中国电子科技网络信息安全有限公司 一种基于融合架构云平台的虚拟机模板镜像存储方法

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103491144A (zh) * 2013-09-09 2014-01-01 中国科学院计算技术研究所 一种广域网虚拟平台的构建方法
CN103885829A (zh) * 2014-04-16 2014-06-25 中国科学院软件研究所 一种基于统计的虚拟机跨数据中心动态迁移优化方法
CN104050015A (zh) * 2014-06-27 2014-09-17 国家计算机网络与信息安全管理中心 一种虚拟机镜像存储分发系统
CN104463012A (zh) * 2014-11-24 2015-03-25 东软集团股份有限公司 虚拟机镜像文件的导出、导入方法及装置
KR101600717B1 (ko) * 2014-12-04 2016-03-07 한양대학교 산학협력단 P2p 방식의 가상머신 운영체제 이미지 다운로드 방법 및 장치
CN104811493A (zh) * 2015-04-21 2015-07-29 华中科技大学 一种网络感知的虚拟机镜像存储系统及读写请求处理方法
US20170031710A1 (en) * 2015-07-31 2017-02-02 Cisco Technology, Inc. Data suppression for faster migration
CN105468372A (zh) * 2015-11-20 2016-04-06 深圳市深信服电子科技有限公司 虚拟机模板镜像管理方法和系统、虚拟机迁移方法和系统
CN106790713A (zh) * 2017-03-08 2017-05-31 中国人民解放军国防科学技术大学 云计算环境下的跨数据中心虚拟机迁移方法
CN109597671A (zh) * 2018-12-11 2019-04-09 国云科技股份有限公司 一种兼容集中式和分布式运行的桌面云实现方法
CN112363671A (zh) * 2020-10-23 2021-02-12 中国电子科技网络信息安全有限公司 一种基于融合架构云平台的虚拟机模板镜像存储方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
FEI ZHANG 等: "CBase: Fast Virtual Machine storage data migration with a new data center structure", 《JOURNAL OF PARALLEL AND DISTRIBUTED COMPUTING》, vol. 124, pages 14 - 26 *
田俊峰 等: "基于哈希图的虚拟机实时迁移方法", 《电子与信息学报》, vol. 42, no. 3, pages 712 - 719 *

Also Published As

Publication number Publication date
CN112948052B (zh) 2023-10-13

Similar Documents

Publication Publication Date Title
EP3564835B1 (en) Data redistribution method and apparatus, and database cluster
CN107085539B (zh) 一种云数据库系统以及云数据库资源动态调整方法
KR20120018178A (ko) 객체 저장부들의 네트워크상의 스웜-기반의 동기화
EP3817338B1 (en) Method and apparatus for acquiring rpc member information, electronic device and storage medium
CN112882647B (zh) 存储和访问数据的方法、电子设备和计算机程序产品
CN110945496B (zh) 用于状态对象数据存储区的系统和方法
US11265182B2 (en) Messaging to enforce operation serialization for consistency of a distributed data structure
CN111259072A (zh) 数据同步方法、装置、电子设备和计算机可读存储介质
WO2021143026A1 (zh) 流表更新方法、装置、系统、计算机设备及存储介质
EP4231167A1 (en) Data storage method and apparatus based on blockchain network
CN113238996A (zh) 基于dht的区块链数据归档方法、电子设备及存储介质
US11093334B2 (en) Method, device and computer program product for data processing
WO2012136091A2 (zh) 一种对等网络中数据迁移的方法及系统
CN109992447B (zh) 数据复制方法、装置及存储介质
CN110798492B (zh) 数据存储方法及装置、数据处理系统
CN112948052B (zh) 跨数据中心的虚拟机迁移方法、数据中心及计算机介质
CN116684416A (zh) 一种网元集群中的镜像分发方法、装置和系统
CN110798358A (zh) 分布式服务标识方法、装置、计算机可读介质及电子设备
US20240176762A1 (en) Geographically dispersed hybrid cloud cluster
CN112947847B (zh) 用于存储数据的方法、设备和计算机程序产品
CN110661857B (zh) 一种数据同步方法和装置
CN111142791A (zh) 数据迁移方法和装置
US10326835B1 (en) Global data movement in cloud computing environment
CN111125001A (zh) 快照复制方法、电子设备和计算机程序产品
US12028240B2 (en) Method, electronic device, and computer program product for cross-regional data searching

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