基于逻辑卷管理精简卷的数据备份方法及系统与流程

文档序号:13760278阅读:220来源:国知局
基于逻辑卷管理精简卷的数据备份方法及系统与流程

本发明涉及计算机设备领域,特别是涉及一种基于逻辑卷管理精简卷的数据备份方法及系统。



背景技术:

针对以LVM(Logical Volume Manager,逻辑卷管理)为基础研发的逻辑卷管理精简卷(LVM Thin Volume)在openstack(一个开源的云计算管理平台项目)环境下作云硬盘定期备份时,通常是定期做完整备份,这样每次都做完整备份很浪费空间,并且输出RAW格式的备份不具有快照(snapshot)的功能,不利于虚机使用者(VM User)开启此备份作检视系统的需求,因为对输出的备份文件作开启虚机,会造成备份文件的数据被修改,这样就不符合数据一致性的备份目的。



技术实现要素:

鉴于此,有必要针对传统对云硬盘定期做完整备份浪费空间的问题,提供一种基于逻辑卷管理精简卷的数据备份方法及系统,在需要做完整备份时做完整备份,在不需要做完整备份时只做增量备份,能够有效地减少每次都做完整备份带来的空间浪费。

为达到发明目的,提供一种基于逻辑卷管理精简卷的数据备份方法,所述方法包括:

获取逻辑卷管理精简卷的完整数据对照表或增量数据对照表;

创建备份镜像文档,并将所述备份镜像文档挂载于网络块设备中;

根据所述完整数据对照表或所述增量数据对照表从所述逻辑卷管理精简卷中读取备份数据;

通过对所述网络块设备进行写操作将所述备份数据写入到所述网络块设备 中的所述备份镜像文档中。

在其中一个实施例中,根据所述完整数据对照表或所述增量数据对照表从所述逻辑卷管理精简卷中读取备份数据的步骤包括:

若获取的是完整数据对照表,所述完整数据对照表中记录了完整备份数据在所述逻辑卷管理精简卷的存储位置及所述完整备份数据的备份时间点,并在达到所述备份时间点时从所述存储位置读取所述完整备份数据;其中,所述完整备份数据包括所述完整数据对照表中记录的存储位置中的所有数据;

若获取的是增量数据对照表,所述增量数据对照表中记录了增量备份数据在所述逻辑卷管理精简卷的存储位置及所述增量备份数据的备份时间点,并在达到所述备份时间点时从所述存储位置读取所述增量备份数据;其中,所述增量备份数据包括所述增量数据对照表中记录的存储位置中的数据在当前备份时间点与上一次备份时间点的差异部分。

在其中一个实施例中,创建的所述备份镜像文档为基于qcow2格式的备份镜像文档,所述通过对所述网络块设备进行写操作将所述备份数据写入到所述网络块设备中的所述备份镜像文档中的步骤之后,还包括:

创建所述基于qcow2格式的备份镜像文档的快照,所述快照记录所述基于qcow2格式的备份镜像文档的备份完成状态;

当所述逻辑卷管理精简卷出现故障时,根据所述快照将所述基于qcow2格式的备份镜像文档恢复到所述备份完成状态;

将恢复到所述备份完成状态的基于qcow2格式的备份镜像文档挂载于所述网络块设备中;

通过操作所述网络块设备将恢复到所述备份完成状态的基于qcow2格式的备份镜像文档中的数据写入另外的逻辑卷管理精简卷。

在其中一个实施例中,所述创建所述基于qcow2格式的备份镜像文档的快照的步骤包括:

创建完成完整备份后的基于qcow2格式的备份镜像文档的完整快照,所述完整快照中记录基于qcow2格式的备份镜像文档的完整备份完成状态;

创建完成增量备份后的基于qcow2格式的备份镜像文档的增量快照,所述增量快照中记录基于qcow2格式的备份镜像文档的增量备份完成状态。

在其中一个实施例中,在执行所述通过对所述网络块设备进行写操作将所述备份数据写入到所述网络块设备中的所述备份镜像文档中的步骤时,还包括:

