CN111158858A - 一种虚拟机的克隆方法和装置,及计算机可读存储介质 - Google Patents

一种虚拟机的克隆方法和装置,及计算机可读存储介质 Download PDF

Info

Publication number
CN111158858A
CN111158858A CN201911366460.5A CN201911366460A CN111158858A CN 111158858 A CN111158858 A CN 111158858A CN 201911366460 A CN201911366460 A CN 201911366460A CN 111158858 A CN111158858 A CN 111158858A
Authority
CN
China
Prior art keywords
virtual machine
original
target
file
cloning
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.)
Pending
Application number
CN201911366460.5A
Other languages
English (en)
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.)
Sangfor Technologies Co Ltd
Original Assignee
Sangfor Technologies 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 Sangfor Technologies Co Ltd filed Critical Sangfor Technologies Co Ltd
Priority to CN201911366460.5A priority Critical patent/CN111158858A/zh
Publication of CN111158858A publication Critical patent/CN111158858A/zh
Pending legal-status Critical Current

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

Abstract

本发明实施例公开了一种虚拟机的克隆方法和装置,及计算机可读存储介质,上述虚拟机的克隆方法包括:确定原虚拟机对应的原目录,并在原目录下,通过ROW快照对原虚拟机的原镜像文件进行链接克隆,获得目标镜像文件;从原目录中读取原虚拟机的原配置文件,并对原配置文件进行更新处理,获得目标配置文件;基于目标镜像文件和目标配置文件,生成原虚拟机对应的目标虚拟机;其中,目标虚拟机为克隆原虚拟机之后获得的一个新的虚拟机。

Description

