一种磁盘分配方法、装置和存储系统与流程

文档序号:17600330发布日期:2019-05-07 20:11阅读:143来源:国知局
一种磁盘分配方法、装置和存储系统与流程

本发明涉及存储技术,更具体地,涉及一种磁盘分配方法、装置和存储系统。



背景技术:

目前用户对存储的需求基于两个维度:存储空间和存储性能。存储空间即存储的容量,存储性能一般用ipos、吞吐量等参数来表征。其中,iops即i/opersecond,即每秒读写(i/o)操作次数。磁盘的吞吐量也就是每秒磁盘i/o的流量,即磁盘写入加上读出的数据的大小,两者是相关联的,体现存储性能的常用指标是iops。

常用的磁盘类型包括:sata(serialadvancedtechnologyattachment,串行ata接口规范)磁盘,scsi(smallcomputersysteminterface,小型计算机系统接口)磁盘,sas(serialattachedscsi,串行连接scsi)磁盘,nvme(:non-volatilememoryexpress:非易失性存储器标准)磁盘,等等。

下面给出一些示例性的磁盘类型所能提供的存储空间和存储性能:

3,5″转速为7.200rpm的sata磁盘,iops为65,空间为4t;

3,5″转速为15.000rpm的sas磁盘,iops为146,空间为2t;

3,5″转速为15.000rpm的sas磁盘,iops为146,空间为4t;

低端ssd磁盘,iops为1xxxx-3xxxx,空间为800g,“x”可以为0~9中任意的一个数字;

中端ssd磁盘,iops为3xxxx-6xxxx,空间为800g;

高端ssd磁盘,iops为6xxxx-1xxxxx,空间为800g;

nvme磁盘,iops为3xxxxx,空间为800g。

可以看出,不同类型磁盘所提供的存储空间和存储性能是不同的,例如,100块sas硬盘才能提供接近低端ssd磁盘的iops,但100块sas硬盘提供的存储空间远远超过低端ssd磁盘所能提供的存储空间。对于同一类型的磁盘来说,存储性能和存储空间基本是正相关的。例如,磁盘的数量增加2倍时,存储空间增加2倍,iops也大致增加2倍。

随着公有云的不断发展,后台的存储系统出现多种类型磁盘在存储集群内部混合部署的情况,例如。存储集群中的部分服务器部署的是sata磁盘,而另一部分服务器部署的是sas磁盘,也可能部署有三种以上类型的磁盘。相关技术中,公有云的前端系统会将后台不同类型磁盘包装成不同等级的云盘出售,由用户根据自己对存储空间和存储性能的需求自行选择某一等级的云盘,这对于用户来说是不方便的,而且用户对存储空间和存储性能的需求相对所能选择的云盘来说并不总是正相关的,这使得用户选择某一等级的云盘时,在满足存储性能的需求时,存储空间可能会超出需求很多,从而造成浪费。此外,中小用户在购买云盘时,可能会考虑性价比而选择比较便宜的低性能云盘,此种云盘后台多是由sata磁盘构成。在用户的业务发展过程中,用户对存储空间和存储性能的需求经常是变化的。

目前在云计算的市场上,各个厂商在设计存储系统如云存储系统时,对于存储空间的增长需求,可以方便地为用户提供解决方案,例如增加磁盘的数量。但是,如果用户对存储空间和存储性能的需求处于非正相关状态,例如要求空间不变而性能增加4倍,可以采用以下方式:

方式一,购买更多同类型磁盘来满足存储性能需求,如果选择这种方式,用户经常需要购买大大超出自己需求的存储空间来获得所需的存储性能,成本非常高昂。

方式二,购买存储性能更高的另一类型磁盘。如果选择这种方式,也很难有一种类型磁盘在满足用户对存储空间和存储性能的需求的同时,又不会造成浪费。而且数据的迁移量很大,用户需要自己解决从旧磁盘到新磁盘的数据热迁移问题,这是用户不愿面对的技术难题。



技术实现要素:

有鉴于此,本发明实施例提供了一种磁盘分配方法,包括:

存储系统接收用户对存储空间和存储性能的需求信息;

所述存储系统根据所述需求信息,将一种类型磁盘的磁盘资源分配给所述用户或者将多种类型磁盘的磁盘资源组合起来分配给所述用户。

有鉴于此,本发明实施例还提供了一种存储系统,包括前端子系统和控制子系统,其中:

所述前端子系统,用于接收用户对存储空间和存储性能的需求信息,将所述需求信息发送给所述控制子系统;

所述控制子系统,用于根据所述需求信息,将一种类型磁盘的磁盘资源分配给所述用户或者将多种类型磁盘的磁盘资源组合起来分配给所述用户。

有鉴于此,本发明实施例还提供了一种磁盘分配装置,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算程序时实现以下处理:

