CN107168774B - 一种基于本地存储的虚拟机迁移方法及系统 - Google Patents

一种基于本地存储的虚拟机迁移方法及系统 Download PDF

Info

Publication number
CN107168774B
CN107168774B CN201710446538.9A CN201710446538A CN107168774B CN 107168774 B CN107168774 B CN 107168774B CN 201710446538 A CN201710446538 A CN 201710446538A CN 107168774 B CN107168774 B CN 107168774B
Authority
CN
China
Prior art keywords
host
slave
disk
machine
virtual
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.)
Active
Application number
CN201710446538.9A
Other languages
English (en)
Other versions
CN107168774A (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.)
Beijing Yunlian Yiyun Technology Co.,Ltd.
Original Assignee
Beijing Yunlian Wanvi 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 Beijing Yunlian Wanvi Technology Co ltd filed Critical Beijing Yunlian Wanvi Technology Co ltd
Priority to CN201710446538.9A priority Critical patent/CN107168774B/zh
Publication of CN107168774A publication Critical patent/CN107168774A/zh
Application granted granted Critical
Publication of CN107168774B publication Critical patent/CN107168774B/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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)

Abstract

本发明实施例公开了一种基于本地存储的虚拟机迁移方法及系统。该方法包括:确定虚拟机的至少两个宿主机,并确定其中一个为主宿主机,其余为从宿主机;并在确定的所有宿主机中建立所述虚拟机的虚拟磁盘镜像;虚拟机在主宿主机上运行过程中,当检测到虚拟机对虚拟磁盘进行更新时,将更新数据发送给所有所述从宿主机;在发生虚拟机迁移触发事件时,确定至少一个从宿主机作为目的宿主机,结合所述更新数据将所述虚拟机迁移至所述目的宿主机。本发明实施例所提供的技术方案,可以实现能够快速、准确的将基于本地存储的虚拟机数据进行迁移的效果。

Description

