CN1991778A - 快照扩容系统及方法 - Google Patents
快照扩容系统及方法 Download PDFInfo
- Publication number
- CN1991778A CN1991778A CN 200510135277 CN200510135277A CN1991778A CN 1991778 A CN1991778 A CN 1991778A CN 200510135277 CN200510135277 CN 200510135277 CN 200510135277 A CN200510135277 A CN 200510135277A CN 1991778 A CN1991778 A CN 1991778A
- Authority
- CN
- China
- Prior art keywords
- snapshot
- space
- volume
- data
- write
- 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
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种快照扩容系统及方法,是应用于逻辑卷管理器中,首先在逻辑卷的卷组空间中分配一快照空间,以创建快照,并且在对逻辑卷有数据写入请求时,比对快照空间的总容量与快照空间的当前保存数据量,以得到表示快照空间的剩余容量大小的差值,检查差值是否小于一默认值,当差值小于默认值时,从卷组空间中划分一容量空间,以通过由标准扩容算法对快照空间进行容量扩展。本发明可保证足够的快照空间容纳备份数据,并避免快照失效,进而保证了快照的可用性。
Description
技术领域
本发明是关于一种逻辑卷管理器(Logical Volume Manager,LVM)的快照扩容方法。
背景技术
逻辑卷管理器(Logical Volume Manager,LVM)是一种把硬盘空间划分成″弹性″逻辑卷的方法,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和分区之上的一个逻辑层,来提高磁盘分区管理的灵活性。使用LVM技术,硬盘不必重新分区也能够被简单地重新划分大小。LVM给我们带来了磁盘管理的灵活性。LVM的灵活性还体现在可以将若干个不同类型、不同大小的物理磁盘、分区组成多个逻辑卷(Logical Volumes,LV),也即虚拟分区来管理。
LVM的一个非常好的特性是快照(Snapshots)。快照为一种针对逻辑卷(LV)的备份方式,可以从逻辑卷创建,目的是保留原始磁盘备份的只读数据或保存在线数据的几个版本。快照只纪录对应逻辑卷中变化位置上的原始值,以次实现高速备份的功能,这一方式称为写前拷贝(Copy On Write,COW)。当逻辑卷中某个地址上有写入数据的请求时,预先将此地址上的原始逻辑数据备份下来,以此实现高速备份的功能。
建立快照时,需要首先在逻辑卷中划分一快照空间,以存放所有在本快照生存期间改变的数据。一般来说快照可大可小,但必须有足够的快照空间。在创建快照之前,逻辑卷必须分配有快照储存空间。在创建逻辑卷时如果未分配足够的快照储存空间,则在完成快照之前,可能会面临用完存储空间的危险。例如在有些情况下,如果原始逻辑卷上改变的地址增多时,使得备份数据量逐步增加,并超过了快照的尺度后,快照就无法保存多出的资料,而发生了备份数据与原始数据无法比对的问题,进而导致快照的失效。此外,在逻辑卷为区块设备时,上述情况出现的可能性会更高。如果发生这种情况,则会破坏快照数据致使以前的快照不可用。
发明内容
鉴于以上的问题,本发明的主要目的在于提供一种逻辑卷管理器的快照扩容系统及方法,是应用于逻辑卷管理器中,能够在快照空间的剩余容量减少到某一大小的情况下对其容量自动进行扩展,通过以解决现有技术所存在的问题及缺陷。
因此,为达上述目的,本发明所揭露的快照扩容系统包含有一分配模块,一侦测模块以及一扩容模块。于此,分配模块在逻辑卷一卷组空间中分配一快照空间,以创建快照;侦测模块用以比对快照空间的总容量与快照空间的当前保存数据量,以得到表示快照空间的剩余容量大小的差值,并将差值与一默认值进行比较;扩容模块以从卷组空间中划分一容量空间,并通过由标准扩容算法对快照空间进行容量扩展。
依据本发明的快照扩容系统,当快照空间的容量扩展失败时,侦测模块标记快照为一失效快照。
依据本发明的快照扩容系统,更包含有一快照模块,是用以当快照空间的容量扩展成功时,对数据写入请求对应的数据执行写前拷贝,以备份数据至快照中。
此外,本发明所揭露的快照扩容方法,是应用于逻辑卷管理器中,此方法包含有下列步骤:在逻辑卷的卷组空间中分配一快照空间,以创建一快照;在对逻辑卷有一数据写入请求时,比对快照空间的总容量与快照空间的一当前保存数据量,以得到表示快照空间的剩余容量大小的差值;检查差值是否小于一默认值;以及当差值小于默认值时,从卷组空间中划分一容量空间,以通过由标准扩容算法对快照空间进行容量扩展。
依据本发明的快照扩容方法,所分配的快照空间为卷组空间的10%~20%。
依据本发明的快照扩容方法,当快照空间的容量扩展失败时,更包含有标记快照为失效的步骤;当快照空间的容量扩展成功时,更包含有在逻辑卷进行数据写入前将数据写入请求对应的数据拷贝至快照中的步骤。
本发明的快照扩容系统及方法通过由在执行快照写入拷贝之前,对快照剩余空间大小进行侦测,并在剩余空间小于一默认值时执行快照空间的自动扩容,进而本发明保证了足够的空间容纳快照的备份数据,保护快照不会失效,确保其可用性。
以下结合附图和具体实施例对本发明进行详细描述,但不作为对本发明的限定。
附图说明
图1为现有快照管理方法的步骤流程图;
图2至图3为本发明的快照扩容方法的步骤流程图;以及
图4为本发明的快照扩容系统的系统方块图。
其中,附图标记:
10 快照扩容系统
12 分配模块
14 快照模块
16 侦测模块
18 扩容模块
步骤101 对逻辑卷有写入请求
步骤102 对快照执行写前拷贝操作
步骤103 写前拷贝是否成功?
步骤104 写前拷贝数据量超出快照的空间容量,标记快照为失效
步骤105 执行对逻辑卷的写入
步骤201 在逻辑卷的卷组空间中分配一快照空间,以创建一快照
步骤202 对逻辑卷发出一写入请求
步骤203 比对快照空间的总容量与快照空间的当前保存数据量
步骤204 得到表示快照空间剩余容量大小的差值
步骤205 依照差值判断快照空间剩余容量是否小于一默认值
步骤206 从卷组空间中划分一容量空间,并通过一标准扩容算法对快照空间进行容量扩展
步骤207 扩容是否成功?
步骤208 对快照执行写前拷贝操作
步骤209 写前拷贝是否成功?
步骤210 执行对逻辑卷的数据写入
步骤211 拒绝对快照写入数据
步骤212 标记快照为失效
具体实施方式
有关本发明的特征与实作,兹配合图式作最佳实施例详细说明如下。
在对本发明的快照扩容方法进行说明之前,先参考一下现有的快照管理技术,图1为现有技术的快照管理方法。从图中可以看出,当系统对逻辑卷数据发出一写入请求后(步骤101),LVM管理模块检查到对应请求的的快照存在后,则对快照执行写前拷贝操作(步骤102),以将逻辑卷即将写入数据的地址上数据进行备份。然后询问上述快照的写前拷贝是否成功(步骤103),若是成功,则前进至步骤105,执行对逻辑卷的地址下的数据进行写入操作;否则表示表示写前拷贝的数据量已经超出快照空间的空间容量,则标记此快照为失效(步骤104),因此弃之不再使用。然后直接对逻辑卷执行写入操作(步骤105)。从现有快照管理方法可知,假若预先设定的快照空间较小,而针对逻辑卷上各个地址执行的多次修改执行多次的写前拷贝操作,则快照中记录的数据总量也随之增加,当逻辑卷上的数据修该超出所建快照的剩余空间容量后,快照则会由于无法保存多出的数据而导致失效。假若预先设定的快照空间较大,则可能由于不能充分利用而导致浪费。
下面结合图2与图3对本发明的快照扩容方法进行说明,上述两图为本发明的快照扩容方法的步骤流程图。由图可知,首先在逻辑卷的卷组空间中分配一快照空间,以创建一快照(步骤201)。在第一次创建逻辑卷或第一次有快照请求时,在创建快照之前,逻辑卷必须有快照空间,系统将快照存储在此快照空间区域。在创建逻辑卷时分配快照空间的好处在于可以确保快照有足够的可用空间。一般而言,快照空间可大可小,但必须有足够的空间存放所有在此快照生存期间改变的数据,如分配的快照空间不够,快照将不能使用。如果过大,则会造成可能的空间浪费。由于原始逻辑卷中并非所有地址的的数据都会改变,而往往是集中在某些地址,因此,这里设定分配的快照空间大小只为对应逻辑卷的10%到20%。
在分配好快照空间后,则可以在对逻辑卷存在有写入请求时,依据写前拷贝技术对逻辑卷有数据写入的地址上的数据进行备份(步骤202),并储存到开始创建的空的快照中。在创建快照之后,对原始逻辑卷数据的后续更改会保存快照空间中。随着备份数据的增加,快照中剩余的空间也随之减小,此外,快照保留的时间越长,所需的快照空间就越大。因此在对逻辑卷再存在数据写入时,则需要比对快照空间的总容量与快照空间当前保存的数据量(步骤203),以检查快照是否还有剩余空间可用以继续数据备份。透过比对得到一差值,即表示快照空间剩余容量大小的值(步骤204)。然后依照差值的大小与一默认值进行比较,判断快照当前的剩余空间容量是否小于默认值(步骤205),这里默认值为事先设定的表示空间容量的值,以提前判断是否会由于空间太小而导致快照失效。依照上面快照分配的空间为10%至20%来看,可设定默认值为5%至8%,或者结合实际情况,例如逻辑卷需要写入的数据大小等,选择其它默认值。经过判断,如果差值小于默认值,则表明快照当前剩余空间可能不足以储存当前写入请求对应的数据,因此需要从逻辑卷的卷组空间再划分出一容量空间,并通过由标准扩容算法对当前的快照空间进行扩展(步骤206)。划分的容量空间大小可以与初始分配的快照空间相同,或者依照实际情况进行设定。标准扩容算法为现有的扩容技术。如果差值不小于默认值,则前进至步骤208。图中符号A表示本发明的快照扩容方法的后续步骤。
在进行快照扩容之后,需要判断扩容是否成功(步骤207),如果扩容失败,说明逻辑卷中已经没有剩余空间用以划分到当前快照中,因此拒绝对快照中写入数据(步骤211),并标记快照为失效(步骤212),快照失效即表示此快照已不能用以得到逻辑卷的原始状态,也不能用以执行对逻辑卷的写前拷贝,因此,逻辑卷直接进行对数据的写入(步骤210)。如果快照扩容成功,则对快照执行写前拷贝操作,以将逻辑卷的写入请求对应地址上的数据拷贝到扩容后的快照中(步骤208)。步骤209可进一步对写前拷贝操作进行判断,如果成功,则执行对逻辑卷的数据写入(步骤210);否则标记快照为失效,即从此快照也不能得到逻辑卷的原始状态(步骤212)。至此,完成了本发明的快照扩容方法的全部步骤。
下面将结合图4对本发明的快照扩容系统进行说明,此图为本发明的快照扩容系统的系统方块图。
请参考图4,从图中可知,本发明的快照扩容系统10包含有分配模块12,侦测模块16以及扩容模块18。分配模块12用以在逻辑卷的卷组空间中分配一快照空间,以创建一快照。由于原始逻辑卷中并非所有地址的的数据都会改变,而往往是集中在某些地址,因此,这里设定分配的快照空间大小只为对应逻辑卷的10%到20%。
侦测模块14用以比对快照空间的总容量与快照空间的当前保存数据量,以得到表示快照空间的剩余容量大小的差值,并将差值与一默认值进行比较。默认值为事先设定的表示空间容量的值,以在向快照空间写入数据前,侦测模块16判断是否会由于空间太小而导致快照失效。可依照快照分配的初始空间,经验值或者实际情况等确定默认值的大小。如果侦测模块16判断差值小于默认值,则表明快照当前剩余空间可能不足以储存当前写入请求对应的数据,这时则需要启动扩容模块18。
扩容模块18用以从逻辑卷的卷组空间中划分一容量空间,并通过由标准扩容算法对快照空间进行容量扩展。从虚空间所划分的容量空间可与初始分配的快照空间相同,为对应逻辑卷的10%到20%,或者依照经验值进行设定。当快照空间的容量扩展失败时,侦测模块16将快照标记为一失效快照,即表示快照已不能用以得到逻辑卷的原始状态,也不能用以执行对逻辑卷的写前拷贝。
此外,从图中可知,本发明的快照扩容系统更包含有快照模块14,用以对数据写入请求对应的数据执行写前拷贝,以备份数据至快照中。当快照空间的容量扩展成功时,侦测模块16启动快照模块14对逻辑卷执行写前拷贝,在逻辑卷进行数据写入前将数据写入请求对应的数据拷贝至快照中。然后,再进行对逻辑卷的数据写入。进而本发明不仅可避免由于所设快照空间过大所导致的浪费,又使得快照不会因为备份数据的增加、缺少足够的数据空间而致使快照中的数据失效。
当然,本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
Claims (8)
1.一种快照扩容方法,是应用于一逻辑卷管理器中,该方法包含有下列步骤:
在一逻辑卷的一卷组空间中分配一快照空间,以创建一快照;
在对该逻辑卷有一数据写入请求时,比对该快照空间的总容量与该快照空间的一当前保存数据量,以得到表示该快照空间的剩余容量大小的一差值;检查该差值是否小于一默认值;以及
当该差值小于该默认值时,从该卷组空间中划分一容量空间,以通过由一标准扩容算法对该快照空间进行容量扩展。
2.如权利要求1所述的快照扩容方法,其特征在于,该快照空间为该卷组空间的10%~20%。
3.如权利要求1所述的快照扩容方法,其特征在于,当该快照空间的容量扩展失败时,更包含有标记该快照为失效的步骤。
4.如权利要求1所述的快照扩容方法,其特征在于,当该快照空间的容量扩展成功时,更包含有在该逻辑卷进行数据写入前将该数据写入请求对应的数据拷贝至该快照中的步骤。
5.一种快照扩容系统,是应用于一逻辑卷管理器中,该系统包含有:
一分配模块,是用以在一逻辑卷的一卷组空间中分配一快照空间,以创建一快照;
一侦测模块,是用以比对该快照空间的总容量与该快照空间的当前保存数据量,以得到表示该快照空间的剩余容量大小的一差值,并将该差值与一默认值进行比较;以及
一扩容模块,是用以从该卷组空间中划分一容量空间,并通过由一标准扩容算法对该快照空间进行容量扩展。
6.如权利要求5所述的快照扩容系统,其特征在于,当该快照空间的容量扩展失败时,该侦测模块标记该快照为一失效快照。
7.如权利要求5所述的快照扩容系统,其特征在于,该快照空间为该卷组空间的10%~20%。
8.如权利要求5所述的快照扩容系统,更包含有一快照模块,是用以当该快照空间的容量扩展成功时,对该数据写入请求对应的数据执行写前拷贝,以备份该数据至该快照中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200510135277 CN1991778A (zh) | 2005-12-29 | 2005-12-29 | 快照扩容系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200510135277 CN1991778A (zh) | 2005-12-29 | 2005-12-29 | 快照扩容系统及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1991778A true CN1991778A (zh) | 2007-07-04 |
Family
ID=38214049
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200510135277 Pending CN1991778A (zh) | 2005-12-29 | 2005-12-29 | 快照扩容系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1991778A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101808243A (zh) * | 2010-03-11 | 2010-08-18 | 杭州华三通信技术有限公司 | 一种基于快照的数据处理方法和设备 |
CN102541750A (zh) * | 2011-12-31 | 2012-07-04 | 曙光信息产业股份有限公司 | 数据快照的实现方法和装置 |
CN105095102A (zh) * | 2015-08-12 | 2015-11-25 | 浪潮(北京)电子信息产业有限公司 | 一种快照卷自动扩容的方法及装置 |
CN106227472A (zh) * | 2016-08-19 | 2016-12-14 | 浪潮(北京)电子信息产业有限公司 | 一种自精简卷扩容方法及系统 |
CN110032474A (zh) * | 2019-04-12 | 2019-07-19 | 苏州浪潮智能科技有限公司 | 一种快照占用容量的确定方法、系统及相关组件 |
CN110377228A (zh) * | 2019-06-19 | 2019-10-25 | 深圳壹账通智能科技有限公司 | 区块链节点的自动扩容方法、装置、运维终端及存储介质 |
CN110990356A (zh) * | 2019-12-04 | 2020-04-10 | 厦门市美亚柏科信息股份有限公司 | 一种用于逻辑镜像的实时自动扩容方法和系统 |
-
2005
- 2005-12-29 CN CN 200510135277 patent/CN1991778A/zh active Pending
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101808243A (zh) * | 2010-03-11 | 2010-08-18 | 杭州华三通信技术有限公司 | 一种基于快照的数据处理方法和设备 |
CN101808243B (zh) * | 2010-03-11 | 2012-04-18 | 杭州华三通信技术有限公司 | 一种基于快照的数据处理方法和设备 |
CN102541750A (zh) * | 2011-12-31 | 2012-07-04 | 曙光信息产业股份有限公司 | 数据快照的实现方法和装置 |
CN105095102A (zh) * | 2015-08-12 | 2015-11-25 | 浪潮(北京)电子信息产业有限公司 | 一种快照卷自动扩容的方法及装置 |
CN106227472A (zh) * | 2016-08-19 | 2016-12-14 | 浪潮(北京)电子信息产业有限公司 | 一种自精简卷扩容方法及系统 |
CN110032474A (zh) * | 2019-04-12 | 2019-07-19 | 苏州浪潮智能科技有限公司 | 一种快照占用容量的确定方法、系统及相关组件 |
CN110377228A (zh) * | 2019-06-19 | 2019-10-25 | 深圳壹账通智能科技有限公司 | 区块链节点的自动扩容方法、装置、运维终端及存储介质 |
CN110990356A (zh) * | 2019-12-04 | 2020-04-10 | 厦门市美亚柏科信息股份有限公司 | 一种用于逻辑镜像的实时自动扩容方法和系统 |
CN110990356B (zh) * | 2019-12-04 | 2022-05-24 | 厦门市美亚柏科信息股份有限公司 | 一种用于逻辑镜像的实时自动扩容方法和系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1991778A (zh) | 快照扩容系统及方法 | |
US10445180B2 (en) | Apparatus and method for managing data storage | |
US10409508B2 (en) | Updating of pinned storage in flash based on changes to flash-to-disk capacity ratio | |
JP6286478B2 (ja) | 記憶デバイスおよび記憶空間割当方法 | |
US9355028B2 (en) | Data-storage device and flash memory control method | |
EP1212681B1 (en) | Method and system for backing up and restoring files stored in a single instance store | |
KR101618634B1 (ko) | 비휘발성 메모리와, 이의 페이지 동적할당장치 및 페이지 매핑장치와, 이의 페이지 동적할당방법 및 페이지 매핑방법 | |
US7185165B2 (en) | Invariant memory page pool and implementation thereof | |
US9330105B1 (en) | Systems, methods, and computer readable media for lazy compression of data incoming to a data storage entity | |
US6477544B1 (en) | Single instance store for file systems | |
US6631478B1 (en) | Technique for implementing high performance stable storage hierarchy in a computer network | |
US7971025B2 (en) | Method and apparatus for chunk allocation in a thin provisioning storage system | |
CN107656834B (zh) | 用于基于事务日志恢复主机访问的系统和方法及存储介质 | |
US20140351552A1 (en) | Working set swapping using a sequentially ordered swap file | |
US7941406B2 (en) | Techniques for snapshotting | |
US11995318B2 (en) | Deallocated block determination | |
US11474724B2 (en) | System and method for speed up data rebuild in a distributed storage system with local deduplication | |
WO2021159711A1 (zh) | 一种b+树的存取方法、装置和计算机可读存储介质 | |
US20170104820A1 (en) | Method for logical mirroring in a memory-based file system | |
JP4726909B2 (ja) | ストレージ階層内のデータの冗長記憶を管理する方法、システムおよびコンピュータ・プログラム | |
US8019953B2 (en) | Method for providing atomicity for host write input/outputs (I/Os) in a continuous data protection (CDP)-enabled volume using intent log | |
JP2009230367A (ja) | 情報処理装置及び情報処理方法 | |
US20200379686A1 (en) | Flash registry with write leveling | |
US20130205072A1 (en) | Asynchronous bad block management in nand flash memory | |
CN112835511A (zh) | 分布式存储集群的数据写入方法、装置、设备和介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |