存储管理方法和系统技术方案

技术编号:20116708 阅读:22 留言:0更新日期:2019-01-16 11:53
本公开涉及一种存储管理方法和系统。该存储管理方法包括:响应于接收到写请求,将需写入的数据划分为预定大小的多个数据块,所述多个数据块具有各自的逻辑块地址;基于所述逻辑块地址将所述多个数据块均匀地映射至RAID的多个RAID区段中;将所述多个RAID区段中的所述多个数据块映射至盘中,使得所述多个数据块在所述盘中按照所述逻辑块地址的大小顺序分布。

Storage Management Method and System

The present disclosure relates to a storage management method and system. The storage management method includes: in response to receiving a write request, dividing the data to be written into a plurality of data blocks of predetermined size, the plurality of data blocks having their respective logical block addresses; mapping the plurality of data blocks evenly to multiple RAID segments of RAID based on the logical block addresses; mapping the plurality of data blocks in the plurality of RAID segments into disks, and so on. The plurality of data blocks can be distributed in the disk in the order of the size of the address of the logical block.

【技术实现步骤摘要】
存储管理方法和系统
本公开涉及存储管理与优化。更具体地,本公开涉及存储管理的方法、系统、计算机可读存储介质及计算机程序产品。
技术介绍
传统的计算机系统为了更好地管理和优化存储通常将若干个盘分区池化为一个存储池,然后在存储池上建立独立磁盘冗余阵列(RAID),并通过RAID映射表(RMT)在RAID区段(RAIDextents)和逻辑单元(LUN)之间进行线性逻辑块地址(LBA)映射,进而实现将用户I/O数据映射到至盘上。上述线性映射的方式虽然具有算法简单等优势,但是由于经线性映射后的用户I/O通常仅集中在部分RAID区段,而不能平均分布在整个盘空间,进而使得存储设备的发热不均衡,并且也显著地降低了整个存储系统的I/O性能,特别是显著降低I/O每秒(IOPS)的性能。
技术实现思路
本公开提供一种存储管理方法和系统,能够优化存储系统的I/O性能。根据本公开的第一方面,提供了一种存储管理方法。该方法包括:响应于接收到写请求,将需写入的数据划分为预定大小的多个数据块,该多个数据块具有各自的逻辑块地址;基于该逻辑块地址将该多个数据块均匀地映射至独立磁盘冗余阵列(RAID)的多个RAID区段中;将该多个RAID区段中的该多个数据块映射至盘中,使得该多个数据块在该盘中按照该逻辑块地址的大小顺序分布。根据本专利技术的第二方面,还提供一种存储管理方法。该方法包括:响应于接收到针对多个数据块的I/O请求,基于该多个数据块各自的逻辑块地址确定该多个数据块被均匀地映射到RAID的多个RAID区段的位置信息;基于该映射到RAID区段的位置信息,确定该多个数据块映射至盘中的位置信息,使得该多个数据块在该盘中按照该逻辑块地址的大小顺序分布;基于该数据块在盘中的位置信息读写该多个数据块。根据本公开的第三方面,提供了一种存储管理系统。该系统包括:存储器,被配置为存储一个或多个程序;处理单元,耦合至该存储器并且被配置为执行该一个或多个程序使该系统执行多个动作,该动作包括:响应于接收到写请求,将需写入的数据划分为预定大小的多个数据块,该多个数据块具有各自的逻辑块地址;基于该逻辑块地址将该多个数据块均匀地映射至独立磁盘冗余阵列(RAID)的多个RAID区段中;将该多个RAID区段中的该多个数据块映射至盘中,使得该多个数据块在该盘中按照该逻辑块地址的大小顺序分布。根据本公开的第四方面,提供了一种存储管理系统。该系统包括:存储器,被配置为存储一个或多个程序;处理单元,耦合至该存储器并且被配置为执行该一个或多个程序使该系统执行多个动作,该动作包括:响应于接收到针对多个数据块的I/O请求,基于该多个数据块各自的逻辑块地址确定该多个数据块被均匀地映射到RAID的多个RAID区段的位置信息;基于该映射到RAID区段的位置信息,确定该多个数据块映射至盘中的位置信息,使得该多个数据块在该盘中按照该逻辑块地址的大小顺序分布;基于该数据块在盘中的位置信息读写该多个数据块。根据本公开的第五方面,提供了一种计算机可读存储介质。该计算机可读存储介质上存储有计算机程序指令,当该计算机程序指令被处理单元调用时执行第一方面或第二方面该的方法根据本公开的第六方面,提供了一种计算机程序产品。该计算机程序产品被有形地存储在非瞬态计算机可读介质上并且包括机器可执行指令,该机器可执行指令在被执行时使机器执行根据第一方面或第二方面该的方法的步骤。提供
技术实现思路
部分是为了简化的形式来介绍对概念的选择,它们在下文的具体实施方式中将被进一步描述。
技术实现思路
部分无意标识本公开的关键特征或主要特征,也无意限制本公开的范围。附图说明通过结合附图对本公开示例性实施例进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施例中,相同的参考标号通常代表相同部件。图1示出了传统的存储管理系统100的架构图;图2示出了根据本公开的实施例的存储管理系统200的架构图;图3示出了根据本公开的实施例的存储管理方法300流程图;图4示出了根据本公开的另一实施例的存储管理方法400的流程图;图5示出了适于用来实现本公开实施例的电子设备500的框图;图6示出了根据本公开的另一实施例块映射的示意图;以及图7示出了采用本公开的实施例的存储管理方法前后的盘上I/O分布效果对比图。具体实施方式下面将参照附图更详细地描述本公开的优选实施例。虽然附图中显示了本公开的优选实施例,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。在本文中使用的术语“包括”及其变形表示开放性包括,即“包括但不限于”。除非特别申明,术语“或”表示“和/或”。术语“基于”表示“至少部分地基于”。术语“一个示例实施例”和“一个实施例”表示“至少一个示例实施例”。术语“另一实施例”表示“至少一个另外的实施例”。术语“第一”、“第二”等等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。如上文所描述的,传统的用于控制计算机系统的存储设备的方法通过在RAID区段和LUN之间创建一个线性LBA映射,进而实现将用户I/O数据映射至盘上。经研究发现上述线性映射的方法存在以下两方面的不足:一方面,经线性映射后的用户I/O不会在整个盘存储空间中平均分配,而是集中在一些RAID区段上,使得用户I/O集中分布的局部盘过热,而且随着用户I/O集中区域的变化而导致盘过热区域的随之变化,进而导致整个存储设备的发热不均衡,不利于存储设备的使用寿命的和散热措施的针对性。另一方面,LUN上的高速缓存层将随机用户I/O转换为顺序I/O,并将顺序I/O映射至RAID区段。鉴于经线性映射后的用户I/O仅会集中在部分RAID区段上,而系统所配置的其他RAID区段处于空闲状态,没有被充分利用,因而使得系统整体I/O性能下降,尤其是使得IOPS的性能明显降低。例如,图1示出了传统的、基于线性映射的存储设备100的架构图。如图所示,存储设备100包括6个盘110、112、114、116、118和120,每个盘包含3个盘盘区,例如,盘120包括3个盘区122、124和126。基于6个盘110-120池化为一个存储池,在存储池上构建逻RAID,RAID分为多个RAID区段。如图1所示,盘110-120上的B0~B47显示了数据块经线性映射140后在盘上的真实位置。如果用户访问数据块B0~B3,则系统仅仅使用第一RAID区段130所涉及的盘110-114这3个盘的虚线箭头所指的部分盘区。由于数据仅集中在盘110-114的部分盘区,因此造成系统这部分盘区过度发热。另外,由于其他大部分盘区完全空闲,因此使得系统原本配置的6个盘的IO能力,尤其是整体IOPS的能力没有充分地被利用,进而降低了整个系统的I/O性能,尤其大大降低IOPS性能。可见,尽管线性映射140的优势是算法简单。然而,通过使用不同的I/O模式进行研究与测试之后发现:基于线性映射的存储管理方法无法解决上述的整个存储系统的发热不均衡和系统整体I/O性能下降的两个问题。为了至少部分地解决上述问题以及其他潜在问题中的一个或者多个,本公开的示例实施例提出了一种存储管理方法。通过本文档来自技高网
...

【技术保护点】
1.一种存储管理方法,包括:响应于接收到写请求,将需写入的数据划分为预定大小的多个数据块,所述多个数据块具有各自的逻辑块地址;基于所述逻辑块地址将所述多个数据块均匀地映射至独立磁盘冗余阵列(RAID)的多个RAID区段中;将所述多个RAID区段中的所述多个数据块映射至盘中,使得所述多个数据块在所述盘中按照所述逻辑块地址的大小顺序分布。

【技术特征摘要】
1.一种存储管理方法,包括:响应于接收到写请求,将需写入的数据划分为预定大小的多个数据块,所述多个数据块具有各自的逻辑块地址;基于所述逻辑块地址将所述多个数据块均匀地映射至独立磁盘冗余阵列(RAID)的多个RAID区段中;将所述多个RAID区段中的所述多个数据块映射至盘中,使得所述多个数据块在所述盘中按照所述逻辑块地址的大小顺序分布。2.一种存储管理方法,包括:响应于接收到针对多个数据块的I/O请求,基于所述多个数据块各自的逻辑块地址确定所述多个数据块被均匀地映射到RAID的多个RAID区段的位置信息;基于所述映射到RAID区段的位置信息,确定所述多个数据块映射至盘中的位置信息,使得所述多个数据块在所述盘中按照所述逻辑块地址的大小顺序分布;基于所述数据块在盘中的位置信息读写所述多个数据块。3.根据权利要求1或2所述的方法,其中所述映射到多个RAID区段包括:基于所述数据块在相关逻辑单元中的索引和所述RAID区段的个数确定所述数据块被映射至所述RAID区段的位置信息。4.根据权利要求3所述的方法,其中所述确定所述数据块被映射至所述RAID区段的位置信息包括:基于所述索引除以所述RAID区段的个数的余数确定所述数据被分发至RAID区段的序号;基于所述索引除以所述RAID区段的个数的商确定所述数据在所述被分发至RAID区段中的内部偏移。5.根据权利要求1或2所述的方法,其中所述多个数据块映射至盘中包括:基于所述盘包括的盘区个数、所述盘区包括的数据块个数和所述数据块在相关逻辑单元中的索引确定所述数据块被映射至所述盘中的内部偏移。6.根据权利要求1或2所述的方法,其中所述多个数据块的个数至少大于所述RAID区段的个数,使得逻辑单元中的所述多个数据块均匀地映射至所述RAID的所有RAID区段中。7.一种存储管理系统,所述系统包括:存储器,被配置为存储一个或多个程序;处理单元,耦合至所述存储器并且被配置为执行所述一个或多个程序使所述系统执行多个动作,所述动作包括:响应于接收到写请求,将需写入的数据划分为预定大小的多个数据块,所述多个数据块具有各自的逻辑块地址;基于所述逻辑块地址将所述多个...

【专利技术属性】
技术研发人员:康剑斌李雄成高健韩耕徐鑫磊
申请(专利权)人:伊姆西IP控股有限责任公司
类型:发明
国别省市:美国,US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1