一种基于本地存储的虚拟机迁移方法及系统
技术领域
本发明实施例涉及虚拟机技术领域,尤其涉及一种基于本地存储的虚拟机迁移方法及系统。
背景技术
基于本地存储的虚拟机运行的主宿主机上,一旦发生断电、死机等运行故障,则该基于本地存储的虚拟机的运行数据将全部丧失,尤其是在通过虚拟机运行较多的程序时,则对于使用者来说,无疑是极大的损失。在现有技术中,针对基于本地存储的虚拟机的迁移问题,还没有一个较为有效,且能够普及的技术方案。
发明内容
本发明实施例提供一种基于本地存储的虚拟机迁移方法及系统,以实现能够快速、准确的将虚拟机数据进行迁移备份的效果。
第一方面,本发明实施例提供了一种基于本地存储的虚拟机迁移方法,该方法包括:
确定虚拟机的至少两个宿主机,并确定其中一个为主宿主机,其余为从宿主机;并在确定的所有宿主机中建立所述虚拟机的虚拟磁盘镜像;
虚拟机在主宿主机上运行过程中,当检测到虚拟机对虚拟磁盘进行更新时,将更新数据发送给所有所述从宿主机;
在发生虚拟机迁移触发事件时,确定至少一个从宿主机作为目的宿主机,结合所述更新数据将所述虚拟机迁移至所述目的宿主机。
进一步的,所述确定至少两个宿主机,并确定其中一个为主宿主机,其余为从宿主机包括:
确定至少两个宿主机;
根据宿主机状态确定一个主宿主机,其余为从宿主机;
其中,宿主机状态包括宿主机负载、宿主机容量以及宿主机稳定性中的至少一种。
进一步的,所述主宿主机包括主磁盘更新代理,所述从宿主机包括从磁盘更新代理;
相应的,
所述虚拟机在主宿主机上运行过程中,当检测到虚拟机对虚拟磁盘进行更新时,将更新数据发送给所有所述从宿主机包括:
虚拟机主宿主机上运行过程中,当检测到虚拟机对虚拟磁盘进行更新时,通过主磁盘更新代理将更新数据发送至从磁盘更新代理;
通过所述从磁盘更新代理将所述更新数据应用至从宿主机的虚拟磁盘中,对从宿主机的虚拟磁盘镜像进行更新,以确保从磁盘镜像和主磁盘镜像的内容同步更新。
进一步的,所述在发生虚拟机迁移触发事件时,确定至少一个从宿主机作为目的宿主机,结合所述更新数据将所述虚拟机迁移至所述目的宿主机,包括:
在发生虚拟机迁移触发事件时,确定至少一个从宿主机作为目的宿主机;
当检测所述主宿主机的主磁盘更新代理与所述目的宿主机的从磁盘更新代理之间完成所述更新数据的发送与接收,并且从磁盘更新代理将更新数据全部应用到从宿主机的虚拟镜像后,启动所述目的宿主机上的虚拟机。
进一步的,通过数据流的形式完成主磁盘更新代理至从磁盘更新代理的所述更新数据发送,相应的,
当检测所述主宿主机的主磁盘更新代理与所述目的宿主机的从磁盘更新代理之间完成所述更新数据的发送与接收,并且从磁盘更新代理将更新数据全部应用到从宿主机的虚拟镜像后,启动所述目的宿主机上的虚拟机,包括:
当检测所述主宿主机的主磁盘更新代理与所述目的宿主机的从磁盘更新代理之间完成所有的数据流传输,并且从磁盘更新代理将更新数据全部应用到从宿主机的虚拟镜像时,启动所述目的宿主机上的虚拟机。
第二方面,本发明实施例还提供了一种基于本地存储的虚拟机迁移系统,该系统包括:
控制平台,用于确定虚拟机的至少两个宿主机,确定其中一个为主宿主机,其余为从宿主机;并在确定的所有宿主机中建立所述虚拟机的虚拟磁盘镜像;
主宿主机,用于运行虚拟机,当检测到虚拟机对虚拟磁盘进行更新时,将更新数据发送给所有从宿主机;
从宿主机,用于在接收到所述更新数据时,对从宿主机的虚拟磁盘进行更新。
所述控制平台还用于:在发生虚拟机迁移触发事件时,确定至少一个从宿主机作为目的宿主机,结合所述更新数据将所述虚拟机迁移至所述目的宿主机。
进一步的,所述控制平台,用于确定虚拟机的至少两个宿主机,确定其中一个为主宿主机,其余为从宿主机,具体用于:
确定至少两个宿主机;
根据宿主机状态确定一个主宿主机,其余为从宿主机;
其中,宿主机状态包括宿主机负载、宿主机容量以及宿主机稳定性中的至少一种。
进一步的,所述主宿主机包括主磁盘更新代理,所述从宿主机包括从磁盘更新代理;
所述虚拟机在主宿主机上运行过程中,当检测到虚拟机对虚拟磁盘进行更新时,通过主磁盘更新代理将更新数据发送至从磁盘更新代理;
所述从磁盘更新代理将所述更新数据应用至从宿主机的虚拟磁盘中,对从宿主机的虚拟磁盘镜像进行更新,以确保从磁盘镜像和主磁盘镜像的内容同步更新。
进一步的,所述控制平台具体用于:
在发生虚拟机迁移触发事件时,确定至少一个从宿主机作为目的宿主机;
当检测所述主宿主机的主磁盘更新代理与所述目的宿主机的从磁盘更新代理之间完成所述更新数据的发送与接收,并且从磁盘更新代理将更新数据全部应用到从宿主机的虚拟镜像后,启动所述目的宿主机上的虚拟机。
进一步的,通过数据流的形式完成主磁盘更新代理至从磁盘更新代理的所述更新数据发送;
相应的,
当检测所述主宿主机的主磁盘更新代理与所述目的宿主机的从磁盘更新代理之间完成所有的数据流传输,并且从磁盘更新代理将更新数据全部应用到从宿主机的虚拟镜像时,启动所述目的宿主机上的虚拟机。
本发明实施例通过在虚拟机在主宿主机上运行的过程中,对于检测到的虚拟机对虚拟磁盘的更新向从宿主机上发送并保存,在发生宿主机迁移触发事件时,在从宿主机中确定一个目的宿主机,并在该目的宿主机上的虚拟磁盘镜像的基础上,结合更新数据,启动虚拟机,在虚拟机启动后,直接同步于原来的主宿主机上的虚拟机,解决了现有技术中,一旦主宿主机发生故障时,基于本地存储的虚拟机更新数据直接丢失、无法将虚拟机重现的技术问题,以实现能够快速、准确的将基于本地存储的虚拟机数据进行迁移的效果。
附图说明
图1是本发明实施例一提供的基于本地存储的虚拟机迁移方法的流程图;
图2a是本发明实施例二所适用的一种结构示意图;
图2b是本发明实施例二提供的基于本地存储的虚拟机迁移方法的流程图;
图3是本发明实施例三提供的基于本地存储的虚拟机迁移系统的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各步骤描述成顺序的处理,但是其中的许多步骤可以被并行地、并发地或者同时实施。此外,各步骤的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
实施例一
图1是本发明实施例一提供的基于本地存储的虚拟机迁移方法的流程图,本实施例可适用于基于本地存储的虚拟机迁移的情况,该方法可以由本发明实施例所提供的基于本地存储的虚拟机迁移系统来执行,该系统可以由软件和/或硬件的方式来实现。
如图1所示,所述基于本地存储的虚拟机迁移方法包括:
S110、确定虚拟机的至少两个宿主机,并确定其中一个为主宿主机,其余为从宿主机;并在确定的所有宿主机中建立所述虚拟机的虚拟磁盘镜像。
其中,主宿主机是虚拟机运行的宿主机,从宿主机是可以将虚拟机迁移至该机器的宿主机。
确定虚拟机的至少两个宿主机的时间,可以是在虚拟机运行前确定,也可以在虚拟机运行过程中确定,本发明实施例优选的在虚拟机运行前确定宿主机。另外,其中的至少两个宿主机可以是在同一局域网络环境下的机器,也可以是在不同地点,连接不同网络的机器,这样设置的好处是可以满足虚拟机异地迁移的需求。如,用户可以在实验室中的一个机器运行虚拟机,在家中的另一台机器作为从宿主机,这样可以在实验室中虚拟机运行过程中或者运行结束后,将虚拟机迁移至家中的机器,从而得到虚拟机运行的数据。
至少两个宿主机的确定方式可以是向控制平台发送建组请求进行建组的方式,也可以由控制平台根据当前局域网内的各个机器的运行情况来确定。如,在一个实验室中又六台电脑,可以先提示用户是否自主选择主宿主机和从宿主机,如果用户不自主选择,则可以根据当前六台电脑的运行情况来确定,运行情况可以是CPU的使用率,可以选择当前CPU的使用率较低的机器作为宿主机。
在确定的所有宿主机中建立所述虚拟机的虚拟磁盘镜像,其中,虚拟磁盘镜像是虚拟机启动一种虚拟镜像,如无虚拟磁盘镜像,则虚拟机无法启动。
S120、虚拟机在主宿主机上运行过程中,当检测到虚拟机对虚拟磁盘进行更新时,将更新数据发送给所有所述从宿主机。
其中,在确定主宿主机和从宿主机之后,可以在主宿主机上运行虚拟机,虚拟机运行过程中,当检测到虚拟机对虚拟磁盘进行写、删除以及运行某程序等更新操作时,将更新数据发送至所有从宿主机。如当在运行虚拟机过程中,删除了虚拟机当中的某个文件,对应于虚拟磁盘的更新操作是将虚拟磁盘上保存该文件的inode节点的block(通常512字节大小)清零,则可以以“将虚拟磁盘指定偏移量的512字节清零”为数据更新的内容发送至所有从宿主机当中。相应的,在修改某文件,安装某文件,运行某程序、执行某动作以及进行某种数据计算时,对虚拟磁盘发生的更新操作都可以作为”对指定虚拟磁盘指定偏移量写入指定字节”的数据更新的内容进行发送。
从宿主机接收到更新数据后,可以更新从宿主机的虚拟磁盘,也可以作为一个更新包进行保存,待需要更新时,即后文的发生虚拟机迁移触发事件时,再对虚拟磁盘进行更新操作,但是这样设置的话,在虚拟机迁移的过程中,会存在一定的延迟。所以在本发明实施例中,优选的,采用从宿主机接收到更新数据之后,直接对从宿主机的虚拟磁盘进行更新操作的方式,这样设置的好处是在于可以快速的实现虚拟机的迁移。
S130、在发生虚拟机迁移触发事件时,确定至少一个从宿主机作为目的宿主机,结合所述更新数据将所述虚拟机迁移至所述目的宿主机。
其中,所述迁移触发事件可以是主动迁移触发事件,也可以是被动迁移触发事件,主动迁移触发事件可以是用户根据需求需要将虚拟机迁移至其他从宿主机上运行,被动迁移触发事件可以是在虚拟机运行过程中,主宿主机发生故障、死机等事件。
在发生上述迁移触发事件后,可以确定一个或者多个从宿主机为目的宿主机,在目的宿主机的虚拟磁盘镜像上,结合更新数据,完成虚拟机的启动,这时,虚拟机启动后,和在主宿主机运行过程中的虚拟机的磁盘镜像内容一致,完成了宿主机的迁移。
本发明实施例通过在虚拟机在主宿主机上运行的过程中,对于检测到的虚拟机对虚拟磁盘的更新向从宿主机上发送并保存,在发生宿主机迁移触发事件时,在从宿主机中确定一个目的宿主机,并在该目的宿主机上的虚拟磁盘镜像的基础上,结合更新数据,启动虚拟机,在虚拟机启动后,直接同步于原来的主宿主机上的虚拟机,解决了现有技术中,一旦主宿主机发生故障时,虚拟机更新数据直接丢失、无法将虚拟机重现的技术问题,以实现能够快速、准确的将基于本地存储的虚拟机数据进行迁移的效果。
在上述技术方案的基础上,优选的,所述确定至少两个宿主机,并确定其中一个为主宿主机,其余为从宿主机,可以包括:确定至少两个宿主机;根据宿主机状态确定一个主宿主机,其余为从宿主机;其中,宿主机状态包括宿主机负载、宿主机容量以及宿主机稳定性中的至少一种。宿主机的负载可以是宿主机当前CPU使用率,宿主机容量可以是宿主机的内存以及存储器的空间,宿主机的稳定性可以是根据当前宿主机以往运行虚拟机过程中的稳定性评估结果,也可以编制相应的宿主机稳定性测试程序。这样设置的好处在于可以在确定主宿主机的过程中,尽量选择一个运行空间充足且稳定的机器作为主宿主机,这就可以有效减小虚拟机迁移触发事件发生的概率,从而为用户提供一个相对稳定的虚拟机运行环境。
实施例二
图2a是本发明实施例二所适用的一种结构示意图。本实施例在上述实施例的基础上,在所述主宿主机设置有主磁盘更新代理,在所述从宿主机设置有从磁盘更新代理。图2a示出了虚拟机更新数据从主宿主机10到从宿主机20的传输过程。虚拟机在主宿主机10上运行的过程中,如果有数据更新,则将更新数据写入到主虚拟磁盘12中,并将更新数据通过主磁盘更新代理11发送至从磁盘更新代理21中,从磁盘更新代理21再将更新数据应用至从虚拟磁盘22中,从而通过主磁盘更新代理11和从磁盘更新代理21完成更新数据从主宿主机10至从宿主机20之间的传输。
图2b是本发明实施例二提供的基于本地存储的虚拟机迁移方法的流程图。
如图2b所示,所述基于本地存储的虚拟机迁移方法包括:
S210、确定虚拟机的至少两个宿主机,并确定其中一个为主宿主机,其余为从宿主机;并在确定的所有宿主机中建立所述虚拟机的虚拟磁盘镜像。
S220、虚拟机主宿主机上运行过程中,当检测到虚拟机对虚拟磁盘进行更新时,通过主磁盘更新代理将更新数据发送至从磁盘更新代理。
其中,主磁盘更新代理获取更新数据的途径是虚拟机运行过程中将对虚拟磁盘的更新以数据流形式发送给主磁盘更新代理。主磁盘更新代理和从磁盘更新代理之间更新数据的发送可以依赖于主宿主机与从宿主机之间的网络连接关系。
S230、通过所述从磁盘更新代理将所述更新数据应用至从宿主机的虚拟磁盘中,对从宿主机的虚拟磁盘镜像进行更新,以确保从磁盘镜像和主磁盘镜像的内容同步更新。
从宿主机的虚拟磁盘镜像即为如有需要,在该从宿主机上启动虚拟机的虚拟磁盘镜像。将所述更新数据发送至从虚拟磁盘(即从宿主机的虚拟磁盘),可以在需要在该从宿主机启动虚拟机时,直接以最新状态的虚拟机启动,启动后该虚拟机已经具有了在主宿主机上的虚拟机更新的全部信息,实现了完全同步的启动,从而可以快速、准确的将虚拟机迁移。
S240、在发生虚拟机迁移触发事件时,确定至少一个从宿主机作为目的宿主机,结合所述更新数据将所述虚拟机迁移至所述目的宿主机。
本实施例在上述实施例的技术上,在主宿主机和从宿主机上分别设置有主磁盘更新代理和从磁盘更新代理,以实现更新数据从主宿主机到从宿主机上的传输,并且在从磁盘更新代理将更新数据发送至从虚拟磁盘之后,对从宿主机的虚拟磁盘镜像进行了更新,这样,当需要在从宿主机上进行虚拟机启动时,可以进一步保证虚拟机在从宿主机上启动能够与虚拟机在主宿主机上的状态相同,实现虚拟机实时状态的迁移。
在上述各技术方案的基础上,优选的,所述在发生虚拟机迁移触发事件时,确定至少一个从宿主机作为目的宿主机,结合所述更新数据将所述虚拟机迁移至所述目的宿主机,包括:在发生虚拟机迁移触发事件时,确定至少一个从宿主机作为目的宿主机;当检测所述主宿主机的主磁盘更新代理与所述目的宿主机的从磁盘更新代理之间完成所述更新数据的发送与接收,并且从磁盘更新代理将更新数据全部应用到从宿主机的虚拟镜像后,启动所述目的宿主机上的虚拟机。这样设置的好处是可以确保在目的宿主机上启动的虚拟机能够和主宿主机上的虚拟机完全同步,避免用户需要重复运行虚拟机的相应工作而浪费人力和时间。
在上述技术方案的基础上,优选的,通过数据流的形式完成主磁盘更新代理至从磁盘更新代理的所述更新数据发送。这样设置的好处是可以实时传输更新数据,避免在虚拟机数据更新过程中,没有进行数据传输而是目的宿主机上启动的虚拟机和主宿主机上的虚拟机不能够完全同步,代理浪费人力和时间去比对是否为最新状态的问题。
实施例三
图3是本发明实施例三提供的基于本地存储的虚拟机迁移系统的结构示意图。如图3所示,所述基于本地存储的虚拟机迁移系统,包括:
控制平台30,用于确定虚拟机的至少两个宿主机,确定其中一个为主宿主机,其余为从宿主机;并在确定的所有宿主机中建立所述虚拟机的虚拟磁盘镜像;
主宿主机10,用于运行虚拟机,当检测到虚拟机对虚拟磁盘进行更新时,将更新数据发送给所有从宿主机;
从宿主机20,用于在接收到所述更新数据时,对从宿主机的虚拟磁盘进行更新。
本发明实施例通过在虚拟机在主宿主机上运行的过程中,对于检测到的虚拟机对虚拟磁盘的更新向从宿主机上发送并保存,在发生宿主机迁移触发事件时,在从宿主机中确定一个目的宿主机,并在该目的宿主机上的虚拟磁盘镜像的基础上,结合更新数据,启动虚拟机,在虚拟机启动后,直接同步于原来的主宿主机上的虚拟机,解决了现有技术中,一旦主宿主机发生故障时,虚拟机更新数据直接丢失、无法将虚拟机重现的技术问题,以实现能够快速、准确的将基于本地存储的虚拟机数据进行迁移的效果。
在上述各实施例的基础上,所述控制平台30还用于:在发生虚拟机迁移触发事件时,确定至少一个从宿主机作为目的宿主机,结合所述更新数据将所述虚拟机迁移至所述目的宿主机。
在上述各实施例的基础上,所述控制平台30,用于确定虚拟机的至少两个宿主机,确定其中一个为主宿主机10,其余为从宿主机20,具体用于:
确定至少两个宿主机;
根据宿主机状态确定一个主宿主机10,其余为从宿主机20;
其中,宿主机状态包括宿主机负载、宿主机容量以及宿主机稳定性中的至少一种。
在上述各实施例的基础上,所述主宿主机10包括主磁盘更新代理,所述从宿主机20包括从磁盘更新代理;
所述虚拟机在主宿主机10上运行过程中,当检测到虚拟机对虚拟磁盘进行更新时,通过主磁盘更新代理将更新数据发送至从磁盘更新代理;
所述从磁盘更新代理将所述更新数据发送至从宿主机的虚拟磁盘中,对从宿主机20的虚拟磁盘镜像进行更新,以确保从磁盘镜像和主磁盘镜像的内容同步更新。
在上述各实施例的基础上,所述控制平台具体用于:
在发生虚拟机迁移触发事件时,确定至少一个从宿主机20作为目的宿主机;
当检测所述主宿主机10的主磁盘更新代理与所述目的宿主机的从磁盘更新代理之间完成所述更新数据的发送与接收,并且从磁盘更新代理将更新数据全部应用到从宿主机的虚拟镜像后,启动所述目的宿主机上的虚拟机。
在上述各实施例的基础上,通过数据流的形式完成主磁盘更新代理至从磁盘更新代理的所述更新数据发送;
相应的,
当检测所述主宿主机10的主磁盘更新代理与所述目的宿主机的从磁盘更新代理之间完成所有的数据流传输,并且从磁盘更新代理将更新数据全部应用到从宿主机的虚拟镜像时,启动所述目的宿主机上的虚拟机。
上述产品可执行本发明任意实施例所提供的方法,具备执行方法相应的功能模块和有益效果。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (8)

