CN105302665A - 一种改进的写时拷贝快照方法及系统 - Google Patents

一种改进的写时拷贝快照方法及系统 Download PDF

Info

Publication number
CN105302665A
CN105302665A CN201510656775.9A CN201510656775A CN105302665A CN 105302665 A CN105302665 A CN 105302665A CN 201510656775 A CN201510656775 A CN 201510656775A CN 105302665 A CN105302665 A CN 105302665A
Authority
CN
China
Prior art keywords
write
snapshot
module
raid
source book
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
CN201510656775.9A
Other languages
English (en)
Other versions
CN105302665B (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 Anyun Information Technology Co., Ltd.
Original Assignee
Beijing Xin Kean Cloud Information Technology Co Ltd
SHENZHEN ANYUN INFORMATION 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 Beijing Xin Kean Cloud Information Technology Co Ltd, SHENZHEN ANYUN INFORMATION TECHNOLOGY Co Ltd filed Critical Beijing Xin Kean Cloud Information Technology Co Ltd
Priority to CN201510656775.9A priority Critical patent/CN105302665B/zh
Publication of CN105302665A publication Critical patent/CN105302665A/zh
Application granted granted Critical
Publication of CN105302665B publication Critical patent/CN105302665B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本申请公开了一种改进的写时拷贝快照方法,快照涉及的源卷和快照卷均由独立冗余磁盘阵列RAID实现,该方法包括:A、接收到针对源卷的写IO后,根据写IO所在源卷的RAID类型,使用相对应的RAID算法,定位该写IO对应的条带;B、判断该条带是否已建立快照,若是执行步骤D,否则执行步骤C;C、使用读改写的方式将所述整个条带的数据读取出来写入快照卷,并将写IO的数据写入源卷,然后结束本次快照IO;D、将写IO的数据写入源卷。本申请还公开了一种改进的写时拷贝快照系统。本申请方案可以减少模块之间的交互,极大提升快照性能。

Description

一种改进的写时拷贝快照方法及系统
技术领域
本申请涉及计算机数据存储技术领域,尤其涉及一种改进的写时拷贝快照方法及系统。
背景技术
信息技术的加速发展,使得企业的关键业务数据的规模日益膨胀,企业不仅要求存储容量越来越大,对数据安全的要求以及响应要求也越来越高。随着存储应用需求的提高,用户需要在线的备份和保护数据。快照(Snapshot)技术是一种有效地在线数据保护方法,能够快速的实现在线数据备份。快照是指定数据集合的一个完全可用拷贝,该拷贝包括指定数据集合在某个时间点的映像。指定数据集合称为源卷,某个时间点的映像称为快照卷。
目前的快照技术主要有两种:写时拷贝(COW,Copy-On-Write)和重定向写(ROW,Redirect-On-Write)。其中写时拷贝技术在创建快照时,不进行任何数据拷贝,仅需为源数据区初始化快照引用指针索引,标识该时间点的数据实际所处位置,瞬间即可完成创建写时拷贝快照。因此,写时拷贝技术占用空间小,创建速度快,且对源数据区访问性能影响较小,广泛应用于各种快照系统中。
写时拷贝技术按指定大小单元将源数据区划分为若干数据块(chunk),数据块是快照处理数据的基本单位。写时拷贝的原理如下:创建写时拷贝快照后,当源卷收到写数据请求时,存储系统首先查找快照引用指针索引,判断源卷待修改的数据块是否建立了引用指针,若该数据块未建立引用指针,则先将该数据块拷贝到快照卷,并建立该数据块的引用指针,然后更新源卷数据块;若该数据块已经建立了引用指针,则表示该数据块已经拷贝到快照数据区,可直接更新该数据块。这样快照数据区就备份了源卷快照后所有的更改数据,即生成了源卷在快照创建时间点的映像。
独立冗余磁盘阵列系统(RAID)是一种把多块独立的磁盘按不同的方式组合起来形成一个磁盘组(逻辑卷),从而提供比单个磁盘更高的存储性能和提供数据冗余保护的技术。RAID技术的原理,就是把数据和相对应的奇偶校验信息以条带的形式存储到组成RAID系统的各个磁盘上,并且奇偶校验信息和相对应的数据分别存储于不同的磁盘上。当RAID系统的一个磁盘数据发生损坏后,利用剩下的数据和相应的奇偶校验信息去恢复被损坏的数据。
现有的写时拷贝快照的实现流程如图1所示,其中涉及的模块交互如图2所示。现有的写时拷贝快照的实现流程包括:
步骤101:快照模块201接收到第一写IO时,先把第一写IO放在等待队列;
步骤102:快照模块201生成用于读取写IO所对应的源卷的原有数据的第一读IO,下发所述第一读IO到缓存模块202,缓存模块202将第一读IO下发到RAID模块203,RAID模块203从源卷204读取数据返回给缓存模块202,缓存模块202再将所述数据返回给快照模块201;
步骤103:快照模块201生成将读取的数据写入快照卷205的第二写IO,下发第二写IO到缓存模块202,由缓存模块202将第二写IO下发到RAID模块203,最后由RAID模块203将数据写入快照卷205,然后将写成功消息返回给缓存模块202,由缓存模块202返回给快照模块201;
步骤104:快照模块201将放在等待队列的第一写IO下发到缓存模块202,由缓存模块202下发到RAID模块203,最后由RAID模块203写入源卷204。
步骤105:RAID模块203将写成功消息返回给缓存模块202,由缓存模块202返回给快照模块201。
至此,一个快照IO的业务全部完成,继续下一个快照IO业务。
现有的写时拷贝快照方法中,当有快照业务时,存储系统需要先将新接收到的数据所对应的源卷原有的数据读出来,然后将源卷原有的数据写入快照卷,再将新接收到的数据写入源卷,这样,每进行一次写时拷贝操作,需要一个读IO和两个写IO,IO数量增多,流程复杂,需要多个模块之间多次交互,响应时间很慢,快照性能难以提高。
发明内容
本申请提供了一种改进的写时拷贝快照方法及系统,减少了模块之间的交互,可以极大提升快照性能。
本申请实施例提供的一种改进的写时拷贝快照方法,快照涉及的源卷和快照卷均由独立冗余磁盘阵列RAID实现,该方法包括:
A、接收到针对源卷的写IO后,根据写IO所在源卷的RAID类型,使用相对应的RAID算法,定位该写IO对应的条带;
B、判断该条带是否已建立快照,若是执行步骤D,否则执行步骤C;
C、使用读改写的方式将所述整个条带的数据读取出来写入快照卷,并将写IO的数据写入源卷,然后结束本次快照IO;
D、将写IO的数据写入源卷。
较佳地,步骤C以及步骤D之后,进一步包括:返回写成功消息。
本申请实施例还提供了一种快照系统,包括:快照模块、缓存模块、RAID模块、源卷和快照卷,快照模块用于接收针对源卷的写IO,并将写IO下发到缓存模块,以及接收来自缓存模块的写成功消息;
缓存模块用于将快照模块下发的写IO下发到RAID模块,以及将RAID模块返回的写成功消息发送到快照模块;
RAID模块用于接收缓存模块下发的写IO,根据写IO所在源卷的RAID类型,使用相对应的RAID算法,定位该写IO对应的条带,判断该条带是否已建立快照,若是,使用读改写的方式将所述整个条带的数据读取出来写入快照卷,并将写IO的数据写入源卷;否则将写IO的数据写入源卷;当数据写入源卷后,将写成功消息返回给缓存模块。
本申请实施例还提供了一种改进的写时拷贝快照方法,该方法由如前所述的快照系统实现,包括如下步骤:
快照模块接收针对源卷的写IO,并将写IO下发到缓存模块;缓存模块将快照模块下发的写IO下发到RAID模块;
RAID模块用于接收缓存模块下发的写IO,根据写IO所在源卷的RAID类型,使用相对应的RAID算法,定位该写IO对应的条带,判断该条带是否已建立快照,若是,使用读改写的方式将所述整个条带的数据读取出来写入快照卷,并将写IO的数据写入源卷;否则将写IO的数据写入源卷;当数据写入源卷后,将写成功消息返回给缓存模块;
缓存模块将RAID模块返回的写成功消息发送到快照模块。
从以上技术方案可以看出,利用RAID系统中读改写的特点生成快照,只需要执行一个写IO,IO数量减少,多个模块之间只需要一次交互,流程简洁,大部分的工作在RAID模块内即可完成,大大的提高了快照性能。
附图说明
图1为现有的写时拷贝快照的实现流程示意图;
图2为现有的写时拷贝快照实现过程中模块交互示意图;
图3为本申请实施例提供的写时拷贝快照的实现流程示意图;
图4为本申请实施例提供的写时拷贝快照实现过程中模块交互示意图。
具体实施方式
为使本申请技术方案的技术原理、特点以及技术效果更加清楚,以下结合具体实施例对本申请技术方案进行详细阐述。
在RAID系统中,写操作分为:整条写、重构写和读改写。
整条写:条带上的所有数据段(segment)都更新,不需要额外的读写操作,写性能最好。
重构写:当需要写入的磁盘数目超过阵列磁盘的一半时采取该方式,包括:
(1)从条带中不需要修改的数据段中读取原来的数据,再和本条带中所有需要修改的数据段上的新数据一起计算XOR校验值;
(2)将新数据以及新的XOR校验值一起写入条带。
例如:
数据盘为8块,某个时刻一个IO只更新了一个条带的6个数据段,剩余两个没有更新。在重构写模式下,会将没有更新的两个数据段的数据读出,和需要更行的前6个数据段计算出校验数据,然后新数据和校验信息一起写入磁盘。
读改写:
当需要写入的磁盘数目不超过一半时采取该方式,包括:
(1)从需要修改的segment中读取旧数据,再从条带上读取旧的奇偶校验值;
(2)根据旧数据、旧校验值和需要修改的数据段上的新数据计算这个条带上的新校验值;
(3)写入新的数据和校验值。
从读改写的原理可以看出,读改写本身就包含了读取条带原有数据的操作,因此可以利用该读操作来生成快照。本申请实施例提出的改进的写时拷贝快照方法,快照涉及的源卷和快照卷均由独立冗余磁盘阵列RAID实现,其基本设计思想是:
A、接收到针对源卷的写IO后,根据写IO所在源卷的RAID类型,使用相对应的RAID算法,定位该写IO对应的条带;
B、判断该条带是否已建立快照,若是执行步骤D,否则执行步骤C;
C、使用读改写的方式将所述整个条带的数据读取出来写入快照卷,并将写IO的数据写入源卷,然后结束本次快照IO;
D、将写IO的数据写入源卷。该步骤不限定写操作的具体方式,根据IO的情况选择效率最高的写入方式即可。
这样,快照模块只需要执行一个写IO,IO数量减少,多个模块之间只需要一次交互,流程简洁,大部分的工作在RAID模块内即可完成,大大的提高了快照性能。
本申请实施例提供的写时拷贝快照的实现流程如图3所示,其中涉及的模块交互如图4所示。该写时拷贝快照的实现流程包括:
步骤301:快照模块201接收到针对源卷的写IO时,将写IO下发到缓存模块202,由缓存模块202下发到RAID模块203;
步骤302:RAID模块203根据写IO所在源卷的RAID类型,使用相对应的RAID算法,定位该写IO对应的条带。
步骤303:RAID模块203判断该条带是否已建立快照,若是,执行步骤305,否则执行步骤304。
步骤304:RAID模块203使用读改写的方式将所述整个条带的数据读取出来写入快照卷205,并将写IO的数据写入源卷204,然后执行步骤306。
现有的读改写是从条带中不需要修改的数据段中读取原来的数据,而实际上读取整个条带的数据与读取条带的部分数据的机器开销基本是一样的
步骤305:RAID模块203将写IO的数据写入源卷204。
步骤306:RAID模块203将写成功消息返回给缓存模块202,由缓存模块202返回给快照模块201。
至此一个快照IO的业务全部完成,继续下一个快照IO业务。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请的保护范围,凡在本申请技术方案的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

Claims (4)

1.一种改进的写时拷贝快照方法,其特征在于,快照涉及的源卷和快照卷均由独立冗余磁盘阵列RAID实现,该方法包括:
A、接收到针对源卷的写IO后,根据写IO所在源卷的RAID类型,使用相对应的RAID算法,定位该写IO对应的条带;
B、判断该条带是否已建立快照,若是执行步骤D,否则执行步骤C;
C、使用读改写的方式将所述整个条带的数据读取出来写入快照卷,并将写IO的数据写入源卷,然后结束本次快照IO;
D、将写IO的数据写入源卷。
2.根据权利要求1所述的方法,其特征在于,步骤C以及步骤D之后,进一步包括:返回写成功消息。
3.一种快照系统,包括:快照模块、缓存模块、RAID模块、源卷和快照卷,其特征在于,
快照模块用于接收针对源卷的写IO,并将写IO下发到缓存模块,以及接收来自缓存模块的写成功消息;
缓存模块用于将快照模块下发的写IO下发到RAID模块,以及将RAID模块返回的写成功消息发送到快照模块;
RAID模块用于接收缓存模块下发的写IO,根据写IO所在源卷的RAID类型,使用相对应的RAID算法,定位该写IO对应的条带,判断该条带是否已建立快照,若是,使用读改写的方式将所述整个条带的数据读取出来写入快照卷,并将写IO的数据写入源卷;否则将写IO的数据写入源卷;当数据写入源卷后,将写成功消息返回给缓存模块。
4.一种改进的写时拷贝快照方法,其特征在于,该方法由如权利要求3所述的快照系统实现,包括如下步骤:
快照模块接收针对源卷的写IO,并将写IO下发到缓存模块;缓存模块将快照模块下发的写IO下发到RAID模块;
RAID模块用于接收缓存模块下发的写IO,根据写IO所在源卷的RAID类型,使用相对应的RAID算法,定位该写IO对应的条带,判断该条带是否已建立快照,若是,使用读改写的方式将所述整个条带的数据读取出来写入快照卷,并将写IO的数据写入源卷;否则将写IO的数据写入源卷;当数据写入源卷后,将写成功消息返回给缓存模块;
缓存模块将RAID模块返回的写成功消息发送到快照模块。
CN201510656775.9A 2015-10-12 2015-10-12 一种改进的写时拷贝快照方法及系统 Active CN105302665B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510656775.9A CN105302665B (zh) 2015-10-12 2015-10-12 一种改进的写时拷贝快照方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510656775.9A CN105302665B (zh) 2015-10-12 2015-10-12 一种改进的写时拷贝快照方法及系统

Publications (2)

Publication Number Publication Date
CN105302665A true CN105302665A (zh) 2016-02-03
CN105302665B CN105302665B (zh) 2018-02-02

Family

ID=55199957

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510656775.9A Active CN105302665B (zh) 2015-10-12 2015-10-12 一种改进的写时拷贝快照方法及系统

Country Status (1)

Country Link
CN (1) CN105302665B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106598786A (zh) * 2016-12-30 2017-04-26 郑州云海信息技术有限公司 一种存储快照写时复制处理系统和方法
CN107368393A (zh) * 2017-07-28 2017-11-21 郑州云海信息技术有限公司 一种存储快照的方法及装置
CN107608623A (zh) * 2016-07-11 2018-01-19 中兴通讯股份有限公司 一种异步远程复制的方法、装置和系统
CN109491605A (zh) * 2018-11-01 2019-03-19 郑州云海信息技术有限公司 一种基于cow的数据存储方法、装置和介质
CN110750221A (zh) * 2019-10-30 2020-02-04 杭州宏杉科技股份有限公司 卷克隆方法、装置、电子设备及机器可读存储介质
CN111966531A (zh) * 2020-07-21 2020-11-20 苏州浪潮智能科技有限公司 数据快照方法、装置、计算机设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060123211A1 (en) * 2004-12-08 2006-06-08 International Business Machines Corporation Method for optimizing a snapshot operation on a file basis
CN101482838A (zh) * 2009-02-06 2009-07-15 杭州华三通信技术有限公司 基于写时拷贝的数据写入方法及设备
CN101520743A (zh) * 2009-04-17 2009-09-02 杭州华三通信技术有限公司 基于写时拷贝的数据存储方法、系统及设备
CN101840362A (zh) * 2009-10-28 2010-09-22 创新科存储技术有限公司 一种改进的写时拷贝快照的实现方法和装置
CN103412824A (zh) * 2013-07-19 2013-11-27 华为技术有限公司 写时拷贝快照方法及装置
CN104484242A (zh) * 2014-12-10 2015-04-01 上海爱数软件有限公司 一种写时拷贝快照备份过程中可断点传输的方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060123211A1 (en) * 2004-12-08 2006-06-08 International Business Machines Corporation Method for optimizing a snapshot operation on a file basis
CN101482838A (zh) * 2009-02-06 2009-07-15 杭州华三通信技术有限公司 基于写时拷贝的数据写入方法及设备
CN101520743A (zh) * 2009-04-17 2009-09-02 杭州华三通信技术有限公司 基于写时拷贝的数据存储方法、系统及设备
CN101840362A (zh) * 2009-10-28 2010-09-22 创新科存储技术有限公司 一种改进的写时拷贝快照的实现方法和装置
CN103412824A (zh) * 2013-07-19 2013-11-27 华为技术有限公司 写时拷贝快照方法及装置
CN104484242A (zh) * 2014-12-10 2015-04-01 上海爱数软件有限公司 一种写时拷贝快照备份过程中可断点传输的方法

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107608623A (zh) * 2016-07-11 2018-01-19 中兴通讯股份有限公司 一种异步远程复制的方法、装置和系统
CN107608623B (zh) * 2016-07-11 2021-08-31 中兴通讯股份有限公司 一种异步远程复制的方法、装置和系统
CN106598786A (zh) * 2016-12-30 2017-04-26 郑州云海信息技术有限公司 一种存储快照写时复制处理系统和方法
CN106598786B (zh) * 2016-12-30 2020-02-07 郑州云海信息技术有限公司 一种存储快照写时复制处理系统和方法
CN107368393A (zh) * 2017-07-28 2017-11-21 郑州云海信息技术有限公司 一种存储快照的方法及装置
CN107368393B (zh) * 2017-07-28 2020-10-20 苏州浪潮智能科技有限公司 一种存储快照的方法及装置
CN109491605A (zh) * 2018-11-01 2019-03-19 郑州云海信息技术有限公司 一种基于cow的数据存储方法、装置和介质
CN110750221A (zh) * 2019-10-30 2020-02-04 杭州宏杉科技股份有限公司 卷克隆方法、装置、电子设备及机器可读存储介质
CN110750221B (zh) * 2019-10-30 2023-05-16 杭州宏杉科技股份有限公司 卷克隆方法、装置、电子设备及机器可读存储介质
CN111966531A (zh) * 2020-07-21 2020-11-20 苏州浪潮智能科技有限公司 数据快照方法、装置、计算机设备及存储介质
CN111966531B (zh) * 2020-07-21 2022-07-12 苏州浪潮智能科技有限公司 数据快照方法、装置、计算机设备及存储介质
US11907076B2 (en) 2020-07-21 2024-02-20 Inspur Suzhou Intelligent Technology Co., Ltd. Data snapshot method and apparatus, computer device, and storage medium

Also Published As

Publication number Publication date
CN105302665B (zh) 2018-02-02

Similar Documents

Publication Publication Date Title
CN105302665A (zh) 一种改进的写时拷贝快照方法及系统
CN102945201B (zh) 已验证数据集合的非易失性介质日志记录
CN102012852B (zh) 一种增量写快照的实现方法
CN102929748B (zh) 数据备份方法及装置
CN106255953B (zh) 持久性数据存储体中的前向参考记录的方法和系统
US20170123944A1 (en) Storage system to recover and rewrite overwritten data
CN102929750A (zh) 非易失性介质肮脏区段跟踪
US9690651B2 (en) Controlling a redundant array of independent disks (RAID) that includes a read only flash data storage device
CN102096561B (zh) 分层数据存储处理方法、装置以及存储设备
CN103617097B (zh) 文件恢复方法及装置
CN104035830A (zh) 一种数据恢复方法和装置
CN101556802B (zh) 一种raid阵列转换的方法及装置
KR20170023735A (ko) 스토리지 저널링을 개선하는 방법 및 시스템
CN103049539A (zh) 一种文件系统中文件数据的存储方法及其装置
WO2017143843A1 (zh) 元数据修复方法及装置
CN110555055A (zh) 针对Oracle数据库重做日志文件的数据挖掘方法
CN103430178A (zh) 数据更新方法及装置和产品
CN102024021A (zh) 一种逻辑文件系统元数据的日志方法
CN102096613B (zh) 一种生成快照的方法及装置
CN112119380B (zh) 带有旁路的奇偶校验记录
US20140025910A1 (en) Storage device, control device, and control method
CN102024052B (zh) 一种数据存储系统事务的实现方法和装置
CN102033717B (zh) 基于磁盘阵列的数据存储方法及系统
CN105095352B (zh) 应用于分布式系统的数据处理方法及装置
US9128823B1 (en) Synthetic data generation for backups of block-based storage

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20160913

Address after: 518057 Guangdong city of Shenzhen province Nanshan District Hing Road two No. 6 Shenzhen building B403 - III University Wuhan University

Applicant after: Shenzhen Anyun Information Technology Co., Ltd.

Address before: 518057 Guangdong city of Shenzhen province Nanshan District Hing Road two No. 6 Shenzhen building B403 - III University Wuhan University

Applicant before: Shenzhen Anyun Information Technology Co., Ltd.

Applicant before: Beijing Xin Kean cloud Information Technology Co., Ltd

GR01 Patent grant
GR01 Patent grant