用于针对当前数据和回放数据在不同raid数据存储类型之间转移数据的系统和方法

xiaoxiao2020-7-22  11

专利名称:用于针对当前数据和回放数据在不同raid数据存储类型之间转移数据的系统和方法
技术领域
本公开涉及一种用于在数据存储系统中的不同RAID数据存储类型之间转移数据的系统和方法。更具体地,本公开涉及一种用于针对当前数据和回放(replay)数据在不同 RAID数据存储类型之间转移数据的系统和方法。
背景技术
RAID存储通常用于当前数据存储系统或存储区域网络(SAN)中。存在许多不同级别的 RAID,包括 RAID 0、RAID URAID 3、RAID 4、RAID 5、RAID 6、RAID 10 等。例如,RAID 5可以使用块级别条带,其中校验数据分布于所有成员磁盘。通常,如果数据被写入RAID 5条带中的数据块,则校验块(P)也必须被重新计算和重新写入。这要求对校验块计算并写入新校验,并且对数据块写入新数据。这还要求从所述数据块读取旧数据。因此,就磁盘操作以及磁盘和RAID控制器之间的通信而言,RAID 5的写入相对昂贵。所述校验块在数据块的读取产生错误时被读取。每个剩余数据块以及RAID 5条带中的校验块被用来重建发生读取错误的数据块中的数据。如果磁盘阵列中的整个磁盘出现故障,则来自当前磁盘(live disk)的分布式校验块与来自当前磁盘的数据块进行数学合并(即,异或)以在故障驱动器上重建数据。从一种观点来看,RAID 6通过添加附加校验块(Q)而改进了 RAID 5配置。其使用具有分布于所有成员磁盘的两个校验块(P和Q)的块级别条带。因此,RAID 6针对双重磁盘故障提供了保护,例如,在重建故障磁盘的同时出现的故障。当单个数据块的读取产生错误时,可以使用一个校验块(P)来重建所述数据块中的数据。当两个数据块的读取均产生错误时,就使用两个校验块(P和Q)来重建所述数据块中的数据。由于需要执行读取-修改-写入操作来更新数据和校验块(RAID 5的P或者RAID 6的P和Q),所以RAID 5和RAID 6级别的部分条带写入请求相对低效。因此,RAID 5和 RAID 6的配置通常在面临包括许多写入的工作负载时遭受低性能。在RAID 5和RAID 6配置中的读取操作期间,当没有磁盘出现故障时不读取校验块。RAID 5和RAID 6的读取性能通常类似于诸如RAID 0之类的其它RAID级别。另一方面,RAID 10并不具有RAID 5和RAID 6级别所示范的写惩罚(write penalty). RAID 10通常被用于高负载数据库,因为校验块的缺少允许RAID 10拥有更快的写入速度。RAID 10是两种不同RAID级别一 RAID 1和RAID 0的特定组合。RAID 10之所以具有吸引力是因为RAID 1提供了高级别的可用性而RAID 0则提供了最高性能。然而, RAID 5和RAID 6具有大大高于RAID 10的存储效率。因此,本领域需要一种用于在数据存储系统中的不同RAID数据存储类型之间转移数据的系统和方法。本领域进一步需要一种用于针对当前数据和回放数据在不同RAID 数据存储类型之间转移数据的系统和方法。类似地,本领域需要一种用于在RAID 5和/或 RAID 6级别和RAID 10级别之间转移数据的系统和方法,其中能够在最为需要的时候利用每种RAID配置的优势。

