本发明涉及存储灾备领域,尤其涉及一种快速删除依赖快照目标卷的方法及其装置。
背景技术:
随着计算机技术的快速发展,数字化信息已经逐步取代纸媒数据,呈现出日均指数级增长的趋势。海量数据催生了云计算、大数据和海量存储系统的发展,对存储设备和存储应用的需求也越来越高。政府、银行、电力企业等对数据的安全性和业务连续性有着较高的要求,必须提供在线的数据保护。而快照就是一种在线存储设备防止数据丢失的有效方法,在越来越多的高端存储系统中,快照模块已成为一项基本的不可或缺的元素。
目前绝大部分快照技术支持多目标和级联技术,对源卷在一段时间内创建多个快照,这多个快照目标卷构成依赖关系,可以允许当源卷有更新时,只需要对最新的快照目标卷做写时复制操作,极大的节省了多快照所需要保存的数据量。但同时引入问题,此时只有最新的目标卷保存着源卷的变更,其他旧目标卷依赖于此最新目标卷,当需读取或写入此块数据时,需要重定向到这个最新目标卷中,这就是所谓的依赖关系。当两个目标卷构成依赖关系时,如要删除被依赖的目标卷,就需要首先将被依赖卷中被依赖的数据块同步到下一个依赖卷,然后才能删除这个被依赖目标卷,同步时间取决于被依赖数据块的数量。
技术实现要素:
本发明针对目前需求以及现有技术发展的不足之处,提供一种快速删除依赖快照目标卷的方法及其装置,设置清除速率,通过快照目标卷的差异位图形成依赖位图,根据依赖位图将待删除快照目标卷中的依赖数据块通过后台拷贝自动同步到下一个目标卷,之后即时删除此目标卷。
为了实现上述目的,本发明采用以下的技术方案:
一种快速删除依赖快照目标卷的方法,包括以下步骤:
对快照源卷创建依赖快照目标卷;
设置数据块清除速率;
根据依赖快照目标卷的差异位图,判断待删除依赖快照目标卷中的数据块是否为依赖数据块;
删除依赖快照目标卷。
优选地,对快照源卷创建快照目标卷,包括:对快照源卷依次创建多个依赖快照目标卷并进行多次写数据操作,所述依赖快照目标卷中有多个数据块;记录依赖快照目标卷的差异位图,所述差异位图为写数据后快照目标卷中数据块的位图的变化。
优选地,所述数据块清除速率是指每秒可同时传输的数据块个数。
优选地,根据依赖快照目标卷的差异位图,判断待删除依赖快照目标卷中的数据块是否为依赖数据块,包括:若依赖快照目标卷数据块被标记为未进行过写时复制操作即被标记为0,而被依赖快照目标卷标记为进行过写时复制操作即被标记为1,则此数据块被认定为依赖数据块,若否,则不是依赖数据块。
优选地,在根据依赖快照目标卷的差异位图,判断待删除依赖快照目标卷中的数据块是否为依赖数据块之后,还包括:记录待删除依赖快照目标卷中依赖数据块所在的位置,并形成依赖位图。
优选地,在记录待删除依赖快照目标卷中依赖数据块所在的位置,并形成依赖位图之后,还包括:按照依赖位图对待删除快照目标卷中的依赖数据块进行后台拷贝,自动同步到下一个快照目标卷。
一种快速删除依赖快照目标卷的装置,包括以下模块:
创建模块,用于对快照源卷创建依赖快照目标卷;
设置模块,用于设置数据块清除速率;
判断模块,用于根据依赖快照目标卷的差异位图,判断待删除依赖快照目标卷中的数据块是否为依赖数据块;
删除模块,用于删除依赖快照目标卷。
优选地,还包括:第一记录模块,用于记录依赖快照目标卷的差异位图。
优选地,还包括:第二记录模块,用于记录待删除依赖快照目标卷中依赖数据块所在的位置,并形成依赖位图。
优选地,还包括:同步模块,用于按照依赖位图对待删除快照目标卷中的依赖数据块进行后台拷贝,自动同步到下一个快照目标卷。
本发明的有益效果:
1. 本发明对于任意快照目标卷,设置清除速率,通过差异位图标记哪些数据块进行过写时复制操作,当依赖卷的数据块被标记为未进行过写时复制操作,而被依赖卷标记为进行过写时复制操作,此数据块被认定为依赖数据块,当删除被依赖卷时,将此数据块自动同步到下一个目标卷中;
2. 通过随时更改清除速率,限制每秒可同时传输的数据块个数,来达到限制清除带宽的目的,可以随时更改清除速率,以应对不同主机的响应需求。
附图说明
图1为本发明一种快速删除依赖快照目标卷的方法的流程示意图之一。
图2为本发明一种快速删除依赖快照目标卷的装置的结构示意图之一。
图3为本发明一种快速删除依赖快照目标卷的方法的流程示意图之二。
图4为本发明一种快速删除依赖快照目标卷的装置的结构示意图之二。
具体实施方式
为了便于理解,对本发明中出现的部分名词作以下解释说明:
快照:快照(Snapshot)是某个数据集在某一特定时刻的镜像,也称为即时拷贝,它是这个数据集的一个完整可用的副本。快照可以在不中断当前业务的情况下生成存储系统在某时间点即时一致的数据镜像,进而可使用该数据镜像进行备份、测试、在线分析和数据挖掘等种种操作。
依赖快照:与可单独使用的独立快照技术不同,依赖快照只保存上次快照与本次快照之间发生改变的数据的内容,因此快照的生成速度较快,且节约了存储空间,但用这种方法建立的快照具有紧密的依赖关系,从某快照读取数据可能需要用到更新时间点的快照。
位图:位图信息记录的是最近一个快照目标卷之后的增量数据信息。在未来的某个时刻,如果再创建一个快照目标卷,那么位图信息将转移给新创建的快照目标卷。在依赖快照的读写算法中,需要通过读最近的快照目标卷的位图信息来定位数据是否位于被访问的快照源卷上。
写时复制:在写时复制(Copy On Write,COW)技术中,当对快照源卷的某一块进行写操作时,需要先将此块读出,再写入目标卷中做备份,然后源卷写操作才可以实际下发。因此快照目标卷保存有自创建起,源卷变更的数据块。即在数据第一次写入到某个存储位置时,首先将原有的内容读取出来,写到另一位置处,然后再将数据写入到存储设备中,而下次针对这一位置的写操作将不再执行写时复制操作。
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述:
实施例一:
如图1所示,本发明的一种快速删除依赖快照目标卷的方法,包括以下步骤:
步骤S101,对src创建target0,向src中任意两个数据块写入数据。
步骤S102,分别对这两个数据块进行写时复制操作,记录target0的差异位图。
步骤S103,对src创建target1,再向src的任意两个数据块写入数据,记录target1的差异位图,此时target0依赖于target1。
步骤S104,设置清除速率,即设置每秒可同时传输的数据块个数。
步骤S105,根据target0和target1的差异位图,判断target1内数据块是否为依赖数据块,若target0数据块被标记为未进行过写时复制操作即被标记为0,而target1对应数据块被标记为进行过写时复制操作即被标记为1,则此数据块被认定为依赖数据块,若否,则不是依赖数据块。
步骤S106,记录target1中依赖数据块所在的位置,根据依赖数据块所在位置形成依赖位图。
步骤S107,按照依赖位图进行后台拷贝同步。
步骤S108,即时删除target1。
作为一种可实施的方式,本实施例中的快照源卷为src。
作为一种可实施的方式,本实施例中的快照目标卷为target0和target1。
作为一种可实施的方式,本实施例中的清除速率设为1MB/S。
实施例二:
如图2所示,本发明的一种快速删除依赖快照目标卷的装置,包括创建模块201、第一记录模块202、设置模块203、判断模块204、第二记录模块205、同步模块206、删除模块207,创建模块201依次连接第一记录模块202、设置模块203、判断模块204、第二记录模块205、同步模块206、删除模块207。
创建模块201,用于对快照源卷创建依赖快照目标卷;第一记录模块202,用于记录依赖快照目标卷的差异位图;设置模块203,用于设置数据块清除速率;判断模块204,用于根据依赖快照目标卷的差异位图,判断待删除依赖快照目标卷中的数据块是否为依赖数据块;第二记录模块205,用于记录待删除依赖快照目标卷中依赖数据块所在的位置,并形成依赖位图;同步模块206,用于按照依赖位图对待删除快照目标卷中的依赖数据块进行后台拷贝,自动同步到下一个快照目标卷;删除模块207,用于删除依赖快照目标卷。
实施例三:
如图3所示,本发明的另一种快速删除依赖快照目标卷的方法,包括以下步骤:
步骤S301,对快照源卷创建依赖快照目标卷。
步骤S302,设置数据块清除速率。
步骤S303,根据依赖快照目标卷的差异位图,判断待删除依赖快照目标卷中的数据块是否为依赖数据块。
步骤S304,删除依赖快照目标卷。
实施例四:
如图4所示,本发明的另一种快速删除依赖快照目标卷的装置,包括创建模块401、设置模块402、判断模块403、删除模块404,创建模块401依次连接设置模块402、判断模块403、删除模块404。
创建模块401,用于对快照源卷创建依赖快照目标卷;设置模块402,用于设置数据块清除速率;判断模块403,用于根据依赖快照目标卷的差异位图,判断待删除依赖快照目标卷中的数据块是否为依赖数据块;删除模块404,用于删除依赖快照目标卷。
以上所示仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。