一种存储系统的构建方法、装置、设备及存储介质与流程

文档序号:16845543发布日期:2019-02-12 22:10阅读:139来源:国知局
一种存储系统的构建方法、装置、设备及存储介质与流程

本发明涉及计算机存储技术领域,特别是涉及一种存储系统的构建方法、装置、设备以及计算机可读存储介质。



背景技术:

在存储系统中通常通过raid来保证数据冗余性和读写性能。不同的raid级别具有不同冗余性和读写性能特点。例如:raid0相当于把多块硬盘连成一个容量更大的硬盘群来提供服务,可以提高磁盘的性能和吞吐量。但是raid0的缺点是不提供数据冗余,因此一旦用户数据损坏,损坏的数据将无法得到恢复。

在实际应用中,对于某些应用如视频监控等,对于数据丢失是有一定容忍度的,数据损坏会导致某段时间内的视频数据丢失,但是其他时间段的数据理论上仍然应该可以继续使用。但是在对于存储系统的使用时,将基于raid组创建的卷挂载给主机使用,主机在使用卷时,会在其上格式化文件系统,然后基于文件系统使用。如果文件系统的元数据丢失,会导致整个文件系统不可修复,这样部分数据损失,会导致所有的数据都无法使用。

综上所述可以看出,如何满足同一个应用对于存储数据的可靠性不同级别的要求是目前有待解决的问题。



技术实现要素:

本发明的目的是提供一种存储系统的构建方法、装置、设备以及计算机可读存储介质,以解决现有技术中由于同一个应用的存储数据的可靠性级别相同,在部分数据损失的情况下会导致存储系统所有的数据都无法使用的问题。

为解决上述技术问题,本发明提供一种存储系统的构建方法,包括:根据预先定义的n个可靠性等级,创建与所述n个可靠性等级分别对应的n个存储资源池,以便于依据存储资源的可靠性等级,将所述存储资源分别添加所述n个存储资源池内,其中n≥2;根据主机应用的数据可靠性等级的预设需求比例,选择m个存储资源池中的部分存储资源进行组合,得到目标存储资源集合,其中2≤m≤n;创建卷,为所述目标存储资源集合中各个可靠性等级存储资源分配地址空间,通过逻辑地址映射表,建立所述卷到所述m个存储资源池之间的映射关系;将所述卷挂载至所述主机应用,以便于所述主机应用对所述卷进行读写操作。

优选地,所述根据预先定义的n个可靠性等级,创建与所述n个可靠性等级分别对应的n个存储资源池前包括:

根据自定义可靠性等级的结果,将所述可靠性等级设置为高、中、低三个等级。

优选地,所述根据预先定义的n个可靠性等级,创建与所述n个可靠性等级分别对应的n个存储资源池,以便于依据存储资源的可靠性等级,将所述存储资源分别添加所述n个存储资源池内包括:

根据可靠性的高、中、低三个等级,创建高可靠性存储资源池、中可靠性存储资源池、低可靠性存储资源池;

将高可靠性存储资源添加至所述高可靠性存储资源池;将中可靠性存储资源添加至所述中可靠性存储资源池中;将低可靠性添加至所述低可靠性存储资源池内。

优选地,所述根据主机应用的数据可靠性等级的预设需求比例,选择m个存储资源池中的部分存储资源进行组合,得到目标存储资源集合包括:

根据主机应用的关键数据和非关键数据的比例预估,选择所述高可靠性存储资源池和所述低可靠性存储资源池中的部分资源进行组合,得到目标存储资源集合。

优选地,所述创建卷,为所述目标存储资源集合中各个可靠性等级存储资源分配地址空间,通过逻辑地址映射表,建立所述卷到所述m个存储资源池之间的映射关系包括:

将所述卷的地址空间分为0-x段和x-z段;

其中所述0-x段为高可靠性地址空间,所述高可靠性地址空间映射与所述高可靠性存储资源池;

所述x-z端为低可靠性地址空间;所述第可靠性地址空间映射与所述低可靠性存储资源池。

优选地,所述将所述卷挂载至所述主机应用,以便于所述主机应用对所述卷进行读写操作包括:

当所述卷接收到所述主机应用发送的io请求时,判断所述io请求的起始lba地址是否大于等于卷地址x;

若所述起始lba地址大于等于所述卷地址x,则将所述io请求转发至所述低可靠性资源存储池;

若所述起始地址lba小于所述卷地址x,则利用所述io请求的起始地址lba和所述io请求的请求长度len,判断所述io请求的请求队列是否全部落入至所述高可靠性地址空间;

若所述io请求的请求队列全部落入至所述高可靠性地址空间,则将所述io请求转发至所述高可靠性存储资源池。

优选地,所述判断所述io请求的请求队列是否全部落入至所述高可靠性地址空间包括:

若所述io请求的请求队列未全部落入至所述高可靠性地址空间,则将所述io请求拆分为第一io子请求和第二io子请求;

所述第一io子请求的起始地址为lba,所述第一io请求大小为(x-lba);所述第二io子请求的起始地址为x,所述第二io请求大小为(len-(x-lba));

将所述第一io子请求转发至所述高可靠性存储资源池;将所述第二io子请求转发至所述低可靠性存储资源池。

本发明还提供了一种存储系统的构建装置,包括:

第一创建模块,用于根据预先定义的n个可靠性等级,创建与所述n个可靠性等级分别对应的n个存储资源池,以便于依据存储资源的可靠性等级,将所述存储资源分别添加所述n个存储资源池内,其中n≥2;

组合模块,用于根据主机应用的数据可靠性等级的预设需求比例,选择m个存储资源池中的部分存储资源进行组合,得到目标存储资源集合,其中2≤m≤n;

第二创建模块,用于创建卷,为所述目标存储资源集合中各个可靠性等级存储资源分配地址空间,通过逻辑地址映射表,建立所述卷到所述m个存储资源池之间的映射关系;

挂载模块,用于将所述卷挂载至所述主机应用,以便于所述主机应用对所述卷进行读写操作。

本发明还提供了一种存储系统的构建设备,包括:

存储器,用于存储计算机程序;处理器,用于执行所述计算机程序时实现上述一种存储系统的构建方法的步骤。

本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述一种存储系统的构建方法的步骤。

本发明所提供的存储系统的构建方法,根据预先定义的可靠性等级,建立不同等级的存储资源池。将不同可靠性等级的存储资源分别存储在与其可靠性等级相同的存储资源池内。根据主机应用的数据可靠性等级的预设需求比例,选择两个或者多个所述存储资源池内的部分资源进行组合,得到目标存储资源集合,并创建卷。为所述目标存储资源集合中各个可靠性等级的存储资源池分配地址空间。通过逻辑地址映射表,将创建的卷与所述存储资源池之间建立映射关系。并将所述卷挂载至所述主机应用上,所述主机应用可以扫描发现所述卷,并可以对所述卷进行读写操作。本发明所提供的构建存储系统的方法,对存储资源按照可靠性等级进行划分,将卷按照地址空间分段进行映射,不同的数据可靠性需求对应到不同的可靠性的存储资源池。本发明可以满足同一个主机应用对于存储数据的可靠性不同级别的要求,提升应用数据的可靠性。

附图说明

为了更清楚的说明本发明实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明所提供的存储系统的构建方法的第一种具体实施例的流程图;

图2为本发明所提供的存储系统的构建方法的第二种具体实施例的流程图;

图3为卷地址空间映射示意图;

图4为文件系统中主机和存储系统的结构示意图;

图5为本发明所提供的所述应用主机对所述卷进行度读写操作的流程图;

图6为本发明实施例提供的一种存储系统的构建装置的结构框图。

具体实施方式

本发明的核心是提供一种存储系统的构建方法、装置、设备以及计算机可读存储介质,可以满足同一个主机应用对于存储数据的可靠性不同级别的要求,提升应用数据的可靠性。

为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参考图1,图1为本发明所提供的存储系统的构建方法的第一种具体实施例的流程图;具体操作步骤如下:

步骤s101:根据预先定义的n个可靠性等级,创建与所述n个可靠性等级分别对应的n个存储资源池,以便于依据存储资源的可靠性等级,将所述存储资源分别添加所述n个存储资源池内,其中n≥2;

在本实施例中,所述可靠性等级可以根据用户需求,自定义可靠性等级,可以设置为高中低三个等级,或者更细化的可靠性等级。

当n=3时,即将所述可靠性等级划分为高、中、低三个等级,创建高可靠性存储资源池、中可靠性存储资源池、低可靠性存储资源池。将高可靠性存储资源添加至所述高可靠性存储资源池;将中可靠性存储资源添加至所述中可靠性存储资源池中;将低可靠性添加至所述低可靠性存储资源池内。

将存储资源池按照可靠性划分为不同的类别,具体划分方法可以根据实际需求进行。本实施例以raid组的可靠性来对存储资源进行划分,将创建raid1,raid10存储资源作为高可靠性存储资源;将创建raid5,raid6的存储资源作为中可靠性存储资源;将raid0无冗余保护的存储资源作为低可靠性存储资源。在创建存储资源池时,可参考以上分级方式,对存储资源的可靠性进行分类,添加到不同的存储资源池中。

步骤s102:根据主机应用的数据可靠性等级的预设需求比例,选择m个存储资源池中的部分存储资源进行组合,得到目标存储资源集合,其中2≤m≤n;

根据主机应用的数据可靠性等级的预设需求比例,可以在所述高可靠性存储资源池、所述中可靠性存储资源池和所述低可靠性存储资源池中选择两个或者三个存储资源池中的资源进行组合。

步骤s103:创建卷,为所述目标存储资源集合中各个可靠性等级存储资源分配地址空间,通过逻辑地址映射表,建立所述卷到所述m个存储资源池之间的映射关系;

步骤s104:将所述卷挂载至所述主机应用,以便于所述主机应用对所述卷进行读写操作。

在本实施例中,根据存储可提供的可靠性等级进行分类,通过将不同可靠性等级的资源进行组合后提供给主机使用。主机所能使用的存储资源,不同的地址空间的可靠性不同,提升了应用数据的可靠性。

基于上述实施例,在本实施例中,根据主机应用的关键数据和非关键数据的比例预估或者根据主机文件的数据重要性需求,选择所述高可靠性存储资源池和所述低可靠性存储资源池中的部分资源进行组合,得到目标存储资源集合。以主机文件系统为例,在一些领域,如视频监控等,文件系统中元数据的重要性高于文件数据的重要性。

请参考图2,图2为本发明所提供的存储系统的构建方法的第二种具体实施例的流程图。具体操作步骤如下:

步骤s201:根据可靠性的高、中、低三个等级,创建高可靠性存储资源池、中可靠性存储资源池、低可靠性存储资源池;

步骤s202:将高可靠性存储资源、中可靠性存储资源、低可靠性存储资源分别添加至所述高可靠性存储资源池、中可靠性存储资源池和低可靠性存储资源池内;

步骤s203:根据主机应用的关键数据和非关键数据的比例预估,选择所述高可靠性存储资源池和所述低可靠性存储资源池中的部分资源进行组合,得到目标存储资源集合;

步骤s204:创建卷,为所述目标存储资源集合中高可靠性等级存储资源和低可靠性等级存储资源分配地址空间,通过逻辑地址映射表,建立所述卷到所述高可靠性存储资源池和所述低可靠性存储资源池之间的映射关系;

创建卷时,可以根据应用对可靠性的要求,从存储资源池中选择的两个资源池或者两个以上的资源池内的部分资源进行组合,通过逻辑地址映射表,建立卷到资源池之间的映射关系。将所述卷的地址空间分为0-x段和x-z段;其中所述0-x段为高可靠性地址空间,所述高可靠性地址空间映射与所述高可靠性存储资源池;所述x-z端为低可靠性地址空间;所述低可靠性地址空间映射与所述低可靠性存储资源池,如图3所示。

步骤s205:将所述卷挂载至所述主机应用,以便于所述主机应用对所述卷进行读写操作。

以文件系统为例,选择高可靠性存储资源池和中等可靠性存储资源池进行组合后,向所述主机提供卷服务,如图4所示。

所述卷映射至所述主机应用,因此从主机端可以扫描发现卷,并可以对卷进行读写操作。主机向存储系统发送io请求,起始lba地址为lba,请求长度为len。

如图5所示,当所述卷接收到所述主机发送的io请求时,判断所述io请求的起始lba地址是否大于等于卷地址x;

若所述起始lba地址大于等于所述卷地址x,则将所述io请求转发至所述低可靠性资源存储池。若所述起始地址lba小于所述卷地址x,则利用所述io请求的起始地址lba和所述io请求的请求长度len,判断所述io请求的请求队列是否全部落入至所述高可靠性地址空间;若所述io请求的请求队列全部落入至所述高可靠性地址空间,则将所述io请求转发至所述高可靠性存储资源池。

所述io请求的请求队列未全部落入至所述高可靠性地址空间,则将所述io请求拆分为第一io子请求和第二io子请求;

所述第一io子请求的起始地址为lba,所述第一io请求大小为(x-lba);所述第二io子请求的起始地址为x,所述第二io请求大小为(len-(x-lba));

将所述第一io子请求转发至所述高可靠性存储资源池;将所述第二io子请求转发至所述低可靠性存储资源池。

在本实施例中,通过对存储资源按照可靠性等级进行划分,创建卷时按照地址空间分段进行映射,不同的数据可靠性需求对应到不同的可靠性的存储资源池。在主机io请求下发时,通过判断io请求的lba地址和大小,区分io请求所在的不同可靠性级别的存储资源池。同一个卷的不同地址空间,提供不同可靠性级别的存储资源,实现了所述主机应用中不同数据的可靠性要求不同的需求。

请参考图6,图6为本发明实施例提供的一种存储系统的构建装置的结构框图;具体装置可以包括:

第一创建模块100,用于根据预先定义的n个可靠性等级,创建与所述n个可靠性等级分别对应的n个存储资源池,以便于依据存储资源的可靠性等级,将所述存储资源分别添加所述n个存储资源池内,其中n≥2;

组合模块200,用于根据主机应用的数据可靠性等级的预设需求比例,选择m个存储资源池中的部分存储资源进行组合,得到目标存储资源集合,其中2≤m≤n;

第二创建模块300,用于创建卷,为所述目标存储资源集合中各个可靠性等级存储资源分配地址空间,通过逻辑地址映射表,建立所述卷到所述m个存储资源池之间的映射关系;

挂载模块400,用于将所述卷挂载至所述主机应用,以便于所述主机应用对所述卷进行读写操作。

本实施例的存储系统的构建装置用于实现前述的存储系统的构建方法,因此存储系统的构建装置中的具体实施方式可见前文中的存储系统的构建方法的实施例部分,例如,第一创建模块100,组合模块200,第二创建模块300,挂载模块400,分别用于实现上述存储系统的构建方法中步骤s101,s102,s103和s104,所以,其具体实施方式可以参照相应的各个部分实施例的描述,在此不再赘述。

本发明具体实施例还提供了一种存储系统的构建设备,包括:存储器,用于存储计算机程序;处理器,用于执行所述计算机程序时实现上述一种存储系统的构建方法的步骤。

本发明具体实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述一种存储系统的构建方法的步骤。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。

以上对本发明所提供的存储系统的构建方法、装置、设备以及计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1