将所述完整数据对照表或所述增量数据对照表中记录的所述备份数据的存储位置及备份时间点通过所述网络块设备写入所述备份镜像文档中;

在创建所述基于qcow2格式的备份镜像文档的快照时,所述快照中还记录有所述存储位置及所述备份时间点。

在其中一个实施例中,所述备份镜像文件的虚拟空间大小与所述逻辑卷管理精简卷的逻辑空间大小相同。

本发明还提供一种基于逻辑卷管理精简卷的数据备份系统,所述系统包括:

获取模块,用于获取逻辑卷管理精简卷的完整数据对照表或增量数据对照表;

创建挂载模块,用于创建备份镜像文档,并将所述备份镜像文档挂载于网络块设备中;

读取模块,用于根据所述完整数据对照表或所述增量数据对照表从所述逻辑卷管理精简卷中读取备份数据;

第一写入模块,用于通过对所述网络块设备进行写操作将所述备份数据写入到所述网络块设备中的所述备份镜像文档中。

在其中一个实施例中,所述读取模块包括:

第一读取单元,用于若获取的是完整数据对照表,所述完整数据对照表中记录了完整备份数据在所述逻辑卷管理精简卷的存储位置及所述完整备份数据的备份时间点,并在达到所述备份时间点时从所述存储位置读取所述完整备份数据;其中,所述完整备份数据包括所述完整数据对照表中记录的存储位置中的所有数据;

第二读取单元,用于若获取的是增量数据对照表,所述增量数据对照表中记录了增量备份数据在所述逻辑卷管理精简卷的存储位置及所述增量备份数据 的备份时间点,并在达到所述备份时间点时从所述存储位置读取所述增量备份数据;其中,所述增量备份数据包括所述增量数据对照表中记录的存储位置中的数据在当前时间点与上一次备份时间点的差异部分。

在其中一个实施例中,创建的所述备份镜像文档为基于qcow2格式的备份镜像文档;所述系统还包括:

创建快照模块,用于创建所述基于qcow2格式的备份镜像文档的快照,所述快照记录所述基于qcow2格式的备份镜像文档的备份完成状态;

恢复模块,用于当所述逻辑卷管理精简卷出现故障时,根据所述快照将所述基于qcow2格式的备份镜像文档恢复到所述备份完成状态;

挂载模块,用于将恢复到所述备份完成状态的基于qcow2格式的备份镜像文档挂载于所述网络块设备中;

第二写入模块,用于通过操作所述网络块设备将恢复到所述备份完成状态的基于qcow2格式的备份镜像文档中的数据写入另外的逻辑卷管理精简卷。

在其中一个实施例中,所述创建快照模块包括:

创建完整快照单元,用于创建完成完整备份后的基于qcow2格式的备份镜像文档的完整快照,所述完整快照中记录基于qcow2格式的备份镜像文档的完整备份完成状态;

创建增量快照单元,用于创建完成增量备份后的基于qcow2格式的备份镜像文档的增量快照,所述增量快照中记录基于qcow2格式的备份镜像文档的增量备份完成状态。

在其中一个实施例中,所述第一写入模块,还用于将将所述完整数据对照表或所述增量数据对照表中记录的所述备份数据的存储位置及备份时间点通过所述网络块设备写入所述备份镜像文档中;

所述创建快照模块创建的所述基于qcow2格式的备份镜像文档的快照中还记录有所述存储位置及所述备份时间点。

在其中一个实施例中,所述备份镜像文件的虚拟空间大小与所述逻辑卷管理精简卷的逻辑空间大小相同。

本发明的有益效果包括:

上述基于逻辑卷管理精简卷的数据备份方法及系统,在需要进行完整数据备份时根据完整数据对照表对逻辑卷管理精简卷进行完整备份,通常完整备份只需进行一次,在不需要进行完整备份时根据增量数据对照表对逻辑卷管理精简卷进行增量备份,即只备份逻辑卷管理精简卷中当前备份时间点与上一次备份时间点的差异部分,因此使备份镜像文档的空间较小,可以有效的节省空间,并且,备份的输出格式是具有快照功能的qcow2格式,备份档案较小,可于开启虚机结束并且关机后,使用快照恢复功能,令备份恢复到初始状态,确保了资料的一致性。

附图说明

图1为一个实施例中的基于逻辑卷管理精简卷的数据备份方法的流程示意图;

图2为另一个实施例中的基于逻辑卷管理精简卷的数据备份方法的流程示意图;

图3为一个实施例中的基于逻辑卷管理精简卷的数据备份系统的结构示意图;

图4为一个实施例中的完整备份和增量备份逻辑关系示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例对本发明基于逻辑卷管理精简卷的数据备份方法及系统进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。

在一个实施例中,如图1所示,提供了一种基于逻辑卷管理精简卷的数据备份方法,该方法包括以下步骤:

S100,获取逻辑卷管理精简卷的完整数据对照表或增量数据对照表。

S200,创建备份镜像文档,并将备份镜像文档挂载于网络块设备中。

S300,根据完整数据对照表或增量数据对照表从逻辑卷管理精简卷中读取备份数据。

S400,通过对网络块设备进行写操作将备份数据写入到网络块设备中的备份镜像文档中。

本实施例中,当逻辑卷管理精简卷(LVM Thin Volumes)刚建立没有任何数据写入的时候,其相对应的完整数据对照表和增量数据对照表为空,但有数据写入逻辑卷管理精简卷时,其对应的完整数据对照表和增量数据对照表中也会相应的存在数据,即完整数据对照表和增量数据对照表能够反映逻辑卷管理精简卷的实时状态,例如:完整数据对照表中记录了逻辑卷管理精简卷中的数据的备份时间点及数据的存储位置(数据在逻辑卷管理精简卷中的逻辑地址及逻辑地址对应的物理地址),增量数据对照表中记录了当前备份时间点与上一次备份时间点的数据的差异部分以及差异部分的数据所在的存储位置,因此,通过应用编程接口(REST API)获取完整数据对照表或增量数据对照表,在获得逻辑卷管理精简卷的完整数据对照表或增量数据对照表后,根据完整数据对照表或增量数据对照表中记录的内容便能完成对逻辑卷管理精简卷的备份,以在当前逻辑卷管理精简卷出现故障时,可以将对当前逻辑卷管理精简卷进行备份的数据恢复到另外的没有故障的逻辑卷管理精简卷中,保证始终有正常的可以使用的逻辑卷管理精简卷。

LVM(Logic Volume Manager,逻辑卷管理)是Linux环境下对磁盘分区进行管理的一种机制,把硬盘空间从物理硬盘的管理方式中跳出来,进行方便统一的管理分配,逻辑卷是由逻辑磁盘形成的虚拟盘。Thin Volume(精简卷)利用自动精简配置技术(Thin-provisioning)得到的逻辑卷,自动精简配置技术是一项容量分配技术,不会一次性的划分过大的空间给某项应用,而是根据该项应用实际所需要的容量,多次的少量的分配给应用程序,当该应用产生数据增长,分配的容量空间不够用的时候,系统会再次从后端存储池中补充分配一部分的存储空间,所以可以充分调配硬盘的容量空间。而在对虚拟机的数据进行 备份时,需要先创建一个备份镜像文档,这个备份镜像文档中可以备份逻辑卷管理精简卷的数据,但是由于备份镜像文档是一个非常复杂的文件格式系统,通常无法对其直接进行读写操作,此时需透过应用编程接口使用工具qemu-ndb(一种模拟处理器)将备份镜像文档挂载在网络块设备(Network Block Device)中,网络块设备可以将一个远程主机的磁盘空间当做一个块设备来使用,使用者可以很方便的将另一台服务器的硬盘空间增加到本地服务器上,网络块设备提供的是一个块设备,客户端可以把这个块设备格式化成各种类型的分区,更便于用户的使用。通过访问网络块设备的目录来操作备份镜像文档,从而可以将根据完整数据对照表或增量数据对照表从逻辑卷管理精简卷中读取的备份数据写入备份镜像文档中,完成逻辑卷管理精简卷的备份,由于在不需要进行完整备份时根据增量数据对照表对逻辑卷管理精简卷进行增量备份,即只备份逻辑卷管理精简卷中当前备份时间点与上一次备份时间点时数据的差异部分,因此可以有效的节省空间,使备份镜像文档的空间较小。

