专利名称:一种基于动态模式的网络raid系统及方法
技术领域:
本发明涉及网络信息技术领域,特别涉及一种基于动态模式的网络磁盘阵列(Redundant Array of Inexpensive Disk,简称RAID)系统及方法。
背景技术:
在网络存储系统中,磁盘阵列(RAID)是目前被普遍采用的网络存储设备。磁盘阵列以其管理简单等优点而成为各种复杂网络存储系统的构成结点。通常的RAID由一块或多块本地磁盘构成,一台或多台应用服务器通过高速互联网络与磁盘阵列相连,由磁盘阵列所导出的逻辑设备表现为应用服务器的本地设备。
如图1所示,传统的网络存储设备或者采用带内的管理模式,或者采用带外的管理模式,两种模式各有优缺点。如图1(b)所示的采用带外模式示意图,其中1表示虚拟存储设备接口,2表示块映射缓存表,3表示存储管理模块,4-1、4-2表示物理存储设备,采用带外模式在系统的I/O路径上无单一故障点,系统的结构和性能可扩展性强,但系统在涉及与I/O路径相关的在线存储管理方面功能较弱。而与之相反,如图1(a)所示的采用带内模式示意图,系统的结构和性能可扩展性较差,存储管理模块3是系统I/O路径上的单一故障点,但同时系统在涉及与I/O路径相关的在线存储管理方面功能较强。
鉴于现有技术的不足,人们就希望有一种将网络存储设备的带内管理模式和带外管理模式相结合,能实现带内模式和带外模式之间的动态转换的网络RAID系统及方法。
发明内容
本发明的目的在于克服已有技术存在的不足,解决目前网络存储系统,特别是采用带内和带外管理模式相结合的网络存储系统结构中的资源利用率低、性能差以及可用性低的问题,提供一种基于动态模式的网络RAID系统及方法。
为了实现上述目的,本发明采取如下技术方案。
一种基于动态模式的网络RAID系统,包括虚拟存储设备,是网络RAID系统对外提供数据存储空间服务的单位,其大小以块(block)计;至少一个虚拟存储设备接口,是网络RAID系统提供存储空间数据访问的虚拟存储设备的接口;虚拟存储管理台,是接受管理员指令进行网络RAID系统管理的功能模块,它同时也可以进行数据请求处理等功能;物理存储设备,与所述虚拟存储管理台连接,是物理存储系统对外提供存储数据的物理资源的单位,其大小以块计;其特征在于,还包括块映射表,处于所述虚拟存储管理台内,是网络RAID系统中记录所述虚拟存储设备与所述物理存储设备之间映射关系的对照表;块映射缓存表,是虚拟存储设备用来确定自身所提供的存储空间与物理存储设备之间映射关系的对照表,是所述块映射表的一个缓存;网络虚拟存储设备,处于所述虚拟存储管理台内,是网络RAID系统内部通过网络导出的,且用于缓存数据的虚拟存储空间,在对外的接口和访问模式上与物理存储设备相同;设备映射表,处于所述虚拟存储管理台内,用来确定网络虚拟存储设备与物理存储设备之间对应关系的对照表;在上述技术方案中,进一步地,所述块映射缓存表的表项包含在相应块映射表中;在上述技术方案中,进一步地,在每个虚拟存储设备中至少包含一个所述网络虚拟存储设备。
在上述技术方案中,进一步地,在每个虚拟存储设备中包含两个或两个以上所述网络虚拟存储设备。
在上述技术方案中,进一步地,所述设备映射表与相应的块映射表记录相同的网络虚拟存储设备信息。
一种基于动态模式的网络RAID方法,包括如下步骤1)创建虚拟存储设备为新创建的虚拟存储设备创建至少一个物理存储设备,创建至少一个网络虚拟存储设备,创建一个块映射表,创建一个设备映射表;
2)创建虚拟存储设备接口创建一个块映射缓存表;3)读写虚拟存储设备;4)修改块映射缓存表;5)修改块映射表响应管理指令或根据管理策略修改块映射表的表项;6)修改设备映射表根据块映射表的变更情况相应地修改设备映射表;7)删除虚拟存储设备接口终止所有对该接口的访问,删除块映射缓存表;8)删除虚拟存储设备停止对要删除的虚拟存储设备的所有读写访问,依次删除属于该虚拟存储设备的块映射表,删除其网络虚拟存储设备,删除设备映射表,删除供该虚拟存储设备使用的物理存储设备;在上述技术方案中,进一步地,所述步骤3)中所述的读写虚拟存储设备包括带内和带外两种模式;对虚拟存储设备的读写请求有带内模式和带外模式,虚拟存储设备接口接到读写请求,查询相应的块映射缓存表,检索到与请求相应的下层存储设备块号;对于带内模式情形,虚拟存储设备接口收到的读写请求经地址转换后转发到虚拟存储管理台上的网络虚拟存储设备上,然后网络虚拟存储设备检索相应的设备映射表,并将地址转换后发读写请求到相应的物理存储设备上,最后将读写结果数据原路返回;对于带外模式情形,虚拟存储设备接口收到的读写请求经地址转换后转发到相应的物理存储设备上,最后将读写结果数据原路返回;在上述技术方案中,进一步地,所述步骤4)中,所述修改块映射缓存表包括两种方式由虚拟存储管理台发起通知虚拟存储设备接口更新由它所维护的某个块映射缓存表中的表项,或由虚拟存储设备接口发起,向虚拟存储管理台发出相应的块映射表查询请求,查询成功后更新相应的块映射缓存表的对应表项。即由虚拟存储管理台发起通知虚拟存储设备接口的被动方式和由虚拟存储设备接口发起向虚拟存储管理台查询的主动方式。
在上述技术方案中,进一步地,所述步骤5)中所述修改块映射表的范围限于相应的虚拟存储设备块号所对应的网络虚拟存储设备和物理存储设备及二者所对应的块号。
在上述技术方案中,进一步地,所述步骤6)中,所述修改设备映射表与修改块映射表一致。
与现有技术相比,本发明的优越性在于
本发明提供一种动态模式的可灵活配置和管理的网络RAID系统和方法,实现网络存储设备的带内管理模式和带外管理模式相结合,实现带内模式和带外模式之间的动态转换,提高了系统的性能可扩展性,实现在线的更新映射关系,有效地解决了存储资源的利用率不高的问题,并能适应多种应用的需求,例如备份、容灾等。
图1(a)是已有技术中的带内网络存储系统结构和工作示意图;图1(b)是已有技术中的带外网络存储系统结构和工作示意图;图2是本发明的网络RAID系统和工作示意图。
具体实施例方式
下面结合附图和具体实施方式
对本发明作进一步详细描述如图2所示,本发明的网络RAID系统包括虚拟存储设备是网络RAID系统对外提供数据存储空间服务的单位,其大小以块计,虚拟存储设备同时也表示网络RAID系统中提供一个数据存储空间服务的多个功能组件的总称,在本发明中亦可称为网络RAID设备。
虚拟存储设备接口图2中1表示,是网络RAID系统提供存储空间数据访问的虚拟存储设备的接口;物理存储设备图2中4-1……4-m所示,是物理存储系统对外提供存储数据的物理资源的单位,其大小以块计;m为物理存储设备个数,比如m=2。
块映射表图2中3-1所示,是网络RAID系统中纪录虚拟存储设备与物理存储设备之间映射关系的对照表;块映射缓存表图中2所示,是虚拟存储设备用来确定自身所提供的存储空间与物理存储设备之间映射关系的对照表,它是块映射表的一个缓存;网络虚拟存储设备图2中3-2所示,是网络RAID系统内部通过网络导出的,且用于缓存数据的虚拟存储空间,在对外的接口和访问模式上与物理存储设备相同;设备映射表图2中3-3所示,是用来确定网络虚拟存储设备与物理存储设备之间对应关系的对照表;虚拟存储管理台图2中3所示,是接受管理员指令进行网络RAID系统管理的功能模块,它同时也可以进行数据请求处理等功能。
本发明的网络RAID系统对外支持虚拟存储设备的创建/删除/修改等功能,网络RAID系统对外支持多个虚拟存储设备。如图2中所示,每个虚拟存储设备支持对外提供至少一个虚拟存储设备接口1。每个虚拟存储设备接口接收到的数据读写请求都根据块映射表2的记录转换地址后转发给下层存储设备,下层存储设备包括网络虚拟存储设备(图中用3-2表示)和物理存储设备(图中用4-1,……,4-m表示);转发至网络虚拟存储设备((图中用3-2表示)的读写请求经查询设备映射表转换地址后转发给相应的物理存储设备,该物理存储设备包含在4-1至4-m表示的物理存储设备中。
实施本发明需要完成能够根据管理员指令创建/删除/修改虚拟存储设备的虚拟存储管理台,进一步而言,该管理台内部能够完成块映射表的创建,网络虚拟存储设备的创建,设备映射表的创建;另外,该管理台支持块映射表的查询,支持块映射表、块映射缓存表以及设备映射表的修改。根据本发明的描述,本领域技术人员可以完成能够根据管理员指令创建/删除/修改虚拟存储设备的虚拟存储管理台。
实施本发明需要完成虚拟存储设备接口功能的模块,该模块维护与虚拟存储设备接口相对应的块映射缓存表,即支持块映射缓存表的创建/删除/修改,这些虚拟存储设备接口彼此独立,无主从关系。根据本发明的描述,本领域技术人员是可以完成该虚拟存储设备接口功能的模块。
实施本发明所需要的物理存储系统均采用市场现有产品。
以下是基于动态模式的网络RAID系统方法的相关操作描述1)创建虚拟存储设备本发明的方法在创建虚拟存储设备(为便于叙述称为VD1)时需要完成几项具体的功能在物理存储系统上创建一个或多个物理存储设备(用PD1-n来表示该集合);创建供VD1使用的一个网络虚拟存储设备(用NVD1加以表示),其大小可以大于PD1-n中所有设备大小的总和;创建供VD1使用的一个块映射表,其中记录了VD1的部分块号与NVD1的部分块号之间的对应关系,以及VD1的部分块号与PD1-n中某些设备的部分块号之间的对应关系,VD1的两部分块号总和等于其全部块号;创建一个供VD1使用的设备映射表,该表中记录着NVD1的部分块号与PD1-n中某些设备的部分块号之间的映射关系,该表中所出现的NVD1的块号与上述块映射表中出现的NVD1的块号相同,该表可为空;2)创建虚拟存储设备接口该操作需要创建上述块映射表的一个缓存,即一个块映射缓存表,该表可包含上述块映射表的全部表项;
3)删除虚拟存储设备接口该操作终止所有对该接口的访问,删除块映射缓存表;4)删除虚拟存储设备停止对要删除的虚拟存储设备的所有读写访问,依次删除属于该虚拟存储设备的块映射表,删除其网络虚拟存储设备(上述的NVD1),删除设备映射表,删除供该虚拟存储设备使用的物理存储设备(上述的PD1-n);5)读写虚拟存储设备本发明的方法在处理对虚拟存储设备的读写请求时,有两种模式,即带内模式和带外模式。当虚拟存储设备接口接到读写请求时,查询相应的块映射缓存表,检索到与请求相应的下层存储设备块号,所谓带内模式是指,如果检索到的下层存储设备位于虚拟存储管理台上,而带外模式是指,所检索到的下层存储设备位于虚拟存储管理台之外的情形。带内模式情形,虚拟存储设备接口收到的读写请求经地址转换后转发到虚拟存储管理台上的网络虚拟存储设备上,随后网络虚拟存储设备检索相应的设备映射表,并将地址转换后发读写请求到相应的物理存储设备上,最后将读写结果数据原路返回;带外模式情形,虚拟存储设备接口收到的读写请求经地址转换后转发到相应的物理存储设备上,最后将读写结果数据原路返回;6)修改块映射缓存表由虚拟存储管理台发起(被动方式)通知虚拟存储设备接口更新由它所维护的某个块映射缓存表中的表项,或由虚拟存储设备接口发起(主动方式),向虚拟存储管理台发出相应的块映射表查询请求,查询成功后更新相应的块映射缓存表的对应表项;7)修改块映射表响应管理指令或根据管理策略修改块映射表的表项,修改内容的范围限于,相应的虚拟存储设备块号所对应的网络虚拟存储设备和物理存储设备及二者所属块号;8)修改设备映射表当修改块映射表时,如果发生网络虚拟存储设备的变更,那么需要相应地修改设备映射表。
最后所应说明的是,以上描述仅用以说明本发明的技术方案而非限制,尽管参照实例对本发明进行了详细说明,本领域的普通技术人员应当理解,对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。
权利要求
1.一种基于动态模式的网络RAID系统,包括虚拟存储设备;至少一个虚拟存储设备接口,是网络RAID系统提供存储空间数据访问的虚拟存储设备的接口;虚拟存储管理台,是接受管理员指令进行网络RAID系统管理的功能模块;物理存储设备,与所述虚拟存储管理台连接,是物理存储系统对外提供存储数据的物理资源的单位;其特征在于,还包括块映射表,处于所述虚拟存储管理台内,是网络RAID系统中记录所述虚拟存储设备与所述物理存储设备之间映射关系的对照表;块映射缓存表,是虚拟存储设备用来确定自身所提供的存储空间与物理存储设备之间映射关系的对照表,是所述块映射表的一个缓存;网络虚拟存储设备,处于所述虚拟存储管理台内,是网络RAID系统内部通过网络导出的,且用于缓存数据的虚拟存储空间,在对外的接口和访问模式上与物理存储设备相同;设备映射表,处于所述虚拟存储管理台内,用来确定网络虚拟存储设备与物理存储设备之间对应关系的对照表。
2.根据权利要求1所述基于动态模式的网络RAID系统,其特征在于,所述块映射缓存表的表项包含在相应块映射表中。
3.根据权利要求1所述基于动态模式的网络RAID系统,其特征在于,在每个虚拟存储设备中至少包含一个所述网络虚拟存储设备。
4.根据权利要求1所述基于动态模式的网络RAID系统,其特征在于,在每个虚拟存储设备中包含两个或两个以上所述网络虚拟存储设备。
5.根据权利要求1所述基于动态模式的网络RAID系统,其特征在于,所述设备映射表与相应的块映射表记录相同的网络虚拟存储设备信息。
6.一种基于动态模式的网络RAID方法,包括如下步骤1)创建虚拟存储设备为新创建的虚拟存储设备创建至少一个物理存储设备,创建至少一个网络虚拟存储设备,创建一个块映射表,创建一个设备映射表;2)创建虚拟存储设备接口创建一个块映射缓存表;3)读写虚拟存储设备;4)修改块映射缓存表;5)修改块映射表响应管理指令或根据管理策略修改块映射表的表项;6)修改设备映射表根据块映射表的变更情况相应地修改设备映射表;7)删除虚拟存储设备接口终止所有对该接口的访问,删除块映射缓存表;8)删除虚拟存储设备停止对要删除的虚拟存储设备的所有读写访问,依次删除属于该虚拟存储设备的块映射表,删除其网络虚拟存储设备,删除设备映射表,删除供该虚拟存储设备使用的物理存储设备。
7.根据权利要求6所述基于动态模式的网络RAID方法,其特征在于,所述步骤3)中所述的读写虚拟存储设备包括带内和带外两种模式;对虚拟存储设备的读写请求有带内模式和带外模式,虚拟存储设备接口接到读写请求,查询相应的块映射缓存表,检索到与请求相应的下层存储设备块号;对于带内模式情形,虚拟存储设备接口收到的读写请求经地址转换后转发到虚拟存储管理台上的网络虚拟存储设备上,然后网络虚拟存储设备检索相应的设备映射表,并将地址转换后发读写请求到相应的物理存储设备上,最后将读写结果数据原路返回;对于带外模式情形,虚拟存储设备接口收到的读写请求经地址转换后转发到相应的物理存储设备上,最后将读写结果数据原路返回。
8.根据权利要求6所述基于动态模式的网络RAID方法,其特征在于,所述步骤4)中,所述修改块映射缓存表包括两种方式由虚拟存储管理台发起通知虚拟存储设备接口更新由它所维护的某个块映射缓存表中的表项,或由虚拟存储设备接口发起,向虚拟存储管理台发出相应的块映射表查询请求,查询成功后更新相应的块映射缓存表的对应表项。
9.根据权利要求6所述基于动态模式的网络RAID方法,其特征在于,所述步骤5)中所述修改块映射表的范围限于相应的虚拟存储设备块号所对应的网络虚拟存储设备和物理存储设备及二者所对应的块号。
10.根据权利要求6所述基于动态模式的网络RAID方法,其特征在于,所述步骤6)中,所述修改设备映射表与修改块映射表一致。
全文摘要
本发明公开了一种基于动态模式的网络RAID系统及方法。该系统包括虚拟存储设备,至少一个虚拟存储设备接口,虚拟存储管理台,物理存储设备,块映射表,块映射缓存表,网络虚拟存储设备,设备映射表。该方法包括1)创建虚拟存储设备;2)创建虚拟存储设备接口;3)读写虚拟存储设备;4)修改块映射缓存表;5)修改块映射表;6)修改设备映射表;7)删除虚拟存储设备接口;8)删除虚拟存储设备。本发明实现带内模式和带外模式之间的动态转换,有效地解决了存储资源的利用率不高的问题。
文档编号G06F3/06GK1952867SQ20061009050
公开日2007年4月25日 申请日期2006年6月27日 优先权日2005年10月21日
发明者卜庆忠, 许鲁 申请人:中国科学院计算技术研究所