本发明涉及网络存储技术领域,尤其涉及一种选择存储资源方法、装置及系统。
背景技术:
云数据中心可以为多租户、多业务提供存储服务,但是不同的租户和不同的业务所需要的存储需求不同,因此,当对所有的租户提供相同标准的存储资源(Logical Unit Number,LUN)时,可能造成资源的浪费。
在现有技术中,为解决云数据中心的多租户或多业务的差异化需求所带来的问题,可以采用下面的方案解决。一种方法为:采用存储管理程序技术,在应用服务器与存储阵列之间再增加一台中间应用服务器,由中间应用服务器接管所有的存储阵列,并将不同性质的存储阵列组成若干个存储资源池,然后再根据租户的需求从不同存储池中选择一个满足硬件约束项的存储阵列,当所述存储阵列存在满足所述LUN的所述软件约束项的功能时,创建所述LUN,并分配给租户。
第二种方法为:采用存储虚拟化技术,由应用服务器内的云操作系统Cloud OS统一管理存储阵列,形成若干个存储资源池,并分别记录不同存储阵列所具有的功能。在创建虚拟机(Virtual machine,VM)的时候,当存储阵列存在满足所述LUN的所述软件约束项的功能时,创建所述LUN,并分配给租户。
然而,第一种方法在存储阵列的基础上增加中间应用服务器,提高了成本,虽然存储的功能全部由中间应用服务器提供,但是当存储阵列中不具备租户所需求的LUN的功能时,将无法动态调整存储功能,只能依靠应用服务器完成数据的输入输出I/O操作。在采用第二种方法时,虽然能获取存储阵列的存储功能,但无法从服务端下发功能到存储阵列,当存储阵列中不具有虚拟机所需求的LUN的功能时,也不能动态调整存储功能。
技术实现要素:
本发明的实施例提供一种选择存储资源方法、装置及系统,可以通过创建满足所述LUN分配请求的LUN,实现可动态调整存储功能。
第一方面,本发明实施例提供一种选择存储资源方法,所述方法应用于存储系统,所述存储系统包括资源管理服务器和存储阵列,所述资源管理服务器与所述存储阵列通信,所述方法包括:
所述资源管理服务器接收逻辑单元号LUN分配请求,所述LUN分配请求携带包括确定所述LUN的约束项,所述约束项包括硬件约束项和软件约束项;
所述资源管理服务器根据所述约束项,从满足所述硬件约束项的存储阵列中确定满足所述LUN分配请求的LUN。
在第一种可能的实现方式中,结合第一方面,所述资源管理服务器根据所述约束项,从所述满足所述硬件约束项的存储阵列中确定满足所述LUN分配请求的LUN,具体包括:
根据所述约束项中的所述硬件约束项,确定满足所述硬件约束项的存储阵列;
根据所述约束项中的所述软件约束项,从所述满足所述硬件约束项的存储阵列中确定满足所述LUN分配请求的LUN。
在第二种可能的实现方式中,结合第一方面中第一种可能实现的方式,当所述满足所述硬件约束项的存储阵列中不存在满足所述LUN分配请求的LUN时,根据所述约束项,从所述满足所述硬件约束的存储阵列中确定满足所述LUN分配请求的LUN,具体包括:
向所述存储阵列发送可执行文件,以便所述满足所述硬件约束项的所述存储阵列安装所述可执行文件,所述可执行文件用于提供所述LUN分配请求所需的软件约束项;
从所述满足所述硬件约束项的存储阵列中确定满足所述LUN分配请求的LUN。
第二方面,本发明实施例提供一种选择存储资源装置,包括:
接收单元,用于接收逻辑单元号LUN分配请求,所述LUN分配请求携带包括确定所述LUN的约束项,所述约束项包括硬件约束项和软件约束项;
确定单元,用于根据所述约束项,从满足所述硬件约束项的存储阵列中确定满足所述LUN分配请求的LUN。
在第一种可能的实现的方式中,结合第二方面,所述确定单元,包括:
第一确定模块,用于根据所述约束项中的所述硬件约束项,确定满足所述硬件约束项的存储阵列;
第二确定模块,用于根据所述约束项中的所述软件约束项,从所述满足所述硬件约束项的存储阵列中确定满足所述LUN分配请求的LUN。
在第二种可能的实现的方式中,结合第二方面中第一种可能实现的方式,所述确定单元,包括:
发送模块,用于向所述存储阵列发送可执行文件,以便所述满足所述硬件约束项的所述存储阵列安装所述可执行文件,所述可执行文件用于提供所述LUN分配请求所需的软件约束项;
所述第二确定模块,还用于从所述满足所述硬件约束项的存储阵列中确定满足所述LUN分配请求的LUN。
第三方面,本发明实施例提供一种选择存储资源系统,包括资源管理服务器和存储阵列;
所述资源管理服务器,用于接收逻辑单元号LUN分配请求,所述LUN分配请求携带包括确定所述LUN的约束项,所述约束项包括硬件约束项和软件约束项;根据所述约束项,从满足所述硬件约束项的存储阵列中确定满足所述LUN分配请求的LUN;
所述存储阵列,用于当满足所述硬件约束项的存储阵列中不存在满足所述LUN分配请求的LUN时,接收资源管理服务器发送的可执行文件,所述可执行文件用于提供所述LUN分配请求所需的软件约束项;安装所述可执行文件,创建满足所述LUN分配请求的LUN。
在第一种可能的实现方式中,结合第三方面,所述存储阵列为所述满足所述硬件约束项的存储阵列。
本发明实施例提供一种选择存储资源方法、装置及系统,通过资源管理服务器接收逻辑单元号LUN分配请求,LUN分配请求携带包括确定LUN的约束项,约束项包括硬件约束项和软件约束项;根据约束项,从满足硬件约束项的存储阵列中确定满足LUN分配请求的LUN,使得本发明实施例可以通过创建满足LUN分配请求的LUN,实现可动态调整存储功能。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一个实施例提供的一种选择存储资源方法的流程图;
图2为本发明另一个实施例提供的存储阵列的内部结构的示意图;
图3为本发明另一个实施例提供的存储阵列中的数据处理服务器OSD、控制处理服务器和资源管理服务器部署在不同的应用服务器中的示意图;
图4为本发明另一个实施例提供的另一种选择存储资源方法的流程图;
图5为本发明另一个实施例提供的一种选择存储资源装置的框图;
图6为本发明另一个实施例提供的另一种选择存储资源装置的框图;
图7为本发明另一个实施例提供的另一种选择存储资源装置的框图;
图8为本发明另一个实施例提供的一种选择存储资源系统的框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供一种选择存储资源方法,该方法的执行主体为资源管理服务器,如图1所述,该方法包括:
步骤101,资源管理服务器接收逻辑单元号(Logical Unit Number,LUN)分配请求,LUN分配请求携带包括确定LUN的约束项,约束项包括硬件约束项和软件约束项。
可选的,资源管理服务器接收应用服务器发送的逻辑单元号LUN分配请。LUN为存储系统能识别和操作的最小存储对象。LUN的约束项可以包括硬件约束项和软件约束项,其中,硬件约束项为物理特性的参数,如存储容量和存储性能等,软件约束项为功能特性的参数,如可用性等级、安全性等级、对待处理数据的重复数据删除以及对待处理数据的压缩等。
可选的,不同租户对LUN的具体需求不同,可以根据LUN的约束项,实现对待处理数据的快照、克隆、备份以及精简配置(Thin Provision)等。
步骤102,资源管理服务器根据约束项,从满足硬件约束项的存储阵列中确定满足LUN分配请求的LUN。
可选的,资源管理服务器解析约束项,确定满足硬件约束项的存储阵列。本发明实施例中的存储阵列为内部结构改造后的存储阵列,如图2所示,存储阵列将改造前的一个处理服务器分为三个独立的处理服务器,即数据处理服务器OSD、控制处理服务器和资源管理服务器。
OSD包括压缩功能和两种类型的重复数据删除功能,并且OSD进程负责数据的加工处理,例如可以对数据进行压缩或者重复数据删除的操作,并且一个OSD进程负责处理具有相同数据处理算法的数据的输入输出(Input/Output,I/O);控制处理服务器包括精简配置、虚拟站和闪存(Flash Cache),控制处理服务器进程负责提供LUN相关的操作,例如,负责所述LUN的创建、删除、修改,以及控制待处理数据路由到哪个OSD进行处理,并且一个控制处理服务器进程负责处理同一类型的LUN;资源管理服务器包括策略驱动存储(Policy-Driven Storage)、存储资源分类管理和存储阵列接入管理,资源管理服务器负责根据租户或者业务的需求分配存储资源,并且它是不断完善的功能库,可以提供丰富的功能集安装包和算法集。
可选的,改造后的一台存储阵列可以包括一个资源管理服务器、多个OSD和多个控制处理服务器。根据LUN的软件约束项的不同,可以在满足硬件约束项的存储阵列中创建具有不同软件功能的控制处理服务器,由控制处理服务器创建不同的LUN并处理LUN的I/O操作,从而达到为每个LUN提供不同的存储业务处理逻辑和功能的目的,可以最大限度地在同一个存储阵列上满足不同租户、不同业务的个性化存储需求,提升单台存储阵列的总体性价比。然而在现有技术中,当满足硬件约束项的存储阵列中不存在满足软件约束项时,将无法在满足硬件约束项的存储阵列中创建满足软件约束项的LUN。另外,多个存储阵列可以共享一个所述资源管理服务器。存储阵列中的OSD、控制处理服务器和资源管理服务器可以部署在一台应用服务器中,也可以分别部署在不同的应用服务器中,它们之间通过网络进行通讯。如图3所示,存储阵列中的OSD、控制处理服务器和资源管理服务器部署在不同的应用服务器中。
可选的,当满足硬件约束项的存储阵列中存在满足LUN分配请求的LUN时,资源管理服务器从满足硬件约束的存储阵列中确定满足LUN分配请求的LUN。当满足硬件约束项的存储阵列中不存在满足LUN分配请求的LUN时,资源管理服务器向满足硬件约束项的存储阵列中发送可执行文件,可执行文件用于提供LUN分配请求所需的软件约束项。满足硬件约束项的存储阵列安装可执行文件,可以创建满足LUN分配请求的LUN,然后,资源管理服务器可以在满足硬件约束项的存储阵列中确定满足LUN分配请求的LUN。
本发明实施例提供一种选择存储资源方法,通过资源管理服务器接收逻辑单元号LUN分配请求,LUN分配请求携带包括确定LUN的约束项,约束项包括硬件约束项和软件约束项;根据约束项,从满足硬件约束项的存储阵列中确定满足LUN分配请求的LUN,使得本发明实施例可以通过创建满足LUN分配请求的LUN,实现可动态调整存储功能。
本发明实施例提供一种选择存储资源方法,如图4所示,该方法包括:
步骤401,资源管理服务器接收应用服务器发送的LUN分配请求,LUN分配请求携带包括确定LUN的约束项,约束项包括硬件约束项和软件约束项。
可选的,本步骤与附图1中步骤101相同,具体可参见步骤101的描述,在此不再一一赘述。
步骤402,根据约束项中的硬件约束项,资源管理服务器确定满足硬件约束项的存储阵列。
可选的,本步骤中的硬件约束项为物理特性的参数,如存储容量和存储性能等,因此资源管理服务器可以根据硬件约束项,找到满足硬件约束项的存储阵列。
可选的,本步骤中的存储阵列为内部结构改造后的存储阵列,如图2所示,存储阵列将改造前的一个处理服务器分为三个独立的处理服务器,即数据处理服务器OSD、控制处理服务器和资源管理服务器。所述OSD包括压缩功能和两种类型的重复数据删除功能,并且OSD进程负责数据的加工处理,例如可以对数据进行压缩或者重复数据删除的操作,并且一个OSD进程负责处理具有相同数据处理算法的数据的输入输出I/O;控制处理服务器包括精简配置、虚拟站和闪存,控制处理服务器进程负责提供LUN相关的操作,例如,负责所述LUN的创建、删除、修改,以及控制待处理数据路由到哪个OSD进行处理,并且一个控制处理服务器进程负责处理同一类型的LUN;资源管理服务器包括策略驱动存储、存储资源分类管理和存储阵列接入管理,资源管理服务器负责根据租户或者业务的需求分配存储资源,并且它是不断完善的功能库,可以提供丰富的功能集安装包和算法集。
步骤403,资源管理服务器向满足硬件约束项的存储阵列发送查询请求,查询请求用于查询满足硬件约束项的存储阵列中是否存在满足LUN分配请求的LUN。
步骤404,满足硬件约束项的存储阵列接收资源管理服务器发送的查询请求。
步骤405,满足硬件约束项的存储阵列根据查询请求,查询满足硬件约束项的存储阵列中是否存在满足LUN分配请求的LUN,获得查询结果。
可选的,查询结果包括满足硬件约束项的存储阵列中存在满足LUN分配请求的LUN,或者不存在满足LUN分配请求的LUN。
可选的,满足硬件约束项的存储阵列接收发到资源管理服务器发送的查询请求后,查询满足硬件约束项的存储阵列中是否存在满足软件约束项的控制处理平面进程。以便由控制处理平面进程创建满足LUN分配请求的LUN。
步骤406,满足硬件约束项的存储阵列向资源管理服务器发送查询响应,查询响应中包括查询结果。
可选的,当满足硬件约束项的存储阵列中不存在满足LUN分配请求的LUN时,向资源管理服务器发送查询结果,即满足硬件约束项的存储阵列将缺少的软件约束项中的软件功能清单发送给资源管理服务器。
步骤407,资源管理服务器接收满足硬件约束项的存储阵列发送的查询响应。
在本步骤中,当满足硬件约束项的存储阵列中存在满足LUN分配请求的LUN时,执行步骤408,当满足硬件约束项的存储阵列中不存在满足LUN分配请求的LUN时,执行步骤409。
步骤408,资源管理服务器从满足硬件约束项的存储阵列中确定满足LUN分配请求的LUN。
步骤409,资源管理服务器向满足硬件约束项的存储阵列发送可执行文件,可执行文件用于提供LUN分配请求所需的软件约束项。
可选的,可执行文件用于提供LUN分配请求所需的软件约束项。
步骤410,满足硬件约束项的存储阵列接收资源管理服务器发送的可执行文件。
步骤411,满足硬件约束项的存储阵列安装可执行文件,创建满足LUN分配请求的LUN。
本发明实施例提供一种选择存储资源方法,通过资源管理服务器根据LUN分配请求中携带的确定LUN的约束项,确定满足硬件约束项的存储阵列,当满足硬件约束项的存储阵列中不存在满足软件约束项时,向满足硬件约束项的存储阵列发送可执行文件,以便满足硬件约束项的存储阵列根据可执行文件,创建满足LUN分配请求的LUN,使得本发明实施例可以通过创建满足LUN分配请求的LUN,实现可动态调整存储功能。实现在同一个存储阵列上满足不同租户、不同业务的个性化存储需求,提升单台存储阵列的总体性价比。
本发明实施例提供一种选择存储资源装置,该装置可以为资源管理服务器,如图5所示,该装置包括:接收单元501,确定单元502。
接收单元501,用于接收逻辑单元号LUN分配请求,所述LUN分配请求携带包括确定所述LUN的约束项,所述约束项包括硬件约束项和软件约束项。
可选的,本步骤中LUN为存储系统能识别和操作的最小存储对象。LUN的约束项可以包括硬件约束项和软件约束项,其中,硬件约束项为物理特性的参数,如存储容量和存储性能等,软件约束项为功能特性的参数,如可用性等级、安全性等级、对待处理数据的重复数据删除以及对待处理数据的压缩等。
可选的,不同租户对LUN的具体需求不同,可以根据LUN的约束项,实现对待处理数据的快照、克隆、备份以及精简配置等。
确定单元502,用于根据所述约束项,从满足所述硬件约束项的存储阵列中确定满足所述LUN分配请求的LUN。
可选的,所述存储阵列为内部结构改造后的存储阵列,如图2所示,所述存储阵列将改造前的一个处理服务器分为三个独立的处理服务器,即数据处理服务器OSD、控制处理服务器和资源管理服务器。且改造后的一台存储阵列可以包括一个资源管理服务器、多个OSD和多个控制处理服务器。
进一步可选的,如图6所示,所述确定单元502,包括:第一确定模块5021,第二确定模块5022。
第一确定模块5021,用于根据所述约束项中的所述硬件约束项,确定满足所述硬件约束项的存储阵列。
第二确定模块5022,用于根据所述约束项中的所述软件约束项,从所述满足所述硬件约束项的存储阵列中确定满足所述LUN分配请求的LUN。
进一步可选的,当所述满足所述硬件约束项的存储阵列中不存在满足所述LUN分配请求的LUN时,所述确定单元502,包括:发送模块5023。
发送模块5023,用于向所述存储阵列发送可执行文件,以便所述满足所述硬件约束项的所述存储阵列安装所述可执行文件,所述可执行文件用于提供所述LUN分配请求所需的软件约束项。
所述第二确定模块5022,还用于从所述满足所述硬件约束项的存储阵列中确定满足所述LUN分配请求的LUN。
需要说明的是,附图5与附图6所示装置中,其各个模块的具体实施过程以及各个模块之间的信息交互等内容,由于与本发明方法实施例基于同一发明构思,可以参见方法实施例,在此不一一赘述。
本发明实施例提供一种选择存储资源装置,通过资源管理服务器接收逻辑单元号LUN分配请求,LUN分配请求携带包括确定LUN的约束项,约束项包括硬件约束项和软件约束项;根据约束项,从满足硬件约束项的存储阵列中确定满足LUN分配请求的LUN,使得本发明实施例可以通过创建满足LUN分配请求的LUN,实现可动态调整存储功能。
本发明实施例提供一种选择存储资源装置,如图7所示,该装置包括:存储器701,接收器702,处理器703。
存储器701,用于存储包括程序例程的信息。
接收器702,用于接收逻辑单元号LUN分配请求,所述LUN分配请求携带包括确定所述LUN的约束项,所述约束项包括硬件约束项和软件约束项。
处理器703,与存储器701、接收器702耦合,用于控制所述程序例程的执行,具体包括:根据所述约束项,从满足所述硬件约束项的存储阵列中确定满足所述LUN分配请求的LUN。
所述处理器703,还用于根据所述约束项中的所述硬件约束项,确定满足所述硬件约束项的存储阵列。然后根据所述约束项中的所述软件约束项,从所述满足所述硬件约束项的存储阵列中确定满足所述LUN分配请求的LUN。
进一步可选的,当所述满足所述硬件约束项的存储阵列中不存在满足所述LUN分配请求的LUN时,所述处理器703,还用于向所述存储阵列发送可执行文件,以便所述满足所述硬件约束项的所述存储阵列安装所述可执行文件,所述可执行文件用于提供所述LUN分配请求所需的软件约束项。然后从所述满足所述硬件约束项的存储阵列中确定满足所述LUN分配请求的LUN。
需要说明的是,附图7所示装置中,其各个模块的具体实施过程以及各个模块之间的信息交互等内容,由于与本发明方法实施例基于同一发明构思,可以参见方法实施例,在此不一一赘述。
本发明实施例提供一种选择存储资源装置,通过资源管理服务器接收逻辑单元号LUN分配请求,LUN分配请求携带包括确定LUN的约束项,约束项包括硬件约束项和软件约束项;根据约束项,从满足硬件约束项的存储阵列中确定满足LUN分配请求的LUN,使得本发明实施例可以通过创建满足LUN分配请求的LUN,实现可动态调整存储功能。
本发明实施例提供一种选择存储资源系统,如图8所示,该系统包括:资源管理服务器801,存储阵列802。
资源管理服务器801,用于接收逻辑单元号LUN分配请求,所述LUN分配请求携带包括确定所述LUN的约束项,所述约束项包括硬件约束项和软件约束项;根据所述约束项,从满足所述硬件约束项的存储阵列中确定满足所述LUN分配请求的LUN。
存储阵列802,用于当满足所述硬件约束项的存储阵列中不存在满足所述LUN分配请求的LUN时,接收资源管理服务器发送的可执行文件,所述可执行文件用于提供所述LUN分配请求所需的软件约束项;安装所述可执行文件,创建满足所述LUN分配请求的LUN。
可选的,所述资源管理服务器801为附图4中的所述资源管理服务器,所述存储阵列802为附图4中的所述满足所述硬件约束项的存储阵列。
需要说明的是,附图8所示系统中,其各个模块的具体实施过程以及各个模块之间的信息交互等内容,由于与本发明方法实施例基于同一发明构思,可以参见方法实施例,在此不一一赘述。
本发明实施例提供一种选择存储资源系统,通过资源管理服务器接收逻辑单元号LUN分配请求,LUN分配请求携带包括确定LUN的约束项,约束项包括硬件约束项和软件约束项;根据约束项,从满足硬件约束项的存储阵列中确定满足LUN分配请求的LUN,使得本发明实施例可以通过创建满足LUN分配请求的LUN,实现可动态调整存储功能。
本发明实施例中的资源管理服务器可以与存储阵列集成,也可以作为独立于存储阵列,具体可以为物理服务器或者虚拟机,本发明对此不作限定。
需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件的方式来实现,当然也可以通过专用硬件包括专用集成电路、专用CPU、专用存储器、专用元器件等来实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘,U盘、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置和系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。