逻辑磁盘管理器的快照管理方法

文档序号:6773988阅读:121来源:国知局
专利名称:逻辑磁盘管理器的快照管理方法
技术领域
本发明涉及一种逻辑磁盘管理方法,特别涉及一种逻辑磁盘快照备份管理方法。
背景技术
逻辑磁盘管理器(Logical Volume Manager,LVM)是一种把硬盘空间划分成“弹性”逻辑磁盘的方法。使用LVM技术,硬盘不必重新分区也能够被简单地重新划分大小。LVM给我们带来了磁盘管理的灵活性。LVM的灵活性还体现在可以将若干个不同类型、不同大小的物理磁盘、分区组成多个逻辑磁盘(Logical Volumes,LV),也就是虚拟分区来管理。与传统的磁盘与分区相比,LVM为计算机提供了更高层次的磁盘储存,硬盘的多个分区由LVM统一为磁盘组管理。在LVM管理下的储存磁盘可以按需要随时改变分区大小与移除,以扩大或减小磁盘组的可用容量,充分利用硬盘空间。它使系统管理员可以更方便的为应用与用户分配储存空间。LVM也允许按用户组对储存磁盘进行管理,允许管理员用更直观的名称代替物理磁盘名来标识储存磁盘。
LVM一个非常好的特性是快照(Snapshots)。快照技术为一种针对逻辑磁盘的备份方式,可以从逻辑磁盘建立,目的是保留原始磁盘在某个时间点的数据内容。它和原始磁盘使用同样形式的储存空间,而由于算法的设计,它并非通过数据的完整克隆来进行备份,快照只记录对应逻辑磁盘中变化位置上的原始值,因此实现高速度、低空间消耗的优点,非常适合于对需要经常变化尤其随着时间变化的数据保留不同时间点的版本的管理。运用这一技术,可以依据要求在不同的时间点建立快照,这些快照通过计算呈献出原始磁盘在快照创建时的映像,即不同的版本,而不管原始磁盘现在已经变为何种状态。
快照备份做的不是数据的完整克隆,而是应用称为写前拷贝(Copy OnWrite,COW)的技术实现备份,对含有一个或多个快照的原始逻辑磁盘,当存在数据写入请求时,首先将需要写入的地址上的原始内容备份到快照空间中,然后再进行原始逻辑磁盘的写入。而当初次COW操作结束后,又存在对原始磁盘此数据地址进行写入时,则不再这个快照中执行COW操作了。由此,快照中保留了在其创建时原始磁盘某些地址上的数据。当访问某一快照时,即需要得到原始磁盘在快照对应时间点的版本的时候,运用快照技术从对应时间点的原始磁盘中读取没有改变的地址下数据,以及从快照中读取已改变的地址下的原始数据,进而整合为对应时间点的原始磁盘的完整版本。
逻辑磁盘的使用中,并非所有地址的数据都会有修改,因此,快照空间可以比对应的逻辑磁盘空间小,即可满足通常的需求,这就是快照相对克隆备份的低空闲消耗优点。但也因此,如果逻辑磁盘上修改的地址数量超出了快照空间,快照将无法完成写前拷贝,数据无法正确读取,造成快照的失效。因此快照失效的风险主要来自于空间的风险。
由于原始磁盘可能会持续的进行修改或写入,而需要在多个不同的时间点保存不同版本,因此常常会需要对应一个逻辑磁盘建立多个快照。公知快照技术中,所有快照的处理都是相同的,包含写前拷贝,因此在对逻辑磁盘写入时将引起每个快照上的数据写入。由此,一方面使得逻辑磁盘写入时会有多个快照的写入,会降低备份的速度,因此影响了逻辑磁盘数据备份的效率;另一方面,因为逻辑磁盘进行备份的多个快照之间是相互独立的,在不同时间点快照的数据会出现大量重复的现象,因此增加了每个快照的使用量,随之也增加了总体快照的空间占用量,加大了失效的风险。

发明内容
鉴于以上的问题,本发明的主要目的在于提供一种逻辑磁盘管理器的快照管理方法,不仅可实现快照高速备份的功能,还节省快照的储存空间容量。
因此,为达到上述目的,本发明所公开的逻辑磁盘管理器的快照管理方法包括有下列步骤在逻辑磁盘对应建有多个快照的情况下,对逻辑磁盘执行写前拷贝操作时,查找逻辑磁盘中即将进行数据写入的数据地址;其所对应不同时间点建立的快照中,对最后时间点所建立的快照,依据写前拷贝对即将进行数据写入的数据地址下的数据进行备份;当存在快照读取请求时,判断读取请求所对应的快照中是否存在请求数据地址;以及当快照中不存在该请求数据地址,且快照的所对应时间点不是最后时间点时,则向后查找晚于该快照的所对应时间点的多个快照,重复查找各快照中是否存在请求数据地址,直至查找到请求数据地址,并读取请求数据地址下的快照数据。
依据本发明的逻辑磁盘管理器的快照管理方法,其中当快照中存在请求数据地址时,则直接读取请求数据地址下的快照数据。
依据本发明的逻辑磁盘管理器的快照管理方法,其中当快照中不存在请求数据地址,且快照所对应的时间点为最后时间点时,则读取逻辑磁盘中对应请求数据地址下的原始数据。
依据本发明的逻辑磁盘管理器的快照管理方法,其中当需要从多个快照中删除快照时,且删除快照的所对应时间点不是最早时间点时,则将删除快照中对应数据地址下的数据添加到其前一快照中。
本发明借由将原始磁盘所对应的所有快照建立依赖关系,在对逻辑磁盘执行写前拷贝操作时,只对最后的快照有写入动作,因此不仅可以节约快照所需的储存空间,并避免公知技术的对其他已有多个快照写入所导致的效率降低的影响。
本发明另一种逻辑磁盘管理器的快照管理方法,该方法包括有下列步骤在对逻辑磁盘有数据写入请求时,其中该逻辑磁盘中建有多个对应不同时间点的快照,查找该逻辑磁盘中即将进行数据写入的数据地址;及依据写前拷贝操作对应的最后时间点的快照,对该逻辑磁盘即将进行数据写入的数据地址下的数据进行备份。
本发明所述的逻辑磁盘管理器的快照管理方法,还包括下列步骤当存在快照读取请求时,判断该读取请求所对应的快照中是否存在请求数据地址;以及当该快照中不存在该请求数据地址,且该快照的该所对应时间点不是最后时间点时,则向后查找晚于该快照的该所对应时间点的多个快照,直至查找到该请求数据地址,并读取该请求数据地址下的快照数据。
本发明所述的逻辑磁盘管理器的快照管理方法,其中当该快照中存在该请求数据地址时,则直接读取该请求数据地址下的快照数据。
本发明所述的逻辑磁盘管理器的快照管理方法,其中当该快照中不存在该请求数据地址,且该快照所对应的该时间点为该最后时间点时,则读取该逻辑磁盘中对应该请求数据地址下的原始数据。
本发明所述的逻辑磁盘管理器的快照管理方法,其中当需要从所述多个快照中删除快照时,且该删除快照的该所对应时间点不是最早时间点时,则将该删除快照中对应数据地址下的数据添加到其前一快照中。
此外,如果需要删除其它快照时,通过快照合并算法,将需删除快照中所记录的内容添加到其前面的快照中,可方便执行快照删除操作。因此,不会因为本发明的逻辑磁盘管理器的快照管理方法的各个快照的依赖性,而使得某一快照的删除导致其它快照的数据错误。


图1为在不同时间点的逻辑磁盘即将进行数据写入的数据地址及其数据内容示意图;图2a为依据公知技术的快照备份方法,第一快照在不同时间点的示意图;图2b为依据公知技术的快照备份方法,第二快照在不同时间点的示意图;图2c为依据公知技术的快照备份方法,第三快照示意图;图3为在不同时间点的快照对应的逻辑磁盘的原始数据示意图;图4为本发明的逻辑磁盘管理器的快照备份方法在不同时间点的快照示意图;图5为本发明逻辑磁盘管理器的快照管理方法的快照备份步骤流程图;以及图6为本发明逻辑磁盘管理器的快照管理方法的快照读取步骤流程图。
其中,附图标记说明如下10 逻辑块区 20 逻辑块区30 逻辑块区t1′时间点t2′ 时间点 t3′ 时间点S11 快照 S11′ 快照S11″快照S12 快照 S12′ 快照S13 快照S21 快照 S22快照S23 快照
30 表格301 数据区域302 数据区域303 数据区域304 数据区域步骤101当某一时间点逻辑磁盘存在数据写入时,找到最后时间点的快照步骤102在最后时间点的快照中,查找即将进行数据写入的数据地址步骤103依据写前拷贝操作,对即将进行数据写入的数据地址下的数据备份到快照中步骤104执行逻辑磁盘的数据地址的写入操作步骤105依照快照读取请求选中一快照步骤106判断快照中是否存在读取请求的数据地址?步骤107快照所对应时间点是否为最后时间点?步骤108向后查找晚于快照所对应时间点的多个快照步骤109读取逻辑磁盘中对应请求数据地址下的原始数据步骤110读取快照中请求数据地址所对应的快照数据具体实施方式
有关本发明的特征与实例,配合附图作最佳实施例详细说明如下。
在描述本发明的逻辑磁盘管理器的快照管理方法之前,首先结合附图对公知快照备份方法进行说明。
图1为在不同时间点的逻辑磁盘即将进行数据写入的数据地址及其数据内容示意图;图2a为依据公知技术的快照备份方法的第一快照在不同时间点的示意图;图2b为依据公知技术的快照备份方法的第二快照在不同时间点的示意图;图2c为依据公知技术的快照备份方法的第三快照的示意图;以及图3为在不同时间点的快照对应的逻辑磁盘的原始数据示意图。
图1为在不同时间点的逻辑磁盘即将进行数据写入的数据地址及其数据内容示意图,如图可知,逻辑块区10,20及30分别为在时间点t1′,t2′以及t3′对逻辑磁盘进行数据写入的数据地址及其对应的原始数据内容。
假设逻辑磁盘在t0时刻的各个地址及其对应原始数据内容如图3的数据区域301所示,图3为在不同时间点的快照对应的逻辑磁盘的原始数据示意图,其中以时间t与逻辑地址的两维变量所构成的表格30的形式给出。在某一时间点t1对当前逻辑磁盘的数据建立快照S11,此时为一个空的快照,即快照中没有记录任何数据。如果在建立快照后某时间点t1′,即t1<t1′时间点逻辑磁盘中有数据发生改变,例如数据地址0下的数据由A0变为A1,数据地址2下的数据由C0变为C1,其中上述数据分别储存在逻辑磁盘的储存单元一逻辑区块上。逻辑磁盘按“区块”为单位储存,在磁盘组中的所有逻辑磁盘的区块大小是相同的。逻辑磁盘相当于非LVM系统中的分区,它在磁盘组上建立,是一个标准的区块设备,可以在其上建立文件系统。假设逻辑磁盘的物理区块的容量大小为4MB。当建立逻辑磁盘时,则会建立逻辑区块与物理区块的一一映射关系。通过执行写前拷贝操作,则在t1时间点所建立的快照首先将数据A0和C0记录下来,得到如图2a所示的快照S11内容,其上包括两个逻辑区块所对应的逻辑地址下即将写入的数据A0与C0。
图2b为依据公知技术的快照备份方法,第二快照在不同时间点的示意图,在此,第二快照指快照S12。同样,当在时间点t2时又建立一个逻辑磁盘快照S12,此时快照仍然为空。在随后的时间点t2′,即t1′<t2<t2′时存在对逻辑磁盘的数据地址为4的数据E0进行修改,由E0改为E1,则执行写前拷贝操作得到如图2b所示的快照S12内容,而依据公知快照技术,此时快照S12中的数据写入同时也有对快照S11进行写入,进而变为如图2a所示的快照S11′内容。由图2a可知快照S11′为包含原快照S11及快照S12中所记录的数据内容。
在时间点t3′时,则依据t3时建立的快照及逻辑磁盘在t3′时间点的数据地址6下的写入操作,可得到如图2c所示的快照S13,图2c为依据公知技术的快照备份方法,第三快照,即快照S13的示意图。同样,快照S13的写入同时也有快照S11′与S12的写入,则此时快照S11′与S12变为分别如图2a及图2b所示的快照S11″和S12′,其中t2′<t3<t3′。从图2a及图2b可知,这时快照S11″中包含原快照S11、原快照S12与快照S13中所记录的数据内容;而快照S12′中包含原快照S12与快照S13中所记录的数据内容。
从图中可知,公知快照备份方法不仅会引起对多个快照的写入,还使得每个快照的备份数据量逐渐增加,进而增加所有快照的总体空间的占用。快照备份的次数越多,所需的逻辑磁盘的容量大小则越大,在第三次快照的写前拷贝操作之后,快照S11″所需容量达到16MB。
下面结合附图对本发明的逻辑磁盘管理器的快照备份方法进行说明。图4为本发明的逻辑磁盘管理器的快照备份方法在不同时间点的快照示意图,以及图5为本发明逻辑磁盘管理器的快照管理方法的快照备份步骤流程图。
图4为本发明的逻辑磁盘管理器的快照备份方法在不同时间点的快照示意图。假设逻辑磁盘在时间点t1′,t2′及t3′需要写入的逻辑地址及数据如图1所示,与公知技术所提及的相同。
图5为本发明逻辑磁盘管理器的快照管理方法的快照备份步骤流程图。如图所示,在已经对逻辑磁盘建立多个快照的情况下,当在某一时间点存在对逻辑磁盘的写入情况下,找到最后时间点建立的快照(步骤101),并在最后时间点的快照中,查找逻辑磁盘中即将进行数据写入的数据地址(步骤102),然后依据写前拷贝操作,将查找到的即将进行数据写入的数据地址下的数据记录到此快照中(步骤103)在快照记录后再执行对逻辑磁盘相应数据地址的数据写入(步骤104)。显然,如果逻辑磁盘只对应建有一个快照,则本发明的逻辑磁盘管理器快照管理方法与公知快照备份技术的效果是相同的。关于本发明逻辑磁盘管理器的快照管理方法的快照备份方法可结合图4及对公知快照备份技术的说明进行。
同样假设逻辑磁盘在t0时刻的各个地址及其对应原始数据内容如图3的数据区域301所示,而在某一时间点t1对当前逻辑磁盘的数据建立快照S21,此时快照中没有记录任何数据。在对数据地址为0和2的逻辑区块于t1′,t1<t1′时间点执行写入操作时,与公知技术相同,本发明的快照备份方法在需要对逻辑磁盘的写入数据地址下数据进行写前拷贝,对其中即将进行数据写入的数据地址下的数据备份到起初建立的空快照中,从而得到对应时间点t1′的快照S21内容。在时间点t2建立快照S22,在随后的时间点t2′,即t1′<t2<t2′时存在对逻辑磁盘的数据地址为4的数据进行修改,则执行写前拷贝操作得到对应时间点t2′的快照S22内容,而依据本发明的快照备份方法,此时快照S22中的数据写入时没有对快照S21进行写入,即写前拷贝只针对最后时间点的快照进行。同样,在t3建立快照S23,在随后的时间点t3′,即t2′<t3<t3′时存在对逻辑磁盘的数据地址为6的数据进行修改,则执行写前拷贝操作得到对应时间点t3′的快照S23内容,而依据本发明的快照备份方法,此时快照S23中的数据写入时没有对快照S21、S22进行写入,即写前拷贝只针对最后时间点的快照进行。
从图4可知,快照S21所需的容量大小为8MB,仅相当于快照S11的容量大小,而快照S22所需容量大小为4MB,相当于快照S12的容量大小,快照S23则占用相当于快照S13的容量的空间大小,因此相比公知技术所得的快照,本发明的上述快照所占用的容量大小明显减少。
下面则在本发明的逻辑磁盘管理器的快照备份方法基础上,进一步描述本发明逻辑磁盘管理器的快照读取方法。图6为本发明逻辑磁盘管理器的快照管理方法的快照读取步骤流程图。
如图所示,在存在逻辑磁盘的快照读取请求时,依照此快照读取请求选中一快照(步骤105),然后判断所选的快照中是否存在读取请求的数据地址(步骤106),若存在,则直接读取快照中请求数据地址所对应的快照数据(步骤110);否则,判断当前快照对应的时间点是否为最后时间点(步骤107),若是,则前进至步骤109,读取逻辑磁盘中对应请求数据地址所对应的原始数据;若不是最后时间点,则向后查找晚于快照所对应的时间点的多个快照(步骤108),然后判断查找的快照中是否存在读取请求的数据地址(步骤106),若存在,则前进至步骤110,读取快照中请求数据地址所对应的快照数据,如此循环直至所对应的时间点为最后时间点的快照。
借由本发明逻辑磁盘管理器的快照备份方法维护不同时间的快照,在逻辑磁盘发生误操作导致数据丢失的情况下,通过本发明逻辑磁盘管理器的快照读取方法对其进行恢复。下面将结合图3与图4对本发明的快照读取方法或者称作快照恢复方法进行说明。假若快照S22存在当前读取请求,快照的选择与逻辑磁盘内容需要恢复的时间点有关,这里选择快照S22即表示需要对逻辑磁盘的请求数据地址在t2时刻的内容进行读取。如果要求对快照S22中的数据地址为4所对应的快照数据进行读取,从图中可知,数据地址4存在于快照S22中,所以直接对快照数据E0读取。如果S22的读取请求要求读取数据地址为6的快照数据,通过判断可知快照S22中无此数据地址,则接着判断快照S22对应的时间点是否为最后时间点,如图示可知还存在晚于快照S22时间点的快照S23,因此向后查找快照S23,并判断快照S23中是否存在数据地址6。由于快照S23中存在数据地址6,所以读取此数据地址下的快照数据G0。另一种情况是,在快照S22存在对数据地址3的读取请求,无论是在快照S22中还是在晚于快照S22的快照S23中均不存在此数据地址,则直接读取数据地址3在逻辑磁盘中的数据内容D0。即,当需要访问快照S22时,其内容需要由快照S22与快照S23共同呈献,进而得到t2时间点逻辑磁盘的原始内容的正确结果,如图3的表格30的数据区域303所示。
同理,通过上述本发明的快照读取方法可知,当访问快照S21时,则逻辑磁盘在t1时刻的内容需要由快照S21,S22及S23共同呈献,如图3的表格30的数据区域302所示。而从快照S23则可直接读取逻辑磁盘在t3时间点的数据内容,如表格30中的数据区域304所示。
依据本发明的逻辑磁盘管理器的快照备份方法所得到的快照之间存在依赖关系,除了建立最早的快照不被其它快照依赖,因此可以在需要的情况下进行删除,但是其它各个快照不可随意删除,否则将造成其它快照的数据错误。如果需要删除,则首先借由快照合并方式,将欲删除的快照所记录的内容添加到其前一个快照中。
通过上述说明可以看出,本发明逻辑磁盘管理器的快照管理方法不仅可节省快照储存空间,而且减少了数据写入量,进而提高快照备份的效率。此外,快照读取方法中检索的数据量与公知方法中的检索数据量相同,因此也不会对数据读取的效率造成影响。
虽然本发明以前述的较佳实施例公开如上,然其并非用以限定本发明,任何本领域的技术人员在不脱离本发明的精神的范围内,可以作出的更改与修饰,因此本发明的专利保护范围须视本说明书所附的权利要求书所界定范围为准。
权利要求
1.一种逻辑磁盘管理器的快照管理方法,该方法包括有下列步骤在对逻辑磁盘有数据写入请求时,其中该逻辑磁盘中建有多个对应不同时间点的快照,查找该逻辑磁盘中即将进行数据写入的数据地址;依据写前拷贝操作对应的最后时间点的快照,对该逻辑磁盘即将进行数据写入的数据地址下的数据进行备份;当存在快照读取请求时,判断该读取请求所对应的快照中是否存在请求数据地址;以及当该快照中不存在该请求数据地址,且该快照的该所对应时间点不是最后时间点时,则向后查找晚于该快照的该所对应时间点的所述多个快照,直至查找到该请求数据地址,并读取该请求数据地址下的快照数据。
2.如权利要求1所述的逻辑磁盘管理器的快照管理方法,其中当该快照中存在该请求数据地址时,则直接读取该请求数据地址下的快照数据。
3.如权利要求1所述的逻辑磁盘管理器的快照管理方法,其中当该快照中不存在该请求数据地址,且该快照所对应的该时间点为该最后时间点时,则读取该逻辑磁盘中对应该请求数据地址下的原始数据。
4.如权利要求1所述的逻辑磁盘管理器的快照管理方法,其中当需要从所述多个快照中删除快照时,且该删除快照的该所对应时间点不是最早时间点时,则将该删除快照中对应数据地址下的数据添加到其前一快照中。
5.一种逻辑磁盘管理器的快照管理方法,该方法包括有下列步骤在对逻辑磁盘有数据写入请求时,其中该逻辑磁盘中建有多个对应不同时间点的快照,查找该逻辑磁盘中即将进行数据写入的数据地址;及依据写前拷贝操作对应的最后时间点的快照,对该逻辑磁盘即将进行数据写入的数据地址下的数据进行备份。
6.如权利要求5所述的逻辑磁盘管理器的快照管理方法,还包括下列步骤当存在快照读取请求时,判断该读取请求所对应的快照中是否存在请求数据地址;以及当该快照中不存在该请求数据地址,且该快照的该所对应时间点不是最后时间点时,则向后查找晚于该快照的该所对应时间点的所述多个快照,直至查找到该请求数据地址,并读取该请求数据地址下的快照数据。
7.如权利要求6所述的逻辑磁盘管理器的快照管理方法,其中当该快照中存在该请求数据地址时,则直接读取该请求数据地址下的快照数据。
8.如权利要求6所述的逻辑磁盘管理器的快照管理方法,其中当该快照中不存在该请求数据地址,且该快照所对应的该时间点为该最后时间点时,则读取该逻辑磁盘中对应该请求数据地址下的原始数据。
9.如权利要求5所述的逻辑磁盘管理器的快照管理方法,其中当需要从所述多个快照中删除快照时,且该删除快照的该所对应时间点不是最早时间点时,则将该删除快照中对应数据地址下的数据添加到其前一快照中。
全文摘要
一种逻辑磁盘管理器的快照管理方法,在有数据写入请求时,利用逻辑磁盘建有多个对应不同时间点的快照,查找逻辑磁盘中即将进行数据写入的数据地址,然后依据写前拷贝操作对应最后时间点的快照,对逻辑磁盘即将进行数据写入的数据地址下的数据进行备份。当存在快照读取请求时,判断读取请求所对应的快照中是否存在请求数据地址,若不存在请求数据地址且快照对应时间点不是最后时间点时,向后查找晚于快照对应时间点的多个快照,并读取请求数据地址下的快照数据。本发明可实现快照高速备份的功能,节省快照的储存空间容量。
文档编号G11B5/86GK1983212SQ20051012959
公开日2007年6月20日 申请日期2005年12月14日 优先权日2005年12月14日
发明者陈蕴弘, 陈玄同, 刘文涵 申请人:英业达股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1