CN117032576A - 分布式存储系统的数据处理方法、装置、设备及存储介质 - Google Patents
分布式存储系统的数据处理方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN117032576A CN117032576A CN202311030861.XA CN202311030861A CN117032576A CN 117032576 A CN117032576 A CN 117032576A CN 202311030861 A CN202311030861 A CN 202311030861A CN 117032576 A CN117032576 A CN 117032576A
- Authority
- CN
- China
- Prior art keywords
- object storage
- storage device
- data
- stored
- data blocks
- 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.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 17
- 238000005192 partition Methods 0.000 claims abstract description 39
- 238000000034 method Methods 0.000 claims abstract description 34
- 238000012545 processing Methods 0.000 claims description 13
- 238000005516 engineering process Methods 0.000 abstract description 4
- 101100121776 Arabidopsis thaliana GIG1 gene Proteins 0.000 description 20
- 101100267551 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) YME1 gene Proteins 0.000 description 20
- 238000004891 communication Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 238000012544 monitoring process Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000013507 mapping Methods 0.000 description 4
- 238000013500 data storage Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000007774 longterm Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 238000002955 isolation Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000008358 core component Substances 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 230000009466 transformation Effects 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/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
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
本申请提供一种分布式存储系统的数据处理方法、装置、设备及存储介质,涉及金融科技领域或其他相关领域。该方法包括:获取运行在存储集群中每个物理节点上的对象存储设备的使用率;获取存储集群中每个条带中数据块的大小,物理节点中存储有分区,每个分区划分为至少两个条带,条带用于将数据划分为至少两个数据块,数据块用于存储至不同的对象存储设备上;根据每个物理节点上的对象存储设备的使用率、每个条带中数据块的大小,动态调度每个条带中的数据块存储至对象存储设备,存储至不同对象存储设备上的数据块的大小不同。本方法可使OSD使用率更加均衡,避免分布式存储系统出现性能问题。
Description
技术领域
本申请涉及金融科技领域或其他相关领域,尤其涉及一种分布式存储系统的数据处理方法、装置、设备及存储介质。
背景技术
分布式存储集群有一个木桶效应,因集群内条带(plog)对象大小设置不合理,每个对象存储设备(Object Storage Device,OSD)上承载的分区(Partition)及plog个数不一致,当某一个OSD使用容量达到满时,虽然不会导致分布式存储集群不能读写,但是因为单块盘使用率高会影响整个分布式存储系统的性能。
现有技术中,主要是通过将使用率高的硬盘剔除存储池,分布式存储系统再根据自身Partition及plog设计规则自动进数据均衡,从而做到OSD使用率处于均衡状态
但是,这种方式在分布式存储系统扩容相应的物理节点时,OSD使用率会再次处于不均衡状态,需要再次人为针对OSD进行调整,使用效果较差。
发明内容
本申请提供一种分布式存储系统的数据处理方法、装置、设备及存储介质,用以解决现有存储集群中OSD使用率不均衡的技术问题。
第一方面,本申请提供一种分布式存储系统的数据处理方法,包括:
获取运行在存储集群中每个物理节点上的对象存储设备的使用率,所述存储集群中包括有至少一个物理节点,每个物理节点上运行有至少两个对象存储设备;
获取所述存储集群中每个条带中数据块的大小,所述物理节点中存储有分区,每个分区划分为至少两个条带,所述条带用于将数据划分为至少两个数据块,所述数据块用于存储至不同的对象存储设备上;
根据每个物理节点上的对象存储设备的使用率、每个条带中数据块的大小,动态调度每个条带中的数据块存储至所述对象存储设备,存储至不同对象存储设备上的数据块的大小不同。
第二方面,本申请提供一种分布式存储系统的数据处理装置,包括:
使用率获取模块,用于获取运行在存储集群中每个物理节点上的对象存储设备的使用率,所述存储集群中包括有至少一个物理节点,每个物理节点上运行有至少两个对象存储设备;
数据块获取模块,用于获取所述存储集群中每个条带中数据块的大小,所述物理节点中存储有分区,每个分区划分为至少两个条带,所述条带用于将数据划分为至少两个数据块,所述数据块用于存储至不同的对象存储设备上;
数据块调度模块,用于根据每个物理节点上的对象存储设备的使用率、每个条带中数据块的大小,动态调度每个条带中的数据块存储至每个对象存储设备,存储至不同对象存储设备上的数据块的大小不同。
第三方面,本申请提供一种电子设备,包括:处理器,以及与所述处理器通信连接的存储器;所述存储器存储计算机执行指令;所述处理器执行所述存储器存储的计算机执行指令,以实现如上述的方法。
第四方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如上述的方法。
本申请提供的分布式存储系统的数据处理方法、装置、设备及存储介质,通过对存储至每个OSD的数据块进行动态调度,考虑上层数据块的均衡调度加OSD上数据块的均衡,互相叠加后可使OSD使用率更加均衡,避免分布式存储系统出现性能问题。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1为本申请实施例提供的存储集群的结构示意图;
图2为本申请实施例提供的分布式存储系统的数据处理方法的流程示意图;
图3为本申请另一实施例提供的分布式存储系统的数据处理方法的流程示意图;
图4为本申请又一实施例提供的分布式存储系统的数据处理方法的流程示意图;
图5为本申请实施例提供的存储系统OSD使用率均衡处理流程图;
图6为本申请实施例提供的分布式存储系统的数据处理装置的结构示意图;
图7为本申请实施例提供的电子设备的结构示意图。
通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、使用和处理需要遵守相关法律法规和标准,并提供有相应的操作入口,供用户选择授权或者拒绝。
需要说明的是,本申请提供的分布式存储系统的数据处理方法、装置、设备及存储介质可用于金融科技技术领域,也可用于除金融科技技术之外的任意领域,本申请提供的分布式存储系统的数据处理方法、装置、设备及存储介质的应用领域不作限定。
首先对本申请中涉及到的技术名词进行解释,图1为本申请实施例提供的存储集群的结构示意图,如图1所示,其包括至少一个物理节点(node),每个物理节点(node)由4个虚拟节点(vnode)组成,当一个物理节点(node)发生故障后,它上面的4个虚拟节点(vnode)的业务分别会被其它4个物理节点(node)接管,从而加速业务接管速度。存储集群会根据存储集群实际情况创建固定数量的分区(Partition),是扩容迁移、重构的单元。条带(Plog)创建在分区上,为业务提供读写接口,一个plog对象大小一般数据大小为128MB。也可以为32MB/4MB。对象存储设备(Object Storage Device,OSD)是运行在存储集群中的每个物理存储服务器节点上,负责管理所在服务器节点上的存储介质,接受来自计算节点的IO请求,将用户数据存储到存储介质上。
随着数据中心业务的发展,传统数据中心的集中式数据存储面临着很多新的挑战。随着架构转型的深入,分布式块存储作为标准的基础设施云存储后端,广泛地运用于虚拟机存储资源的供应。目前广泛使用三副本数据存储冗余方式的分布式块存储系统,目的是以空间换可靠性来保证存储数据的安全。由于三副本数据冗余,真实可用容量最多也只能达到集群的三分之一。不仅如此,分布式存储集群有一个木桶效应,因集群内plog对象大小设置不合理,每个OSD上承载的Partition及plog个数不一致,当某一个OSD使用容量达到满时,虽然不会导致分布式存储集群不能读写,但是因为单块盘使用率高会影响整个分布式存储系统的性能。为解决上述情况现在业界普遍做法是通过将使用率高的硬盘剔除存储池,分布式存储系统在根据自身Partition及plog设计规则自动进数据均衡,从而做到OSD使用率处于均衡状态,一旦分布式存储系统扩容相应的物理存储节点,OSD使用率会再次处于不均衡状态,需要再次人为针对OSD进行调整,才能做到OSD使用率处于均衡状态,即目前做法还是存在人为手工剔除硬盘,应急处置时效长,分布式块存储集群出现扩容会再次导致集群OSD使用率不均衡的问题。
针对上述问题,本申请实施例提供了一种分布式存储系统的数据处理方法、装置、设备及存储介质,通过采集上层IO数据后自动调整plog块对象大小,将最终落盘数据更均衡的分配到每个OSD上,从而做到OSD使用率处于均衡状态。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
图2为本申请实施例提供的分布式存储系统的数据处理方法的流程示意图,该方法可以应用于分布式存储集群,如图2所示,其具体包括如下步骤:
步骤S201,获取运行在存储集群中每个物理节点上的对象存储设备的使用率,存储集群中包括有至少一个物理节点,每个物理节点上运行有至少两个对象存储设备。
在本实施例中,OSD是分布式存储系统中的一个核心组件,它负责实际的数据存储和访问。每个OSD通常对应一个物理存储设备(如硬盘、SSD等),它负责管理该设备上的数据块,并提供读写接口供访问。在分布式存储系统中,数据被划分成多个对象(即后文提到的数据块),每个对象会被存储在不同的OSD上,OSD负责对数据进行存储、读取和计算校验和等操作。每个OSD通常具有自己的计算和存储能力,可以独立运行,以提供高可用性和可扩展性。其中,在OSD对数据进行存储、读取和计算校验和等操作时,可以监测每个OSD的使用率,确定OSD使用容量是否达到峰值。
步骤S202,获取存储集群中每个条带中数据块的大小,物理节点中存储有分区,每个分区划分为至少两个条带,条带用于将数据划分为至少两个数据块,数据块用于存储至不同的对象存储设备上。
在本实施例中,条带plog指的是一种分布式存储系统中的日志条带(logstriping)技术。在这种技术中,数据被分成多个条带,并在不同的磁盘上进行并行写入,以提高读写性能和容量利用率。通过在分区上创建条带plog,可以为业务提供读写接口。其中,可以通过如下步骤创建条带plog:(1)确定分区,首先需要确定要创建条带plog的分区,可以是一个物理磁盘或一个逻辑卷(如RAID阵列)。(2)划分条带:将分区划分为多个条带,通常条带的大小是固定的,并且在整个存储系统中保持一致。(3)映射条带,将条带映射到实际的物理磁盘或逻辑卷上。(4)配置读写接口,为业务配置读写接口,使其能够通过条带plog进行数据的读取和写入。
其中,在条带化的分布式存储系统中,数据会被划分为多个条带,并且每个条带会被划分为多个数据块,这些数据块会被分散存储在不同的OSD上。通过这种方式,数据可以并行地从多个OSD上读取或写入,以提高存储系统的性能。条带化还可以提高存储系统的容错性,因为即使某个OSD发生故障,其他OSD上的数据仍然可用。示例性的,每个条带数据块的大小可以是128兆(MB),也可以是32兆(MB),也可以是4兆(MB)。
在本实施例中,分布式存储系统通常包括多个分区,每个分区存储在不同的节点上,这样做的好处是可以将数据分散存储在多个节点上,提高系统的扩展性和容错性。其中,具体参考上述图1,分布式存储系统还包括有虚拟节点,虚拟节点是在分区和物理节点之间的中间层,它允许将一个物理节点映射为多个虚拟节点,并将每个虚拟节点负责管理一个或多个分区。通过使用虚拟节点,可以更好地平衡数据在物理节点之间的负载,并提供更好的故障恢复机制。具体的,虚拟节点可以通过一致性哈希算法或其他分区算法来计算和确定,每个分区将被映射到一个特定的虚拟节点,而每个虚拟节点则会被映射到一个物理节点。这样当需要访问特定分区时,可以通过查找对应的虚拟节点,从而找到存储该分区的物理节点。虚拟节点的使用可以提供更好的负载均衡和容错性,当系统需要添加或删除节点时,只需要重新计算虚拟节点的映射关系即可,而不需要重新分配和迁移所有的分区数据。总之,虚拟节点是在分区和物理节点之间的中间层,用于提供更好的负载均衡和容错性。它可以根据特定的算法将分区映射到物理节点上,从而实现数据的分布式存储和访问。
步骤S203,根据每个物理节点上的对象存储设备的使用率、每个条带中数据块的大小,动态调度每个条带中的数据块存储至对象存储设备,存储至不同对象存储设备上的数据块的大小不同。
在本实施例中,对数据块进行动态调度主要是为了使得所有的OSD使用率处于均衡状态,避免出现某些单独的OSD使用容量达到峰值的情况(单个OSD使用率高会影响整个分布式存储系统的性能)其中,当某个OSD的使用率相对于其他的OSD的使用率较高时,可以将存储到该OSD上的数据块调度出来,落盘存储到其它的OSD上,这样就可以实现各个OSD的使用率均衡,避免单个OSD使用容量达到峰值。
本申请实施例通过对存储至每个OSD的数据块进行动态调度,考虑上层数据块的均衡调度加OSD上数据块的均衡,互相叠加后可使OSD使用率更加均衡,避免分布式存储系统出现性能问题。
在一些实施例中,上述步骤S203具体可以通过如下步骤实现:根据每个物理节点上的对象存储设备的使用率,确定各个对象存储设备之间的使用率差值;根据每个数据块的大小和使用率差值,动态调度每个条带中的数据块存储至对象存储设备,存储至每个对象存储设备上的数据块的数量为至少两个。
在本实施例中,通常每个OSD的使用率是不相同的,即各个OSD之间的使用率差值不为零,而每个OSD上存储的数据块的大小也可以是不相同的。示例性的,以OSD1、OSD2和OSD3为例,OSD1中存储的数据块为128兆和4兆,OSD2中存储的数据块为32兆和64兆,OSD3中存储的数据块为4兆和8兆,当OSD1的使用率与OSD3的使用率的差值超过预设阈值时,就可以将OSD1中128兆的数据块调度存储到OSD3。
进一步的,在其他实施方式中,上述步骤“根据每个数据块的大小和使用率差值,动态调度每个条带中的数据块存储至OSD”,具体可以通过如下步骤实现:获取存储至第一对象存储设备上的第一数据块和第二数据块,第一数据块大于第二数据块;将存储至第一对象存储设备上的第一数据块动态调度存储至第二对象存储设备,第一对象存储设备的使用率大于第二对象存储设备的使用率。
在本实施例中,当发现有两个OSD之间的使用率差值高于预设阈值时,就可以将使用率高的那个OSD上的数据块调度存储到使用率低的那个OSD。进一步的,在数据块调度的过程中,可以选择将较大的数据块调度到使用率低的那个OSD中。
示例性的,继续以上文举例的OSD1、OSD2和OSD3为例,OSD1为第一OSD,OSD3为第二OSD,OSD1中存储的数据块为128兆和4兆,OSD2中存储的数据块为32兆和64兆,OSD3中存储的数据块为4兆和8兆,当OSD1的使用率与OSD3的使用率的差值超过预设阈值时,就可以将OSD1中128兆的数据块作为第一数据库,将4兆的数据块作为第二数据块,然后将第一数据块调度存储到OSD3。
进一步的,在将第一数据块调度存储到第二OSD之后,可以将第二OSD上的第三数据块动态调度存储至第一OSD,第三数据块小于第二数据块。
在本实施例中,当将第一数据块调度存储到第二OSD之后,有可能会使得第二OSD的使用率高于第一OSD(在没有将第一数据块调度存储到第二OSD时,第一OSD的使用率高于第二OSD),如此还是无法实现各个OSD使用率的均衡,为此可以将第二OSD中的较小的数据块调度存储到第一OSD,尽可能使第一OSD与第二OSD的使用率均衡。
示例性的,继续以上文举例的OSD1、OSD2和OSD3为例,OSD1为第一OSD,OSD3为第二OSD,OSD1中存储的数据块为128兆和4兆,OSD2中存储的数据块为32兆和64兆,OSD3中存储的数据块为4兆和8兆,当将第一OSD中的128兆的数据块调度存储到第二OSD之后,可以将第二OSD中4兆的数据块调度存储到第一OSD来实现第一OSD与第二OSD之间的使用率均衡。
进一步的,若将第一OSD中128兆的数据块调度存储到第二OSD之后发现第二OSD的使用率变高,例如数据块调度存储完成之后,第二OSD的使用率为80%,第一OSD的使用率为70%,OSD2的使用率为65%,此时也可以将第二OSD中的数据块调度存储到除第一OSD之外的其它OSD(其它OSD的使用率小于第一OSD和第二OSD)。例如可以将第二OSD中4兆的数据块调度存储到OSD2。
本申请实施例通过动态调整落盘Plog块对象的大小,可以避免分布式块存储系统硬盘使用率不均的情况,在存储池性能冗余足够的情况下,有效应对单OSD长期使用率不均的问题,提高整个分布式存储系统的性能。
图3为本申请另一实施例提供的分布式存储系统的数据处理方法的流程示意图,如图3所示,该方法可以包括如下步骤:步骤S201,获取运行在存储集群中每个物理节点上的对象存储设备的使用率,存储集群中包括有至少一个物理节点,每个物理节点上运行有至少两个对象存储设备。步骤S202,获取存储集群中每个条带中数据块的大小,物理节点中存储有分区,每个分区划分为至少两个条带,条带用于将数据划分为至少两个数据块,数据块用于存储至不同的对象存储设备上。步骤S301,获取所有对象存储设备中使用率最大的对象存储设备作为最大对象存储设备。步骤S302,获取所有对象存储设备中使用率最小的对象存储设备作为最小对象存储设备。步骤S303,获取存储至最大对象存储设备的所有数据块中的最大数据块和存储至最小对象存储设备的所有数据块中的最小数据块。步骤S304,将最小数据块调度存储至最大对象存储设备。步骤S305,将最大数据块调度存储至最小对象存储设备。
在本实施例中,在对存储集群中OSD的使用率进行均衡时,可以优先对使用率差值最大的OSD进行均衡,如此可以提高整个存储集群中所有OSD的使用率均衡效率,快速实现对所有OSD的使用率均衡。
具体的,以存储集群包括有OSD1、OSD2和OSD3为例,OSD1的使用率为90%,OSD2的使用率为50%,OSD3的使用率为30%,此时可以发现OSD1的使用率最大,可以作为最大OSD,OSD3的使用率最小,可以作为最小OSD。其中,若存储到OSD1的两个数据块为128兆和4兆,OSD2中存储的数据块为32兆和64兆,OSD3中存储的数据块为4兆和8兆,在可以选择OSD1中128兆的数据块作为最大数据块,选择OSD3中4兆的数据块作为最小数据块,将OSD1中128兆的数据块调度存储到OSD3,将OSD3中4兆的数据块调度存储到OSD1,此时OSD1中存储的是64兆的数据块和4兆的数据块,OSD3中存储的是128兆和8兆的数据块。
本申请实施例通过找到最大OSD,最大OSD中的最大数据块,最小OSD,最小OSD中的最小数据块,并将最大数据块调度存储到最小OSD,将最小数据块调度存储到最大OSD,如此可以快速的实现OSD使用率的均衡,在需要对存储集群中每个OSD进行数据均衡时,提高数据均衡的效率。
图4为本申请又一实施例提供的分布式存储系统的数据处理方法的流程示意图,如图4所示,其包括如下步骤:步骤S201,获取运行在存储集群中每个物理节点上的对象存储设备的使用率,存储集群中包括有至少一个物理节点,每个物理节点上运行有至少两个对象存储设备。步骤S202,获取存储集群中每个条带中数据块的大小,物理节点中存储有分区,每个分区划分为至少两个条带,条带用于将数据划分为至少两个数据块,数据块用于存储至不同的对象存储设备上。步骤S203,根据每个物理节点上的对象存储设备的使用率、每个条带中数据块的大小,动态调度每个条带中的数据块存储至每个对象存储设备,存储至不同对象存储设备上的数据块的大小不同。步骤S401,周期性的获取每个对象存储设备的使用率。步骤S402,若所有对象存储设备中存在有使用率大于或等于预设阈值的过载对象存储设备,则进行告警。
在本实施例中,可以在物理节点部署过载控制框架,通过过载控制框架对各节点OSD使用率状况监控,使存储集群具有持续稳定的服务能力。其中,过载控制框架具有的功能包括:周期性检测集群OSD使用率的情况,并评判其是否接近过载状态、进行告警上送,也为OSD使用率的动态调整提供依据。其中,当过载控制框架在发现OSD使用率接近过载状态(即预设阈值)时,可以进行告警上送,提示当前该OSD存在使用率高的情况。
在本实施例中,在上层分配数据块时会自动记录计算相关数据块大小的分配,后期很难通过人为调整plog使OSD使用率均衡,为此需剔除硬盘或扩容硬盘更新OSD个数重新计算plog分配情况。
进一步的,在其他实施方式中,还可以获取待隔离对象存储设备,待隔离对象存储设备的使用率在预设时间段内持续变大且与除待隔离对象存储设备之外的其它对象存储设备的使用率之间的使用率差值大于预设阈值;将存储至待隔离对象存储设备的数据块剔除,并将待隔离对象存储设备与存储集群隔离。
在本实施例中,OSD硬盘使用率持续增长且与其他OSD使用率差距长期处于10%外,为防止木桶效应的发生,针对该OSD进程主动隔离、自动剔除存储池并上送集中监控。示例性的,图5为本申请实施例提供的存储系统OSD使用率均衡处理流程图,如图5所示,存储系统包括有计算节点、存储池、plog数据块、OSD(包括OSD1至OSDn),过载控制框架和IO监控。
其中,过载控制框架是部署在物理节点上的,对各节点OSD使用率状况监控,使存储集群具有持续稳定的服务能力。过载控制框架的基本能力:周期性检测集群OSD使用率的情况,并评判其是否接近过载状态、进行告警上送,也为OSD使用率的动态调整提供依据。IO监控是部署在计算节点上的,其主要用于周期监测每个OSD上的IO、流量,并从过载控制框架获取存储系统整体的性能冗余度情况。
其中,当需要对存储至OSD上的plog数据块进行动态调度时,可以针对存储集群内的OSD上的plog数据块大小及使用率实时监控,针对OSD使用率差距很大的情况下,通过IO监控动态调整部分plog数据块大小,将数据块大(例如128MB或32MB)的plog数据块落盘至使用率低的OSD上,将数据块小(例如4MB)的plog数据块落盘至使用率高的OSD上。
本申请实施例通过过载控制框架,可以保证分布式块存储系统长期可靠地运行,避免因单个OSD使用率高影响前端业务性能,同时通过动态调整落盘Plog块对象的大小避免分布式块存储系统因硬盘使用率不均的情况,在存储池性能冗余足够的情况下,有效应对单OSD长期使用率不均的问题。
在一些实施例中,上述方法还可以包括如下步骤:周期性的获取每个对象存储设备上的输入输出数据和数据流量;在所有对象存储设备中确定出第三对象存储设备和第四对象存储设备,第三对象存储设备的输入输出数据和数据流量大于第四对象存储设备的输入输出数据和数据流量;将第三对象存储设备的输入输出数据和数据流量动态调度至第四对象存储设备。
在本实施例中,可以通过部署在计算节点上的IO监控来周期性的获取每个OSD的IO数据(即输入输出数据)和数据流量,当发现某个OSD的IO数据较大时,可以通过将部分IO数据和数据流量动态调整至其他OSD来提高其它OSD的使用率,同时也降低该OSD的使用率。其中,可以在所有的OSD中选取出IO数据和流量最大的OSD作为第三OSD,在所有OSD中选取出IO数据和流量最小的OSD作为第四OSD。示例性的,当某些OSD的IO数据或流量大于设定阈值时,可以对该OSD进行告警上送,避免该OSD长期处于大流量场景下。
本申请实施例通过对IO数据和流量进行监控并进行动态调整,可以避免单OSD长期出现IO数据和流量过大的情况,进一步均衡分布式存储系统的数据,避免因单个OSD使用率高影响前端业务性能。
下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
图6为本申请实施例提供的分布式存储系统的数据处理装置的结构示意图,如图6所示,该数据处理装置600可以包括使用率获取模块610、数据获取模块620、数据块调度模块630。其中,使用率获取模块610用于获取运行在存储集群中每个物理节点上的对象存储设备的使用率,存储集群中包括有至少一个物理节点,每个物理节点上运行有至少两个对象存储设备。数据块获取模块620用于获取存储集群中每个条带中数据块的大小,物理节点中存储有分区,每个分区划分为至少两个条带,条带用于将数据划分为至少两个数据块,数据块用于存储至不同的对象存储设备上。数据块调度模块630用于根据每个物理节点上的对象存储设备的使用率、每个条带中数据块的大小,动态调度每个条带中的数据块存储至每个对象存储设备,存储至不同对象存储设备上的数据块的大小不同。
可选的,数据块调度模块具体可以用于:根据每个物理节点上的对象存储设备的使用率,确定各个对象存储设备之间的使用率差值;根据每个数据块的大小和使用率差值,动态调度每个条带中的数据块存储至对象存储设备,存储至每个对象存储设备上的数据块的数量为至少两个。
可选的,数据块调度模块具体可以用于:获取存储至第一对象存储设备上的第一数据块和第二数据块,第一数据块大于第二数据块;将存储至第一对象存储设备上的第一数据块动态调度存储至第二对象存储设备,第一对象存储设备的使用率大于第二对象存储设备的使用率。
可选的,数据块调度模块具体可以用于:将第二对象存储设备上第三数据块动态调度存储至第一对象存储设备,第三数据块小于第二数据块。
可选的,数据块调度模块具体可以用于:获取所有对象存储设备中使用率最大的对象存储设备作为最大对象存储设备;获取所有对象存储设备中使用率最小的对象存储设备作为最小对象存储设备;获取存储至最大对象存储设备的所有数据块中的最大数据块和存储至最小对象存储设备的所有数据块中的最小数据块;将最小数据块调度存储至最大对象存储设备;将最大数据块调度存储至最小对象存储设备。
可选的,还包括告警模块,用于周期性的获取每个对象存储设备的使用率;若所有对象存储设备中存在有使用率大于或等于预设阈值的过载对象存储设备,则进行告警。
可选的,还包括数据调度模块,用于周期性的获取每个对象存储设备上的输入输出数据和数据流量;在所有对象存储设备中确定出第三对象存储设备和第四对象存储设备,第三对象存储设备的输入输出数据和数据流量大于第四对象存储设备的输入输出数据和数据流量;将第三对象存储设备的输入输出数据和数据流量动态调度至第四对象存储设备。
可选的,还包括隔离模块,用于获取待隔离对象存储设备,待隔离对象存储设备的使用率在预设时间段内持续变大且与除待隔离对象存储设备之外的其它对象存储设备的使用率之间的使用率差值大于预设阈值;将存储至待隔离对象存储设备的数据块剔除,并将待隔离对象存储设备与存储集群隔离。
本申请实施例提供的装置,可用于执行上述实施例中的方法,其实现原理和技术效果类似,在此不再赘述。
需要说明的是,应理解以上装置的各个模块的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且这些模块可以全部以软件通过处理元件调用的形式实现;也可以全部以硬件的形式实现;还可以部分模块通过处理元件调用软件的形式实现,部分模块通过硬件的形式实现。例如,使用率获取模块可以为单独设立的处理元件,也可以集成在上述装置的某一个芯片中实现,此外,也可以以程序代码的形式存储于上述装置的存储器中,由上述装置的某一个处理元件调用并执行以上使用率获取模块的功能。其它模块的实现与之类似。此外这些模块全部或部分可以集成在一起,也可以独立实现。这里的处理元件可以是一种集成电路,具有信号的处理能力。在实现过程中,上述方法的各步骤或以上各个模块可以通过处理器元件中的硬件的集成逻辑电路或者软件形式的指令完成。
图7为本申请实施例提供的电子设备的结构示意图。如图7所示,该电子设备700包括:至少一个处理器701、存储器702、总线703及通信接口704。其中:处理器701、通信接口704以及存储器702通过总线703完成相互间的通信。通信接口704用于与其它设备进行通信。该通信接口包括用于进行数据传输的通信接口以及用于进行人机交互的显示界面或者操作界面等。处理器701用于执行存储器存储的计算机执行指令,具体可以执行上述实施例中所描述的方法中的相关步骤。
其中,处理器可能是中央处理器,或者是特定集成电路(Application SpecificIntegrated Circuit,ASIC),或者是被配置成实施本发明实施例的一个或多个集成电路。电子设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一个或多个ASIC。存储器,用于存放计算机执行指令。存储器可能包含高速RAM存储器,也可能还包括非易失性存储器,例如至少一个磁盘存储器。
本实施例还提供一种计算机可读存储介质,可读存储介质中存储有计算机指令,当电子设备的至少一个处理器执行该计算机指令时,电子设备执行上述的各种实施方式提供的分布式存储系统的数据处理方法。
本申请中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系;在公式中,字符“/”,表示前后关联对象是一种“相除”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中,a,b,c可以是单个,也可以是多个。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。上述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求书指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求书来限制。
Claims (11)
1.一种分布式存储系统的数据处理方法,其特征在于,包括:
获取运行在存储集群中每个物理节点上的对象存储设备的使用率,所述存储集群中包括有至少一个物理节点,每个物理节点上运行有至少两个对象存储设备;
获取所述存储集群中每个条带中数据块的大小,所述物理节点中存储有分区,每个分区划分为至少两个条带,所述条带用于将数据划分为至少两个数据块,所述数据块用于存储至不同的对象存储设备上;
根据每个物理节点上的对象存储设备的使用率、每个条带中数据块的大小,动态调度每个条带中的数据块存储至所述对象存储设备,存储至不同对象存储设备上的数据块的大小不同。
2.根据权利要求1所述的方法,其特征在于,所述根据每个物理节点上的对象存储设备的使用率、每个条带中数据块的大小,动态调度每个条带中的数据块存储至每个对象存储设备,包括:
根据每个物理节点上的对象存储设备的使用率,确定各个对象存储设备之间的使用率差值;
根据每个数据块的大小和所述使用率差值,动态调度每个条带中的数据块存储至所述对象存储设备,存储至每个对象存储设备上的数据块的数量为至少两个。
3.根据权利要求2所述的方法,其特征在于,所述根据每个数据块的大小和所述使用率差值,动态调度每个条带中的数据块存储至所述对象存储设备,包括:
获取存储至第一对象存储设备上的第一数据块和第二数据块,所述第一数据块大于所述第二数据块;
将存储至第一对象存储设备上的第一数据块动态调度存储至第二对象存储设备,所述第一对象存储设备的使用率大于所述第二对象存储设备的使用率。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
将所述第二对象存储设备上第三数据块动态调度存储至所述第一对象存储设备,所述第三数据块小于所述第二数据块。
5.根据权利要求2所述的方法,其特征在于,所述根据每个数据块的大小和所述使用率差值,动态调度每个条带中的数据块存储至所述对象存储设备,包括:
获取所有对象存储设备中使用率最大的对象存储设备作为最大对象存储设备;
获取所有对象存储设备中使用率最小的对象存储设备作为最小对象存储设备;
获取存储至所述最大对象存储设备的所有数据块中的最大数据块和存储至所述最小对象存储设备的所有数据块中的最小数据块;
将所述最小数据块调度存储至所述最大对象存储设备;
将所述最大数据块调度存储至所述最小对象存储设备。
6.根据权利要求1-5中任一项所述的方法,其特征在于,所述方法还包括:
周期性的获取每个对象存储设备的使用率;
若所有对象存储设备中存在有使用率大于或等于预设阈值的过载对象存储设备,则进行告警。
7.根据权利要求1-5中任一项所述的方法,其特征在于,所述方法还包括:
周期性的获取每个对象存储设备上的输入输出数据和数据流量;
在所有对象存储设备中确定出第三对象存储设备和第四对象存储设备,所述第三对象存储设备的输入输出数据和数据流量大于所述第四对象存储设备的输入输出数据和数据流量;
将所述第三对象存储设备的输入输出数据和数据流量动态调度至所述第四对象存储设备。
8.根据权利要求1-5中任一项所述的方法,其特征在于,所述方法包括:
获取待隔离对象存储设备,所述待隔离对象存储设备的使用率在预设时间段内持续变大且与除所述待隔离对象存储设备之外的其它对象存储设备的使用率之间的使用率差值大于预设阈值;
将存储至所述待隔离对象存储设备的数据块剔除,并将所述待隔离对象存储设备与所述存储集群隔离。
9.一种分布式存储系统的数据处理装置,其特征在于,包括:
使用率获取模块,用于获取运行在存储集群中每个物理节点上的对象存储设备的使用率,所述存储集群中包括有至少一个物理节点,每个物理节点上运行有至少两个对象存储设备;
数据块获取模块,用于获取所述存储集群中每个条带中数据块的大小,所述物理节点中存储有分区,每个分区划分为至少两个条带,所述条带用于将数据划分为至少两个数据块,所述数据块用于存储至不同的对象存储设备上;
数据块调度模块,用于根据每个物理节点上的对象存储设备的使用率、每个条带中数据块的大小,动态调度每个条带中的数据块存储至每个对象存储设备,存储至不同对象存储设备上的数据块的大小不同。
10.一种电子设备,其特征在于,包括:处理器,以及与所述处理器通信连接的存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,以实现如权利要求1至8任一项所述的方法。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1至8任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311030861.XA CN117032576A (zh) | 2023-08-15 | 2023-08-15 | 分布式存储系统的数据处理方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311030861.XA CN117032576A (zh) | 2023-08-15 | 2023-08-15 | 分布式存储系统的数据处理方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117032576A true CN117032576A (zh) | 2023-11-10 |
Family
ID=88601961
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311030861.XA Pending CN117032576A (zh) | 2023-08-15 | 2023-08-15 | 分布式存储系统的数据处理方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117032576A (zh) |
-
2023
- 2023-08-15 CN CN202311030861.XA patent/CN117032576A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10853139B2 (en) | Dynamic workload management based on predictive modeling and recommendation engine for storage systems | |
US10282136B1 (en) | Storage system and control method thereof | |
US9798471B2 (en) | Performance of de-clustered disk array by disk grouping based on I/O statistics | |
CN109597567B (zh) | 一种数据处理方法和装置 | |
US10356150B1 (en) | Automated repartitioning of streaming data | |
US10855791B2 (en) | Clustered storage system path quiescence analysis | |
CN110096220B (zh) | 一种分布式存储系统、数据处理方法和存储节点 | |
US10747617B2 (en) | Method, apparatus and computer program product for managing storage system | |
US20150277767A1 (en) | Storage management apparatus, and performance adjusting method | |
CN109981702B (zh) | 一种文件存储方法及系统 | |
US9854037B2 (en) | Identifying workload and sizing of buffers for the purpose of volume replication | |
US9792050B2 (en) | Distributed caching systems and methods | |
CN104054076B (zh) | 数据存储方法、数据库存储节点故障处理方法及装置 | |
US20170357537A1 (en) | Virtual machine dispatching method, apparatus, and system | |
CN111124264A (zh) | 用于重建数据的方法、设备和计算机程序产品 | |
CN111338579B (zh) | 基于存储池的读写缓存优化方法、系统、终端及存储介质 | |
US8443369B1 (en) | Method and system for dynamically selecting a best resource from each resource collection based on resources dependencies, prior selections and statistics to implement an allocation policy | |
CN107948229B (zh) | 分布式存储的方法、装置及系统 | |
US9582200B2 (en) | Storage apparatus, method of controlling storage apparatus, and computer-readable recording medium having stored therein storage apparatus control program | |
CN109725835A (zh) | 用于管理盘阵列的方法、设备和计算机程序产品 | |
CN110502586A (zh) | 一种数据库软硬件一体机 | |
US20160188246A1 (en) | Storage apparatus, and computer-readable recording medium having stored therein storage apparatus control program | |
US9317306B2 (en) | Computer device and memory management method thereof | |
CN111007988B (zh) | 一种raid内部磨损均衡方法、系统、终端及存储介质 | |
CN111400241B (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 |