一种虚拟机的克隆方法和装置,及计算机可读存储介质
技术领域
本发明涉及虚拟机技术领域,尤其涉及一种虚拟机的克隆方法和装置,及计算机可读存储介质。
背景技术
虚拟化技术能够在一台计算机上运行多个操作系统,每个系统上运行自己独立的应用软件。随着虚拟化技术的快速发展和应用深入,虚拟机已逐渐替代物理机成为企业关键业务系统运行的支撑环境。为了能够扩大原有的业务系统的支撑容量,需要对原虚拟机进行克隆,获得相应地新的虚拟机。
克隆虚拟机是指完整复制一台虚拟机,克隆后的虚拟机的外部参数和内部操作系统里的数据都与原虚拟机保持一致。目前,为了进行原虚拟机的克隆,需要对原虚拟机的原镜像文件进行拷贝,这个过程往往会占用大量的空间,同时会占用大量的磁盘IO,进而会影响原虚拟机的性能和业务,不适用需要大量克隆虚拟机的场景。
发明内容
为解决上述技术问题,本发明实施例期望提供一种虚拟机的克隆方法和装置,及计算机可读存储介质,在克隆虚拟机的过程中不占用磁盘IO和空间,从而可以大大提高克隆速度,同时避免对原虚拟机的业务和性能的影响,能够更好的适用大批量克隆的场景。
为达到上述目的,本发明实施例的技术方案是这样实现的:
本发明实施例提供了一种虚拟机的克隆方法,所述方法包括:
确定原虚拟机对应的原目录,并在所述原目录下,通过ROW快照对所述原虚拟机的原镜像文件进行链接克隆,获得目标镜像文件;
从所述原目录中读取所述原虚拟机的原配置文件,并对所述原配置文件进行更新处理,获得目标配置文件;
基于所述目标镜像文件和所述目标配置文件,生成所述原虚拟机对应的目标虚拟机;其中,所述目标虚拟机为克隆所述原虚拟机之后获得的一个新的虚拟机。
本发明实施例提供了一种拟机的克隆装置,所述虚拟机的克隆装置包括:确定单元,克隆单元、读取单元、更新单元以及生成单元,
所述确定单元,用于确定原虚拟机对应的原目录;
所述克隆单元,用于在所述原目录下,通过ROW快照对所述原虚拟机的原镜像文件进行链接克隆,获得目标镜像文件;
所述读取单元,用于从所述原目录中读取所述原虚拟机的原配置文件;
所述更新单元,用于对所述原配置文件进行更新处理,获得目标配置文件;
所述生成单元,用于基于所述目标镜像文件和所述目标配置文件,生成所述原虚拟机对应的目标虚拟机;其中,所述目标虚拟机为克隆所述原虚拟机之后获得的一个新的虚拟机。
本发明实施例提供了一种虚拟机的克隆装置,所述虚拟机的克隆装置包括处理器、存储有所述处理器可执行指令的存储器、通信接口,和用于连接所述处理器、所述存储器以及所述通信接口的总线,当所述指令被所述处理器执行时,实现如上所述的虚拟机的克隆方法。
本发明实施例提供了一种计算机可读存储介质,其上存储有程序,应用于虚拟机的克隆装置中,所述程序被处理器执行时,实现如上所述的虚拟机的克隆方法。
本申请实施例提出的一种虚拟机的克隆方法和装置,及计算机可读存储介质,虚拟机的克隆装置确定原虚拟机对应的原目录,并在原目录下,通过ROW快照对原虚拟机的原镜像文件进行链接克隆,获得目标镜像文件;从原目录中读取原虚拟机的原配置文件,并对原配置文件进行更新处理,获得目标配置文件;基于目标镜像文件和目标配置文件,生成原虚拟机对应的目标虚拟机;其中,目标虚拟机为克隆原虚拟机之后获得的一个新的虚拟机。由此可见,在本申请的实施例中,在对原虚拟机进行克隆时,虚拟机的克隆装置采用ROW快照对原镜像文件进行链接克隆,获得对应的目标镜像文件,并结合基于原配置文件获得的目标配置文件,最终生成克隆后的目标虚拟机。也就是说,在本申请中,正是基于ROW快照的链接克隆方式,不再需要对原虚拟机的磁盘数据进行复制便可以实现对原虚拟机的克隆,因此在克隆虚拟机的过程中不占用磁盘IO和空间,从而可以大大提高克隆速度,同时避免对原虚拟机的业务和性能的影响,能够更好的适用大批量克隆的场景。
附图说明
图1为COW快照的示意图;
图2为ROW快照的示意图;
图3为虚拟机的克隆方法的实现流程示意图一;
图4为ROW快照后读写处理原理示意图一;
图5为ROW快照后读写处理原理示意图二;
图6为ROW快照后读写处理原理示意图三;
图7为虚拟机的克隆方法的实现流程示意图二;
图8为虚拟机的克隆方法的实现流程示意图三;
图9为虚拟机的克隆方法的实现流程示意图四;
图10为虚拟机的克隆方法的实现流程示意图五;
图11为通过ROW快照获取目标镜像文件的示意图;
图12为虚拟机的克隆方法的实现流程示意图六;
图13为虚拟机的克隆装置的组成结构示意图一;
图14为虚拟机的克隆装置的组成结构示意图二。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。可以理解的是,此处所描述的具体实施例仅仅用于解释相关申请,而非对该申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关申请相关的部分。
存储网络行业协会(StorageNetworking Industry Association,SNIA)对快照(Snapshot)的定义是:关于指定数据集合的一个完全可用拷贝,该拷贝包括相应数据在某个时间点(拷贝开始的时间点)的映像。快照可以是其所表示的数据的一个副本,也可以是数据的一个复制品。
快照的作用主要是能够进行在线数据备份与恢复。当存储设备发生应用故障或者文件损坏时可以进行快速的数据恢复,将数据恢复某个可用的时间点的状态。快照的另一个作用是为存储用户提供了另外一个数据访问通道,当原数据进行在线应用处理时,用户可以访问快照数据,还可以利用快照进行测试等工作。所有存储系统,不论高中低端,只要应用于在线系统,那么快照就成为一个不可或缺的功能。
目前,实现快照主要有两种技术,一种是第一次写时复制(Copy On First Write,COFW),有时简称为写时复制(Copy On Write,COW),COW即在数据第一次写入到某个存储位置时,首先将原有的内容读取出来,写到另一位置处(为快照保留的存储空间,可称为快照空间),然后再将数据写入到存储设备中。而下次针对这一位置的写操作将不再执行写时复制操作。这种技术常在计算机相关的技术中经常初使用,其基本原理大同小异,只是面向的对象不同,适用的场合不一样。
图1为COW快照的示意图,如图1所示,原卷数据是A~G。此卷元数据Metedata像指针一样指向这些数据,当做COW快照时,重新复制一份Metedata,并且也指向这些A~G数据,当有数据要写入到原卷时,如写入d,在将D写入到D的原位置之前,需要把D拷贝出放到一个新位置。然后修改快照的Metedata的其中一个指针指向拷贝出的位置[D],同时,把D写入到D原来的位置。
从COW的执行过程可以知道,这种实现方式在第一次写入某个存储位置时需要完成一个读操作(读原位置的数据),两个写操作(写原位置与写快照空间),如果写入频繁,那么这种方式将非常消耗输入/输出(Input/Output,I/O)时间。因此可推断,如果预计某个卷上的I/O多数以读操作为主,写操作较少,这种方式的快照实现技术是一个较理想的选择,因为快照的完成需要较少的时间。除此之外,如果一个应用易出现写入热点,即只针对某个有限范围内的数据进行写操作,那么COW的快照实现方式也是较较理想的选择。因为其数据更改都局限在一个范围内,对同一份数据的多次写操作只会出现一次写时复制操作。但是这种方式的缺点也是非常明显的,如果写操作过于分散且频繁,那么COW造成的开销则是不可忽略的,有时甚至是无法接受的。因此在应用时,则需要综合评估应用系统的使用场景,以判断这种方式的快照是否适用。
快照实现技术中的另一种技术是I/O重定向(I/O Redirect),即写时重定向(Redirect On Write,ROW),也就是将读写操作重新定向到另一个存储空间中。在一个快照生成期间,所有的写操作将被重定向到另一个介质,而读操作是否需要读重定向,则需要根据读取的位置是否有过自上次快照以来的写重定向,必须对有过写重定向的位置进行读重定向,否则不需要进行读定向。当要创建一个快照时,则将自上次快照以来所有的重定向写数据所对应在源介质中的数据复制出来生成这个时间点的快照,然后再将这些重定向写数据写回到源介质中的相应位置上,从而完成一个快照生成过程。
图2为ROW快照的示意图,如图2所示,原卷数据是A~G。此卷元数据Metedata像指针一样指向这些数据,当做COW快照时,重新复制一份Metedata,并且也指向这些A~G数据,当有数据要写入到原卷时,如写入D,并不在原始位置写入,而是分配一个新位置,把数据D写入该新位置,然后修改原卷的其中一个Metedata到新位置。
从上面的过程来看,关键的性能影响在于快照生成时的四次I/O操作(一次读源介质,一次写快照数据,一次读快照介质,一次写源介质),另一个则是重定向的计算工作。这种方式虽然看起来最后生成快照时的I/O操作较多,但是考虑到这个操作是在生成快照时才会发生,特别是快照生成时可以对I/O操作进行排序,可以使得对介质的读写得到较好的优化,因此使影响很小。而对于重定向的计算操作对于当下的计算能力来说,不会成为一个性能的瓶颈问题。因此这种快照实现方式在非快照执行期间的影响甚小。因此这种方式比较适合写密集(Write-Intensive)类型的存储系统。
SNIA将快照的实现方式表述为:镜像分离(split mirror)、改变块(changedblock)、并发(concurrent)三大类。后两种在实现时其实质就是COW和ROW。对于splitmirror的方式,由于其灵活性以及开销问题,在实际的存储系统中,并不实用。
也就是说,快照就是指某数据集在某一时刻一个完全可用的拷贝,也叫即时拷贝。如果是在window环境下,则要结合虚拟交换系统(Virtual Switch System,VSS)机制,把应用程序的buffer、文件系统的buffer、操作系统的buffer全部刷向磁盘后,再做快照。
假如有一个卷8个物理块,分别为1-8,在某一个时刻做了快照,这时候生成了一个快照卷,快照卷也有8个块,和原始卷一样指向相同的物理块。这时候有一个新的I/O,修改原始卷的第8个物理块,对COW而言,会依次做如下几步:
1、分配一个新的物理块,可以称为第9个物理块;
2、读取第8个物理块;
3、新读取的第8个物理块数据写入到第9个物理块;
4、更新快照卷map,指向第9个物理块;
5、更新第8个物理块
对ROW而言,会依次做如下几步:
1、分配一个新的物理块,可以称为第9个物理块;
2、数据写入到第9个物理块;
3、更新原始卷map,指向第9个物理块
虚拟机(Virtual Machine)是指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。
链接克隆(Linked Clone)是指创建一个空文件与原文件链接,只有新增差异数据后才会增加存储空间开销,从而节约存储空间,且整个克隆过程没有实际发生数据复制,速度非常快可以在几秒内完成。
磁盘镜像(Disk Image)是一种文件存储形式,常见格式有raw、qcow2等,是虚拟机的重要组成部分,虚拟机数据的载体,对应物理机的硬盘来解释即虚拟机的虚拟硬盘。
克隆虚拟机是指完整复制一台虚拟机,虚拟机的外部参数和内部操作系统里的数据都与原虚拟机保持一致。
目前,在克隆虚拟机时,需要在关机状态下通过直接完整拷贝镜像文件和相关配置实现,在开机状态下通过打一个临时cow快照来保存差异数据,拷贝完虚拟机镜像后再把快照数据合入过去。
然而,上述的虚拟机克隆方式存在以下缺陷:
1、完整拷贝镜像期间会占用大量的磁盘IO,如果是开机克隆,就导致虚拟机性能下降,出现业务卡顿。
2、完整拷贝速度慢,时间长,要等完整拷贝结束后才能使用新虚拟机。
3、完整拷贝占空间大,克隆几台虚拟机就能把存储空间占满,不适用需要大量克隆虚拟机的场景。
为了克服上述缺陷,在本申请的实施例中,在对原虚拟机进行克隆时,虚拟机的克隆装置采用ROW快照对原镜像文件进行链接克隆,获得对应的目标镜像文件,并结合基于原配置文件获得的目标配置文件,最终生成克隆后的目标虚拟机。也就是说,在本申请中,正是基于ROW快照的链接克隆方式,不再需要对原虚拟机的磁盘数据进行复制便可以实现对原虚拟机的克隆,因此在克隆虚拟机的过程中不占用磁盘IO和空间,从而可以大大提高克隆速度,同时避免对原虚拟机的业务和性能的影响,能够更好的适用大批量克隆的场景。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
实施例一
本发明实施例提出了一种虚拟机的克隆方法,图3为虚拟机的克隆方法的实现流程示意图一,如图3所示,在本发明的实施例中,虚拟机的克隆装置克隆虚拟机的方法可以包括以下步骤:
步骤101、确定原虚拟机对应的原目录,并在原目录下,通过ROW快照对原虚拟机的原镜像文件进行链接克隆,获得目标镜像文件。
在本申请的实施例中,虚拟机的克隆装置可以先确定原虚拟机对应的原目录,然后便可以在原目标下对原虚拟机的原镜像文件进行链接克隆,从而可以获得对应的目标镜像文件。具体地,虚拟机的克隆装置可以利用ROW快照进行原镜像文件的链接克隆处理。
需要说明的是,在本申请的实施例中,原虚拟机可以为待克隆的虚拟机,本申请提出的虚拟机的克隆方法,可以实现对原虚拟机的完整复制,从而可以获得与原虚拟机对应的目标虚拟机。其中,虚拟机的克隆装置在对原虚拟机进行克隆时,可以对原虚拟机的外部参数和内部操作系统里的数据全部进行克隆,从而可以使获得的目标虚拟机与原虚拟机保持一致。
可以理解的是,在本申请的实施例中,原虚拟机可以由多个磁盘镜像文件和一份外部配置文件组成,因此,在对原虚拟机进行链接克隆时,主要是对原虚拟机的原镜像文件克隆。
进一步地,在本申请的实施例中,原虚拟机中的多个原镜像文件均存储在同一个目录下面,即原镜像文件存储在原虚拟机对应的原目录中。因此,虚拟机的克隆装置需要先确定出原虚拟机对应的原目录。
需要说明的是,在本申请的实施例中,虚拟机的克隆装置在确定原虚拟机对应的原目录之后,便可以在原目录下,通过ROW快照对原虚拟机的原镜像文件进行链接克隆,从而可以获得与原镜像文件对应的目标镜像文件。
可以理解的是,在本申请的实施例中,ROW快照之后的读写处理主要包括快照后读取数据、快照后修改数据以及快照后新增数据。具体地,图4为ROW快照后读写处理原理示意图一,如图4所示,在对原虚拟机的原镜像文件进行ROW快照,获得快照文件之后,如果需要读取数据,便可以直接访问快照文件上的一个数据块,如果读到了数据则返回,如果读不到数据则向原始文件回溯,即查找原虚拟机内部数据,把原始文件上对应的地址里的数据读出来。图5为ROW快照后读写处理原理示意图二,如图5所示,在对原虚拟机的原镜像文件进行ROW快照,获得快照文件之后,在需要修改数据时,并不会去修改源数据,而是把修改数据写入快照文件中新开辟的新地址,然后记录下新数据地址与源数据地址的对应关系。图6为ROW快照后读写处理原理示意图三,如图6所示,在对原虚拟机的原镜像文件进行ROW快照,获得快照文件之后,在需要新增数据时,并不会在源数据地址上新增数据,而是把需要新增的数据直接写入快照文件中新开辟的地址。
进一步地,在本申请的实施例中,虚拟机的克隆装置在原目录下对原镜像文件进行链接克隆,获得目标镜像文件时,可以先对原目录下的一个原镜像文件进行ROW快照,从而获得一个原镜像文件对应的一个目标镜像文件,然后再依次遍历原目录中的原虚拟机的全部原镜像文件,从而获得全部原镜像文件对应的全部目标镜像文件。
也就是说,在本申请中,虚拟机的克隆装置可以在原目录下对原虚拟机的每一个原镜像文件按照同样的方式进行链接克隆,最终便可以获得每一个原镜像文件对应的目标镜像文件,从而完成对原虚拟机的原镜像文件的克隆。
步骤102、从原目录中读取原虚拟机的原配置文件,并对原配置文件进行更新处理,获得目标配置文件。
在本申请的实施例中,虚拟机的克隆装置在确定原虚拟机对应的原目录,并在原目录下,通过ROW快照对原虚拟机的原镜像文件进行链接克隆,获得目标镜像文件之后,还可以继续从原目录中读取原虚拟机的原配置文件,然后可以对原配置文件进行更新处理,从而可以获得目标配置文件。
可以理解的是,在本申请的实施例中,原虚拟机可以由多个磁盘镜像文件和一份外部配置文件组成,因此,在对原虚拟机进行链接克隆时,除了对原虚拟机的原镜像文件克隆,还需要对原虚拟机的原配置文件克隆。
进一步地,在本申请的实施例中,原虚拟机中的原配置文件也存储在与原镜像文件相同的目录下面,即原配置文件也存储在原虚拟机对应的原目录中。因此,虚拟机的克隆装置在确定出原虚拟机对应的原目录之后,可以直接从原目录中读取原虚拟机的原配置文件。
需要说明的是,在本申请的实施例中,虚拟机的克隆装置在从原目录中读取原虚拟机的原配置文件之后,便可以对原配置文件进行更新处理,具体地,虚拟机的克隆装置可以对原配置文件中的、原虚拟机的标识信息进行修改,从而便可以获得更新后的目标配置文件。
可以理解的是,在本申请的实施例中,标识信息可以为原配置文件中的、与原虚拟机对应的具体数据。
示例性的,在本申请的实施例中,虚拟机的克隆装置可以把原目录下的原配置文件读取出来,然后修改原配置文件中一些内容,比如虚拟机名称等信息,然后再把修改后的内容与其他内同一起写到一个新文件中,从而可以获得新的配置文件,即目标配置文件。
步骤103、基于目标镜像文件和目标配置文件,生成原虚拟机对应的目标虚拟机;其中,目标虚拟机为克隆原虚拟机之后获得的一个新的虚拟机。
在本申请的实施例中,虚拟机的克隆装置在通过对原镜像文件进行链接克隆获得目标镜像文件,并通过对原配置文件进行更新处理获得目标配置文件之后,便可以利用目标镜像文件和目标配置文件,配置生成一个新的虚拟机,即目标虚拟机。其中,该目标虚拟机是对原虚拟机克隆之后获得的。
需要说明的是,在本申请的实施例中,正是由于原虚拟机是由多个原镜像文件和一个原配置文件组成的,因此,虚拟机的克隆装置在基于原镜像文件和原配置文件,分别获得目标镜像文件和目标配置文件之后,便可以通过目标镜像文件和目标配置文件,配置对应的目标虚拟机。
进一步地,在本申请的实施例中,虚拟机的克隆装置在基于目标镜像文件和目标配置文件生成原虚拟机对应的目标虚拟机时,可以先整合目标镜像文件和目标配置文件,获得虚拟机数据,然后利用虚拟机数据配置目标虚拟机。
可以理解的是,在本申请的实施例中,图7为虚拟机的克隆方法的实现流程示意图二,如图7所示,虚拟机的克隆装置在原目录下,通过ROW快照对原虚拟机的原镜像文件进行链接克隆,获得目标镜像文件之后,即步骤101之后,虚拟机的克隆装置克隆虚拟机的方法还可以包括以下步骤:
步骤104、将目标镜像文件存储至目标目录中。
在本申请的实施例中,虚拟机的克隆装置在对原镜像文件进行链接克隆获得目标镜像文件之后,可以将目标镜像文件存储至一个新的目录中,即目标目录中。
需要说明的是,在本申请的实施例中,目标目录可以为克隆原虚拟机后的目标虚拟机对应的新的目录,即目标目录是与原目录相对应的。
可以理解的是,在本申请的实施例中,原镜像文件存储在原虚拟机对应的原目录中,相应地,目标镜像文件也存储在目标虚拟机对应的目标目录中。
进一步地,在本申请的实施例中,图8为虚拟机的克隆方法的实现流程示意图三,如图8所示,虚拟机的克隆装置在对原配置文件进行更新处理,获得目标配置文件之后,即步骤102之后,虚拟机的克隆装置克隆虚拟机的方法还可以包括以下步骤:
步骤105、将目标配置文件存储至目标目录中。
在本申请的实施例中,虚拟机的克隆装置在对原配置文件中的、原虚拟机的标识信息进行修改,以获得更新后的目标配置文件之后,也可以将目标镜像文件存储至目标目录中。
需要说明的是,在本申请的实施例中,原配置文件存储在原虚拟机对应的原目录中,相应地,目标配置文件也存储在目标虚拟机对应的目标目录中。
进一步地,在本申请的实施例中,图9为虚拟机的克隆方法的实现流程示意图四,如图9所示,虚拟机的克隆装置在基于目标镜像文件和目标配置文件,生成原虚拟机对应的目标虚拟机之后,即步骤103之后,虚拟机的克隆装置克隆虚拟机的方法还可以包括以下步骤:
步骤106、启动目标虚拟机。
在本申请的实施例中,虚拟机的克隆装置在根据目标镜像文件和目标配置文件配置获得目标虚拟机之后,便可以启动目标虚拟机来使用目标虚拟机。
可以理解的是,在本申请的实施例中,正是由于虚拟机的克隆装置通过ROW快照的方法实现对原虚拟机的原镜像文件的链接克隆,因此,在克隆目标虚拟机的过程中不需要进行数据的复制,从而不会占用大量的磁盘IO,进而在对原虚拟机进行克隆的同时不会影响原虚拟机的业务系统的运行。同时克隆速度也大幅提高。
进一步地,在本申请的实施例中,也正是因为在克隆目标虚拟机的过程中不需要进行数据的复制,因此不会占用空间,进而可以节省大量存储空间,适用于需要大量克隆虚拟机的场景。
也就是说,在本申请中,虚拟机的克隆装置在通过上述步骤101至步骤106的方法对原虚拟机进行克隆获得目标虚拟机的过程中,虚拟机的克隆装置不需要真实的拷贝具体数据,仅仅通过ROW快照对原虚拟机做信息记录,便可以快速克隆出目标虚拟机,在克隆的过程中,既不会影响原虚拟机的性能,也不会中断原虚拟机的业务,同时还能节约存储空间,因此,本申请提出的虚拟机的克隆方法,具有克隆速度快、占用空间小、不影响原虚拟机性能和业务的优势,适合大批量克隆的场景。
本申请实施例提出的一种虚拟机的克隆方法,虚拟机的克隆装置确定原虚拟机对应的原目录,并在原目录下,通过ROW快照对原虚拟机的原镜像文件进行链接克隆,获得目标镜像文件;从原目录中读取原虚拟机的原配置文件,并对原配置文件进行更新处理,获得目标配置文件;基于目标镜像文件和目标配置文件,生成原虚拟机对应的目标虚拟机;其中,目标虚拟机为克隆原虚拟机之后获得的一个新的虚拟机。由此可见,在本申请的实施例中,在对原虚拟机进行克隆时,虚拟机的克隆装置采用ROW快照对原镜像文件进行链接克隆,获得对应的目标镜像文件,并结合基于原配置文件获得的目标配置文件,最终生成克隆后的目标虚拟机。也就是说,在本申请中,正是基于ROW快照的链接克隆方式,不再需要对原虚拟机的磁盘数据进行复制便可以实现对原虚拟机的克隆,因此在克隆虚拟机的过程中不占用磁盘IO和空间,从而可以大大提高克隆速度,同时避免对原虚拟机的业务和性能的影响,能够更好的适用大批量克隆的场景。
实施例二
基于上述实施例一,在本申请的又一实施例中,图10为虚拟机的克隆方法的实现流程示意图五,如图10所示,虚拟机的克隆装置对原目录下的一个原镜像文件进行ROW快照,获得一个原镜像文件对应的一个目标镜像文件的方法可以包括以下步骤:
步骤201、对一个原镜像文件进行ROW快照,获得第一快照文件和原镜像文件对应的只读文件;其中,第一快照文件用于原虚拟机的读写处理。
在本申请的实施例中,虚拟机的克隆装置可以先对原目录中的一个原镜像文件进行ROW快照,从而获得一个快照文件,即获得第一快照文件。同时,该一个原镜像文件变为只读文件。
需要说明的是,在本申请的实施例中,虚拟机的克隆装置通过对原目录中的一个原镜像文件的第一次ROW快照,可以使该一个原镜像文件变为只读模式,而获得的第一快照文件可以用于原虚拟机的读写处理。
也就是说,在本申请中,虚拟机的克隆装置在获得第一快照文件之后,如果需要对原虚拟机进行数据的写入,可以直接通过第一快照文件来实现。
步骤202、再次对只读文件进行ROW快照,获得第二快照文件;其中,第二快照文件用于目标虚拟机的读写处理。
在本申请的实施例中,虚拟机的克隆装置在对原目录中的一个原镜像文件进行ROW快照,使该一个原镜像文件变为只读文件之后,可以再次对该只读文件进行ROW快照,从而获得另一个新的快照文件,即获得第二快照文件。
需要说明的是,在本申请的实施例中,虚拟机的克隆装置在对原目录中的该一个原镜像文件对应的只读文件进行第二次ROW快照,获得的第二快照文件可以用于目标虚拟机的读写处理。
也就是说,在本申请中,虚拟机的克隆装置在获得第二快照文件之后,如果需要对目标虚拟机进行数据的读写处理,可以直接通过第二快照文件来实现。
步骤203、基于第二快照文件,创建一个目标镜像文件;其中,一个目标镜像文件指向第二快照文件,以通过第二快照文件实现目标虚拟机的读写处理。
在本申请的实施例中,虚拟机的克隆装置在再次对只读文件进行ROW快照,获得第二快照文件之后,便可以基于第二快照文件来创建一个目标镜像文件。其中,该一个目标镜像文件指向第二快照文件,从而可以通过第二快照文件实现目标虚拟机的读写处理。
需要说明的是,在本申请的实施例中,虚拟机的克隆装置可以先创建一个新的文件,然后将该新的文件指向第二快照文件,从而可以基于第二快照文件获得目标虚拟机的一个目标镜像文件。
图11为通过ROW快照获取目标镜像文件的示意图,如图11所示,虚拟机的克隆装置可以先对原虚拟机的一个原镜像文件进行ROW快照,从而使原镜像文件变为只读文件,同时获得快照1,快照1和原镜像文件都指向原虚拟机内部数据;虚拟机的克隆装置还可以基于原镜像文件对应的只读文件,再次进行ROW快照,获得快照2,其中,该快照2指向该制度文件对应的原虚拟机内部数据;最后,虚拟机的克隆装置可以创建一个空的镜像文件,即目标镜像文件,然后将该目标镜像文件指向快照2,从而可以将读写操作转给快照2进行处理。具体地,快照1可以负责原虚拟机后续的读写操作,快照2则是负责克隆后的目标虚拟机后续的读写操作。例如,如果需要对原虚拟机进行数据的写入,可以将新的数据写入快照1中新开辟的新地址中。
可以理解的是,在本申请的实施例中,虚拟机的克隆装置可以按照上述步骤201至步骤203的方法,依次遍历原虚拟的全部原镜像文件,完成对原虚拟的每一个原镜像文件的克隆,直到获得原虚拟的全部原镜像文件对应的全部目标镜像文件。也就是说,在本申请中,虚拟机的克隆装置对每一个原镜像文件进行的链接克隆的操作都是一样的。
本申请实施例提出的一种虚拟机的克隆方法,虚拟机的克隆装置确定原虚拟机对应的原目录,并在原目录下,通过ROW快照对原虚拟机的原镜像文件进行链接克隆,获得目标镜像文件;从原目录中读取原虚拟机的原配置文件,并对原配置文件进行更新处理,获得目标配置文件;基于目标镜像文件和目标配置文件,生成原虚拟机对应的目标虚拟机;其中,目标虚拟机为克隆原虚拟机之后获得的一个新的虚拟机。由此可见,在本申请的实施例中,在对原虚拟机进行克隆时,虚拟机的克隆装置采用ROW快照对原镜像文件进行链接克隆,获得对应的目标镜像文件,并结合基于原配置文件获得的目标配置文件,最终生成克隆后的目标虚拟机。也就是说,在本申请中,正是基于ROW快照的链接克隆方式,不再需要对原虚拟机的磁盘数据进行复制便可以实现对原虚拟机的克隆,因此在克隆虚拟机的过程中不占用磁盘IO和空间,从而可以大大提高克隆速度,同时避免对原虚拟机的业务和性能的影响,能够更好的适用大批量克隆的场景。
实施例三
基于上述实施例一和实施例二,在本申请的再一实施例中,图12为虚拟机的克隆方法的实现流程示意图六,如图12所示,虚拟机的克隆装置克隆虚拟机的方法可以包括以下步骤:
步骤301、在原目录下对一个原镜像文件进行ROW快照,获得一个对应的目标镜像文件。
在本申请的实施例中,虚拟机的克隆装置可以先在原虚拟机对应的原目标下对原虚拟机的原镜像文件进行链接克隆,获得对应的目标镜像文件。具体地,虚拟机的克隆装置可以先对原目录下的一个原镜像文件进行ROW快照,从而获得一个原镜像文件对应的一个目标镜像文件。
步骤302、遍历原目录下的每一个原镜像文件,获得原虚拟机的全部原镜像文件对应的全部目标镜像文件。
在本申请的实施例中,虚拟机的克隆装置可以依次遍历原目录中的原虚拟机的全部原镜像文件,从而获得全部原镜像文件对应的全部目标镜像文件。
也就是说,在本申请中,虚拟机的克隆装置可以在原目录下对原虚拟机的每一个原镜像文件按照同样的方式进行链接克隆,最终便可以获得每一个原镜像文件对应的目标镜像文件,从而完成对原虚拟机的原镜像文件的克隆。
步骤303、将目标镜像文件存储至目标目录中。
在本申请的实施例中,虚拟机的克隆装置在对原镜像文件进行链接克隆获得目标镜像文件之后,可以将目标镜像文件存储至一个新的目录中,即目标目录中。其中,目标目录可以为克隆原虚拟机后的目标虚拟机对应的新的目录,即目标目录是与原目录相对应的。
步骤304、读取原目录中的原配置文件。
在本申请的实施例中,虚拟机的克隆装置可以从原目录中读取原虚拟机的原配置文件。也就是说,虚拟机的克隆装置在确定出原虚拟机对应的原目录之后,可以直接从原目录中读取原虚拟机的原配置文件。
步骤305、对原配置文件进行更新处理,获得目标配置文件。
在本申请的实施例中,虚拟机的克隆装置可以把原目录下的原配置文件读取出来,然后修改原配置文件中一些内容,比如虚拟机名称等信息,然后再把修改后的内容与其他内同一起写到一个新文件中,从而可以获得新的配置文件,即目标配置文件。
步骤306、将目标配置文件储至目标目录中。
在本申请的实施例中,虚拟机的克隆装置在对原配置文件中的、原虚拟机的标识信息进行修改,以获得更新后的目标配置文件之后,也可以将目标镜像文件存储至目标目录中。
步骤307、整合目标镜像文件和目标配置文件,获得目标虚拟机。
在本申请的实施例中,虚拟机的克隆装置在通过对原镜像文件进行链接克隆获得目标镜像文件,并通过对原配置文件进行更新处理获得目标配置文件之后,便可以利用目标镜像文件和目标配置文件,配置生成一个新的虚拟机,即目标虚拟机。其中,该目标虚拟机是对原虚拟机克隆之后获得的。具体地,虚拟机的克隆装置在基于目标镜像文件和目标配置文件生成原虚拟机对应的目标虚拟机时,可以先整合目标镜像文件和目标配置文件,获得虚拟机数据,然后利用虚拟机数据配置目标虚拟机。
由此可见,在本申请中,虚拟机的克隆装置在通过上述步骤301至步骤307的方法对原虚拟机进行克隆获得目标虚拟机的过程中,虚拟机的克隆装置不需要真实的拷贝具体数据,仅仅通过ROW快照对原虚拟机做信息记录,便可以快速克隆出目标虚拟机,在克隆的过程中,既不会影响原虚拟机的性能,也不会中断原虚拟机的业务,同时还能节约存储空间。
本申请实施例提出的一种虚拟机的克隆方法,虚拟机的克隆装置确定原虚拟机对应的原目录,并在原目录下,通过ROW快照对原虚拟机的原镜像文件进行链接克隆,获得目标镜像文件;从原目录中读取原虚拟机的原配置文件,并对原配置文件进行更新处理,获得目标配置文件;基于目标镜像文件和目标配置文件,生成原虚拟机对应的目标虚拟机;其中,目标虚拟机为克隆原虚拟机之后获得的一个新的虚拟机。由此可见,在本申请的实施例中,在对原虚拟机进行克隆时,虚拟机的克隆装置采用ROW快照对原镜像文件进行链接克隆,获得对应的目标镜像文件,并结合基于原配置文件获得的目标配置文件,最终生成克隆后的目标虚拟机。也就是说,在本申请中,正是基于ROW快照的链接克隆方式,不再需要对原虚拟机的磁盘数据进行复制便可以实现对原虚拟机的克隆,因此在克隆虚拟机的过程中不占用磁盘IO和空间,从而可以大大提高克隆速度,同时避免对原虚拟机的业务和性能的影响,能够更好的适用大批量克隆的场景。
实施例四
基于上述实施例一至实施例三,图13为虚拟机的克隆装置的组成结构示意图一,如图13所示,在本发明的实施例中,虚拟机的克隆装置10包括确定单元11,克隆单元12、读取单元13、更新单元14,生成单元15,存储单元16,开启单元17。
所述确定单元11,用于确定原虚拟机对应的原目录;
所述克隆单元12,用于在所述原目录下,通过ROW快照对所述原虚拟机的原镜像文件进行链接克隆,获得目标镜像文件;
所述读取单元13,用于从所述原目录中读取所述原虚拟机的原配置文件;
所述更新单元14,用于对所述原配置文件进行更新处理,获得目标配置文件;
所述生成单元15,用于基于所述目标镜像文件和所述目标配置文件,生成所述原虚拟机对应的目标虚拟机;其中,所述目标虚拟机为克隆所述原虚拟机之后获得的一个新的虚拟机。
进一步地,在本申请的实施例中,所述克隆单元12,具体用于对所述原目录下的一个原镜像文件进行ROW快照,获得所述一个原镜像文件对应的一个目标镜像文件;在所述原目录下遍历所述原虚拟机的全部原镜像文件,获得所述全部原镜像文件对应的全部目标镜像文件。
进一步地,在本申请的实施例中,所述克隆单元12,还具体用于对所述一个原镜像文件进行ROW快照,获得第一快照文件和原镜像文件对应的只读文件;其中,所述第一快照文件用于所述原虚拟机的读写处理;再次对所述只读文件进行ROW快照,获得第二快照文件;其中,所述第二快照文件用于所述目标虚拟机的读写处理;基于所述第二快照文件,创建所述一个目标镜像文件;其中,所述一个目标镜像文件指向所述第二快照文件,以通过所述第二快照文件实现所述目标虚拟机的读写处理。
进一步地,在本申请的实施例中,所述存储单元16,用于在所述原目录下,通过ROW快照对所述原虚拟机的原镜像文件进行链接克隆,获得目标镜像文件之后,将所述目标镜像文件存储至目标目录中。
进一步地,在本申请的实施例中,所述更新单元14,用于对所述原配置文件中的、所述原虚拟机的标识信息进行修改,以获得更新后的所述目标配置文件。
进一步地,在本申请的实施例中,所述存储单元16,还用于对所述原配置文件进行更新处理,获得目标配置文件之后,将所述目标配置文件存储至所述目标目录中。
进一步地,在本申请的实施例中,所述生成单元15,具体用于整合所述目标镜像文件和所述目标配置文件,获得虚拟机数据;利用所述虚拟机数据配置所述目标虚拟机。
进一步地,在本申请的实施例中,所述启动单元17,用于基于所述目标镜像文件和所述目标配置文件,生成所述原虚拟机对应的目标虚拟机之后,启动所述目标虚拟机。
图14为虚拟机的克隆装置的组成结构示意图二,如图14所示,本申请实施例提出的虚拟机的克隆装置10还可以包括处理器18、存储有处理器18可执行指令的存储器19,进一步地,虚拟机的克隆装置10还可以包括通信接口110,和用于连接处理器18、存储器19以及通信接口110的总线111。
在本申请的实施例中,处理器18可以为特定用途集成电路(ApplicationSpecific Integrated Circuit,ASIC)、数字信号处理器(Digital Signal Processor,DSP)、数字信号处理虚拟机的克隆装置(Digital Signal Processing Device,DSPD)、可编程逻辑虚拟机的克隆装置(ProgRAMmable Logic Device,PLD)、现场可编程门阵列(FieldProgRAMmable Gate Array,FPGA)、中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器中的至少一种。可以理解地,对于不同的设备,用于实现处理器功能的电子器件还可以为其它,本申请实施例不作具体限定。虚拟机的克隆装置10还可以包括存储器19,该存储器19可以与处理器18连接,其中,存储器19用于存储可执行程序代码,该程序代码包括计算机操作指令,存储器19可能包含高速RAM存储器,也可能还包括非易失性存储器,例如,至少两个磁盘存储器。
在本申请的实施例中,总线111用于连接通信接口110、处理器18以及存储器19以及这些器件之间的相互通信。
在本申请的实施例中,存储器19,用于存储指令和数据。
进一步地,在本申请的实施例中,处理器18,用于确定原虚拟机对应的原目录,并在所述原目录下,通过ROW快照对所述原虚拟机的原镜像文件进行链接克隆,获得目标镜像文件;从所述原目录中读取所述原虚拟机的原配置文件,并对所述原配置文件进行更新处理,获得目标配置文件;基于所述目标镜像文件和所述目标配置文件,生成所述原虚拟机对应的目标虚拟机;其中,所述目标虚拟机为克隆所述原虚拟机之后获得的一个新的虚拟机。
在实际应用中,存储器19可以是易失性存储器(volatile memor),例如随机存取存储器(Random-Access Memory,RAM);或者非易失性存储器(non-volatile memory),例如只读存储器(Read-Only Memory,ROM),快闪存储器(flash memory),硬盘(Hard DiskDrive,HDD)或固态硬盘(Solid-State Drive,SSD);或者上述种类的存储器的组合,并向处理器18提供指令和数据。
另外,在本实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
集成的单元如果以软件功能模块的形式实现并非作为独立的产品进行销售或使用时,可以存储在一个计算机可读取存储介质中,基于这样的理解,本实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或processor(处理器)执行本实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本申请实施例提出的一种虚拟机的克隆装置,该虚拟机的克隆装置确定原虚拟机对应的原目录,并在原目录下,通过ROW快照对原虚拟机的原镜像文件进行链接克隆,获得目标镜像文件;从原目录中读取原虚拟机的原配置文件,并对原配置文件进行更新处理,获得目标配置文件;基于目标镜像文件和目标配置文件,生成原虚拟机对应的目标虚拟机;其中,目标虚拟机为克隆原虚拟机之后获得的一个新的虚拟机。由此可见,在本申请的实施例中,在对原虚拟机进行克隆时,虚拟机的克隆装置采用ROW快照对原镜像文件进行链接克隆,获得对应的目标镜像文件,并结合基于原配置文件获得的目标配置文件,最终生成克隆后的目标虚拟机。也就是说,在本申请中,正是基于ROW快照的链接克隆方式,不再需要对原虚拟机的磁盘数据进行复制便可以实现对原虚拟机的克隆,因此在克隆虚拟机的过程中不占用磁盘IO和空间,从而可以大大提高克隆速度,同时避免对原虚拟机的业务和性能的影响,能够更好的适用大批量克隆的场景。
本申请实施例提供一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时实现如上所述的虚拟机的克隆方法。
具体来讲,本实施例中的一种虚拟机的克隆方法对应的程序指令可以被存储在光盘,硬盘,U盘等存储介质上,当存储介质中的与一种虚拟机的克隆方法对应的程序指令被一电子设备读取或被执行时,包括如下步骤:
确定原虚拟机对应的原目录,并在所述原目录下,通过ROW快照对所述原虚拟机的原镜像文件进行链接克隆,获得目标镜像文件;
从所述原目录中读取所述原虚拟机的原配置文件,并对所述原配置文件进行更新处理,获得目标配置文件;
基于所述目标镜像文件和所述目标配置文件,生成所述原虚拟机对应的目标虚拟机;其中,所述目标虚拟机为克隆所述原虚拟机之后获得的一个新的虚拟机。
本领域内的技术人员应明白,本申请的实施例可提供为方法、显示器、或计算机程序产品。因此,本申请可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的实现流程示意图和/或方框图来描述的。应理解可由计算机程序指令实现流程示意图和/或方框图中的每一流程和/或方框、以及实现流程示意图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在实现流程示意图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的虚拟机的克隆装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令虚拟机的克隆装置的制造品,该指令虚拟机的克隆装置实现在实现流程示意图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在实现流程示意图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述,仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。

Claims (18)

1.一种虚拟机的克隆方法,其特征在于,所述方法包括:
确定原虚拟机对应的原目录,并在所述原目录下,通过写时重定向ROW快照对所述原虚拟机的原镜像文件进行链接克隆,获得目标镜像文件;
从所述原目录中读取所述原虚拟机的原配置文件,并对所述原配置文件进行更新处理,获得目标配置文件;
基于所述目标镜像文件和所述目标配置文件,生成所述原虚拟机对应的目标虚拟机;其中,所述目标虚拟机为克隆所述原虚拟机之后获得的一个新的虚拟机。
2.根据权利要求1所述的方法,其特征在于,所述在所述原目录下,通过ROW快照对所述原虚拟机的原镜像文件进行链接克隆,获得目标镜像文件,包括:
对所述原目录下的一个原镜像文件进行ROW快照,获得所述一个原镜像文件对应的一个目标镜像文件;
在所述原目录下遍历所述原虚拟机的全部原镜像文件,获得所述全部原镜像文件对应的全部目标镜像文件。
3.根据权利要求2所述的方法,其特征在于,所述对所述原目录下的一个原镜像文件进行ROW快照,获得所述一个原镜像文件对应的一个目标镜像文件,包括:
对所述一个原镜像文件进行ROW快照,获得第一快照文件和原镜像文件对应的只读文件;其中,所述第一快照文件用于所述原虚拟机的读写处理;
再次对所述只读文件进行ROW快照,获得第二快照文件;其中,所述第二快照文件用于所述目标虚拟机的读写处理;
基于所述第二快照文件,创建所述一个目标镜像文件;其中,所述一个目标镜像文件指向所述第二快照文件,以通过所述第二快照文件实现所述目标虚拟机的读写处理。
4.根据权利要求1所述的方法,其特征在于,所述在所述原目录下,通过ROW快照对所述原虚拟机的原镜像文件进行链接克隆,获得目标镜像文件之后,所述方法还包括:
将所述目标镜像文件存储至目标目录中。
5.根据权利要求1所述的方法,其特征在于,所述对所述原配置文件进行更新处理,获得目标配置文件,包括:
对所述原配置文件中的、所述原虚拟机的标识信息进行修改,以获得更新后的所述目标配置文件。
6.根据权利要求4所述的方法,其特征在于,所述对所述原配置文件进行更新处理,获得目标配置文件之后,所述方法还包括:
将所述目标配置文件存储至所述目标目录中。
7.根据权利要求1所述的方法,其特征在于,所述基于所述目标镜像文件和所述目标配置文件,生成所述原虚拟机对应的目标虚拟机,包括:
整合所述目标镜像文件和所述目标配置文件,获得虚拟机数据;
利用所述虚拟机数据配置所述目标虚拟机。
8.根据权利要求1所述的方法,其特征在于,所述基于所述目标镜像文件和所述目标配置文件,生成所述原虚拟机对应的目标虚拟机之后,所述方法还包括:
启动所述目标虚拟机。
9.一种虚拟机的克隆装置,其特征在于,所述虚拟机的克隆装置包括:确定单元,克隆单元、读取单元、更新单元,生成单元,
所述确定单元,用于确定原虚拟机对应的原目录;
所述克隆单元,用于在所述原目录下,通过ROW快照对所述原虚拟机的原镜像文件进行链接克隆,获得目标镜像文件;
所述读取单元,用于从所述原目录中读取所述原虚拟机的原配置文件;
所述更新单元,用于对所述原配置文件进行更新处理,获得目标配置文件;
所述生成单元,用于基于所述目标镜像文件和所述目标配置文件,生成所述原虚拟机对应的目标虚拟机;其中,所述目标虚拟机为克隆所述原虚拟机之后获得的一个新的虚拟机。
10.根据权利要求9所述的虚拟机的克隆装置,其特征在于,
所述克隆单元,具体用于对所述原目录下的一个原镜像文件进行ROW快照,获得所述一个原镜像文件对应的一个目标镜像文件;在所述原目录下遍历所述原虚拟机的全部原镜像文件,获得所述全部原镜像文件对应的全部目标镜像文件。
11.根据权利要求10所述的虚拟机的克隆装置,其特征在于,
所述克隆单元,还具体用于对所述一个原镜像文件进行ROW快照,获得第一快照文件和原镜像文件对应的只读文件;其中,所述第一快照文件用于所述原虚拟机的读写处理;再次对所述只读文件进行ROW快照,获得第二快照文件;其中,所述第二快照文件用于所述目标虚拟机的读写处理;基于所述第二快照文件,创建所述一个目标镜像文件;其中,所述一个目标镜像文件指向所述第二快照文件,以通过所述第二快照文件实现所述目标虚拟机的读写处理。
12.根据权利要求9所述的虚拟机的克隆装置,其特征在于,所述虚拟机的克隆装置还包括:存储单元,
所述存储单元,用于在所述原目录下,通过ROW快照对所述原虚拟机的原镜像文件进行链接克隆,获得目标镜像文件之后,将所述目标镜像文件存储至目标目录中。
13.根据权利要求9所述的虚拟机的克隆装置,其特征在于,
所述更新单元,用于对所述原配置文件中的、所述原虚拟机的标识信息进行修改,以获得更新后的所述目标配置文件。
14.根据权利要求12所述的虚拟机的克隆装置,其特征在于,
所述存储单元,还用于对所述原配置文件进行更新处理,获得目标配置文件之后,将所述目标配置文件存储至所述目标目录中。
15.根据权利要求9所述的虚拟机的克隆装置,其特征在于,
所述生成单元,具体用于整合所述目标镜像文件和所述目标配置文件,获得虚拟机数据;利用所述虚拟机数据配置所述目标虚拟机。
16.根据权利要求9所述的虚拟机的克隆装置,其特征在于,所述虚拟机的克隆装置还包括:启动单元,
所述启动单元,用于基于所述目标镜像文件和所述目标配置文件,生成所述原虚拟机对应的目标虚拟机之后,启动所述目标虚拟机。
17.一种虚拟机的克隆装置,其特征在于,所述虚拟机的克隆装置包括处理器、存储有所述处理器可执行指令的存储器、通信接口,和用于连接所述处理器、所述存储器以及所述通信接口的总线,当所述指令被所述处理器执行时,实现如权利要求1-8任一项所述的方法。
18.一种计算机可读存储介质,其上存储有程序,应用于虚拟机的克隆装置中,其特征在于,所述程序被处理器执行时,实现如权利要求1-8任一项所述的方法。
CN201911366460.5A 2019-12-26 2019-12-26 一种虚拟机的克隆方法和装置,及计算机可读存储介质 Pending CN111158858A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911366460.5A CN111158858A (zh) 2019-12-26 2019-12-26 一种虚拟机的克隆方法和装置,及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911366460.5A CN111158858A (zh) 2019-12-26 2019-12-26 一种虚拟机的克隆方法和装置,及计算机可读存储介质