发明内容
在一个实施例中,本公开涉及一种用于在RAID存储系统的数据存储类型之间转移数据的方法。所述方法包括提供接受读取和写入请求的数据存储空间的活动卷(active volume),并且生成所述活动卷的只读快照。在某些实施例中,所述活动卷被转换为只读快照。所述活动卷包括第一类型的RAID存储,而所述快照包括第二类型的RAID存储。所述第一类型的RAID存储具有低于所述第二类型的RAID存储的写惩罚。在典型实施例中,所述第一类型的RAID存储包括RAID 10存储,而所述第二类型的RAID存储包括RAID 5和/ 或RAID 6存储。在进一步的实施例中,本公开的方法包括生成只读快照数据的视野卷(view volume)。所述视野卷能够接受读和写请求。因此,所述视野卷包括写惩罚低于用于所述只读快照数据的RAID存储类型的RAID存储类型。在某些实施例中,所述视野卷包括RAID 10存储。在另一个实施例中,本公开涉及一种数据存储系统,其包括具有第一和第二类型的RAID存储的RAID子系统。所述数据存储系统进一步包括存储在第一类型的RAID存储上的被配置为接受I/O的虚拟卷,以及存储在第二类型的RAID存储上的所述虚拟卷的一个或多个快照。所述第一类型的RAID存储具有低于第二类型的RAID存储的写惩罚。虽然公开了多个实施例,但是根据示出和描述本发明的说明性实施例的以下详细描述,本发明的其它实施例对于本领域技术人员而言也将是显而易见的。如所要实现的,本发明能够在各个明显的方面进行修改而完全不会背离本发明的精神和范围。因此,附图和详细描述本质上将被视为说明而非限制性的。