获取用户对存储空间和存储性能的需求信息;

根据所述需求信息,将一种类型磁盘的磁盘资源分配给所述用户或者将多种类型磁盘的磁盘资源组合起来分配给所述用户。

有鉴于此,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现以下处理:

获取用户对存储空间和存储性能的需求信息;

根据所述需求信息,将一种类型磁盘的磁盘资源分配给所述用户或者将多种类型磁盘的磁盘资源组合起来分配给所述用户。

上述实施例中,存储系统可以根据用户需求自行选择为用户分配一种类型的磁盘或多种类型的磁盘,从而更好地满足用户对存储空间和存储性能的各种需求。

附图说明

图1是本发明实施例一磁盘分配方法的流程图;

图2是本发明实施例一存储系统的结构示意图;

图3是本发明实施例二基于的存储系统的示意图;

图4是本发明实施例二实现用户需求调整的一个示例性的流程图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。

实施例一

本实施例的存储系统以公有云的块存储系统为例,该存储系统中部署有多种类型的磁盘,可以根据用户对存储空间和存储性能的需求,提供两种分配方式,一种是将一种类型磁盘的磁盘资源分配给用户,另一种是将多种类型磁盘的磁盘资源组合起来分配给用户。多种类型磁盘的磁盘资源组合所能提供的存储空间和存储性能更为多样化,因而更容易满足用户存储空间和存储性能的多样化需求。

本实施例的磁盘分配方法如图1所示,包括:步骤110,存储系统接收用户对存储空间和存储性能的需求信息;步骤120,所述存储系统根据所述需求信息,将一种类型磁盘的磁盘资源分配给所述用户或者将多种类型磁盘的磁盘资源组合起来分配给所述用户。上述用户对存储空间和存储性能的需求信息可以是用户第一次提出的需求信息,即存储系统之前没有为用户分配云盘,也可以是用户对已有云盘升级时提出的新的需求。本申请磁盘的类型划分并不限于依据接口规范来划分,提供的空间和/或性能不同的磁盘均为不同类型的磁盘,可以提供不同类型磁盘的磁盘资源。

本实施例中,如果用户对存储空间的需求和对存储性能的需求之间的比例,与任一种类型磁盘提供的存储空间和存储性能之间的比例差距较大,此时如果将一种类型磁盘的磁盘资源分配给用户,则可能会存在较大的资源浪费。假定在一个示例中,用户对存储空间的需求是10t,对iops(代表存储性能)的需求是10000(单位为次/秒,以下略),存储空间与iops之比为1∶1000;存储系统中可以分配的磁盘类型有2种:第一类型磁盘和第二类型磁盘,假定1块第一类型磁盘(如sas)的存储空间为2t而iops为150,存储空间与iops之比为1∶75。1块第二类型磁盘(如低端ssd)的存储空间为0.8t而iops为10000,存储空间与iops之比为1∶12500。

为用户分配的磁盘资源必须满足用户对存储空间和存储性能的需求,那么,如果将第一类型磁盘的磁盘资源分配给用户,则需要分配70块第一类型磁盘(这里没有考虑冗余,如果有冗余的要求,可以再多分一些),此时提供的iops为10500,略高于需求的10000,而提供的存储空间为140t,远远高于需求的10t。如果将第二类型磁盘的磁盘资源分配给用户,则需要分配13块第二类型磁盘,此时提供的存储空间为10.4t,略高于需求的10t,而提供的iops为130000,远远高于需求的10000。因而,无论是分配第一类型磁盘还是分配第二类型磁盘,提供的存储空间和存储性能中总有一个会远远超出需求,造成资源浪费,也提高了用户成本。

考虑到上述情况,本实施例所述存储系统根据所述需求信息,将一种类型磁盘的磁盘资源分配给所述用户或者将多种类型磁盘的磁盘资源组合起来分配给所述用户,采用以下策略:

判断是否至少有一种类型磁盘满足设定条件:

如果是,选择一种类型磁盘的磁盘资源分配给所述用户;

如果否,将多种类型磁盘的磁盘资源分配给所述用户,使所分配的磁盘资源提供的存储空间的裕量和提供的存储性能的裕量均未超过相应的最大裕量;

所述设定条件是:将该类型磁盘的磁盘资源分配给所述用户时,所分配的磁盘资源提供的存储空间的裕量和提供的存储性能的裕量均未超过相应的最大裕量。

上述存储空间的裕量指分配的存储资源提供的存储空间除满足用户对存储空间的需求外剩余的量。而存储性能的裕量指分配的存储资源提供的存储性能除满足用户对存储性能的需求外剩余的量。本实施例中,存储空间的裕量用剩余的存储空间与需求的存储空间之比来表示,存储性能的裕量用剩余的存储性能与需求的存储性能之比来表示。但在其他实施例中,存储空间的裕量也可以直接用剩余的存储空间的数量表示,存储性能的裕量也可以直接用剩余的存储性能的数量表示。

在上述示例中,如果将第一类型磁盘的磁盘资源分配给用户,则提供的存储空间的裕量为(140t-10t)/10t=13,用百分数表示则为1300%,提供的存储性能的裕量为(10500-10000)/10000=0.05。而如果将第二类型磁盘的磁盘资源分配给用户,则提供的存储空间的裕量为(10.4t-10t)/10t=0.04,提供的存储性能的裕量为(130000-10000)/10000=12,用百分数表示则为1200%。

上述策略中,最大裕量是预先设定的,本实施例中,存储空间的最大裕量设置为3,即剩余的存储空间最多可以是需求的存储空间的3倍。iops的最大裕量设置为5,即剩余的iops最多可以是与需求的iops的5倍。以免造成过多的资源浪费。在其他实施例中,如果存储空间的裕量直接用剩余的存储空间的数量表示,则存储空间的最大裕量可以直接设置为存储空间的数量如10t,存储性能也是类似的。

在上述示例中,在进行判决时,因为分配第一类型磁盘的磁盘资源给用户时,存储空间的裕量为13,超过了存储空间的最大裕量3,而分配第二类型磁盘的磁盘资源给用户时,存储性能的裕量为12,超过了存储性能的最大裕量,因此,在判断是否至少有一种类型磁盘满足设定条件时,判断结果是否,此时应将多种类型磁盘的磁盘资源分配给所述用户,使所分配的磁盘资源提供的存储空间的裕量和提供的存储性能的裕量均未超过相应的最大裕量。具体地,可以分配5块第一类型磁盘和1块第二类型磁盘,此时,分配的磁盘资源提供的存储空间为10.8t,裕量为0.08,小于最大裕量3;而提供的iops为10750,裕量为0.075,小于最大裕量5。采用这种分配方式,提供的存储空间和存储性能都是略高于需求,这样可以节约很多的系统资源,也可以大大降低用户的使用成本。

这种分配策略可以适用于已分配有云盘的用户提出的需求,也可以适用于第一次分配云盘的用户提出的需求。

本实施例中,针对已分配有云盘的用户提出的一种特殊需求,即如果已分配给所述用户的第一类型磁盘的磁盘资源满足所述用户对存储空间的需求,但不满足所述用户对存储性能的需求,可以采用以下的分配方式:为所述用户增加第二类型磁盘的磁盘资源,和/或将部分第一类型磁盘的磁盘资源更换为所述第二类型磁盘的磁盘资源,其中,所述第二类型磁盘的存储性能优于所述第一类型磁盘的存储性能。容易理解,当用户对云盘升级时,如果只想提升存储性能,传统的磁盘分配方式是不能满足这个需求的,而本实施例通过将多种类型磁盘的磁盘资源组合起来分配给用户,就可以很容易地满足用户需求。

本实施例中,所述存储系统将一种类型磁盘的磁盘资源分配给所述用户或者将多种类型磁盘的磁盘资源组合起来分配给所述用户之后,所述方法还包括:如果所述存储系统为所述用户分配的磁盘资源包括新增磁盘提供的磁盘资源,所述存储系统自动将所述用户的数据从已分配给所述用户的部分或全部磁盘迁移到所述新增磁盘上。本实施例的热迁移由系统自动完成,用户不再需要执行复杂的迁移操作。

本实施例还提供了一种存储系统,如图2所示,包括前端子系统10和控制子系统20,其中:

前端子系统10,用于接收用户对存储空间和存储性能的需求信息,将所述需求信息发送给所述控制子系统;

控制子系统20,用于根据所述需求信息,将一种类型磁盘的磁盘资源分配给所述用户或者将多种类型磁盘的磁盘资源组合起来分配给所述用户。

本实施例中,所述控制子系统根据所述需求信息,将一种类型磁盘的磁盘资源分配给所述用户,包括:判断是否至少有一种类型磁盘满足设定条件,如果是,选择一种类型磁盘的磁盘资源分配给所述用户;所述设定条件是:将该类型磁盘的磁盘资源分配给所述用户时,所分配的磁盘资源提供的存储空间的裕量和提供的存储性能的裕量均未超过相应的最大裕量。

本实施例中,所述控制子系统根据所述需求信息,将多种类型磁盘的磁盘资源组合起来分配给所述用户,包括:判断是否至少有一种类型磁盘满足设定条件,如果否,将多种类型磁盘的磁盘资源分配给所述用户,使所分配的磁盘资源提供的存储空间的裕量和提供的存储性能的裕量均未超过相应的最大裕量;所述设定条件是:将该类型磁盘的磁盘资源分配给所述用户时,所分配的磁盘资源提供的存储空间的裕量和提供的存储性能的裕量均未超过相应的最大裕量。

本实施例中,所述控制子系统根据所述需求信息,将多种类型磁盘的磁盘资源组合起来分配给所述用户,包括:如果已分配给所述用户的第一类型磁盘的磁盘资源满足所述用户对存储空间的需求,但不满足所述用户对存储性能的需求,则为所述用户增加第二类型磁盘的磁盘资源,和/或将部分第一类型磁盘的磁盘资源更换为所述第二类型磁盘的磁盘资源,其中,所述第二类型磁盘的存储性能优于所述第一类型磁盘的存储性能。

本实施例中,所述控制子系统将一种类型磁盘的磁盘资源分配给所述用户或者将多种类型磁盘的磁盘资源组合起来分配给所述用户之后,还用于在为所述用户分配的磁盘资源包括新增磁盘提供的磁盘资源时,自动将所述用户的数据从已分配给所述用户的部分或全部磁盘迁移到所述新增磁盘上。

本实施例的上述方案根据用户对存储空间和存储性能的需求,自动为用户分配磁盘资源。在用户对存储性能和存储空间的需求相对任一类型磁盘提供的磁盘资源均非正相关的情况下,提供适合的解决方案。还可进一步自动实现数据热迁移,对用户透明。本实施例方案可以用于公有云存储产品,实现用户对云盘性能的平滑升级要求。

实施例二

本实施例提供一个具体的示例进行说明,在本示例中,用户已通过存储系统分配有sas磁盘,该用户因业务发展,需要对已有的存储空间和存储性能进行提升。

图3所示是本示例基于的存储系统的示意图,该存储系统包括前端子系统40、主控模块50、文件系统控制模块60和多个存储服务节点70,及挂载在存储服务节点70上的多种类型的磁盘。实施例一的控制子系统包括主控模块50和文件系统控制模块60,其中,前端子系统40可以接收用户请求并发送给主控模块50,主控模块50可以对前端用户的直接读写请求进行负载均衡,以及根据用户请求进行多用户的空间分布管理等功能;文件系统控制模块60是文件系统的控制中枢,用于管理各存储服务节点70下挂载的磁盘的信息,如磁盘数量,磁盘类型、磁盘状态和使用情况等,还用于管理用户的数据块和磁盘的映射关系。本示例中,示出了两个存储服务节点70,每一存储服务节点70下挂载了多种类型的磁盘,图中示出的是sata、sas和ssd,但完全可以是其他类型的磁盘,不同存储服务节点挂载的磁盘类型也可以不同。

如图4所示,本示例的磁盘分配方法包括:

步骤210,前端子系统接收用户发送的调整请求,将其中携带的用户对存储空间和存储性能的需求信息发送给控制子系统;

步骤220,控制子系统根据现有磁盘的使用情况计算出可提供的存储空间和存储性能的上限,判断是否可以满足所述用户对存储空间和存储性能的需求,如果不能满足,执行步骤230,如果可以满足,执行步骤240;

控制子系统可以将各种类型的空闲磁盘可以提供的存储空间和存储性能累加起来,确定系统当前可提供的存储空间和存储性能的上限。具体地,主控模块收到调整请求后,向文件系统控制模块查询现有磁盘的使用情况。根据现有的空闲磁盘计算出系统可提供的容量和性能上限,同时主控模块可以向文件系统控制模块查询所述用户使用的磁盘类型、磁盘数量信息。

步骤230,返回调整失败,并建议用户将需求降低,结束;

控制子系统可通过前端系统向用户返回调整失败的响应,并向用户给出系统资源不足等提示。

步骤240,控制子系统根据磁盘分配策略,选择将sas磁盘和低端ssd磁盘的磁盘资源组合起来分配给所述用户,其中sas磁盘可使用已有的磁盘;

步骤250,所述控制子系统将所述用户的部分sas磁盘中的数据块迁移到ssd磁盘,整个迁移过程完全在后台进行。

在本示例中,假定用户需要50t的存储空间,10000的iops,则可以使用25块2t的sas磁盘来提供50t空间和3650的iops,另外分配2块低端ssd提供20000iops(考虑性能冗余,不使用1块ssd)。当用户性能要求增加时,比如要求iops提高到40000,我们可以将ssd盘增加到4块,同时将数据进行迁移。

本示例提供了一种存储空间和存储性能动态调整的解决方案。用户可以在给定的性能高限之下,根据自己的需求修改对存储空间和存储性能的需求。后台存储系统会根据用户对存储空间和存储性能的需求自动计算各种类型磁盘的磁盘配比,并可以对用户数据如文件块进行自动迁移。

本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于ram、rom、eeprom、闪存或其他存储器技术、cd-rom、数字多功能盘(dvd)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。

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