其中,创建备份镜像文档的虚拟空间大于逻辑卷管理精简卷的逻辑空间,以保证备份数据的顺利进行。优选的,在一个实施例中,备份镜像文档的虚拟空间大小与逻辑卷管理精简卷的逻辑空间大小相同,既不会出现因为备份镜像文档空间小备份溢出的情况,保证能够顺利的完成备份,且不会造成空间的浪费。

在一个实施例中,参见图2,步骤S100包括:

S110,判断逻辑卷管理精简卷是否需要进行完整备份;若是,则获取逻辑卷管理精简卷的完整数据对照表;若否,则获取逻辑卷管理精简卷的增量数据对照表。

在逻辑卷管理精简卷定期备份过程时,通常只在第一次备份或前一次备份数据为空的情况才做完整备份,而后都是增量备份,先判断是否需要进行完整备份,根据需要获取逻辑卷管理精简卷的完整数据对照表或逻辑卷管理精简卷的增量数据对照表,提高逻辑卷管理精简卷的备份效率。而增量数据对照表只记录增量数据对应的相关参数,也节省了一定的存储空间,减少每次都记录所 有的数据造成的空间的浪费。

在一个实施例中,步骤S300包括:

S310,若获取的是完整数据对照表,完整数据对照表中记录了完整备份数据在逻辑卷管理精简卷的存储位置及完整备份数据的备份时间点,并在达到备份时间点时从存储位置读取完整备份数据;其中,完整备份数据包括完整数据对照表中记录的存储位置中的所有数据。

S320,若获取的是增量数据对照表,增量数据对照表中记录了增量备份数据在逻辑卷管理精简卷的存储位置及增量备份数据的备份时间点,并在达到备份时间点时从存储位置读取增量备份数据;其中,增量备份数据包括增量数据对照表中记录的存储位置中的数据在当前备份时间点与上一次备份时间点的差异部分。

若获取的是完整数据对照表,根据完整对照表中的数据的备份时间点及数据的存储位置,在达到备份时间点时从逻辑卷管理精简卷对应的存储位置中读取备份数据,作为完整备份数据,并将完整备份数据通过网络块设备写入到备份镜像文档中,完成逻辑卷管理精简卷的完整备份。若获取的是增量数据对照表,根据增量对照表中数据在当前备份时间点与上一次备份时间点的差异部分及差异部分的数据的存储位置,在达到当前备份时间点时从逻辑卷管理精简卷对应的存储位置中读取差异部分,作为增量备份数据,并将增量备份数据通过网络块设备写入到备份镜像文档中。由于备份数据时采用增量备份的方式,因此可以减少每次都进行完整数据备份造成的空间的浪费。

以下对完整备份和增量备份进行详细的说明:

参见图4,图4中完整备份s1代表的是备份时间点1(snap1)的数据状态,而增量备份s1_s3必须与完整备份s1同时存在才能表示备份时间点3(snap3)的数据状态,相似地,增量备份s3_s4必须与增量备份s1_s3和完整备份s1同时存在才能表示备份时间点4(snap4)的数据状态。图4中backing的含义是此增量备份只记载了从上一次备份时间点到这次备份时间点的差量。

在一个实施例中,创建的备份镜像文档为基于qcow2格式的备份镜像文档, 基于qcow2格式的备份镜像文档具有快照的功能。

在一个实施例中,步骤S400之后,还包括:

S500,创建基于qcow2格式的备份镜像文档的快照,快照记录基于qcow2格式的备份镜像文档的备份完成状态。

S600,当逻辑卷管理精简卷出现故障时,根据快照将所述基于qcow2格式的备份镜像文档恢复到备份完成状态。

S700,将恢复到备份完成状态的基于qcow2格式的备份镜像文档挂载于网络块设备中。

S800,通过操作网络块设备将恢复到备份完成状态的基于qcow2格式的备份镜像文档中的数据写入另外的逻辑卷管理精简卷。

每次将逻辑卷管理精简卷中的备份数据写入基于qcow2格式备份镜像文档之后,利用基于qcow2格式的备份镜像文档的快照功能,创建基于qcow2格式的备份镜像文档的快照,记录基于qcow2格式的备份镜像文档的备份完成状态。而备份镜像文档在任何安装有qemu-kvm(基于内核的虚拟机操作系统)的设备都可以开启虚机,而开启虚机会造成备份镜像文档中数据的修改,这样如果在当前逻辑卷管理精简卷出现故障时,为保证存在能够正常使用的逻辑卷管理精简卷,需要将备份镜像文档中的数据恢复到其它正常的逻辑卷管理精简卷中,但实际操作中为了检视这个备份镜像文档需要开启虚机,而开启虚机则会造成的备份镜像文档中数据的修改,为了保证恢复到其它正常逻辑卷管理精简卷中的数据与原来的出现故障的逻辑卷管理精简卷的数据的一致性,需要使用基于qcow2格式的备份镜像文档的快照功能为其创建备份完成状态时的快照,从而根据快照将备份镜像文档中的数据恢复到备份完整状态。

其中,需要说明的是,如果使用者能够保证备份完成后的基于qcow2格式的备份镜像文档不会做任何的写入、开启动作,则不需上述的快照功能。

进一步地,创建基于qcow2格式的备份镜像文档的快照的步骤包括:

创建完成完整备份后的基于qcow2格式的备份镜像文档的完整快照,该完整快照中记录基于qcow2格式的备份镜像文档的完整备份完成状态。

创建完成增量备份后的基于qcow2格式的备份镜像文档的增量快照,该增量快照中记录基于qcow2格式的备份镜像文档的增量备份完成状态。其中,如果进行多次增量备份,则每进行一次增量备份之后,都创建一个增量快照。

创建基于qcow2格式的备份镜像文档的完整快照和增量快照,如果用户想恢复到完整备份完成状态时,根据完整快照将qcow2格式的备份镜像文档恢复到完整备份完成状态,如果用户想恢复到某个增量备份完成状态时,根据某个增量快照将qcow2格式的备份镜像文档恢复到某个增量备份完成状态,满足用户将基于qcow2格式的备份镜像文档恢复到不同状态的需求。

优选的,创建基于qcow2格式的备份镜像文档的快照的步骤只包括创建完成完整备份后的基于qcow2格式的备份镜像文档的完整快照,这样既能保证数据的一致性,又节省了空间,且相对容易实施。

在一个实施例中,在执行步骤S400时,还包括:将完整数据对照表或增量数据对照表中记录的备份数据的存储位置及备份时间点通过网络块设备写入备份镜像文档中。此时创建的基于qcow2格式的备份镜像文档的快照中还记录有存储位置及备份时间点。

这样在当前的逻辑卷管理精简卷出现故障时,需要将备份镜像文档中的备份数据恢复到另外的好的逻辑卷管理精简卷中,在恢复备份数据时,根据快照中记录的备份数据的存储位置及备份时间点将备份数据一一写回到其它无故障的逻辑卷管理精简卷中,从而还原出跟原来一样的逻辑卷管理精简卷。

其中,需要说明的是,根据前述的完整快照和增量快照,还可以还原出处于不同完成状态(完整完成状态或增量完成状态)时的逻辑卷管理精简卷,以满足用户的不同需求。

