CN113821165B - 一种分布式集群融合存储方法、系统及设备 - Google Patents
一种分布式集群融合存储方法、系统及设备 Download PDFInfo
- Publication number
- CN113821165B CN113821165B CN202110962341.7A CN202110962341A CN113821165B CN 113821165 B CN113821165 B CN 113821165B CN 202110962341 A CN202110962341 A CN 202110962341A CN 113821165 B CN113821165 B CN 113821165B
- Authority
- CN
- China
- Prior art keywords
- storage
- partitions
- osd
- storage pool
- capacity
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 42
- 230000004927 fusion Effects 0.000 title claims abstract description 17
- 238000005192 partition Methods 0.000 claims abstract description 166
- 238000013500 data storage Methods 0.000 claims abstract description 66
- 238000000638 solvent extraction Methods 0.000 claims abstract description 10
- 230000004044 response Effects 0.000 claims description 12
- 238000004364 calculation method Methods 0.000 claims description 2
- 239000007787 solid Substances 0.000 abstract description 8
- 238000013403 standard screening design Methods 0.000 description 36
- 238000007726 management method Methods 0.000 description 15
- 230000008569 process Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000003247 decreasing effect Effects 0.000 description 3
- 230000014509 gene expression Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 238000007500 overflow downdraw method Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0608—Saving storage space on storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供一种分布式集群融合存储方法,包括:将多个集群节点上的多个SSD硬盘按照第一预定大小进行分区得到多个一级分区;将多个集群上的多个一级分区设定为多个OSD分区,并将多个OSD分区组成第一存储池;根据应用程序所需求的数据存储的类型,从第一存储池中获取多个OSD分区组成不同数据存储类型的多个第二存储池。通过本发明提出的方法,在有不同数据存储类型的存储需求时,根据数据存储类型从第一存储池中获取一个或多个OSD分区组建满足需要的第二存储池,并将第二存储池中的一个或多个OSD进行分区并供给应用程序使用,可有效解决现实中对于固态硬盘的单一使用方式,可在一个集群节点上提供不同的数据存储类型的存储池。
Description
技术领域
本发明涉及分布式存储集群领域,具体涉及一种分布式集群融合存储方法、系统及设备。
背景技术
分布式存储集群系统一般包含多台存储服务器(Server,文中也将服务器用“节点”表示),这些服务器组成一个集群统一对外提供服务。分布式存储集群按应用程序类型可分为文件存储(nas)、块存储(san)和对象存储(obj),为了保障各类型集群性能,以上三种集群对硬盘(特别是SSD固态盘)的划分和使用方式不尽相同,故一套存储集群系统只能部署一种应用程序场景,很难实现单套集群中每个节点均可提供三种应用程序,往往是单个节点只能提供一种存储应用程序,无法满足部分客户对单集群同时支持三种应用程序类型的需求,增加了客户使用和运维成本。
因此如何解决上述单个节点只能提供一种存储成为亟待解决的技术难题。
发明内容
为解决以上问题,本发明提出了一种分布式集群融合存储方法,包括:
将多个集群节点上的多个SSD硬盘按照第一预定大小进行分区得到多个一级分区;
将所述多个集群上的多个所述一级分区设定为多个OSD分区,并将所述多个OSD分区组成第一存储池;
根据应用程序所需求的数据存储的类型,从所述第一存储池中获取多个所述OSD分区组成不同数据存储类型的多个第二存储池。
在本发明的一些实施方式中,方法还包括:
根据应用程序所需求的数据存储的类型,将所述不同数据存储类型的多个第二存储池中的一个或多个OSD分区分配给所述应用程序。
在本发明的一些实施方式中,根据应用程序所需求的数据存储的类型,从所述第一存储池中获取多个所述OSD分区组成不同数据存储类型的多个第二存储池包括:
响应于所述应用程序所需求的数据存储类型为文件类型,从所述第一存储池中获取一个或多个OSD分区组成文件存储池。
在本发明的一些实施方式中,根据应用程序所需求的数据存储的类型,从所述第一存储池中获取多个所述OSD分区组成不同数据存储类型的多个第二存储池还包括:
响应于所述应用程序所需求的数据存储类型为块类型,从所述第一存储池中获取一个或多个OSD分区组成块存储池。
在本发明的一些实施方式中,根据应用程序所需求的数据存储的类型,从所述第一存储池中获取多个所述OSD分区组成不同数据存储类型的多个第二存储池还包括:
响应于所述应用程序所需求的数据存储类型为对象类型,从所述第一存储池中获取一个或多个OSD分区组成对象存储池。
在本发明的一些实施方式中,SSD硬盘的容量不低于第二预定大小。
在本发明的一些实施方式中,方法还包括:
分别计算多个所述第二存储池的所述OSD分区的使用容量及空余容量;
基于所述使用容量和所述空余容量分别计算所述第二存储池的使用率;以及
计算所有所述第二存储池的使用容量与所有第二存储池的空闲容量;
基于所述所有所述第二存储池的使用容量与所有第二存储池的空闲容量计算所述第二存储池的使用率与空闲率;
响应于任一所述第二存储池的所述使用率与所述空闲率的比值超过所述所有第二存储池总的使用率与空闲率的比值,从空闲容量最大的第二存储池中分配第三预定大小的OSD分区。
在本发明的一些实施方式中,方法还包括:
分别计算任一所述第二存储池的数据增长量和空余容量;
基于所述数据增长量和所述空余容量计算任一所述第二存储池的增剩比;
计算所述多个第二存储池的总体数据增长量和总的空余容量;
基于所述总体数据增长量和总的空余容量计算总体增剩比;
响应于任一所述第二存储池的增剩比与所述总体增剩比的差距小于第四预大小,通过拟运算的方式计算出需要分配给所述第二存储池的OSD分区个数并分配给任一所述第二存储池。
本发明的另一方面还提出了一种分布式集群融合存储系统,包括:
基础分区模块,所述基础分区模块配置用于将多个集群节点上的多个SSD硬盘按照第一预定大小进行分区得到多个一级分区;
第一存储池模块,所述第一存储池模块配置用于将所述多个集群上的多个所述一级分区设定为多个OSD分区,并将所述多个OSD分区组成第一存储池;
第二存储池模块,所述第二存储池模块配置用于根据应用程序所需求的数据存储的类型,从所述第一存储池中获取多个所述OSD分区组成不同数据存储类型的多个第二存储池。
本发明的再一方面还提出了一种计算机设备,包括:
至少一个处理器;以及
存储器,所述存储器存储有可在所述处理器上运行的计算机指令,所述指令由所述处理器执行时实现上述实施方式中任意一项所述方法的步骤。
通过本发明提出的分布式集群融合存储方法,将单个集群设备上的固态硬盘分区并转换成OSD分区,并将OSD分区构建成第一存储池,在有不同数据存储类型的存储需求时,根据数据存储类型从第一存储池中获取一个或多个OSD分区组建满足需要的第二存储池,并将第二存储池中的一个或多个OSD进行分区并供给应用程序使用。可有效解决现实中对于固态硬盘的单一使用方式,可在一个集群节点上提供不同的数据存储类型的存储池以供应用程序使用。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的一种分布式集群融合存储方法的实施例的方法流程图;
图2为本发明提供的一种分布式集群融合存储系统的结构图;
图3为本发明提供的一种计算机存储设备的结构图;
图4为本发明提供的一种分布式集群融合存储方法的一个实施例的方法流程图;
图5为本发明提供的一种分布式集群融合存储方法的一个实施例的示例图;
图6为本发明提供的一种分布式集群融合存储方法的一个实施例的示例图;
图7为本发明提供的一种分布式集群融合存储方法的一个实施例的示例图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。
需要说明的是,本发明实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一”、“第二”仅为了表述的方便,不应理解为对本发明实施例的限定,后续实施例对此不再一一说明。
如图1所示,基于上述目的,本发明实施例的第一个方面,提出了一种分布式集群融合存储方法,包括:
步骤S100、将多个集群节点上的多个SSD硬盘按照第一预定大小进行分区得到多个一级分区;
步骤S200、将所述多个集群上的多个所述一级分区设定为多个OSD分区,并将所述多个OSD分区组成第一存储池;
步骤S300、根据应用程序所需求的数据存储的类型,从所述第一存储池中获取多个所述OSD分区组成不同数据存储类型的多个第二存储池。
在本实施例中,如图5所示,在步骤S100中,为使多个集群上的存储空间可跨节点存储并管理,需要将集群中每个节点上的SSD硬盘进行分区,分区的大小根据需要进行设定,优选为200GB,对SSD硬盘分区后得到多个200GB大小的分区称为一级分区。此时集群上多个节点的多个一级分区并未建立分布式存储关系。
在当前现有技术中,文件、块、对象无法融合部署的主要原因是应用场景不同导致对磁盘(SSD/HDD)的使用方式不同,特别是SSD固态盘的使用方式,SSD盘存储性能高,一般用来做数据分级使用,缓存一些热点数据;HDD是主存盘,一般每个盘做成一个OSD用于创建数据池,三种类型针对HDD盘的使用方式基本相同,但SSD硬盘的使用方式差异较大。在SSD硬盘上,文件类型对SSD盘的划分和应用方式是将单块SSD盘划分成多个分区,将每个分区做成一个OSD服务,最终将这些OSD创建成一个或多个存储池(POOL)用于做热点数据分级缓存使用;对象类型一般将SSD整盘做成一个OSD,并将这些OSD创建成一个固定的存储池用做分级缓存使用;块类型直接使用SSD分区来做数据缓存,一般不将分区做成OSD,也不创建缓存池。因此,由于对SSD不同的使用方式导致在对SSD硬盘的使用上存在冲突,即有的数据存储类型将SSD硬盘整个盘占用,有的只是占用个别分区。导致在集群中的节点上难以有效支持多种数据存储类型的服务,并且由于固态硬盘的价格成本,导致在单个节点上难以像HDD设备那样部署更多,以至于集群的单个节点难以实现多种数据存储类型的共存。通过本申请的技术方案能够解决该问题,如本申请其他部分所述。
在步骤S200中,如图6所示,管理人员可将步骤S100中的集群中每个节点上的多个一级分区通过分布式服务管理系统进行管理,并将每一个一级分区作为OSD(ObjectStorage Device,对象存储设备)分区,然后在通过分布式服务管理系统将集群中所有节点上的OSD分区组建为第一存储池,可向应用程序层提供OSD存储设备服务。
在步骤S300中,如图7所示,根据实际的应用层的应用程序的需要的数据存储类型,从第一存储池中获取多个OSD分区组建满足该应用程序需要的数据存储类型的第二存储池。在建立第二存储池时,可根据应用程序的存储需求的空间大小将一个或多个OSD分区封装在一起组成应用程序需求的数据存储类型的磁盘类型。
步骤S300中实际上是对SSD硬盘的使用方式调整,文件、块、对象对SSD的使用目的都是提供分级缓存使用,但是块的使用方式比较特殊,通过直接使用分区进行缓存数据,此种方式虽然缓存性能较高,但一般只保存单副本,可靠性较差,需要将块的SSD应用方式调整为使用SSD盘对应的存储池缓存,该种缓存方式不仅缓存性能与直接使用分区缓存持平,并且数据保存为三副本,可靠性较高。调整后文件、块、对象SSD应用程序方式可以保持一致,均使用分级存储池方式。
在本发明的一些实施方式中,方法还包括:
根据应用程序所需求的数据存储的类型,将所述不同数据存储类型的多个第二存储池中的一个或多个OSD分区分配给所述应用程序。
在本实施例中,所建立的不同数据存储类型的第二存储池,可根据不同节点的存储需要,通过分布式服务管理系统,在对应的节点的操作系统内核中提供对应的磁盘接口,节点上的应用程序可直接通过在本地正常访问磁盘的方式访问对应的磁盘,进行正常的数据读写操作,只不过真实的数据存储可能在不同的节点上完成。
在本发明的一些实施方式中,所述根据应用程序所需求的数据存储的类型,从所述第一存储池中获取多个所述OSD分区组成不同数据存储类型的多个第二存储池包括:
响应于所述应用程序所需求的数据存储类型为文件类型,从所述第一存储池中获取一个或多个OSD分区组成文件存储池。
在本实施例中,当应用层的应用程序需要文件类型的数据存储类型时,需要建立文件类型的第二存储池,即文件存储池,分布式服务管理系统可从第一存储池中获得多个OSD分区,并将每个OSD分区标记为文件存储类型,并在应用程序所在节点的操作系统中提供相应的磁盘接口,当应用程序访问该磁盘接口并向该磁盘接口写入文件时,分布式服务管理系统便将写入的文件分发到多个被标记为文件存储类型的一个或多个OSD分区中,由于这些OSD分区是位于集群中的不同节点上,因此实现分布式存储。
在本发明的一些实施方式中,根据应用程序所需求的数据存储的类型,从所述第一存储池中获取多个所述OSD分区组成不同数据存储类型的多个第二存储池还包括:
响应于所述应用程序所需求的数据存储类型为块类型,从所述第一存储池中获取一个或多个OSD分区组成块存储池。在本实施例中,若应用程序层应用程序需要使用块类型的数据存储类型,则在分布式服务管理系统中建立块存储类型的第二存储池,即块存储池。同样分布式服务管理系统从第一存储池中获取一个或多个OSD分区,并将一个或多个OSD分区标记为块存储设备,然后在应用程序所在的节点的操作系统中提供对应的磁盘接口,当应用程序访问该磁盘接口并向该磁盘接口写入文件时,分布式服务管理系统便将写入的文件分发到多个被标记为块存储类型的一个或多个OSD分区中。
在本发明的一些实施方式中,根据应用程序所需求的数据存储的类型,从所述第一存储池中获取多个所述OSD分区组成不同数据存储类型的多个第二存储池还包括:
响应于所述应用程序所需求的数据存储类型为对象类型,从所述第一存储池中获取一个或多个OSD分区组成对象存储池。
在本实施例中,若应用程序层应用程序需要使用对象类型的数据存储类型,则在分布式服务管理系统中建立块对象储类型的第二存储池,即对象存储池。同样分布式服务管理系统从第一存储池中获取一个或多个OSD分区,并将一个或多个OSD分区标记为对象存储设备,然后在应用程序所在的节点的操作系统中提供对应的磁盘接口,当应用程序访问该磁盘接口并向该磁盘接口写入文件时,分布式服务管理系统便将写入的文件分发到多个被标记为对象存储类型的一个或多个OSD分区中。
在本实施例中,虽然在第一存储池中的磁盘分区为OSD分区,但为了区分用途依然需要建立对应的对象存储池,并对对象存储池中的OSD分区打上OSD标签,以表示该一个或多个OSD分区已被构建为对象存储池,防止被误认为没有被构建第二存储池的第一存储池的OSD分区。
此外,上述三种构建第二存储池的方式中,即构建文件存储池、块存储池以及对象存储池,对SSD的使用目的都是提供分级缓存使用,但是块存储的使用方式比较特殊,通过直接使用分区进行缓存数据,此种方式虽然缓存性能较高,但一般只保存单副本,可靠性较差,因此需要将块存储的SSD应用程序方式调整为使用多个SSD盘对应的存储池缓存,该种缓存方式不仅缓存性能与直接使用分区缓存持平,并且数据保存为三副本,可靠性较高。调整后文件、块、对象SSD应用程序方式可以保持一致,均使用分级存储池方式。三种应用程序类型存储池划分:第一,支持选择上述SSD分区对应的OSD进行存储池创建,文件、块、对象分别创建自己的缓存池,也就是按需分配SSD的资源,不共用池子,避免缓存数据相互影响。创建池子前先指定类型(文件、块、对象),并将类型作为池子的一个标签,将对应关系存放起来,在文件、块及对象实际应用程序时只使用各自类型的池子。通过上述SSD硬盘的应用程序和存储池划分方式调整,可以同时在一套集群中部署文件存储类型、块存储类型、对象存储类型,并且通过合理的分配三种应用程序的SSD分区资源,达到兼顾性能的目的。
在本发明的一些实施方式中,SSD硬盘的容量不低于第二预定大小。
在本实施例中,上述多个集群上的存储空间跨节点存储及融合部署要满足:一套集群的每个节点均支持三种类型的应用程序方式,要求每个节点至少提供两块SSD,单块SSD容量需要不小于1TB,通过划分分区的方式分别提供给文件、块、对象使用,SSD的单个分区大小划分不低于200G,以兼顾存储性能。
在本发明的一些实施方式中,如图4所示,方法还包括:
步骤S401、分别计算多个所述第二存储池的所述OSD分区的使用容量及空余容量;
步骤S402、基于所述使用容量和所述空余容量分别计算所述第二存储池的使用率;以及
步骤S403、计算所有所述第二存储池的使用容量与所有第二存储池的空闲容量;
步骤S404、基于所述所有所述第二存储池的使用容量与所有第二存储池的空闲容量计算所述第二存储池的使用率与空闲率;
步骤S405、响应于任一所述第二存储池的所述使用率与所述空闲率的比值超过所述所有第二存储池总的使用率与空闲率的比值,从空闲容量最大的第二存储池中分配第三预定大小的OSD分区。
在本实施例中,为充分利用集群各节点上的SSD的存储空间,分布式服务管理系统通过实时或定时计算所建立的第二存储池的使用容量和空余容量,进一步计算对应的第二存储池的使用率。同时计算所有第二存储池的使用容量与空闲容量,并计算第二存储池的总使用率,当存在某个第二存储池的使用率的比值超过所有第二存储池的总使用率时,对比所有第二存储池的空余容量,从空余容量最多的第二存储池中分出3个OSD分区分给使用率最高的第二存储池。
在本实施例中,在某分布式服务管理系统中,共有6个第二存储池,分别是两个文件存储池,两个块存储池,两个对象存储池,在系统的初始状态下,6个第二存储池共分了系统的60TB的存储空间,并且在组建第一存储池之前的分区中,按照200GB的单位将60TB的存储空间分成300个一级分区,并将这300个一级分区做成300个OSD分区构建成第一存储池,以及进一步按照每50个OSD分区组建一个第二存储池。因此2个文件存储池均、2个块存储池和2个对象存储池均有50个OSD分区,每个第二存储池均是10TB的容量。分别与应用程序层的对应的应用程序建立存储通道,接收应用程序的数据。若一段时间后,2个文件存储池中的其中一个由于所服务的应用程序写入数据庞大,已经使用了22个OSD分区,而其他5个第二存储池分别使用了12个OSD分区、13个OSD分区、9个OSD分区、10个OSD分区、5个OSD分区。此时分布式服务系统则计算每个第二存储池的使用率分别为0.44、0.24、0.26、0.18、0.2、0.1。此时总的使用率只有0.284,分布式服务管理系统则将使用率为0.1的第二存储池的3个OSD分区为粒度给使用率为0.44的第二存储池。
在本发明的一些实施方式中,方法还包括:
分别计算任一所述第二存储池的数据增长量和空余容量;
基于所述数据增长量和所述空余容量计算任一所述第二存储池的增剩比;
计算所述多个第二存储池的总体数据增长量和总的空余容量;
基于所述总体数据增长量和总的空余容量计算总体增剩比;
响应于任一所述第二存储池的增剩比与所述总体增剩比的差距小于第四预定大小,通过拟运算的方式计算出需要分配给所述第二存储池的OSD分区个数并分配给任一所述第二存储池。
在本实施例中,如上所述,若6个第二存储池的总体使用率超过0.8,且每个第二存储池的使用率已超过0.6,则停止使用单个第二存储池和所有存储池的使用率的比值作为判断条件,改为单位时间内各存储池数据增长量与空余容量的比值,即增剩比,与所有第二存储池的数据增长量和所有第二存储池的空余容量的比值作为判断依据。判断任一第二存储的增剩比与总体增剩比的差距在一个OSD分区的影响范围内,并进行拟运算,所述拟运算是将数据增长量与空余容量的比值低于所有第二存储池的数据增长量与所有空余容量的第二存储池的若干个OSD分区,分配给数据增长量与空余容量比值高于所有第二存储池的数据增长量与所有空余容量的第二存储池。具体步骤包括:
分别计算单个第二存储池的数据增长量与空余容量的比值,即增剩比;
再计算所有第二存储池的数据增长量与所有第二存池的空余容量的比值总体增剩比;
响应于第二存储池的增剩比低于总体增剩比,以一个OSD分区为单位,进行拟运算,即假设该第二存储池的剩余空间减去一个OSD分区的单位容量,再次计算其增剩比,并继续与总体增剩比相比较。重复上述过程直到该第二存储池的增剩比大于等于总体增剩比,并统计拟运算过程中减少的OSD分区个数。同理对于第二存储池的增剩比高于总体增剩比的第二存储池,同样进行拟运算,过程为:假设该第二存储池的剩余空间增加一个OSD分区的单位容量,再次计算其增剩比,并继续与总体增剩比相比较。重复上述过程直到该第二存储池的增剩小于等于总体增剩比,并统计拟运算过程中减少的OSD分区个数。最后进行对OSD分区的具体分配,根据上述两个过程中增加的和减少的OSD分区进行适应性匹配,即将需要减少OSD分区的第二存储池的OSD分区分配给需要增加OSD分区的第二存储池,若减少的OSD分区少于增加的OSD分区,可则采用均分法,对于不满足的第二存储池则不处理。比如,某个第二存储池需要3个OSD分区,而剩余的可用OSD分区个数为2,则只将2个OSD分区分配给该第二存储池。
具体地,若第二存储池的数据单位时间内的数据增长量分别为20GB、10GB、11GB、15GB、13GB、9GB,各第二存储池空间的剩余OSD(在此实施例中的单个OSD分区为方便计算设定为50GB的容量,仅是体现数据的可观性与本发明实施例的灵活性)分区个数分别为:7、7、6、5、9、15。计算其对应的数据增长量与对应的空余容量的比值,分别为20/(7*50)、10/(7*50)、11/(6*50)、15/(5*50)、13/(9*50)、9/(15*50),它们的结果分别为:0.057、0.028、0.037、0.06、0.029、0.012。所有第二存储池的所有数据增长量和所有空余容量的比值为0.031。很明显各个第二存储池的空余容量与数据增长量不均衡,最后一个第二存储池的剩余量较大但其数据增长量过少。因此进行拟运算,第一个第二存储池的数据增长量为20GB,其剩余纵容量为350GB,增加一个OSD分区的容量,即增加50GB的容量,再次计算其增剩比,直到满足大于0.031。经计算需要6个OSD分区,同理计算其他第二存储池的需要的OSD分区个数:0、-1、-5、0、-9。从上述结果可知,仅数据增长量为20GB的第二存储池需要6个OSD分区,因为其他第二存储池的增剩比虽然大于或小于总体增剩比,但差距在一个OSD分区的影响范围内,也就是说对于小于总体增剩比的第二存储池添加一个OSD分区后会导致其大于总体增剩比,同理大于总体增剩比的第二存储池在减少一个OSD分区后则小于总体增剩比。因此其他第二存储池均不涉及扩容,因此这种情况下,仅需将最后一个第二存储池的6个OSD分区分配给数据增长量为20GB的第二存储池。其他的存储池的数据容量不处理即可。上述实施例的仅是示例性说明本发明的分配策略,使用数据存在失真,在实际中数据增长量和OSD分区的大小及空余容量与此不同。不同第二存储池的数据存在大量的写入或者数据迁移操作,因此第二存储池的数据一直处于高速变化的状态。
本发明的另一方面还提出了一种分布式集群融合存储系统,如图2所示,包括:
基础分区模块1,所述基础分区模块1配置用于将多个集群节点上的多个SSD硬盘按照第一预定大小进行分区得到多个一级分区;
第一存储池模块2,所述第一存储池模块2配置用于将所述多个集群上的多个所述一级分区设定为多个OSD分区,并将所述多个OSD分区组成第一存储池;
第二存储池模块3,所述第二存储池模块3配置用于根据应用程序所需求的数据存储的类型,从所述第一存储池中获取多个所述OSD分区组成不同数据存储类型的多个第二存储池。
本发明的再一方面还提出了一种计算机设备,如图3所示,包括:
至少一个处理器301;以及
存储器302,所述存储器存储有可在所述处理器上运行的计算机指令,所述指令由所述处理器执行时实现上述实施方式中任意一项所述方法的步骤。计算机设备还可以包括:输入装置303和输出装置304。输入装置303可接收输入的用户名和密码等信息。输出装置304可包括显示屏等显示设备。
通过本发明提出的分布式集群融合存储方法,将单个集群设备上的固态硬盘分区并转换成OSD分区,并将OSD分区构建成第一存储池,在有不同存数据储类型的存储需求时,根据数据存储类型从第一存储池中获取一个或多个OSD分区组建满足需要的第二存储池,并将第二存储池中的一个或多个OSD进行分区并供给应用程序使用。可有效解决现实中对于固态硬盘的单一使用方式,可在一个集群节点上提供不同的数据存储类型的存储池供应用程序使用。可见地,本发明上述实施例所提供的分布式集群融合方法具备以下优点:
1、单套集群的每个节点均可提供三种应用程序类型,并且同时使用SSD分级方式,不仅扩展了集群的应用程序范围也保障了集群性能。
2、使集群管理变的简单,多种应用程序类型,只用管理一套集群,便于维护,降低运维成本。
3、三种应用程序类型存储池的OSD可以互不相同,保证业务互不干扰,提高业务可靠性。
以上是本发明公开的示例性实施例,但是应当注意,在不背离权利要求限定的本发明实施例公开的范围的前提下,可以进行多种改变和修改。根据这里描述的公开实施例的方法权利要求的功能、步骤和/或动作不需以任何特定顺序执行。此外,尽管本发明实施例公开的元素可以以个体形式描述或要求,但除非明确限制为单数,也可以理解为多个。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本发明实施例公开的范围(包括权利要求)被限于这些例子;在本发明实施例的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,并存在如上所述的本发明实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本发明实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明实施例的保护范围之内。
Claims (8)
1.一种分布式集群融合存储方法,其特征在于,包括:
将多个集群节点上的多个SSD硬盘按照第一预定大小进行分区得到多个一级分区;
将所述多个集群上的多个所述一级分区设定为多个OSD分区,并将所述多个OSD分区组成第一存储池;
根据应用程序所需求的数据存储的类型,从所述第一存储池中获取多个所述OSD分区组成不同数据存储类型的多个第二存储池;
分别计算多个所述第二存储池的所述OSD分区的使用容量及空余容量;
基于所述使用容量和所述空余容量分别计算所述第二存储池的使用率;以及
计算所有所述第二存储池的使用容量与所有第二存储池的空闲容量;
基于所述所有所述第二存储池的使用容量与所有第二存储池的空闲容量计算所述第二存储池的使用率与空闲率;
响应于任一所述第二存储池的所述使用率与所述空闲率的比值超过所述所有第二存储池总的使用率与空闲率的比值,从空闲容量最大的第二存储池中分配第三预定大小的OSD分区;
分别计算任一所述第二存储池的数据增长量和空余容量;
基于所述数据增长量和所述空余容量计算任一所述第二存储池的增剩比;
计算所述多个第二存储池的总体数据增长量和总的空余容量;
基于所述总体数据增长量和总的空余容量计算总体增剩比;
响应于任一所述第二存储池的增剩比与所述总体增剩比的差距小于第四预定大小,通过拟运算的方式计算出需要分配给所述第二存储池的OSD分区个数并分配给任一所述第二存储池。
2.根据权利要求1所述的方法,其特征在于,还包括:
根据应用程序所需求的数据存储的类型,将所述不同数据存储类型的多个第二存储池中的一个或多个OSD分区分配给所述应用程序。
3.根据权利要求1所述的方法,其特征在于,所述根据应用程序所需求的数据存储的类型,从所述第一存储池中获取多个所述OSD分区组成不同数据存储类型的多个第二存储池包括:
响应于所述应用程序所需求的数据存储类型为文件类型,从所述第一存储池中获取一个或多个OSD分区组成文件存储池。
4.根据权利要求1所述的方法,其特征在于,所述根据应用程序所需求的数据存储的类型,从所述第一存储池中获取多个所述OSD分区组成不同数据存储类型的多个第二存储池还包括:
响应于所述应用程序所需求的数据存储类型为块类型,从所述第一存储池中获取一个或多个OSD分区组成块存储池。
5.根据权利要求1所述的方法,其特征在于,所述根据应用程序所需求的数据存储的类型,从所述第一存储池中获取多个所述OSD分区组成不同数据存储类型的多个第二存储池还包括:
响应于所述应用程序所需求的数据存储类型为对象类型,从所述第一存储池中获取一个或多个OSD分区组成对象存储池。
6.根据权利要求1所述的方法,其特征在于,所述SSD硬盘的容量不低于第二预定大小。
7.一种分布式集群融合存储系统,其特征在于,包括:
基础分区模块,所述基础分区模块配置用于将多个集群节点上的多个SSD硬盘按照第一预定大小进行分区得到多个一级分区;
第一存储池模块,所述第一存储池模块配置用于将所述多个集群上的多个所述一级分区设定为多个OSD分区,并将所述多个OSD分区组成第一存储池;
第二存储池模块,所述第二存储池模块配置用于根据应用程序所需求的数据存储的类型,从所述第一存储池中获取多个所述OSD分区组成不同数据存储类型的多个第二存储池;
第一计算模块,所述第一计算模块块配置用于分别计算多个所述第二存储池的所述OSD分区的使用容量及空余容量;基于所述使用容量和所述空余容量分别计算所述第二存储池的使用率;以及计算所有所述第二存储池的使用容量与所有第二存储池的空闲容量;基于所述所有所述第二存储池的使用容量与所有第二存储池的空闲容量计算所述第二存储池的使用率与空闲率;响应于任一所述第二存储池的所述使用率与所述空闲率的比值超过所述所有第二存储池总的使用率与空闲率的比值,从空闲容量最大的第二存储池中分配第三预定大小的OSD分区;
第二计算模块,所述第二计算模块块配置用于分别计算任一所述第二存储池的数据增长量和空余容量;基于所述数据增长量和所述空余容量计算任一所述第二存储池的增剩比;计算所述多个第二存储池的总体数据增长量和总的空余容量;基于所述总体数据增长量和总的空余容量计算总体增剩比;响应于任一所述第二存储池的增剩比与所述总体增剩比的差距小于第四预定大小,通过拟运算的方式计算出需要分配给所述第二存储池的OSD分区个数并分配给任一所述第二存储池。
8. 一种计算机设备,其特征在于,包括:
至少一个处理器;以及
存储器,所述存储器存储有可在所述处理器上运行的计算机指令,所述指令由所述处理器执行时实现权利要求1-6任意一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110962341.7A CN113821165B (zh) | 2021-08-20 | 2021-08-20 | 一种分布式集群融合存储方法、系统及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110962341.7A CN113821165B (zh) | 2021-08-20 | 2021-08-20 | 一种分布式集群融合存储方法、系统及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113821165A CN113821165A (zh) | 2021-12-21 |
CN113821165B true CN113821165B (zh) | 2023-12-22 |
Family
ID=78923002
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110962341.7A Active CN113821165B (zh) | 2021-08-20 | 2021-08-20 | 一种分布式集群融合存储方法、系统及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113821165B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108540315A (zh) * | 2018-03-28 | 2018-09-14 | 新华三技术有限公司成都分公司 | 分布式存储系统、方法和装置 |
CN110795304A (zh) * | 2019-10-11 | 2020-02-14 | 苏州浪潮智能科技有限公司 | 分布式存储系统性能测试的方法及装置 |
CN111597346A (zh) * | 2020-04-15 | 2020-08-28 | 成都数联铭品科技有限公司 | 基于编码的数据融合方法及系统 |
CN112148219A (zh) * | 2020-09-16 | 2020-12-29 | 北京优炫软件股份有限公司 | 一种ceph类型的分布式存储集群设计方法及装置 |
CN112328632A (zh) * | 2020-10-09 | 2021-02-05 | 福建亿榕信息技术有限公司 | 一种分布式两级缓存的方法和系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7779404B2 (en) * | 2004-06-10 | 2010-08-17 | Cisco Technology, Inc. | Managing network device configuration using versioning and partitioning |
CN103503414B (zh) * | 2012-12-31 | 2016-03-09 | 华为技术有限公司 | 一种计算存储融合的集群系统 |
-
2021
- 2021-08-20 CN CN202110962341.7A patent/CN113821165B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108540315A (zh) * | 2018-03-28 | 2018-09-14 | 新华三技术有限公司成都分公司 | 分布式存储系统、方法和装置 |
CN110795304A (zh) * | 2019-10-11 | 2020-02-14 | 苏州浪潮智能科技有限公司 | 分布式存储系统性能测试的方法及装置 |
CN111597346A (zh) * | 2020-04-15 | 2020-08-28 | 成都数联铭品科技有限公司 | 基于编码的数据融合方法及系统 |
CN112148219A (zh) * | 2020-09-16 | 2020-12-29 | 北京优炫软件股份有限公司 | 一种ceph类型的分布式存储集群设计方法及装置 |
CN112328632A (zh) * | 2020-10-09 | 2021-02-05 | 福建亿榕信息技术有限公司 | 一种分布式两级缓存的方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN113821165A (zh) | 2021-12-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10853139B2 (en) | Dynamic workload management based on predictive modeling and recommendation engine for storage systems | |
CN103797770B (zh) | 一种共享存储资源的方法和系统 | |
CN108780386B (zh) | 一种数据存储的方法、装置和系统 | |
JP6019513B2 (ja) | 記憶リソースを共有する方法およびシステム | |
US6928459B1 (en) | Plurality of file systems using weighted allocation to allocate space on one or more storage devices | |
JP4634812B2 (ja) | 複数のコントローラ間に仮想ストレージセグメントを割り当てる能力を有するストレージシステム | |
CN110413201A (zh) | 用于管理存储系统的方法、设备和计算机程序产品 | |
US10356150B1 (en) | Automated repartitioning of streaming data | |
US20170177224A1 (en) | Dynamic storage transitions employing tiered range volumes | |
CN106933868B (zh) | 一种调整数据分片分布的方法及数据服务器 | |
CN103533063A (zh) | 一种可实现web应用资源动态扩展的方法及装置 | |
CN110244901B (zh) | 任务分配方法及装置、分布式存储系统 | |
JP7467593B2 (ja) | リソース割振り方法、記憶デバイス、および記憶システム | |
CN110188084B (zh) | 一种分布式文件存储系统及文件存储方法 | |
JP2018525743A (ja) | 負荷平衡方法及び装置 | |
US11012316B2 (en) | Methods and apparatus to generate and manage workload domains in virtual server racks | |
WO2008006674A1 (en) | Reserve pool management in virtualized storage systems | |
JPWO2014188682A1 (ja) | ストレージノード、ストレージノード管理装置、ストレージノード論理容量設定方法、プログラム、記録媒体および分散データストレージシステム | |
US11188258B2 (en) | Distributed storage system | |
CN107948229B (zh) | 分布式存储的方法、装置及系统 | |
CN107920129A (zh) | 一种数据存储的方法、装置、设备以及云存储系统 | |
CN114816241A (zh) | 分布式存储集群的磁盘分配方法、装置及分布式存储集群 | |
CN113032134A (zh) | 一种实现云计算资源分配的方法及装置和云管理服务器 | |
CN113821165B (zh) | 一种分布式集群融合存储方法、系统及设备 | |
CN109739688B (zh) | 快照资源空间管理方法、装置、电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |