一种基于磁盘io读写变化的高效快照技术的制作方法

文档序号:6481174阅读:172来源:国知局
专利名称:一种基于磁盘io读写变化的高效快照技术的制作方法
技术领域
本发明是关于一种磁盘数据保护功能,主要是通过快照技术来实现对系统的 保护。快照技术可在不中断当前业务的情况下生成存储系统在某个时间点即时一 致的数据镜像。快照技术极大的丰富了存储系统的功能,因而被广泛的应用于当 前的存储系统中。
背景技术
随着存储应用需求的提高,用户需要在线方式进行数据保护,快照就是在线 存储设备防范数据丢失的有效方法之一,越来越多的设备都开始支持这项功能。
SNIA (存储网络行业协会)对快照(Snapshot)的定义是关于指定数据集 合的一个完全可用拷贝,该拷贝包括相应数据在某个时间点(拷贝开始的时间点) 的映像。快照可以是其所表示的数据的一个副本,也可以是数据的一个复制品。 而从具体的技术细节来讲,快照是指向保存在存储设备中的数据的引用标记或指 针。我们可以这样理解,快照有点像是详细的目录表,但它被计算机作为完整的 数据备份来对待。
快照的作用主要是能够进行在线数据恢复,当存储设备发生应用故障或者文 件损坏时可以进行及时数据恢复,将数据恢复成快照产生时间点的状态。快照的 另一个作用是为存储用户提供了另外一个数据访问通道,当原数据进行在线应用 处理时,用户可以访问快照数据,还可以利用快照进行测试等工作。
但是快照的个数一般与磁盘空间的大小有关系,普通的快照实现方式一般快 照的空间是实际使用存储空间的50%左右,在采用依赖快照的实现中,也会产生比 较多的快照副本。这种情况下就遇到一个问题,如果再磁盘没有数据变化的情况 下,比如很多系统夜间数据基本没有变化,这时候如果依然不断的去做快照必然 会增加磁盘空间的压力,或者会产生一些无效多余的快照副本。
因此如何提供一种方法,使其应用在存储管理系统中,能够避免在使用快照 技术过程中,如果在磁盘没有变化的情况下,避免产生多余的快照副本,从而提 高快照的效率。

发明内容
本发明提供一种基于磁盘IO读写变化的高效快照技术,通过在执行磁盘快照 之前预先监控磁盘IP的变化,并且将磁盘10变化作为一个特定的标志位记录起 来,在创建新的快照时首先去读写IO状态标志位,以此来确定是否要进行快照,如果标志位为真则忽略此次快照,否则创建新的快照,从而有效的减少重复的快 照数量,提供快照效率。该系统体系结构包括应用层、文件系统层、快照系统 层、逻辑巻管理、磁盘监控管理和设备驱动层,其中
应用层主要为应用软件接口层,提供与用户交互, 一般可采用C++、 C#、 PHP、 Java等语言来实现,为用户提供一个功能演示和使用平台。
文件系统层文件系统管理层,基于快照系统层之上,系统文件层。
快照系统层此模块提供磁盘快照功能,主要包括快照创建,查询等功能, 根据应用层(l)传递的命令执行快照命令,在执行快照之前先调用磁盘监控管理获 取磁盘程序(5)读写标记位,然后根据读写"标记位"的状态,如果状态为真则调 用逻辑巻管理(4)最终在磁盘上形成一个数据镜像,然后将"标记位"设置为假。
逻辑巻管理调用系统逻辑巻管理的功能进行逻辑巻管理和快照管理的功能, 一般可以通过使用LVM或者EVMS等巻管理接口进行管理和封装。
磁盘监控管理此模块是最重要的模块,负责与设备驱动层交互实时监控磁
盘io读写的变化,每完成一次磁盘10读写就与"标记位"进行校验,将"标记
位"设置为真,每次io读写都重新设置。
设备驱动层设备驱动模块,主要以设备模式运行监控磁盘10变化,然后将
变化内容反馈到磁盘监控模块。
本发明的有益效果是基于磁盘IO读写变化的快照技术与不采用这种技术的
系统相比, 一般的系统能节约将近50%的快照空间,也大约能节约50%的冗余快照
个数。从而有效的提高快照的效率,为企业降低整个IT总成本。


附图1为基于磁盘10读写快照模式图; 附图2为基于磁盘IO实现的流程图。
具体实施例方式
下面参照附图,对本发明的内容以一个具体实例来描述实现这一体系结构的 过程。
正如发明内容中所描述的,本发明体系结构主要包括应用层、文件系统层、 快照系统层、逻辑巻管理、磁盘监控管理和设备驱动层。
在本体系结构中应用层的应用程序通过文件系统层与调用快照系统层的快照
管理命令来执行快照功能。磁盘监控管理和设备驱动层负责监控磁盘io读写的变 化,并且记录到"标志位"中。此"标志位"可以保存在内存中也可以保存在文 件中,以便于快照系统进行调用。
在附图2基于磁盘IO实现的流程图中,可以看到一般的数据写入,首先像系
统请求磁盘写入。磁盘监控管理截获请求,并且在一次请求写入完成之后,认为
5整个磁盘10写入已经完成,然后将标示磁盘10是否变化的"标志位"设置为真, 在下一次磁盘10请求完成之后,继续将"标志位"设置为真。也就是说,每一次 磁盘IO的读写都会将"标志位"设置为真。而在快照系统层中,每次为磁盘创建 快照之前,首先将记录磁盘IO是否变化的"标志位"读出来,只有"标志位"为 真,表示有磁盘io变化才进行快照,否则认为磁盘10没有变化,并不进行快照。
并且每次进行快照之后,将"标志位"设置为假。
至此,快照系统层和磁盘监控管理实现了基于磁盘10变化的高效快照过程。 普通的快照实现方式一般快照的空间是实际使用存储空间的50%左右,在采用依赖 快照的实现中,也会产生比较多的快照副本。在采用这种技术之后,如果再磁盘 没有数据变化的情况下,比如很多系统夜间数据基本没有变化,这时候就不会去 做快照,也就不会增加磁盘空间,造成无谓的空间浪费。也不会产生无效多余的 快照副本,方便与快照的管理。
因此采用基于磁盘IO读写变化的高效快照技术,使其应用在存储管理系统中, 能够避免在使用快照技术过程中,如果在磁盘没有变化的情况下,避免产生多余 的快照副本,从而提高快照的效率。
权利要求
1、一种基于磁盘IO读写变化的高效快照技术,其特征在于,通过在执行磁盘快照之前预先监控磁盘IP的变化,并且将磁盘IO变化作为一个特定的标志位记录起来,在创建新的快照时首先去读写IO状态标志位,以此来确定是否要进行快照,标志位为真则忽略此次快照,否则创建新的快照,从而有效的减少重复的快照数量,提供快照效率;提高快照效率的系统体系结构包括应用层、文件系统层、快照系统层、逻辑卷管理、磁盘监控管理和设备驱动层,其中应用层为应用软件接口层,提供与用户交互,采用C++、C#、PHP、Java语言来实现,为用户提供一个功能演示和使用平台;文件系统层文件系统管理层,基于快照系统层之上,系统文件层;快照系统层此模块提供磁盘快照功能,包括快照创建,查询功能,根据应用层(1)传递的命令执行快照命令,在执行快照之前先调用磁盘监控管理获取磁盘程序(5)读写标记位,然后根据读写“标记位”的状态,状态为真则调用逻辑卷管理(4)最终在磁盘上形成一个数据镜像,然后将“标记位”设置为假;逻辑卷管理调用系统逻辑卷管理的功能进行逻辑卷管理和快照管理的功能,通过使用LVM或者EVMS卷管理接口进行管理和封装;磁盘监控管理负责与设备驱动层交互实时监控磁盘IO读写的变化,每完成一次磁盘IO读写就与“标记位”进行校验,将“标记位”设置为真,每次IO读写都重新设置;设备驱动层设备驱动模块,以设备模式运行监控磁盘IO变化,然后将变化内容反馈到磁盘监控模块;快照步骤如下首先像系统请求磁盘写入,磁盘监控管理截获请求,并且在一次请求写入完成之后,认为整个磁盘IO写入已经完成,然后将标示磁盘IO是否变化的“标志位”设置为真,在下一次磁盘IO请求完成之后,继续将“标志位”设置为真,也就是说,每一次磁盘IO的读写都会将“标志位”设置为真,而在快照系统层中,每次为磁盘创建快照之前,首先将记录磁盘IO是否变化的“标志位”读出来,只有“标志位”为真,表示有磁盘IO变化才进行快照,否则认为磁盘IO没有变化,并不进行快照,并且每次进行快照之后,将“标志位”设置为假。
2、 根据权利要求1所述的快照系统层(3),其特征在于,在体系结构中,快 照执行是依赖于磁盘10的变化进行,而不是每次都执行,只有磁盘10在执行两 次快照之间发生了变化才会调用快照程序,否则并不执行,从而提供快照执行效 率,降低冗余快照,也降低因为快照而导致的磁盘空间的占用。
3、 根据权利要求1所述的所述的快照系统层(3),其特征在于在体系结构中,具有一个磁盘10读写的"标记位",其标记位保存在系统内存或者文件中,用于 判断是否创建快照用。
4、根据权利要求1所述的磁盘监控管理(5),其特征在于在体系结构中,磁 盘监控模块与设备驱动层交互实时监控磁盘10的读写。
全文摘要
本发明提供一种基于磁盘IO读写变化的高效快照技术,该技术是通过在执行磁盘快照之前预先监控磁盘IP的变化,并且将磁盘IO变化作为一个特定的标志位记录起来,在创建新的快照时首先去读写IO状态标志位,以此来确定是否要进行快照,标志位为真则忽略此次快照,否则创建新的快照,从而有效的减少重复的快照数量,提供快照效率;本发明的有益效果是基于磁盘IO读写变化的快照技术与不采用这种技术的系统相比,一般的系统能节约将近50%的快照空间,也大约能节约50%的冗余快照个数。从而有效的提高快照的效率,为企业降低整个IT总成本。
文档编号G06F11/14GK101650679SQ20091001734
公开日2010年2月17日 申请日期2009年7月27日 优先权日2009年7月27日
发明者刘正伟 申请人:浪潮电子信息产业股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1