CN107544864A - 一种虚拟机数据拷贝方法及虚拟机数据拷贝系统 - Google Patents

一种虚拟机数据拷贝方法及虚拟机数据拷贝系统 Download PDF

Info

Publication number
CN107544864A
CN107544864A CN201610471937.6A CN201610471937A CN107544864A CN 107544864 A CN107544864 A CN 107544864A CN 201610471937 A CN201610471937 A CN 201610471937A CN 107544864 A CN107544864 A CN 107544864A
Authority
CN
China
Prior art keywords
virtual
nbd
data
mirror image
subregion
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
CN201610471937.6A
Other languages
English (en)
Other versions
CN107544864B (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.)
Shenzhen Shenxinfu Electronic Technology Co Ltd
Original Assignee
Shenzhen Shenxinfu Electronic 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 Shenzhen Shenxinfu Electronic Technology Co Ltd filed Critical Shenzhen Shenxinfu Electronic Technology Co Ltd
Priority to CN201610471937.6A priority Critical patent/CN107544864B/zh
Publication of CN107544864A publication Critical patent/CN107544864A/zh
Application granted granted Critical
Publication of CN107544864B publication Critical patent/CN107544864B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明公开了一种虚拟机数据拷贝方法及虚拟机数据拷贝系统,用于进行虚拟机克隆和备份时,减小拷贝的数据量,可以节省拷贝的时间和目标存储的存储空间。本发明实施例方法包括:接收NBD指令,根据NBD指令获得源虚拟机镜像的虚拟NBD块设备;接收分区指令,根据分区指令获取虚拟NBD块设备的数据量及分区信息;根据数据量及分区信息获得目标磁盘镜像位图信息,目标磁盘镜像位图信息包含有效位及无效位,有效位对应的虚拟NBD块设备的分区中包含有效数据,无效位对应的虚拟NBD块设备的分区中包含无效数据;对目标磁盘镜像位图信息中有效位对应的虚拟NBD块设备的分区进行数据拷贝,得到源虚拟机镜像的拷贝文件。

Description

一种虚拟机数据拷贝方法及虚拟机数据拷贝系统
技术领域
本发明涉及虚拟化技术领域,尤其涉及一种虚拟机数据拷贝方法及虚拟机数据拷贝系统。
背景技术
虚拟机克隆和备份是虚拟平台提供的两项常见的基本功能,用于虚拟机的数据备份和冗余副本保存。
虚拟机克隆:在虚拟化场景下,将虚拟机复制一份完全一模一样的虚拟机,内容是完全一样的,而两者的镜像及配置均是独立的。
虚拟机备份:在虚拟化场景下,为应付文件、数据丢失或损坏等可能出现的意外情况,将虚拟机的数据或镜像复制到外围存储或磁带等大容量存储设备中。
目前常用的方法是通过拷贝虚拟机镜像文件来实现,拷贝的数据量是按照镜像文件的实际大小来拷贝。现有的方式一、虚拟机镜像预分配模式,虚拟空间大小为100G,镜像内部分区并安装了WINDOWS操作系统,镜像内部有效数据为10G,而镜像实际占用物理磁盘空间是100G,那么需要拷贝100G的数据。现有的方式二、假设虚拟机镜像精简分配模式,虚拟空间大小为100G,镜像内部分配并安装了WINDOWS操作系统,在虚拟机中进行了大量的文件拷贝及删除操作后,实际数据大小为10G,而镜像实际占用物理磁盘空间为20G,那么需要拷贝20G的数据。
从上述方式一和方式二可知,进行虚拟机克隆和备份时,拷贝的数据不是按照镜像中所包含的实际有效数据的大小来拷贝,而根据镜像实际占用物理磁盘空间进行拷贝的,由此导致在拷贝的过程中,存在许多无效数据的拷贝,造成存储空间及拷贝时间的浪费。
发明内容
本发明实施例提供了一种虚拟机数据拷贝方法及虚拟机数据拷贝系统,用于进行虚拟机克隆和备份时,减小拷贝的数据量,可以节省拷贝的时间和目标存储的存储空间。
本发明第一方面提供一种虚拟机数据拷贝方法,应用于虚拟机数据拷贝系统,所述虚拟机数据拷贝系统包括源存储、服务器及目标存储,所述源存储包含虚拟机镜像,所述服务器具有NBD服务端,所述目标存储具有NBD客户端,所述虚拟机数据拷贝方法包括:
接收NBD指令,根据所述NBD指令获得源虚拟机镜像的虚拟NBD块设备;
接收分区指令,根据所述分区指令获取所述虚拟NBD块设备的数据量及分区信息;
根据所述数据量及所述分区信息获得目标磁盘镜像位图信息,所述目标磁盘镜像位图信息包含有效位及无效位,所述有效位对应的所述虚拟NBD块设备的分区中包含有效数据,所述无效位对应的所述虚拟NBD块设备的分区中包含无效数据;
对所述目标磁盘镜像位图信息中所述有效位对应的所述虚拟NBD块设备的分区进行数据拷贝,得到所述源虚拟机镜像的拷贝文件。
结合本发明第一方面,本发明第一方面第一实施方式中,所述根据所述数据量及所述分区信息获得目标磁盘镜像位图信息,包括:
根据所述数据量初始化源磁盘镜像位图信息,得到源磁盘镜像位图;
解析所述分区信息,得到各分区的偏移、数据容量大小及各分区中数据的数据类型,所述数据类型为有效数据或无效数据;
根据所述各分区中数据的数据类型,得到各分区的位图信息,所述数据类型为有效数据及无效数据;
根据所述各分区的偏移将所述各分区的位图信息合并到所述源磁盘镜像位图中,得到目标磁盘镜像位图信息,所述目标磁盘镜像位图信息包含有效位及无效位,所述有效位对应的所述虚拟NBD块设备的分区中包含有效数据,所述无效位对应的所述虚拟NBD块设备的分区中包含无效数据。
结合本发明第一方面第一实施方式,本发明第一方面第二实施方式中,所述对所述目标磁盘镜像位图信息中所述有效位对应的所述虚拟NBD块设备的分区进行数据拷贝,得到所述源虚拟机镜像的拷贝文件,包括:
确定所述目标磁盘镜像位图信息中所述有效位对应于所述虚拟NBD块设备中的拷贝分区;
对所述拷贝分区中的数据进行数据拷贝,得到所述源虚拟机镜像的拷贝文件。
结合本发明第一方面、第一方面第一实施方式或第一方面第二实施方式,本发明第一方面第三实施方式中,所述接收NBD指令,根据所述NBD指令获得源虚拟机镜像的虚拟NBD块设备,包括:
接收NBD指令,根据所述NBD指令确定源虚拟机,并获得所述源虚拟机的源虚拟机镜像;
将所述源虚拟机镜像通过所述NBD服务端挂载为虚拟NBD块设备。
结合本发明第一方面第三实施方式,本发明第一方面第四实施方式中,所述接收分区指令之前还包括:
根据所述NBD指令,通过所述NBD客户端连接所述目标存储与所述虚拟NBD块设备。
本发明第二方面提供一种虚拟机数据拷贝系统,包括:
源存储、服务器及目标存储,所述源存储包含虚拟机镜像,所述服务器具有NBD服务端,所述目标存储具有NBD客户端;
所述服务器,用于接收NBD指令,根据所述NBD指令获得源虚拟机镜像的虚拟NBD块设备;
所述目标存储,用于接收分区指令,根据所述分区指令获取所述虚拟NBD块设备的数据量及分区信息;
所述目标存储,还用于根据所述数据量及所述分区信息获得目标磁盘镜像位图信息,所述目标磁盘镜像位图信息包含有效位及无效位,所述有效位对应的所述虚拟NBD块设备的分区中包含有效数据,所述无效位对应的所述虚拟NBD块设备的分区中包含无效数据;
所述目标存储,还用于对所述目标磁盘镜像位图信息中所述有效位对应的所述虚拟NBD块设备的分区进行数据拷贝,得到所述源虚拟机镜像的拷贝文件。
结合本发明第二方面,本发明第二方面第一实施方式中,
所述目标存储,还用于根据所述数据量初始化源磁盘镜像位图信息,得到源磁盘镜像位图;
所述目标存储,还用于解析所述分区信息,得到各分区的偏移、数据容量大小及各分区中数据的数据类型,所述数据类型为有效数据或无效数据;
所述目标存储,还用于根据所述各分区中数据的数据类型,得到各分区的位图信息,所述数据类型为有效数据及无效数据;
所述目标存储,还用于根据所述各分区的偏移将所述各分区的位图信息合并到所述源磁盘镜像位图中,得到目标磁盘镜像位图信息,所述目标磁盘镜像位图信息包含有效位及无效位,所述有效位对应的所述虚拟NBD块设备的分区中包含有效数据,所述无效位对应的所述虚拟NBD块设备的分区中包含无效数据。
结合本发明第二方面第一实施方式,本发明第二方面第二实施方式中,
所述目标存储,还用于确定所述目标磁盘镜像位图信息中所述有效位对应于所述虚拟NBD块设备中的拷贝分区;
所述目标存储,还用于对所述拷贝分区中的数据进行数据拷贝,得到所述源虚拟机镜像的拷贝文件。
结合本发明第二方面、第二方面第一实施方式或第二方面第二实施方式,本发明第二方面第三实施方式中,
所述服务器,用于接收NBD指令,根据所述NBD指令确定源虚拟机,并从所述源存储中获得所述源虚拟机的源虚拟机镜像;
所述服务器,还用于将所述源虚拟机镜像通过所述NBD服务端挂载为虚拟NBD块设备。
结合本发明第二方面第三实施方式,本发明第二方面第四实施方式中,
所述目标存储,还用于根据所述NBD指令,通过所述NBD客户端连接所述虚拟NBD块设备。
综上所述,本发明实施例具有以下优点:
服务器接收NBD指令,根据NBD指令获得源虚拟机镜像的虚拟NBD块设备,目标存储接收分区指令,根据分区指令获取虚拟NBD块设备的数据量及分区信息,根据数据量及分区信息获得目标磁盘镜像位图信息,目标磁盘镜像位图信息包含有效位及无效位,对目标磁盘镜像位图信息中有效位对应的虚拟NBD块设备的分区进行数据拷贝,得到源虚拟机镜像的拷贝文件,由于有效位对应的虚拟NBD块设备的分区中包含有效数据,无效位对应的虚拟NBD块设备的分区中包含无效数据,那么从磁盘镜像位图信息中的有效位可以知道源虚拟机镜像的有效数据在虚拟NBD块设备中的分布情况,与现有技术相比,在进行虚拟机克隆和备份时,就不会将源虚拟机镜像实际占用物理磁盘空间的数据全部拷贝下来,而只会拷贝源虚拟机镜像的有效数据,需要拷贝的数据量减小了,从而节省了拷贝的时间和目标存储的存储空间。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例和现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为虚拟平台中的虚拟机数据拷贝系统的结构示意图;
图2为本发明实施例中虚拟机数据拷贝方法的一个实施例示意图;
图3为本发明实施例中虚拟机数据拷贝方法的另一个实施例示意图;
图4为本发明实施例中虚拟机数据拷贝系统的一个实施例示意图。
具体实施方式
本发明提供了一种虚拟机数据拷贝方法及虚拟机数据拷贝系统,用于进行虚拟机克隆和备份时,减小拷贝的数据量,可以节省拷贝的时间和目标存储的存储空间。
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
虚拟平台中的虚拟机数据拷贝系统的结构如图1所示,包括服务器、源存储和目标存储,服务器提供虚拟机物理运行环境,服务器具有虚拟机管理器Hypervisor,Hypervisor能够将一台物理的计算机模拟成多台虚拟的计算机,并在虚拟化的环境里面运行操作系统的软件,典型的代表有VMware公司的ESX和ESXi系列,通过Hypervisor可以让虚拟机共享同一台物理计算机,但对虚拟机来说,好像自己独占了整个计算机一样。图1服务器中包含2个虚拟机,在实际情况中,虚拟机可以为一个或者多于两个。
服务器可以是单独的,也可以是服务器集群中的一个,服务器集群的好处是,可以通过统一的管理来分配服务器,例如,需要执行某项任务时,从多个服务器中选择业务相对较空闲的服务器。服务器安装有网络块设备(Network Block Device,NBD)服务端,NBD技术可以将一个远程主机的磁盘空间,当作一个块设备来使用,就像一块硬盘一样,使用它你可以很方便的将另一台服务器的硬盘空间,增加到本地服务器上,NBD与网络文件系统(Network File System,NFS)有所不同,NFS只是提供一个挂载点供客户端使用,客户端无法改变这个挂载点的分区格式,而NBD提供的是一个块设备,客户端可以把这个块设备格式化成各种类型的分区,更便于用户的使用,NBD是一个内核模块,大部分Linux发行版都已包含它。
如果系统是超级融合一体机环境,服务器与源存储和目标存储融合在一起。超级融合一体机是将虚拟化管理软件、虚拟存储及虚拟网络等基础部件融合到一起,采用标准X86服务器硬件承载虚拟化管理软件、虚拟存储及虚拟网络等软件的IT基础设施部件,存储采用分布式存储构架,使用前需要先组建集群,集群中所有一体机的物理磁盘被虚拟成存储资源池,再向虚拟化管理软件提供存储服务。
源存储可以是具有存储功能的存储设备,也可以是超级融合一体机中的虚拟存储。源存储可以保存有服务器中虚拟机的虚拟机镜像文件。
目标存储可以是具有存储功能的外部存储设备、外部存储服务器或者是超级融合一体机中的虚拟存储,目标存储中安装有NBD客户端,目标存储可以通过NBD客户端访问服务器的NBD服务端。
服务器可以通过Internet小型计算机系统接口(Internet Small ComputerSystem Interface,iSCSI)或NFS访问源存储中的数据。iSCSI又称为IP-SAN,是一种基于因特网及SCSI-3协议下的存储技术。NFS是一种分布式文件系统协议,最初由SunMicrosystems公司开发,并于1984年发布,其功能旨在允许服务器可以像访问本地存储一样通过网络访问源存储中的数据。因此,服务器中的NBD服务端可以访问源存储中的虚拟机镜像文件,将虚拟机镜像挂载为NBD块设备。
下面通过实施例对虚拟机数据拷贝方法进行详细说明。
请参阅图2,本发明实施例中虚拟机数据拷贝方法的一个实施例包括:
201、接收NBD指令,根据NBD指令获得源虚拟机镜像的虚拟NBD块设备;
本实施例中,当用户需要进行虚拟机克隆和备份时,或者虚拟机数据拷贝系统根据预置软件的任务需要对虚拟机进行克隆和备份时,服务器接收NBD指令,根据NBD指令在服务器的NBD服务端中的多个虚拟机镜像的NBD块设备中,找到源虚拟机镜像所对应的虚拟NBD块设备,虚拟NBD块设备的数据量为源虚拟机镜像所占用的虚拟空间。
以源虚拟机镜像为精简分配模式为例,虚拟空间大小为100G,源虚拟机镜像内部分配并安装了WINDOWS操作系统,在源虚拟机中进行了大量的文件拷贝及删除操作后,形成的源虚拟机镜像实际数据大小为10G,而源虚拟机镜像实际占用物理磁盘空间为20G,那么虚拟NBD块设备的数据量为20G,并且虚拟NBD块设备是进行了分区的,分区的偏移是根据磁盘所决定,分区的大小可以预先设置,也可以是用户设置的,以一个分区大小为4KB为例,根据源虚拟机镜像形成虚拟NBD块设备时,是将源虚拟机镜像所有数据拷贝进入虚拟NBD块设备的所有分区中,并且有效数据(即WINDOWS操作系统的系统文件类型的数据)和除有效数据之外的无效数据(即非WINDOWS操作系统的系统文件类型的数据)都是不规则的处于各分区之中,即一个4KB大小的分区中,分区中数据的数据类型有三种情况,1、包含有效数据和无效数据;2、只包含有效数据;3、只包含无效数据。
202、接收分区指令,根据分区指令获取虚拟NBD块设备的数据量及分区信息;
本实施例中,确定源虚拟机镜像的虚拟NBD块设备后,虚拟机数据拷贝系统中的目标存储接收分区指令,根据分区指令获取虚拟NBD块设备的数据量及分区信息,数据量为20G,分区信息包含该虚拟NBD块设备中各分区的偏移、数据容量大小及各分区中数据的数据类型。
203、根据数据量及分区信息获得目标磁盘镜像位图信息;
本实施例中,根据虚拟NBD块设备的数据量初始化磁盘镜像20G范围内的位图信息,再根据分区信息中各分区的偏移和各分区中数据的数据类型获得目标磁盘镜像位图信息,目标磁盘镜像位图信息包含有效位及无效位,有效位对应的虚拟NBD块设备的分区中包含有效数据,无效位对应的虚拟NBD块设备的分区中包含无效数据。
204、对目标磁盘镜像位图信息中有效位对应的虚拟NBD块设备的分区进行数据拷贝,得到源虚拟机镜像的拷贝文件。
本实施例中,由于已知目标磁盘镜像位图信息中有效位对应的虚拟NBD块设备的分区中包含有效数据,因此,根据目标磁盘镜像位图信息的有效位对虚拟NBD块设备中有效位对应的分区进行数据拷贝,得到源虚拟机镜像的拷贝文件,数据拷贝的过程中,只拷贝具有有效数据的分区。
本发明实施例中,目标磁盘镜像位图信息是根据虚拟NBD块设备的数据量及分区信息得到的,由于目标磁盘镜像位图信息中有效位对应的虚拟NBD块设备的分区中包含有效数据,无效位对应的虚拟NBD块设备的分区中包含无效数据,那么从磁盘镜像位图信息中的有效位可以知道源虚拟机镜像的有效数据在虚拟NBD块设备中的分布情况,与现有技术相比,在进行虚拟机克隆和备份时,就不会将源虚拟机镜像实际占用物理磁盘空间的数据全部拷贝下来,而只会拷贝源虚拟机镜像的有效数据,需要拷贝的数据量减小了,从而节省了拷贝的时间和目标存储的存储空间。
接下来通过实施例对根据数据量及分区信息获得目标磁盘镜像位图信息的步骤,以及得到源虚拟机镜像的拷贝文件步骤,进行详细的说明。
请参阅图3,本发明实施例虚拟机数据拷贝方法的一个实施例包括:
301、接收NBD指令,根据NBD指令获得源虚拟机镜像的虚拟NBD块设备;
详情请参阅步骤201所述。
302、接收分区指令,根据分区指令获取虚拟NBD块设备的数据量及分区信息;
详情请参阅步骤202所述。
303、根据数据量初始化源磁盘镜像位图信息,得到源磁盘镜像位图;
本实施例中,根据虚拟NBD块设备的数据量(20G)初始化源磁盘镜像20G内的位图信息,默认所有位为都为1,即全部拷贝,也可以是默认所有位都是0,得到源磁盘镜像位图,并且源磁盘镜像位图中的一位对应的是虚拟NBD块设备中的一个分区(即4KB的扇区空间)。
304、解析分区信息,得到各分区的偏移、数据容量大小及各分区中数据的数据类型;
本实施例中,对步骤302中得到的分区信息进行解析,得到各分区的偏移、数据容量大小及各分区中数据的数据类型。
305、根据各分区中数据的数据类型,得到各分区的位图信息;
本实施例中,根据分区信息中各分区中数据的数据类型,获取各分区的位图信息,假设第一分区中包含有效数据和无效数据,那么第一分区的位图信息就是1,为有效位;假设第二分区中包含有效数据,那么第二分区的位图信息就是1;假设第二分区中包含无效数据,那么第二分区的位图信息就是0,为无效位。
306、根据各分区的偏移将各分区的位图信息合并到源磁盘镜像位图中,得到目标磁盘镜像位图信息;
本实施例中,得到各分区的位图信息后,然后根据各分区的偏移合并到源磁盘镜像位图中,最终得到目标磁盘镜像位图信息,包含有效位和无效位。
307、确定目标磁盘镜像位图信息中有效位对应于虚拟NBD块设备中的拷贝分区;
本实施例中,在进行数据拷贝的过程中,由于在上述提到将具有有效数据的分区的位图信息设置为1,作为有效位,那么确定位图信息为1的有效位对应于虚拟NBD块设备中的分区,该分区就是需要进行数据拷贝的拷贝分区。
308、对拷贝分区中的数据进行数据拷贝,得到源虚拟机镜像的拷贝文件。
本实施例中,拷贝分区中的数据是只包含有效数据,或者包含有效数据和无效数据,在数据拷贝时,对拷贝分区中的数据类型不做分析,全部拷贝,最终拷贝出所有有效位对应的分区中的数据,得到源虚拟机镜像的拷贝文件。
本发明实施例中,对根据数据量及分区信息获得磁盘镜像位图信息的步骤,以及得到源虚拟机镜像的拷贝文件步骤的细化使得方案更加具体。
需要说明的是,本发明中以分区的大小设置为4KB为例进行说明,分区的大小还可以设置为其他,并且理论上,分区的大小设置的越小,拷贝的数据量将越小,节省拷贝的时间和目标存储的存储空间将越多。
可选的,本发明的一些实施例中,接收NBD指令,根据NBD指令获得源虚拟机镜像的虚拟NBD块设备,包括:
接收NBD指令,根据NBD指令确定源虚拟机,并获得源虚拟机的源虚拟机镜像;
将源虚拟机镜像通过NBD服务端挂载为虚拟NBD块设备。
本实施例中,服务器接收NBD指令后,根据NBD指令在服务器的多个虚拟机中找到源虚拟机,在确定源虚拟机后,对源虚拟机静默处理,如果是源虚拟机的虚拟机操作系统是Windows系统,利用微软Windows系统提供的卷映射拷贝服务(Volume Shadow copyService,VSS)冻结源虚拟机内IO并将IO缓存刷新到磁盘;如果是Linux系统,可以使用fsfreeze命令进行静默处理,暂停文件系统中的IO操作,得到源虚拟机镜像,将源虚拟机镜像存储在源存储中,将源虚拟机镜像通过NBD服务端挂载为虚拟NBD块设备。
可选的,本发明的一些实施例中,接收分区指令之前还包括:
根据NBD指令,通过NBD客户端连接目标存储与虚拟NBD块设备。
本实施例中,在目标存储接收分区指令获取虚拟NBD块设备的数据量及分区信息之前,还需要与虚拟NBD块设备连接,根据NBD指令,可以通过目标存储上安装的NBD客户端连接目标存储与NBD服务端上的虚拟NBD块设备。
上述实施例中介绍了本发明实施例的虚拟机数据拷贝方法,下面通过实施例对虚拟机数据拷贝系统进行详细说明。
请参阅图4,本发明实施例中虚拟机数据拷贝系统的一个实施例包括:
源存储401、服务器402及目标存储403,源存储401包含虚拟机镜像,服务器402具有NBD服务端,目标存储403具有NBD客户端;
服务器402,用于接收NBD指令,根据NBD指令获得源虚拟机镜像的虚拟NBD块设备;
目标存储403,用于接收分区指令,根据分区指令获取虚拟NBD块设备的数据量及分区信息;
目标存储403,还用于根据数据量及分区信息获得目标磁盘镜像位图信息,目标磁盘镜像位图信息包含有效位及无效位,有效位对应的虚拟NBD块设备的分区中包含有效数据,无效位对应的虚拟NBD块设备的分区中包含无效数据;
目标存储403,还用于对目标磁盘镜像位图信息中有效位对应的虚拟NBD块设备的分区进行数据拷贝,得到源虚拟机镜像的拷贝文件。
本发明实施例中,目标存储403是根据虚拟NBD块设备的数据量及分区信息得到的,由于目标磁盘镜像位图信息中有效位对应的虚拟NBD块设备的分区中包含有效数据,无效位对应的虚拟NBD块设备的分区中包含无效数据,那么从磁盘镜像位图信息中的有效位可以知道源虚拟机镜像的有效数据在虚拟NBD块设备中的分布情况,与现有技术相比,在进行虚拟机克隆和备份时,就不会将源虚拟机镜像实际占用物理磁盘空间的数据全部拷贝下来,而只会拷贝源虚拟机镜像的有效数据,需要拷贝的数据量减小了,从而节省了拷贝的时间和目标存储的存储空间。
可选的,本发明的一些实施例中,
目标存储403,还用于根据数据量初始化源磁盘镜像位图信息,得到源磁盘镜像位图;
目标存储403,还用于解析分区信息,得到各分区的偏移、数据容量大小及各分区中数据的数据类型,数据类型为有效数据或无效数据;
目标存储403,还用于根据各分区中数据的数据类型,得到各分区的位图信息,数据类型为有效数据及无效数据;
目标存储403,还用于根据各分区的偏移将各分区的位图信息合并到源磁盘镜像位图中,得到目标磁盘镜像位图信息,目标磁盘镜像位图信息包含有效位及无效位,有效位对应的虚拟NBD块设备的分区中包含有效数据,无效位对应的虚拟NBD块设备的分区中包含无效数据。
本发明实施例中,对目标存储403获取磁盘镜像位图信息进行细化,使得方案更加详细。
可选的,本发明的一些实施例中,
目标存储403,还用于确定目标磁盘镜像位图信息中有效位对应于虚拟NBD块设备中的拷贝分区;
目标存储403,还用于对拷贝分区中的数据进行数据拷贝,得到源虚拟机镜像的拷贝文件。
本发明实施例中,对目标存储403拷贝数据进行细化,使得方案更加具体。
可选的,本发明的一些实施例中,
服务器402,用于接收NBD指令,根据NBD指令确定源虚拟机,并从源存储中获得源虚拟机的源虚拟机镜像;
服务器402,还用于将源虚拟机镜像通过NBD服务端挂载为虚拟NBD块设备。
可选的,本发明的一些实施例中,
目标存储403,还用于根据NBD指令,通过NBD客户端连接虚拟NBD块设备。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,设备和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (10)

1.一种虚拟机数据拷贝方法,其特征在于,应用于虚拟机数据拷贝系统,所述虚拟机数据拷贝系统包括源存储、服务器及目标存储,所述源存储包含虚拟机镜像,所述服务器具有网络块设备NBD服务端,所述目标存储具有NBD客户端,所述虚拟机数据拷贝方法包括:
接收NBD指令,根据所述NBD指令获得源虚拟机镜像的虚拟NBD块设备;
接收分区指令,根据所述分区指令获取所述虚拟NBD块设备的数据量及分区信息;
根据所述数据量及所述分区信息获得目标磁盘镜像位图信息,所述目标磁盘镜像位图信息包含有效位及无效位,所述有效位对应的所述虚拟NBD块设备的分区中包含有效数据,所述无效位对应的所述虚拟NBD块设备的分区中包含无效数据;
对所述目标磁盘镜像位图信息中所述有效位对应的所述虚拟NBD块设备的分区进行数据拷贝,得到所述源虚拟机镜像的拷贝文件。
2.根据权利要求1所述的虚拟机数据拷贝方法,其特征在于,所述根据所述数据量及所述分区信息获得目标磁盘镜像位图信息,包括:
根据所述数据量初始化源磁盘镜像位图信息,得到源磁盘镜像位图;
解析所述分区信息,得到各分区的偏移、数据容量大小及各分区中数据的数据类型,所述数据类型为有效数据或无效数据;
根据所述各分区中数据的数据类型,得到各分区的位图信息;
根据所述各分区的偏移将所述各分区的位图信息合并到所述源磁盘镜像位图中,得到目标磁盘镜像位图信息,所述目标磁盘镜像位图信息包含有效位及无效位,所述有效位对应的所述虚拟NBD块设备的分区中包含有效数据,所述无效位对应的所述虚拟NBD块设备的分区中包含无效数据。
3.根据权利要求2所述的虚拟机数据拷贝方法,其特征在于,所述对所述目标磁盘镜像位图信息中所述有效位对应的所述虚拟NBD块设备的分区进行数据拷贝,得到所述源虚拟机镜像的拷贝文件,包括:
确定所述目标磁盘镜像位图信息中所述有效位对应于所述虚拟NBD块设备中的拷贝分区;
对所述拷贝分区中的数据进行数据拷贝,得到所述源虚拟机镜像的拷贝文件。
4.根据权利要求1至3中任一项所述的虚拟机数据拷贝方法,其特征在于,所述接收NBD指令,根据所述NBD指令获得源虚拟机镜像的虚拟NBD块设备,包括:
接收NBD指令,根据所述NBD指令确定源虚拟机,并获得所述源虚拟机的源虚拟机镜像;
将所述源虚拟机镜像通过所述NBD服务端挂载为虚拟NBD块设备。
5.根据权利要求4所述的虚拟机数据拷贝方法,其特征在于,所述接收分区指令之前还包括:
根据所述NBD指令,通过所述NBD客户端连接所述目标存储与所述虚拟NBD块设备。
6.一种虚拟机数据拷贝系统,其特征在于,包括:
源存储、服务器及目标存储,所述源存储包含虚拟机镜像,所述服务器具有网络块设备NBD服务端,所述目标存储具有NBD客户端;
所述服务器,用于接收NBD指令,根据所述NBD指令获得源虚拟机镜像的虚拟NBD块设备;
所述目标存储,用于接收分区指令,根据所述分区指令获取所述虚拟NBD块设备的数据量及分区信息;
所述目标存储,还用于根据所述数据量及所述分区信息获得目标磁盘镜像位图信息,所述目标磁盘镜像位图信息包含有效位及无效位,所述有效位对应的所述虚拟NBD块设备的分区中包含有效数据,所述无效位对应的所述虚拟NBD块设备的分区中包含无效数据;
所述目标存储,还用于对所述目标磁盘镜像位图信息中所述有效位对应的所述虚拟NBD块设备的分区进行数据拷贝,得到所述源虚拟机镜像的拷贝文件。
7.根据权利要求6所述的虚拟机数据拷贝系统,其特征在于,
所述目标存储,还用于根据所述数据量初始化源磁盘镜像位图信息,得到源磁盘镜像位图;
所述目标存储,还用于解析所述分区信息,得到各分区的偏移、数据容量大小及各分区中数据的数据类型,所述数据类型为有效数据或无效数据;
所述目标存储,还用于根据所述各分区中数据的数据类型,得到各分区的位图信息,所述数据类型为有效数据及无效数据;
所述目标存储,还用于根据所述各分区的偏移将所述各分区的位图信息合并到所述源磁盘镜像位图中,得到目标磁盘镜像位图信息,所述目标磁盘镜像位图信息包含有效位及无效位,所述有效位对应的所述虚拟NBD块设备的分区中包含有效数据,所述无效位对应的所述虚拟NBD块设备的分区中包含无效数据。
8.根据权利要求7所述的虚拟机数据拷贝系统,其特征在于,
所述目标存储,还用于确定所述目标磁盘镜像位图信息中所述有效位对应于所述虚拟NBD块设备中的拷贝分区;
所述目标存储,还用于对所述拷贝分区中的数据进行数据拷贝,得到所述源虚拟机镜像的拷贝文件。
9.根据权利要求6至8中任一项所述的虚拟机数据拷贝系统,其特征在于,
所述服务器,用于接收NBD指令,根据所述NBD指令确定源虚拟机,并从所述源存储中获得所述源虚拟机的源虚拟机镜像;
所述服务器,还用于将所述源虚拟机镜像通过所述NBD服务端挂载为虚拟NBD块设备。
10.根据权利要求9所述的虚拟机数据拷贝系统,其特征在于,
所述目标存储,还用于根据所述NBD指令,通过所述NBD客户端连接所述虚拟NBD块设备。
CN201610471937.6A 2016-06-24 2016-06-24 一种虚拟机数据拷贝方法及虚拟机数据拷贝系统 Active CN107544864B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610471937.6A CN107544864B (zh) 2016-06-24 2016-06-24 一种虚拟机数据拷贝方法及虚拟机数据拷贝系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610471937.6A CN107544864B (zh) 2016-06-24 2016-06-24 一种虚拟机数据拷贝方法及虚拟机数据拷贝系统

Publications (2)

Publication Number Publication Date
CN107544864A true CN107544864A (zh) 2018-01-05
CN107544864B CN107544864B (zh) 2021-08-13

Family

ID=60960106

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610471937.6A Active CN107544864B (zh) 2016-06-24 2016-06-24 一种虚拟机数据拷贝方法及虚拟机数据拷贝系统

Country Status (1)

Country Link
CN (1) CN107544864B (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109062516A (zh) * 2018-09-14 2018-12-21 成都云祺科技有限公司 一种windows虚拟机备份过程中无效数据排除方法
CN109597571A (zh) * 2018-11-15 2019-04-09 金蝶软件(中国)有限公司 数据存储方法、数据读取方法、装置和计算机设备
CN110321172A (zh) * 2019-06-03 2019-10-11 平安科技(深圳)有限公司 网络块设备的分区识别方法、装置、设备和存储介质
CN110336883A (zh) * 2019-07-09 2019-10-15 深信服科技股份有限公司 镜像数据传输方法、装置、设备及计算机可读存储介质
CN110413200A (zh) * 2018-04-28 2019-11-05 伊姆西Ip控股有限责任公司 数据同步的方法、设备和计算机程序产品
CN110618896A (zh) * 2018-06-19 2019-12-27 深信服科技股份有限公司 一种数据处理方法及其装置、设备和计算机存储介质
CN112214279A (zh) * 2020-09-14 2021-01-12 苏州浪潮智能科技有限公司 一种基于磁盘镜像创建虚拟机的方法及系统
CN112527208A (zh) * 2020-12-21 2021-03-19 江苏国科微电子有限公司 一种数据对拷方法、装置、系统及介质
CN115576743A (zh) * 2022-10-17 2023-01-06 广州鼎甲计算机科技有限公司 操作系统恢复方法、装置、计算机设备和存储介质

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1707440A (zh) * 2004-12-21 2005-12-14 西安三茗科技有限责任公司 一种硬盘Linux文件系统的数据备份还原与权限控制方法
US20080133654A1 (en) * 2006-12-01 2008-06-05 Chei-Yol Kim Network block device using network asynchronous i/o
CN101414915A (zh) * 2007-10-19 2009-04-22 英业达股份有限公司 远程复制的发送请求处理系统及其方法
CN102073464A (zh) * 2011-01-14 2011-05-25 南开大学 一种按需分配增量卷的创建方法
CN102411524A (zh) * 2011-12-30 2012-04-11 云海创想信息技术(天津)有限公司 一种快照卷数据拷贝方法
CN104199683A (zh) * 2014-08-07 2014-12-10 杭州华三通信技术有限公司 一种iso镜像文件加载方法和设备
CN104298559A (zh) * 2014-09-30 2015-01-21 深圳市深信服电子科技有限公司 物理主机系统虚拟化的方法及装置
CN104636077A (zh) * 2013-11-15 2015-05-20 中国电信股份有限公司 用于虚拟机的网络块设备存储系统与方法
US20150142745A1 (en) * 2013-11-18 2015-05-21 Actifio, Inc. Computerized methods and apparatus for incremental database backup using change tracking

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1707440A (zh) * 2004-12-21 2005-12-14 西安三茗科技有限责任公司 一种硬盘Linux文件系统的数据备份还原与权限控制方法
US20080133654A1 (en) * 2006-12-01 2008-06-05 Chei-Yol Kim Network block device using network asynchronous i/o
CN101414915A (zh) * 2007-10-19 2009-04-22 英业达股份有限公司 远程复制的发送请求处理系统及其方法
CN102073464A (zh) * 2011-01-14 2011-05-25 南开大学 一种按需分配增量卷的创建方法
CN102411524A (zh) * 2011-12-30 2012-04-11 云海创想信息技术(天津)有限公司 一种快照卷数据拷贝方法
CN104636077A (zh) * 2013-11-15 2015-05-20 中国电信股份有限公司 用于虚拟机的网络块设备存储系统与方法
US20150142745A1 (en) * 2013-11-18 2015-05-21 Actifio, Inc. Computerized methods and apparatus for incremental database backup using change tracking
CN104199683A (zh) * 2014-08-07 2014-12-10 杭州华三通信技术有限公司 一种iso镜像文件加载方法和设备
CN104298559A (zh) * 2014-09-30 2015-01-21 深圳市深信服电子科技有限公司 物理主机系统虚拟化的方法及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
技术人成长: "LVM+NBD实现VM数据备份和迁移", 《博客园》 *
赵德平等: "基于Linux网络块设备和软RAID技术的网络镜像", 《计算机工程》 *

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110413200A (zh) * 2018-04-28 2019-11-05 伊姆西Ip控股有限责任公司 数据同步的方法、设备和计算机程序产品
CN110618896A (zh) * 2018-06-19 2019-12-27 深信服科技股份有限公司 一种数据处理方法及其装置、设备和计算机存储介质
CN109062516A (zh) * 2018-09-14 2018-12-21 成都云祺科技有限公司 一种windows虚拟机备份过程中无效数据排除方法
CN109062516B (zh) * 2018-09-14 2020-08-25 成都云祺科技有限公司 一种windows虚拟机备份过程中无效数据排除方法
CN109597571B (zh) * 2018-11-15 2022-02-15 金蝶软件(中国)有限公司 数据存储方法、数据读取方法、装置和计算机设备
CN109597571A (zh) * 2018-11-15 2019-04-09 金蝶软件(中国)有限公司 数据存储方法、数据读取方法、装置和计算机设备
CN110321172A (zh) * 2019-06-03 2019-10-11 平安科技(深圳)有限公司 网络块设备的分区识别方法、装置、设备和存储介质
CN110336883A (zh) * 2019-07-09 2019-10-15 深信服科技股份有限公司 镜像数据传输方法、装置、设备及计算机可读存储介质
CN110336883B (zh) * 2019-07-09 2022-01-18 深信服科技股份有限公司 镜像数据传输方法、装置、设备及计算机可读存储介质
CN112214279A (zh) * 2020-09-14 2021-01-12 苏州浪潮智能科技有限公司 一种基于磁盘镜像创建虚拟机的方法及系统
CN112214279B (zh) * 2020-09-14 2022-05-31 苏州浪潮智能科技有限公司 一种基于磁盘镜像创建虚拟机的方法及系统
CN112527208A (zh) * 2020-12-21 2021-03-19 江苏国科微电子有限公司 一种数据对拷方法、装置、系统及介质
CN115576743A (zh) * 2022-10-17 2023-01-06 广州鼎甲计算机科技有限公司 操作系统恢复方法、装置、计算机设备和存储介质
CN115576743B (zh) * 2022-10-17 2023-08-15 广州鼎甲计算机科技有限公司 操作系统恢复方法、装置、计算机设备和存储介质

Also Published As

Publication number Publication date
CN107544864B (zh) 2021-08-13

Similar Documents

Publication Publication Date Title
CN107544864A (zh) 一种虚拟机数据拷贝方法及虚拟机数据拷贝系统
US11797197B1 (en) Dynamic scaling of a virtual storage system
US11526408B2 (en) Data recovery in a virtual storage system
US11093139B1 (en) Durably storing data within a virtual storage system
US20220083245A1 (en) Declarative provisioning of storage
US11704202B2 (en) Recovering from system faults for replicated datasets
US20170083250A1 (en) Copy-redirect on write
US9286007B1 (en) Unified datapath architecture
US9569455B1 (en) Deduplicating container files
US20210019063A1 (en) Utilizing data views to optimize secure data access in a storage system
CN109274752A (zh) 区块链数据的访问方法及装置、电子设备、存储介质
US9454326B1 (en) File metro cluster for site failover of data storage system
US11829629B2 (en) Synchronously replicating data using virtual volumes
US9792075B1 (en) Systems and methods for synthesizing virtual hard drives
US10970106B1 (en) Storage device sharing among virtual machines
US20170103006A1 (en) Systems and methods for application-consistent disaster recovery using a virtual storage controller and remote storage
CN103858111B (zh) 一种实现聚合虚拟化中内存共享的方法、设备和系统
CN106777394B (zh) 一种集群文件系统
CN110058813A (zh) 一种基于云平台块存储的本地存储管理方法
US20200081801A1 (en) Performing a recovery copy command using a recovery copy data structure for a backup volume lookup
WO2020231642A1 (en) Cloud-based file services
CN108038236A (zh) 文件共享方法、装置、系统及可读存储介质
US11157456B2 (en) Replication of data in a distributed file system using an arbiter
CN107402839B (zh) 一种备份数据的方法及系统
US9485308B2 (en) Zero copy volume reconstruction

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
CB02 Change of applicant information

Address after: 518000 the first floor of A1 building, Nanshan Zhiyuan 1001, Nanshan District Xue Yuan Avenue, Shenzhen, Guangdong.

Applicant after: SANGFOR TECHNOLOGIES Inc.

Address before: 518055 First Floor, Building A1, Nanshan Zhiyuan, 1001 Xueyuan Avenue, Nanshan District, Shenzhen City, Guangdong Province

Applicant before: Sangfor Technologies Co.,Ltd.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant