一种磁盘存储系统及其数据访问方法

文档序号:6355785阅读:411来源:国知局
专利名称:一种磁盘存储系统及其数据访问方法
技术领域
本发明涉及计算机以及网络信息存储技术,尤其涉及计算机或网络设备内磁盘存 储系统及其数据访问方法。
背景技术
独立冗余磁盘阵列(RAID,Redundant Array of Independent Disks)技术,是将 N台硬盘通过RAID控制器(由硬件或软件实现)组成虚拟单台大容量的硬盘使用,其特点 是加快对N台硬盘同时读取速度及提供容错性,主要包含RAIDO RAID6数个类型规范。在各类存储介质中,磁盘设备由于采用了电机驱动,因此故障率最高,平均故障间 隔(MTBF,Mean Time Between Failure)指标也最低,因此使用磁盘保护技术至关重要。使 用RAID技术便是为了在磁盘出现故障的情况下保护数据。当故障发生时,根据用户所使用 的RAID类型,故障磁盘上的数据会通过校验值计算或者从镜像盘拷贝的方式重新生成。在RAID技术刚产生及被采用的时期,单磁盘容量一般只有几个GB,故RAID重建时 间通常只需要数十分钟至一小时即可完成。但是随着磁盘设备制造商不断地增加磁盘设备 的单位存储密度,目前已经有了 2TB(1TB = 10MGB)的 SATA (Serial Advanced Technology Attachment,硬盘接口规范)磁盘,而4TB的高容量磁盘也会在2010年底出现;即便是高性 能的 SASGerial Attached SCSI, SCSI 即 Small Computer System Interface)磁盘和光 纤通道磁盘,也在向单磁盘高容量(600GB)发展。在对这些高容量磁盘进行数据重建的时 候,重建时间可能会达到数小时甚至数天;并且,长时间频繁地读写磁盘上数据导致磁盘失 效的情况也越来越常见。由此可见,普通高容量磁盘采用传统的RAID技术的弱点已经尤为 明显。目前,多数由高端磁盘阵列组成的高端存储系统正在向PB级(1PB = 1024TB)存 储容量迈进,其磁盘数量也已经到达数百块;而多数高端磁盘阵列仍采取传统的RAID技 术,其固有的可靠性缺陷在数以百计的磁盘数量和PB级存储容量面前表现的更加突出。因此,无论是针对日益发展的普通高容量磁盘系统,还是针对高端存储系统对数 据可靠性要求很高的情况,都需对现有的数据存储技术加以改进,以有效地提高磁盘存储 数据的可靠性。

发明内容
本发明所要解决的技术问题是提供一种磁盘存储系统及其数据访问方法,能够提 高数据存储的可靠性。为了解决上述技术问题,本发明提供了一种磁盘存储系统,包括管理调度模块以 及与该管理调度模块分别连接的副本层控制模块、独立冗余磁盘阵列RAID层控制模块、物 理层控制模块,其中管理调度模块,用于针对物理层的磁盘创建RAID层的RAID,划分RAID分区,针对 RAID分区创建副本层的逻辑卷;管理和调度副本层控制模块、RAID层控制模块以及物理层
4控制模块;副本层控制模块,用于根据应用设备对副本层逻辑卷的数据访问操作,向RAID层 控制模块提交在相应的RAID分区上访问数据的指令;RAID层控制模块,用于在收到副本层控制模块访问数据的指令时,向物理层控制 模块提交在相应的物理硬盘上访问数据的指令;物理层控制模块,用于在收到RAID层控制模块访问数据的指令时,对相应的物理 硬盘进行访问数据的操作。进一步地,管理调度模块通过提供管理接口,由用户通过该管理接口在创建RAID层的RAID 的同时设定相应的RAID等级,并划分RAID分区;在创建副本层的逻辑卷的同时为相应的应 用设备设定副本冗余策略。进一步地,通过管理接口设定的副本冗余策略包括以下策略中的一种或多种零副本策略,逻辑卷包含的RAID分区数量至少为一个,任何数据在逻辑卷中仅写 入一份;单副本策略,逻辑卷包含的RAID分区数量至少为两个,任何数据在写入逻辑卷 时,都将同时被写入两个RAID分区中;多副本策略,逻辑卷包含的RAID分区数量至少为(n+1)个,任何数据在写入逻辑 卷时,都将同时被写入(n+1)个RAID分区中;其中η彡2。进一步地,副本层控制模块根据用户设定的RAID等级,针对应用设备对相应的逻辑卷的写 数据操作,向RAID层控制模块提交在相应的RAID分区上写数据的指令;RAID层控制模块根据用户设定的副本冗余策略,针对副本层控制模块写数据的指 令向物理层控制模块提交在相应的磁盘上写数据的指令;物理层控制模块根据RAID层控制模块写数据的指令对相应的一个或多个物理硬 盘进行写数据操作。进一步地,副本层控制模块根据用户设定的RAID等级,针对应用设备对相应的逻辑卷的读 数据操作,向RAID层控制模块提交在相应的RAID分区上读数据的指令,并将该RAID层控 制模块返回的数据返回给应用设备;RAID层控制模块根据用户设定的副本冗余策略,针对副本层控制模块读数据的指 令向物理层控制模块提交在相应的磁盘上读数据的指令,并将该物理层控制模块读取的数 据返回给副本层控制模块;物理层控制模块根据RAID层控制模块读数据的指令对相应的一个或多个物理硬 盘进行读数据操作,并将读取的数据返回给该RAID层控制模块。为了解决上述技术问题,本发明提供了一种如前所述的磁盘存储系统进行数据访 问的方法,包括通过管理接口创建独立冗余磁盘阵列RAID层的RAID,并划分RAID分区,针对 RAID分区创建逻辑卷,并分配给相应的应用设备;
将应用设备对相应的逻辑卷的数据访问转换成对相应的RAID分区的数据访问; 以及将对RAID分区的数据访问转换成对相应的物理磁盘的数据访问。进一步地,通过管理接口创建RAID层的RAID,划分RAID分区;创建逻辑卷,并分 配给相应的应用设备,具体包括通过管理接口针对物理层的物理磁盘创建RAID层RAID,同时设定相应的RAID等 级,并划分RAID分区,针对RAID分区创建副本层的逻辑卷,并分配给相应的应用设备,同时 为应用设备设定副本冗余策略,包括以下策略中的一种或多种零副本策略,逻辑卷包含的RAID分区数量至少为一个,任何数据在逻辑卷中仅写 入一份;单副本策略,逻辑卷包含的RAID分区数量至少为两个,任何数据在写入逻辑卷 时,都将同时被写入两个RAID分区中;多副本策略,逻辑卷包含的RAID分区数量至少为(n+1)个,任何数据在写入逻辑 卷时,都将同时被写入(n+1)个RAID分区中;其中η彡2。进一步地,将应用设备对相应的逻辑卷的数据访问转换成对相应的RAID分区的 数据访问,具体包括根据用户设定RAID等级将应用设备对副本层相应逻辑卷的写数据操作,转换成 对RAID层相应的RAID分区的写数据操作;或者,将应用设备对副本层相应的逻辑卷的读数 据操作,转换成对RAID层相应的RAID分区的读数据操作。进一步地,将对RAID分区的数据访问转换成对相应的物理磁盘的数据访问,具体 包括根据用户设定的副本冗余策略,将对RAID层相应的RAID分区的写数据操作转换 成对所述物理层相应的一个或多个磁盘的写数据操作;或者,将对RAID层相应的RAID分区 的读数据操作转换成对物理层相应的一个或多个磁盘的读数据操作。进一步地,该方法还包括将从物理层相应的一个或多个磁盘的读取的数据返回给应用设备。本发明针对高端存储系统对数据可靠性要求高的情况,将RAID技术和副本技术 相结合,提供了具有多层次数据冗余架构的磁盘存储系统,并通过副本冗余策略使数据存 储在每一层次上都可实现冗余,由此提高数据存储的可靠性。


图1为本发明将磁盘存储系统分成的多层次数据冗余架构示意图图2为本发明的磁盘存储系统实施例的结构框图;图3为本发明的磁盘存储系统读写数据的方法实施例流程图。
具体实施例方式以下结合附图和优选实施例对本发明的技术方案进行详细地阐述。以下例举的实 施例仅用于说明和解释本发明,而不构成对本发明技术方案的限制。本发明为了对高端存储系统进行高效地管理和高可靠性地读写数据,将传统的 RAID技术与副本技术相结合,对磁盘存储系统分成多个数据冗余层,如图1所示,主要包括以下三个层次物理层处于数据冗余架构的最底层,包含多块物理磁盘;RAID层处于数据冗余架构的中间层,包含一个或多个RAID组(RAID组1 RAID 组η),每一 RAID组包含一个或多个RAID分区,每一 RAID分区是由物理层中的一块或多块 物理磁盘组成的RAID ;副本层包括提供给应用设备读写数据的一个或多个逻辑卷(逻辑卷1 逻辑卷 m),每一个逻辑卷由归属不同RAID组的一个或多个RAID分区组成。应用设备采用副本冗余策略来使用逻辑卷内的RAID分区。副本冗余策略定义了 逻辑卷内的RAID分区的使用方式,包括(1)零副本(ZeroCopy)策略畐Ij本数量:Copy Number = O,畐U本冗余度:Copy Redundant = O ;使用零副本策略的逻辑卷包含的RAID分区数量至少为一个,任何数据在逻辑卷 中仅写入一份副本;零副本策略未在副本层内实现数据冗余,仅依赖RAID技术实现数据冗余保护。该零副本策略适用于对数据可靠性要求不高的应用场景,如普通流媒体存储。(2)单副本(SingleCopy)策略副本数量:Copy Number = 1,副本冗余度:Copy Redundant = 1 ;使用单副本策略的逻辑卷包含的RAID分区数量至少为两个,任何数据在写入逻 辑卷的时候,都将同时被写入两个RAID分区中,实现副本层数据冗余;单副本策略在副本层内实现数据冗余保护时允许单一 RAID分区失效。该单副本策略适用于对数据冗余性要求较高的业务应用场景,如工程计算、三维 制图以及电信等的数据存储。(3)多副本(Multicopy)策略副本数量Copy Number = n,副本冗余度Copy Redundant = n,其中 η 彡 2 ;使用多副本策略的逻辑卷包含的RAID分区数量至少为(n+1)个,任何数据在写入 逻辑卷的时候,都将同时被写入(n+1)个RAID分区中,实现副本层数据冗余;多副本策略在副本层内实现数据冗余保护时允许η个RAID分区失效。该多副本策略适用于对数据冗余性要求极高的应用场景,如航空航天、金融交易 系统的数据存储。针对上述多个数据冗余层架构,本发明提供了磁盘存储系统实施例,其结构如图2 所示,包括管理调度模块、与该管理调度模块分别连接的副本层控制模块、RAID层控制模块 以及物理层控制模块,其中管理调度模块,用于提供磁盘存储系统的管理接口,并管理和调度副本层控制模 块、RAID层控制模块以及物理层控制模块;副本层控制模块,用于根据应用设备对副本层逻辑卷访问数据的操作,向RAID层 控制模块提交在相应的RAID分区上访问数据的指令;RAID层控制模块,用于在收到副本层控制模块访问数据的指令时,向物理层控制 模块提交在相应的物理硬盘上访问数据的指令;物理层控制模块,用于在收到RAID层控制模块访问数据指令的时,对相应的物理硬盘进行访问数据的操作。在上述实施例中,应用设备譬如为个人计算机,或为网络应用服务器;管理调度模块向应用设备的用户提供管理接口,用户通过该管理接口针对物理层 中各个磁盘创建RAID层上的RAID,并设定RAID等级,同时划分RAID分区;针对RAID分区 创建副本层上的逻辑卷,并分配给应用设备,为每一应用设备设定副本冗余策略。用户设定的副本冗余策略包括零副本策略、单副本策略和多副本策略中的一种或 多种,其中使用零副本策略的逻辑卷包含的RAID分区数量至少为一个,任何数据在逻辑卷 中仅写入一份副本;使用单副本策略的逻辑卷包含的RAID分区数量至少为两个,任何数据在写入逻 辑卷的时候,都将同时被写入两个RAID分区中;使用多副本策略的逻辑卷包含的RAID分区数量至少为(n+1)个,任何数据在写入 逻辑卷的时候,都将同时被写入(n+1)个RAID分区中。管理调度模块在用户未设定副本冗余策略、RAID等级的情况下,均采用各自的缺 省值,譬如分别为使用零副本策略或单副本策略,RAID 5。管理调度模块提供的管理接口可以采用网页(Web⑶I,Graphical User Interface)形式,也可以采用指令行接口(CLI,Command Line Interface)形式。副本层控制模块根据用户设定的RAID等级,针对应用设备对相应的一个或多个 逻辑卷的写数据操作,向RAID层控制模块提交在相应的RAID分区上写数据的指令;或者针 对应用设备对相应的逻辑卷的读数据操作,向RAID层控制模块提交在相应的RAID分区上 读数据的指令,并将RAID层控制模块返回的数据返回给应用设备;RAID层控制模块根据用户设定的副本冗余策略,针对副本层控制模块写数据的指 令向物理层控制模块提交在相应的磁盘上写数据的指令;或者,针对副本层控制模块读数 据的指令向物理层控制模块提交在相应的磁盘上读数据的指令,将物理层控制模块读取的 数据返回给副本层控制模块;物理层控制模块根据RAID层控制模块写数据的指令对相应的一个或多个物理硬 盘进行写数据操作;或者,根据RAID层控制模块读数据的指令对相应的一个或多个物理硬 盘进行读数据操作,将读取的数据返回给RAID层控制模块。物理层控制模块可以通过硬件芯片或板卡实现,也可以通过软件实现。本发明针对上述磁盘存储系统实施例,相应地还提供了数据访问方法实施例,其 流程如图3所示,包括如下步骤110 用户通过盘存储系统的管理接口创建RAID,划分RAID分区,针对RAID分区 创建逻辑卷,并分配给相应的应用设备;用户(即管理员)在通过盘存储系统的管理接口在创建RAID的同时还设定相应 的RAID等级;在创建逻辑卷的同时,还为每一应用设备设定副本冗余策略,包括零副本策 略、单副本策略和多副本策略中的一种或多种。应用设备包括个人计算机、应用服务器或其它网络设备中的一种或多种。120 将应用设备对副本层上相应的逻辑卷的数据访问,转换成对RAID层上相应 的RAID分区的数据访问;
根据用户设定RAID等级将应用设备对副本层上相应的逻辑卷上的写数据操作, 转换成对RAID层上相应的RAID分区上的写数据操作;或者,将应用设备对副本层上相应的 逻辑卷上的读数据操作,转换成对RAID层上相应的RAID分区上的读数据操作。130 将对RAID层上相应的RAID分区的数据访问,转换成对物理层上相应的磁盘 的数据访问。根据用户设定的副本冗余策略,将对RAID层上相应的RAID分区的写数据操作转 换成对物理层上相应的一个或多个磁盘的写数据操作;或者,将对RAID层上相应的RAID分 区的读数据操作转换成对物理层上相应的一个或多个磁盘的读数据操作。上述方法实施例还包括将从相应的一个或多个磁盘的读取的数据返回给应用设备。本发明针对高端存储系统对数据可靠性要求很高的情况,给出一种将传统的RAID 技术和副本技术相结合的具多层次数据冗余架构的磁盘存储系统,通过设定副本冗余策 略,可使存储的数据在每一层次上都实现冗余,由此提高数据存储的可靠性。以上说明仅为本发明较佳的具体实施方式
,但本发明的保护范围并不局限于此, 任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换, 都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权力要求书的保护范 围为准。
权利要求
1.一种磁盘存储系统,包括管理调度模块以及与该管理调度模块分别连接的副本层控 制模块、独立冗余磁盘阵列RAID层控制模块、物理层控制模块,其中管理调度模块,用于针对物理层的磁盘创建RAID层的RAID,划分RAID分区,针对所述 RAID分区创建副本层的逻辑卷;管理和调度副本层控制模块、RAID层控制模块以及物理层 控制模块;副本层控制模块,用于根据应用设备对副本层逻辑卷的数据访问操作,向RAID层控制 模块提交在相应的RAID分区上访问数据的指令;RAID层控制模块,用于在收到副本层控制模块访问数据的指令时,向物理层控制模块 提交在相应的物理硬盘上访问数据的指令;物理层控制模块,用于在收到RAID层控制模块访问数据的指令时,对相应的物理硬盘 进行访问数据的操作。
2.按照权利要求1所述的系统,其特征在于,所述管理调度模块通过提供管理接口,由用户通过该管理接口在创建所述RAID层的 RAID的同时设定相应的RAID等级,并划分所述RAID分区;在创建所述副本层的逻辑卷的 同时为相应的应用设备设定副本冗余策略。
3.按照权利要求2所述的系统,其特征在于,通过所述管理接口设定的所述副本冗余策略包括以下策略中的一种或多种 零副本策略,所述逻辑卷包含的RAID分区数量至少为一个,任何数据在所述逻辑卷中 仅写入一份;单副本策略,所述逻辑卷包含的RAID分区数量至少为两个,任何数据在写入逻辑卷 时,都将同时被写入两个RAID分区中;多副本策略,所述逻辑卷包含的RAID分区数量至少为(n+1)个,任何数据在写入逻辑 卷时,都将同时被写入(n+1)个RAID分区中;其中所述η彡2。
4.按照权利要求2或3所述的系统,其特征在于,所述副本层控制模块根据用户设定的RAID等级,针对应用设备对相应的逻辑卷的写 数据操作,向所述RAID层控制模块提交在相应的RAID分区上写数据的指令;所述RAID层控制模块根据用户设定的副本冗余策略,针对所述副本层控制模块写数 据的指令向所述物理层控制模块提交在相应的磁盘上写数据的指令;所述物理层控制模块根据所述RAID层控制模块写数据的指令对相应的一个或多个物 理硬盘进行写数据操作。
5.按照权利要求2或3所述的系统,其特征在于,所述副本层控制模块根据用户设定的RAID等级,针对应用设备对相应的逻辑卷的读 数据操作,向所述RAID层控制模块提交在相应的RAID分区上读数据的指令,并将该RAID 层控制模块返回的数据返回给应用设备;所述RAID层控制模块根据用户设定的副本冗余策略,针对所述副本层控制模块读数 据的指令向所述物理层控制模块提交在相应的磁盘上读数据的指令,并将该物理层控制模 块读取的数据返回给所述副本层控制模块;所述物理层控制模块根据所述RAID层控制模块读数据的指令对相应的一个或多个物 理硬盘进行读数据操作,并将读取的数据返回给该RAID层控制模块。
6.一种如权利要求1所述的磁盘存储系统进行数据访问的方法,包括通过管理接口创建独立冗余磁盘阵列RAID层的RAID,并划分RAID分区,针对所述 RAID分区创建逻辑卷,并分配给相应的应用设备;将应用设备对相应的逻辑卷的数据访问转换成对相应的RAID分区的数据访问;以及 将对所述RAID分区的数据访问转换成对相应的物理磁盘的数据访问。
7.按照权利要求6所述的方法,其特征在于,所述通过管理接口创建RAID层的RAID, 划分RAID分区;创建逻辑卷,并分配给相应的应用设备,具体包括通过所述管理接口针对物理层的物理磁盘创建所述RAID层RAID,同时设定相应的 RAID等级,并划分所述RAID分区,针对所述RAID分区创建副本层的逻辑卷,并分配给相应 的应用设备,同时为所述应用设备设定副本冗余策略,所述副本冗余策略包括以下策略中 的一种或多种零副本策略,所述逻辑卷包含的RAID分区数量至少为一个,任何数据在所述逻辑卷中 仅写入一份;单副本策略,所述逻辑卷包含的RAID分区数量至少为两个,任何数据在写入逻辑卷 时,都将同时被写入两个RAID分区中;多副本策略,所述逻辑卷包含的RAID分区数量至少为(n+1)个,任何数据在写入逻辑 卷时,都将同时被写入(n+1)个RAID分区中;其中所述η彡2。
8.按照权利要求7所述的方法,其特征在于,将应用设备对相应的逻辑卷的数据访问 转换成对相应的RAID分区的数据访问,具体包括根据用户设定RAID等级将应用设备对所述副本层相应逻辑卷的写数据操作,转换成 对所述RAID层相应的RAID分区的写数据操作;或者,将应用设备对所述副本层相应的逻辑 卷的读数据操作,转换成对所述RAID层相应的RAID分区的读数据操作。
9.按照权利要求7所述的方法,其特征在于,将对所述RAID分区的数据访问转换成对 相应的物理磁盘的数据访问,具体包括根据用户设定的所述副本冗余策略,将对所述RAID层相应的RAID分区的写数据操作 转换成对所述物理层相应的一个或多个磁盘的写数据操作;或者,将对所述RAID层相应的 RAID分区的读数据操作转换成对所述物理层相应的一个或多个磁盘的读数据操作。
10.按照权利要求9所述的方法,其特征在于,还包括将从所述物理层相应的一个或多个磁盘的读取的数据返回给应用设备。
全文摘要
本发明披露了一种磁盘存储系统及其数据访问方法,该系统包括管理调度模块针对物理层的磁盘创建RAID层的RAID,划分RAID分区,针对RAID分区创建副本层的逻辑卷;副本层控制模块据应用设备对副本层逻辑卷的数据访问操作,向RAID层控制模块提交在相应的RAID分区上访问数据的指令;RAID层控制模块在收到副本层控制模块访问数据的指令时,向物理层控制模块提交在相应的物理硬盘上访问数据的指令;物理层控制模块在收到RAID层控制模块访问数据的指令时,对相应的物理硬盘进行访问数据的操作。本发明通过多层次数据冗余架构提高了数据存储的可靠性。
文档编号G06F3/06GK102135862SQ20111005759
公开日2011年7月27日 申请日期2011年3月10日 优先权日2011年3月10日
发明者张立强, 李瑞东 申请人:浪潮(北京)电子信息产业有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1