Publications (1)

Publication Number Publication Date
CN111158858A true CN111158858A (zh) 2020-05-15

Family

ID=70558214

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911366460.5A Pending CN111158858A (zh) 2019-12-26 2019-12-26 一种虚拟机的克隆方法和装置,及计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN111158858A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112286626A (zh) * 2020-09-14 2021-01-29 福建升腾资讯有限公司 跨存储的磁盘快速安全克隆的方法、系统、设备和介质
CN113742032A (zh) * 2021-09-06 2021-12-03 杭州安恒信息技术股份有限公司 替补虚拟机处理方法、装置、系统、电子装置和存储介质
CN113986124A (zh) * 2021-10-25 2022-01-28 深信服科技股份有限公司 一种用户配置文件的访问方法、装置、设备和介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104468734A (zh) * 2014-11-18 2015-03-25 国云科技股份有限公司 一种基于克隆的虚拟集群扩展方法
US20150143055A1 (en) * 2013-11-21 2015-05-21 International Business Machines Corporation Virtual machine backup
CN105045663A (zh) * 2015-08-24 2015-11-11 湖南昇云科技有限公司 快速部署虚拟机的方法与系统
US20180113632A1 (en) * 2016-10-25 2018-04-26 Commvault Systems, Inc. Targeted backup of virtual machine
CN108460045A (zh) * 2017-02-21 2018-08-28 中兴通讯股份有限公司 一种快照的处理方法及分布式块存储系统
CN109598156A (zh) * 2018-11-19 2019-04-09 杭州信核数据科技股份有限公司 一种写时重定向引擎快照流方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150143055A1 (en) * 2013-11-21 2015-05-21 International Business Machines Corporation Virtual machine backup
CN104468734A (zh) * 2014-11-18 2015-03-25 国云科技股份有限公司 一种基于克隆的虚拟集群扩展方法
CN105045663A (zh) * 2015-08-24 2015-11-11 湖南昇云科技有限公司 快速部署虚拟机的方法与系统
US20180113632A1 (en) * 2016-10-25 2018-04-26 Commvault Systems, Inc. Targeted backup of virtual machine
CN108460045A (zh) * 2017-02-21 2018-08-28 中兴通讯股份有限公司 一种快照的处理方法及分布式块存储系统
CN109598156A (zh) * 2018-11-19 2019-04-09 杭州信核数据科技股份有限公司 一种写时重定向引擎快照流方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
刘振洪等: "《Linux操作系统实用教程》", 31 October 2016, 天津科学出版社, pages: 18 - 23 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112286626A (zh) * 2020-09-14 2021-01-29 福建升腾资讯有限公司 跨存储的磁盘快速安全克隆的方法、系统、设备和介质
CN112286626B (zh) * 2020-09-14 2023-11-10 福建升腾资讯有限公司 跨存储的磁盘快速安全克隆的方法、系统、设备和介质
CN113742032A (zh) * 2021-09-06 2021-12-03 杭州安恒信息技术股份有限公司 替补虚拟机处理方法、装置、系统、电子装置和存储介质
CN113986124A (zh) * 2021-10-25 2022-01-28 深信服科技股份有限公司 一种用户配置文件的访问方法、装置、设备和介质
CN113986124B (zh) * 2021-10-25 2024-02-23 深信服科技股份有限公司 一种用户配置文件的访问方法、装置、设备和介质