在一个实施例中,步骤S400之后,还包括:取消备份镜像文档与网络块设备的挂载。

进一步地,步骤S800之后,还包括:取消备份镜像文档与网络块设备的挂载。避免客户端通过网络块设备对备份镜像文档进行读写操作,保证备份镜像文档的安全性。其中,备份镜像文档与网络块设备之间连结是通过应用编程接 口切断的。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。

在一个实施例中,如图3所示,还提供了一种基于逻辑卷管理精简卷的数据备份系统,该系统包括:获取模块100,用于获取逻辑卷管理精简卷的完整数据对照表或增量数据对照表。创建挂载模块200,用于创建备份镜像文档,并将备份镜像文档挂载于网络块设备中。读取模块300,用于根据完整数据对照表或增量数据对照表从逻辑卷管理精简卷中读取备份数据。第一写入模块400,用于通过对网络块设备进行写操作将备份数据写入到网络块设备中的备份镜像文档中。

本实施例中的基于逻辑卷管理精简卷的数据备份系统,在需要进行完整数据备份时根据完整数据对照表对逻辑卷管理精简卷进行完整备份,通常完整备份只需进行一次,在不需要进行完整备份时根据增量数据对照表对逻辑卷管理精简卷进行增量备份,即只备份逻辑卷管理精简卷中当前备份时间点与上一次备份时间点的差异部分,因此可以有效的节省空间,使备份镜像文档的空间较小。

在一个实施例中,读取模块300包括:第一读取单元310,用于若获取的是完整数据对照表,完整数据对照表中记录了完整备份数据在所述逻辑卷管理精简卷的存储位置及完整备份数据的备份时间点,并在达到备份时间点时从所述存储位置读取所述完整备份数据;其中,完整备份数据包括所述完整数据对照表中记录的存储位置中的所有数据。第二读取单元320,用于若获取的是增量数据对照表,增量数据对照表中记录了增量备份数据在所述逻辑卷管理精简卷的存储位置及所述增量备份数据的备份时间点,并在达到备份时间点时从存储位置读取增量备份数据;其中,增量备份数据包括所述增量数据对照表中记录的 存储位置中的数据在当前时间点与上一次备份时间点的差异部分。

在一个实施例中,创建的所述备份镜像文档为基于qcow2格式的备份镜像文档。所述系统还包括:创建快照模块500,用于创建基于qcow2格式的备份镜像文档的快照,快照记录基于qcow2格式的备份镜像文档的备份完成状态。恢复模块600,用于当逻辑卷管理精简卷出现故障时,根据快照将基于qcow2格式的备份镜像文档恢复到备份完成状态。挂载模块700,用于将恢复到备份完成状态的基于qcow2格式的备份镜像文档挂载于网络块设备中。第二写入模块800,用于通过操作网络块设备将恢复到备份完成状态的基于qcow2格式的备份镜像文档中的数据写入另外的逻辑卷管理精简卷。

在一个实施例中,创建快照模块500包括:创建完整快照单元510,用于创建完成完整备份后的基于qcow2格式的备份镜像文档的完整快照,完整快照中记录基于qcow2格式的备份镜像文档的完整备份完成状态。创建增量快照单元520,用于创建完成增量备份后的基于qcow2格式的备份镜像文档的增量快照,增量快照中记录基于qcow2格式的备份镜像文档的增量备份完成状态。在一个实施例中,第一写入模块400,还用于将完整数据对照表或增量数据对照表中记录的备份数据的存储位置及备份时间点通过网络块设备写入备份镜像文档中。创建快照模块500创建的基于qcow2格式的备份镜像文档的快照中还记录有所述存储位置及所述备份时间点。

在一个实施例中,备份镜像文件的虚拟空间大小与逻辑卷管理精简卷的逻辑空间大小相同。

由于此系统解决问题的原理与前述一种基于逻辑卷管理精简卷的数据备份方法相似,因此该系统的实施可以参见前述方法的实施,重复之处不再赘述。

以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的 普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1