虽然该说明书以特别指出并清楚请求保护被认为形成本发明的主题的权利要求得出结论,但是,相信根据以下结合附图所进行的描述,本发明将会被更好地理解,其中。图1是依据本公开一个实施例的在多个示例性时间间隔的数据存储结构的快照的示意图。图2是依据本公开一个实施例的PITC生命周期的流程图。
具体实施例方式本公开涉及一种用于在数据存储系统中的不同RAID数据存储类型之间转移数据的系统和方法。更具体地,本公开涉及一种用于针对当前数据和回放数据在不同RAID数据存储类型之间转移数据的系统和方法。此外,本公开涉及一种在RAID 5和/或RAID 6级别和RAID 10级别之间转移数据的系统和方法,其中可以在最为需要时利用每种RAID配置的优势。本公开的实施例可以供任意适当的数据存储系统或SAN使用。在一个实施例中, 本公开的系统和方法可以供在2004年8月13日提交的题为Virtual Disk Drive System and Method,并且在2005年3月10日以美国公开No. 2005/0055603公布的美国专利申请No. 10/918329中所公开的数据存储系统使用,其全部内容结合于此作为参考。美国专利申请No. 10/918329公开了一种改进的磁盘驱动系统,其允许动态数据分配和磁盘驱动虚拟化。所述磁盘驱动系统可以包括RAID子系统和磁盘管理器,所述RAID子系统具有保存RAID自由列表和磁盘存储块矩阵的存储页面池,所述磁盘管理器具有至少一个磁盘存储系统控制器。所述RAID子系统和磁盘管理器可以基于RAID至磁盘的映射跨所述存储页面池或磁盘存储块矩阵以及多个磁盘驱动动态地分配数据。诸如美国专利申请 No. 10/918329中所描述的磁盘驱动系统可以包括允许虚拟卷矩阵或磁盘存储块池的时间点副本(Point-In-Time Copy, PITC)的高效数据存储的动态数据分配和快照功能、即时数据融合和用于数据备份、恢复、测试等的数据即时回放、远程数据存储和数据分级管理 (data progression)等,这些均在美国专利申请No. 10/918329进行了详细描述。这里所公开的新的系统和方法提供了之前还没有在数据存储系统中获得的特征。 例如,对于诸如当前数据或回放/备份数据之类的不同类型的数据而言,可以将数据存储在不同RAID级别中。在一个实施例中,在能够最为高效地利用每种RAID配置的优势时,存储在RAID 5和/或RAID 6级别中的数据可以被转移至RAID 10级别,反之亦然。特别地, RAID 5和/或RAID 6存储通常可以被用于只读数据,原因在于RAID 5和RAID 6级别通常对于读取操作是高效的,但是不足之处在于包括针对写入操作的惩罚。RAID 5和RAID 6 还有利地提供相对良好的数据保护。RAID 10存储通常可以被用于读取和写入数据这二者, 原因在于RAID 10存储在读取和写入操作这两方面都相对高效。然而,以下仅出于示例的目的,RAID 5和RAID 6具有实质上高于RAID 10的存储效率
支持相对良好的读取和写入性能
RAID 10,单镜像为50%空间有效,并且支持任意单驱动故障
RAID 10,双镜像为33%空间有效,并且支持任意双驱动故障支持相对良好的读取性能
RAID 5,5宽(wide)为80%空间有效,并且支持任意单驱动故障
RAID 5,9宽为89%空间有效,并且支持任意单驱动故障
RAID 6,6宽为67%空间有效,并且支持任意双驱动故障
RAID 6,10宽为80%空间有效,并且支持任意双驱动故障。在一个实施例中,当数据被提交为只读时,其可以从RAID 10存储转移或移动到 RAID 5和/或RAID6存储。在一些实施例中,RAID 10存储可以被用于当前数据,而RAID 5和/或RAID 6存储可以被用于回放数据。在进一步的实施例中,存储系统中的大部分数据可以被存储在RAID 5和/或RAID 6存储中。在一个实施例中,如美国专利申请No. 10/918329中所描述的数据即时融合方法可以以用户所定义的时间间隔、用户所配置的动态时间标签(例如,每几分钟或小时等)或者服务器所指示的时间或时间间隔自动地生成RAID子系统的PITC。在系统故障或病毒攻击的情况下,如美国专利申请No. 10/918329中所描述的,在大约几分钟或小时等内,这些加时间标签的虚拟PITC可以允许数据即时回放和数据即时恢复。也就是说,数据可以在损坏或攻击之前不久被及时融合,并且为了未来的操作,可以立即使用或立即回放在损坏或攻击之前所存储的PITC。如图1所示,在每个预先确定的时间间隔(例如,5分钟),诸如Tl (12:00 PM)、T2(12:05 PM)、T3 (12:10 PM)和T4 (12:15 PM),可以自动生成存储页面池、磁盘存储块矩阵或任意其它适当数据存储结构的PITC,例如以下进一步详细描述的活动PITC。所述PITC的地址索引或者任意适当数据存储系统或SAN中的存储页面池、磁盘存储块矩阵或其它适当数据存储结构的增量(delta)可以存储在所述存储页面池、磁盘存储块矩阵或其它适当数据存储结构中,以使得所述PITC或者所述存储页面池、磁盘存储块矩阵或其它适当数据存储结构的增量可以经由所存储的地址索引被立即定位。所述PITC可以被存储在本地RAID 子系统或者远程RAID子系统,从而如果主系统(例如由于建筑失火)出现损坏,数据的完整性不会受到影响,并且所述数据能够被立即恢复或回放。可以使用任意适当或所需的RAID 级别来存储融合的或PITC数据。在一个实施例中,PITC可以存储在RAID 5和/或RAID 6 存储级别中,以使得所述数据接收到RAID 5和/或RAID 6级别所提供的数据保护。即时数据融合和数据即时回放的另一个特征是PITC能够被用于在系统保持运行的同时进行测试。换句话说,真实数据可以被用于实时测试。如以下所描述的,在一些实施例中,PITC数据可以被转移至RAID 10存储以用于测试(例如,如以下所描述,可以使用存储在RAID 5和/或RAID 6存储中的PITC数据在RAID 10存储上创建视野卷)。在其它实施例中,PITC数据可以保留在RAID 5和/或RAID 6存储中以用于测试(例如,如以下所描述的,可以在RAID 5和/或RAID 6上创建视野卷)。使用快照的卷基本上可以与没有快照的卷一样地操作。在一个实施例中,卷的顶级PITC可以被称作活动PITC (AP)0 AP可以满足对所述卷的所有读取和写入请求。在一个实施例中,所述AP可以是接受写入请求的所述卷仅有的PITC。所述AP还可以包含该卷内所有数据的当前位置的概要。在一个实施例中,所述AP可以仅追踪之前PITC和当前的顶级PITC或AP之间的差异。例如,所述AP可以追踪针对所述卷的写入。如图2所示,在PITC生命周期的一个实施例中,顶级PITC或AP在其被提交为只读之前可以经历以下多个状态。如之前所提到的,PITC可以被存储在一个RAID级别并且接着在需要时被转移至另一 RAID级别。在一个实施例中,PITC可以在能够接受针对卷的写入时存储在RAID 10存储中,并且可以在其被提交为只读之后存储在RAID 5和/或RAID 6中。因此,PITC可以在接收RAID 10的与写入操作相关联的优势并避免RAID 5和/或 RAID 6的与写入操作相关联的劣势的同时,还接收RAID 5和/或RAID 6为只读数据所提供的数据保护。顶级PITC的典型生命周期包括一个或多个以下状态
1.分配存储空间一可以在磁盘上为PITC动态生成存储空间。此时对表格进行写入可以保证在取得PITC之前分配存储表格信息所需的空间。同时,还可以将PITC对象提交至磁盘。虽然可以使用任意适当的RAID级别来存储所述PITC,但是在一个实施例中,可以使用RAID 10存储;
2.接受I/O—所述PITC可以成为AP。其目前可以处理针对卷的读取和写入请求。在一个实施例中,这可以是仅有的接受针对所述表格的写入请求的状态。所述PITC可以生成其目前为AP的事件。如之前所描述的,可以在PITC为AP时使用RAID 10存储。RAID 10 是具有吸引力的,原因在于其提供了高级别的可用性和高性能,并且并不受到与诸如RAID 5或RAID 6之类的其它一些RAID级别相关联的写惩罚的影响;
3.作为只读提交至磁盘一所述PITC不再是AP,并且可能不再接受额外页面。新的AP 已经接管,并且所述PITC现在可以为只读。在此之后,在一个实施例中,所述表格可能不再
6改变,除非其在接合操作期间被移除。所述PITC可以进一步生成其被冻结或提交的事件。 任意服务都可以监听到所述事件。在一个实施例中,当PITC不再是AP并且变为只读时,与所述PITC相关联的数据可以从RAID 10转移到RAID 5和/或RAID 6存储。如之前所描述的,在一些情况下,由于数据可以在读取错误或磁盘故障之后进行恢复,所以RAID 5和 RAID 6可以提供更为高效的数据保护。由于所述PITC已经变为只读,所以RAID 5和/或 RAID 6的写惩罚可以被最小化或者被消除。在一个实施例中,为了备份和恢复操作之外的更多操作,可以进一步使用即时数据融合和数据即时回放以利用RAID子系统的磁盘存储块的PITC。在一个实施例中,PITC可以在其为AP时记录针对卷的写入操作,从而可以从所述PITC创建“视野”来看到卷在过去的内容。也就是说,快照可以通过对卷的之前PITC创建视野来支持数据恢复或其它功能。 视野卷可以对之前PITC的数据提供访问,并且可以支持正常的卷I/O操作,包括读取和写入操作。在一个实施例中,视野卷功能可以附于卷内的任意PITC。在进一步的实施例中,从所述卷的当前状态所取得的视野可以从当前卷AP进行复制。附于PITC可以是相对快的操作,并且在一些实施例中,视野卷创建可以近似瞬时地进行并且可以不需要数据副本。在一个实施例中,视野卷可以分配来自父卷的空间。删除视野卷可以将空间释放回父卷。如以下所描述的,在一些实施例中,之前PITC的视野或视野卷可以使用RAID 5和/或RAID 6存储来完成。可选地,可以使用RAID 10存储从RAID 5和/或RAID 6存储中所存储的PITC 数据来创建视野或视野卷。视野卷功能的示例性用途可以包括测试、训练、备份和恢复。在一个实施例中,视野或视野卷可以包含其自己的AP以记录针对PITC的写入。使用所述AP,视野卷可以允许针对该视野卷的写入操作而无需对基本的卷数据进行修改。单个卷可以支持多个子视野卷。在一个实施例中,PITC可以存储在一个或多个RAID级别中,并且所述PITC的视野卷可以在相同RAID级别的存储中创建。例如,PITC可以存储在RAID 5和/或RAID 6存储级别中,并且该PITC的视野卷也可以使用RAID 5和/或RAID 6存储来创建。在进一步的实施例中,PITC可以被存储在一个或多个RAID级别中,并且该PITC的视野卷可以在一个或多个不同RAID级别的存储中创建。例如,PITC可以被存储在RAID 5和/或RAID 6存储级别中,并且该PITC的视野卷可以使用RAID 10存储来创建。这样,所述PITC可以保留 RAID 5和RAID 6所提供的数据保护,并且可以接受写入操作的该视野卷可以避免与RAID 5和RAID 6存储相关联的写惩罚。虽然已经参考优选实施例对本发明进行了描述,但是本领域技术人员将会认识到,可以在形式和细节上进行改变而不会背离本发明的精神和范围。例如,虽然以上已经参考RAID 5、RAID 6和RAID 10存储对实施例进行了描述,但是数据可以在可以适当利用每种RAID级别的优势时在任意适当的RAID存储级别之间进行转移。此外,虽然实施例已经被描述为在RAID 5和/或RAID 6存储中存储只读数据,但是所述数据无需是只读的。在一些实施例中,所述数据可以接受读取和写入操作这二者。在一些实施例中,虽然写入操作可以包括比读取操作小很多的操作部分,但是与RAID 5和/或RAID 6相关联的写惩罚仍然能够因此而被最小化。
权利要求
1.一种用于在RAID存储系统的数据存储类型之间转移数据的方法,包括提供接受I/O的数据存储空间的活动卷;并且生成所述活动卷的只读快照;其中所述活动卷包括第一类型的RAID存储,并且所述快照包括第二类型的RAID存储。
2.如权利要求1所述的方法,其中所述第二类型的RAID存储包括RAID5或RAID 6存储中的至少一个。
3.如权利要求1所述的方法,其中所述第一类型的RAID存储包括RAID10存储。
4.如权利要求3所述的方法,其中所述第二类型的RAID存储包括RAID5或RAID 6存储中的至少一个。
5.如权利要求1所述的方法,进一步包括生成可以接受I/O的只读快照的视野卷。
6.如权利要求5所述的方法,其中所述视野卷包括第三类型的RAID存储。
7.如权利要求6所述的方法,其中所述第三类型的RAID存储与第一类型的RAID存储相同。
8.一种用于在RAID存储系统的数据存储类型之间转移数据的方法,包括提供包括第一类型的RAID存储的活动卷,所述活动卷被配置为接受I/O ;将所述活动卷转换为所述活动卷的只读时间点副本;其中将所述活动卷转换为只读时间点副本包括将数据从第一类型的RAID存储转移到第二类型的RAID存储。
9.如权利要求8所述的方法,其中所述第一类型的RAID存储具有低于所述第二类型的 RAID存储的写惩罚。
10.如权利要求9所述的方法,其中所述第二类型的RAID存储包括RAID5或RAID 6 存储中的至少一个。
11.如权利要求9所述的方法,其中所述第一类型的RAID存储包括RAID10存储。
12.如权利要求11所述的方法,其中所述第二类型的RAID存储包括RAID5或RAID 6 存储中的至少一个。
13.如权利要求11所述的方法,进一步包括生成可以接受I/O的只读快照的视野卷,其中所述视野卷包括第一类型的RAID存储。
14.一种数据存储系统,包括包括第一和第二类型的RAID存储的RAID子系统;存储在第一类型的RAID存储上的被配置为接受I/O的虚拟卷;存储在第二类型的RAID存储上的所述虚拟卷的一个或多个快照。
15.如权利要求14所述的数据存储系统,其中所述第一类型的RAID存储具有低于第二类型的RAID存储的写惩罚。
16.如权利要求15所述的数据存储系统,其中所述第二类型的RAID存储包括RAID5 或RAID 6存储中的至少一个。
17.如权利要求15所述的数据存储系统,其中所述第一类型的RAID存储包括RAID10 存储。
18.如权利要求17所述的数据存储系统,其中所述第二类型的RAID存储包括RAID5 或RAID 6存储中的至少一个。
全文摘要
本公开涉及一种数据存储系统,其包括具有第一和第二类型的RAID存储的RAID子系统。被配置为接受I/O的虚拟卷被存储在第一类型的RAID存储上,而所述虚拟卷的快照被存储在第二类型的RAID存储上。本公开的方法包括提供接受I/O的活动卷并且生成所述卷的只读快照。在特定实施例中,所述活动卷被转换为快照。所述活动卷包括第一类型的RAID存储,而所述快照包括第二类型的RAID存储。第一类型的RAID存储具有低于第二类型的RAID存储的写惩罚。在典型实施例中,第一类型的RAID存储包括RAID10存储,而第二类型的RAID存储包括RAID5和/或RAID6存储。
文档编号G06F3/06GK102177496SQ200980139655
公开日2011年9月7日 申请日期2009年8月7日 优先权日2008年8月7日
发明者L·E·阿什曼, M·J·克莱姆 申请人:康佩伦特科技公司

最新回复(0)