Similar Documents

Publication Publication Date Title
US9910620B1 (en) Method and system for leveraging secondary storage for primary storage snapshots
US8250033B1 (en) Replication of a data set using differential snapshots
US11093162B2 (en) Method and apparatus for deleting cascaded snapshot
US10649897B2 (en) Access request processing method and apparatus, and computer device
JP4419884B2 (ja) データ複製装置、方法及びプログラム並びに記憶システム
US20110093437A1 (en) Method and system for generating a space-efficient snapshot or snapclone of logical disks
US9176853B2 (en) Managing copy-on-writes to snapshots
CN111158858A (zh) 一种虚拟机的克隆方法和装置,及计算机可读存储介质
US10628298B1 (en) Resumable garbage collection
US11030092B2 (en) Access request processing method and apparatus, and computer system
US11210177B2 (en) System and method for crash-consistent incremental backup of cluster storage
CN105760218A (zh) 一种虚拟机在线迁移方法及装置
CN112000426B (zh) 一种数据处理方法及装置
CN111506253A (zh) 一种分布式存储系统及其存储方法
CN110895545B (zh) 共享数据同步方法及装置
US9235349B2 (en) Data duplication system, data duplication method, and program thereof
CN115391337A (zh) 数据库分区的方法、装置、存储介质及电子设备
CN111399774B (zh) 分布式存储系统下基于快照的数据处理方法和装置
CN109002265B (zh) 一种数据处理的方法以及相关装置
KR101969799B1 (ko) 전자 장치 및 제어 방법
JP6648596B2 (ja) ファイルシステム制御装置、ストレージシステム、ファイルシステム制御方法、及び、プログラム
CN104461382A (zh) 运行多个文件系统的文件服务器的内部写方法和服务器
US11755425B1 (en) Methods and systems for synchronous distributed data backup and metadata aggregation
US10416904B1 (en) Method and system for recovering storage object records in solid state memory
CN115576896A (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