1.一种基于本地存储的虚拟机迁移方法,其特征在于,包括:
确定本地存储的虚拟机的至少两个宿主机,并确定其中一个为主宿主机,其余为从宿主机;并在确定的所有宿主机中建立所述虚拟机的虚拟磁盘镜像;
虚拟机在主宿主机上运行过程中,当检测到虚拟机对本地存储的虚拟磁盘进行更新时,将更新数据发送给所有所述从宿主机;
在发生虚拟机迁移触发事件时,确定至少一个从宿主机作为目的宿主机,结合所述更新数据将所述虚拟机迁移至所述目的宿主机;
其中,所述主宿主机包括主磁盘更新代理,所述从宿主机包括从磁盘更新代理;
相应的,
所述虚拟机在主宿主机上运行过程中,当检测到虚拟机对本地存储的虚拟磁盘进行更新时,将更新数据发送给所有所述从宿主机包括:
虚拟机在主宿主机上运行过程中,当检测到虚拟机对本地存储的虚拟磁盘进行更新时,通过主磁盘更新代理将更新数据发送至从磁盘更新代理;
通过所述从磁盘更新代理将所述更新数据应用至从宿主机的虚拟磁盘中,对从宿主机的虚拟磁盘镜像进行更新,以确保从磁盘镜像和主磁盘镜像的内容同步更新。
2.根据权利要求1所述的方法,其特征在于,所述确定至少两个宿主机,并确定其中一个为主宿主机,其余为从宿主机包括:
确定至少两个宿主机;
根据宿主机状态确定一个主宿主机,其余为从宿主机;
其中,宿主机状态包括宿主机负载、宿主机容量以及宿主机稳定性中的至少一种。
3.根据权利要求1所述的方法,其特征在于,所述在发生虚拟机迁移触发事件时,确定至少一个从宿主机作为目的宿主机,结合所述更新数据将所述虚拟机迁移至所述目的宿主机,包括:
在发生虚拟机迁移触发事件时,确定至少一个从宿主机作为目的宿主机;
当检测所述主宿主机的主磁盘更新代理与所述目的宿主机的从磁盘更新代理之间完成所述更新数据的发送与接收后,启动所述目的宿主机上的虚拟机。
4.根据权利要求3所述的方法,其特征在于,通过数据流的形式完成主磁盘更新代理至从磁盘更新代理的所述更新数据发送,相应的,
当检测所述主宿主机的主磁盘更新代理与所述目的宿主机的从磁盘更新代理之间完成所述更新数据的发送与接收,并且从磁盘更新代理将更新数据全部应用到从宿主机的虚拟镜像后,启动所述目的宿主机上的虚拟机,包括:
当检测所述主宿主机的主磁盘更新代理与所述目的宿主机的从磁盘更新代理之间完成所有的数据流传输,并且从磁盘更新代理将更新数据全部应用到从宿主机的虚拟镜像时,启动所述目的宿主机上的虚拟机。
5.一种基于本地存储的虚拟机的迁移系统,其特征在于,包括:
控制平台,用于确定本地存储的虚拟机的至少两个宿主机,确定其中一个为主宿主机,其余为从宿主机;并在确定的所有宿主机中建立所述虚拟机的虚拟磁盘镜像;
主宿主机,用于运行虚拟机,当检测到虚拟机对本地存储的虚拟磁盘进行更新时,将更新数据发送给所有从宿主机;
从宿主机,用于在接收到所述更新数据时,对从宿主机的虚拟磁盘进行更新;
所述控制平台还用于:在发生虚拟机迁移触发事件时,确定至少一个从宿主机作为目的宿主机,结合所述更新数据将所述虚拟机迁移至所述目的宿主机;
其中,所述主宿主机包括主磁盘更新代理,所述从宿主机包括从磁盘更新代理;
所述虚拟机在主宿主机上运行过程中,当检测到虚拟机对本地存储的虚拟磁盘进行更新时,通过主磁盘更新代理将更新数据发送至从磁盘更新代理;
所述从磁盘更新代理将所述更新数据应用至从宿主机的本地存储的虚拟磁盘中,对从宿主机的虚拟磁盘镜像进行更新,以确保从磁盘镜像和主磁盘镜像的内容同步更新。
6.根据权利要求5所述的系统,其特征在于,所述控制平台,用于确定虚拟机的至少两个宿主机,确定其中一个为主宿主机,其余为从宿主机,具体用于:
确定至少两个宿主机;
根据宿主机状态确定一个主宿主机,其余为从宿主机;
其中,宿主机状态包括宿主机负载、宿主机容量以及宿主机稳定性中的至少一种。
7.根据权利要求5所述的系统,其特征在于,所述控制平台具体用于:
在发生虚拟机迁移触发事件时,确定至少一个从宿主机作为目的宿主机;
当检测所述主宿主机的主磁盘更新代理与所述目的宿主机的从磁盘更新代理之间完成所述更新数据的发送与接收,并且从磁盘更新代理将更新数据全部应用到从宿主机的虚拟镜像后,启动所述目的宿主机上的虚拟机。
8.根据权利要求7所述的系统,其特征在于,通过数据流的形式完成主磁盘更新代理至从磁盘更新代理的所述更新数据发送;
相应的,
当检测所述主宿主机的主磁盘更新代理与所述目的宿主机的从磁盘更新代理之间完成所有的数据流传输,并且从磁盘更新代理将更新数据全部应用到从宿主机的虚拟镜像时,启动所述目的宿主机上的虚拟机。
CN201710446538.9A 2017-06-14 2017-06-14 一种基于本地存储的虚拟机迁移方法及系统 Active CN107168774B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710446538.9A CN107168774B (zh) 2017-06-14 2017-06-14 一种基于本地存储的虚拟机迁移方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710446538.9A CN107168774B (zh) 2017-06-14 2017-06-14 一种基于本地存储的虚拟机迁移方法及系统

Publications (2)

Publication Number Publication Date
CN107168774A CN107168774A (zh) 2017-09-15
CN107168774B true CN107168774B (zh) 2020-11-10

Family

ID=59818470

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710446538.9A Active CN107168774B (zh) 2017-06-14 2017-06-14 一种基于本地存储的虚拟机迁移方法及系统

Country Status (1)

Country Link
CN (1) CN107168774B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108572860A (zh) * 2018-04-19 2018-09-25 国云科技股份有限公司 一种云平台应用集群自动部署方法
CN110505195A (zh) * 2019-06-26 2019-11-26 中电万维信息技术有限责任公司 虚拟主机的部署方法以及系统
CN113452698A (zh) * 2021-06-25 2021-09-28 佛山市顺德区美的电子科技有限公司 一种终端身份分配方法、控制终端和受控设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101101562A (zh) * 2007-07-10 2008-01-09 北京大学 一种虚拟机的外存在线迁移方法
CN101876921A (zh) * 2009-04-29 2010-11-03 华为技术有限公司 一种虚拟机迁移决策方法、装置及系统
US8705513B2 (en) * 2009-12-15 2014-04-22 At&T Intellectual Property I, L.P. Methods and apparatus to communicatively couple virtual private networks to virtual machines within distributive computing networks

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101609419B (zh) * 2009-06-29 2012-05-30 北京航空航天大学 虚拟机持续在线迁移的数据备份方法及装置
US9354918B2 (en) * 2014-02-10 2016-05-31 International Business Machines Corporation Migrating local cache state with a virtual machine
CN104965757B (zh) * 2015-01-21 2018-03-30 深圳市腾讯计算机系统有限公司 虚拟机热迁移的方法、虚拟机迁移管理装置及系统
CN106227578A (zh) * 2016-07-12 2016-12-14 腾讯科技(深圳)有限公司 一种虚拟机热迁移的方法、设备及系统
CN106708603B (zh) * 2016-12-28 2019-04-26 平安科技(深圳)有限公司 虚拟机快速恢复方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101101562A (zh) * 2007-07-10 2008-01-09 北京大学 一种虚拟机的外存在线迁移方法
CN101876921A (zh) * 2009-04-29 2010-11-03 华为技术有限公司 一种虚拟机迁移决策方法、装置及系统
US8705513B2 (en) * 2009-12-15 2014-04-22 At&T Intellectual Property I, L.P. Methods and apparatus to communicatively couple virtual private networks to virtual machines within distributive computing networks

Also Published As

Publication number Publication date
CN107168774A (zh) 2017-09-15

Similar Documents

Publication Publication Date Title
CN106843749B (zh) 写入请求处理方法、装置及设备
US8407702B2 (en) Computer system for managing virtual machine migration
CN106911524B (zh) 一种ha实现方法及装置
US20190108079A1 (en) Remote Procedure Call Method for Network Device and Network Device
US10346248B2 (en) Failure resistant volume creation in a shared storage environment
CN107544783B (zh) 一种数据更新方法、装置及系统
CN102355369B (zh) 虚拟化集群系统及其处理方法和设备
CN106302607B (zh) 应用于云计算的块存储系统及方法
US9830181B2 (en) Method and system for gracefully shutdown virtual system
US20190138405A1 (en) Data Loading Method and Apparatus
US10541862B2 (en) VNF processing policy determining method, apparatus, and system
EP3598301B1 (en) Cloud management platform, virtual machine management method, system thereof
CN107168774B (zh) 一种基于本地存储的虚拟机迁移方法及系统
EP3232609A1 (en) Locking request processing method and server
US10620871B1 (en) Storage scheme for a distributed storage system
CN112083889A (zh) 数据迁移方法、装置、设备及可读存储介质
CN104350466A (zh) 虚拟机映像写租赁
CN104850416A (zh) 一种升级系统、方法、装置及云计算节点
CN106331081B (zh) 一种信息同步方法及装置
CN111680015A (zh) 文件资源处理方法、装置、设备和介质
CN112328365A (zh) 一种虚拟机迁移方法、装置、设备及存储介质
US20160224443A1 (en) Communication system, standby device, communication method, and standby program
CN104517067A (zh) 访问数据的方法、装置及系统
CN114675938A (zh) 一种异构集群虚拟机迁移方法、系统及云平台
CN111917588A (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
TR01 Transfer of patent right

Effective date of registration: 20201217

Address after: F456, 1st floor, No. 1089, Huihe South Street, Banbidian village, Gaobeidian Township, Chaoyang District, Beijing 100023

Patentee after: Beijing Yunlian Yiyun Technology Co.,Ltd.

Address before: Jiahua space, 2nd floor, gate B, building 6, Guochuang Industrial Park, Laiguangying West Road, Chaoyang District, Beijing 100012

Patentee before: BEIJING YUNLIAN WANVI TECHNOLOGY Co.,Ltd.

TR01 Transfer of patent right