CN109343798A - 对分布式存储系统的主pg均衡调整的方法、装置及介质 - Google Patents
对分布式存储系统的主pg均衡调整的方法、装置及介质 Download PDFInfo
- Publication number
- CN109343798A CN109343798A CN201811115255.7A CN201811115255A CN109343798A CN 109343798 A CN109343798 A CN 109343798A CN 201811115255 A CN201811115255 A CN 201811115255A CN 109343798 A CN109343798 A CN 109343798A
- Authority
- CN
- China
- Prior art keywords
- main
- osd
- compatibility
- weighted value
- current
- 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
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/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
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)
- Devices For Executing Special Programs (AREA)
Abstract
本发明公开了一种对分布式存储系统的主PG均衡调整方法、装置及介质,该方法对每个OSD预先设定期望主PG数、预期偏差和主PG亲和性的权重值的初始值,然后根据各OSD当前的主PG数与期望主PG数的绝对差值与预期偏差的关系从而确定是否要调整OSD的当前主PG亲和性的权重值,通过调整当前主PG亲和性的权重值来调整每个OSD上的主PG数分布,直到每个OSD的当前主PG亲和性的权重值都不需要再调整为止。由此可见,相对于现有技术中,随机将主PG数分布在各OSD上的方法而言,应用于本方法可以将每个OSD上的主PG数都逐渐靠近期望主PG数,最大偏差是预期偏差,从而实现主PG的均衡调整。
Description
技术领域
本发明涉及分布式存储系统领域,特别是涉及一种对分布式存储系统的主PG均衡调整的方法、装置及介质。
背景技术
随着分布式存储系统在视频监控、高性能、广电媒资、云计算、大数据、虚拟化等领域得到了广泛应用,客户对分布是存储系统的性能要求也越来越高,提高分布式存储系统的性能显得日益重要。
PG(Placement Group)是分布式存储系统中非常重要的概念,它可以看成是一致性哈希中的虚拟节点,维护了一部分数据并且是数据迁移和改变的最小单位。它在分布式存储系统中承担着非常重要的角色,在一个分布式存储系统中存在一定数量的PG(可动态增减),这些PG会被分布在多个OSD(对象存储设备)。通常情况下,当副本数是多个时,一般是包括一个主PG和多个从PG,例如,副本数量是3个时,包括一个主PG和两个从PG,分布在3个OSD中。
现有技术中,分布式存储系统通过Crush伪随机算法把主PG和从PG放置到不同的OSD上,这样可以实现存储系统数据的整体基本均衡。由于存储系统中不同OSD上主PG的数目相差可能达到十几个甚至更多,这会导致主PG在OSD上分布不均衡。当主PG不均衡时,会导致各OSD的读命中率差异很大。例如分布式存储系统中的某些OSD的读命中率达到100%时,却存在一些OSD的读命中率只有70%甚至更低;通常读命中率越低的OSD,它的平均延时就越高,从而这些读命中率低的OSD成为整个分布式存储系统的性能瓶颈。
由此可见,如何均衡分布式存储系统中各OSD的读命中率从而克服系统中由于某些OSD由于读命中率过低造成的性能瓶颈是本领域技术人员亟待解决的问题。
发明内容
本发明的目的是提供一种对分布式存储系统的主PG均衡调整的方法、装置及介质,用于均衡分布式存储系统中各OSD的读命中率从而克服系统中由于某些OSD由于读命中率过低造成的性能瓶颈。
为解决上述技术问题,本发明提供一种对分布式存储系统的主PG均衡调整的方法,包括:
获取各OSD当前的主PG数;
判断各所述OSD当前的主PG数与期望主PG数的绝对差值是否均不大于预期偏差;其中,所述期望主PG数和所述预期偏差均为预先设定;
如果是,则确定所述分布式存储系统中各OSD的主PG均衡分布;否则,对不满足判断条件的OSD的当前主PG亲和性的权重值进行调整;其中,主PG亲和性的权重值的初始值为预先设定;
依据各所述OSD的当前主PG亲和性的权重值更新主PG分布,并返回所述获取各OSD当前的主PG数的步骤。
优选地,所述对不满足判断条件的OSD的当前主PG亲和性的权重值进行调整具体包括:
若OSD当前的主PG数减去所述期望主PG数的差值大于所述预期偏差,则调低该OSD的主PG亲和性的权重值,若所述期望主PG数减去当前的主PG数的差值小于所述预期偏差的相反数,则调高该OSD的主PG亲和性的权重值。
优选地,各所述OSD的所述主PG亲和性的权重值的初始值均相同,各所述OSD的所述期望主PG数均相同,各所述OSD的所述预期偏差均相同。
优选地,各所述OSD的所述主PG亲和性的权重值的初始值为0.7,调低步长和调高步长均为0.001。
优选地,各所述OSD的所述预期偏差为1。
优选地,在返回所述获取各OSD当前的主PG数的步骤之前还包括:
判断当前迭代次数是否达到最大迭代次数;
如果是,则结束,否则返回所述获取各OSD当前的主PG数的步骤。
优选地,所述最大迭代次数具体为1000次。
为解决上述技术问题,本发明还提供一种对分布式存储系统的主PG均衡调整的装置,包括:
获取模块,用于获取各OSD当前的主PG数;
判断模块,用于判断各所述OSD当前的主PG数与期望主PG数的绝对差值是否均不大于预期偏差;其中,所述期望主PG数和所述预期偏差均为预先设定;
确定模块,用于在所述判断模块的判断结果为是时,确定所述分布式存储系统中各OSD的主PG均衡分布;
调整模块,用于在所述判断模块的判断结果为否时,对不满足判断条件的OSD的当前主PG亲和性的权重值进行调整;其中,主PG亲和性的权重值的初始值为预先设定;
更新模块,用于依据各所述OSD的当前主PG亲和性的权重值更新主PG分布,并触发所述获取模块。
为解决上述技术问题,本发明还提供一种对分布式存储系统的主PG均衡调整的装置,包括存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上述所述的对分布式存储系统的主PG均衡调整的方法的步骤。
为解决上述技术问题,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述所述的对分布式存储系统的主PG均衡调整的方法的步骤。
本发明所提供的对分布式存储系统的主PG均衡调整方法,对每个OSD预先设定期望主PG数、预期偏差和主PG亲和性的权重值的初始值,然后根据各OSD当前的主PG数与期望主PG数的绝对差值与预期偏差的关系从而确定是否要调整OSD的当前主PG亲和性的权重值,通过调整当前主PG亲和性的权重值来调整每个OSD上的主PG数分布,直到每个OSD的当前主PG亲和性的权重值都不需要再调整为止。由此可见,相对于现有技术中,随机将主PG数分布在各OSD上的方法而言,应用于本方法可以将每个OSD上的主PG数都逐渐靠近期望主PG数,最大偏差是预期偏差,从而实现主PG的均衡调整。
此外,本发明所提供的对分布式存储系统的主PG均衡调整装置及介质,与上述方法对应,效果同上。
附图说明
为了更清楚地说明本发明实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种对分布式存储系统的主PG均衡调整的方法的流程图;
图2为本发明实施例提供的另一种对分布式存储系统的主PG均衡调整方法的流程图;
图3为本发明实施例提供的另一种对分布式存储系统的主PG均衡调整的方法的流程图;
图4为本发明实施提供的一种对分布式存储系统的主PG均衡调整的装置的结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本发明保护范围。
本发明的核心是提供一种对分布式存储系统的主PG均衡调整的方法、装置及介质,用于均衡分布式存储系统中各OSD的读命中率从而克服系统中由于某些OSD由于读命中率过低造成的性能瓶颈。
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。
图1为本发明实施例提供的一种对分布式存储系统的主PG均衡调整的方法的流程图。如图1所示,该方法包括:
S10:获取各OSD当前的主PG数。
需要说明的是,本发明中提到的分布式存储系统,不限定其规模,即可以包括任意数量的OSD。OSD的全称是Object Storage Devices,译为对象存储设备,提供数据存储服务。另外,每个OSD上除了主PG外,还包括从PG以实现备份,由于在进行读取操作时,通常是对主PG进行读取,因此,从PG的分布基本不影响分布式存储系统的整体读命中率,因此,本发明中对于从PG的分布不作要求。
作为一种优选地实施方式,可以通过OSD Map获取各OSD当前的主PG数。OSD Map是一种图表,它包括分布式存储系统的ID、存储池相关信息、OSD相关信息等。相对于通过其它渠道获取各OSD当前的主PG数,采用上述方式获取可以节约时间,并且不容易出错。
由于步骤S10通常情况下是要执行多次,即下文中提到的迭代,因此,如果是首次进行,则步骤S10中的各OSD当前的主PG数就是分布式存储系统初始状态时,每个OSD上所分布的主PG数。如果不是首次,则是经过调整后的分布。无论是首次还是非首次,都可以通过OSD Map获取各OSD当前的主PG数。可以理解的是,每经过一次迭代,则每个OSD上分布的主PG数都有变化,也可能部分有变化。
S11:判断各OSD当前的主PG数与期望主PG数的绝对差值是否均不大于预期偏差,如果是,则进入S12,否则,进入S13。
本步骤中,所提到的期望主PG数和预期偏差均为预先设定,也都是整数。所谓期望主PG数,其含义就是期望该OSD上分布几个主PG,所谓预期偏差,其含义就是当前主PG数,即实际主PG数与期望主PG数的偏差。例如当前主PG数为20,期望主PG数为15,则二者的绝对差值就是5,预期偏差如果为1的话,则相当于当前主PG数与期望主PG数的绝对差值大于预期偏差,说明当前主PG数与期望主PG数相差过大。
需要说明的是,虽然期望主PG数可以自由设定,但是考虑到分布式存储系统的固有特性以及尽可能满足均衡的要求,期望主PG数应该尽量接近平均值,作为优选地实施方式,期望主PG数=分布式存储系统中总的PG数/OSD总数。可以理解的是,如果上述公式存在小数,则只需要取整即可,可以取最接近的整数。预期偏差设置的过大则分布式存储系统中出现主PG数偏离期望主PG数的OSD过多,如果设置的过小,则正好相反,很显然,预期偏差设置的越小,则分布式存储系统中各OSD的主PG的分布会更均衡,但是也会相应增加迭代的时间。
在本步骤中,需要对每个OSD进行上述判断,只有每个OSD都满足判断条件,才能确定分布式存储系统各OSD的主PG均衡,否则,即便是有一个,也需要进行调整。
S12:确定分布式存储系统中各OSD的主PG均衡分布。
可以理解的是,如果每个OSD中当前主PG数与期望主PG数的差值都在预期偏差范围内,说明分布式存储系统中主PG分布均衡,那么就无需再对分布方式进行调整,本方法就结束。
S13:对不满足判断条件的OSD的当前主PG亲和性的权重值进行调整。
其中,主PG亲和性的权重值的初始值为预先设定。
本步骤中,只是对不满足S11中的判断条件的OSD的主PG亲和性的权重值进行调整。可以理解的是,若一个OSD中当前主PG数与期望主PG数的差值都在预期偏差范围内,则不需要对其当前主PG亲和性的权重值进行调整,只需要保持当前主PG亲和性的权重值即可。
主PG亲和性的权重值的含义是OSD对于主PG的亲和程度,可以理解的是,权重值越大,则说明OSD对于主PG的亲和程度越高,意味着,可以多分布一些主PG,相反,需要少分布一些主PG。因此,本实施例中,是通过调整主PG亲和性的权重值实现的主PG的分布调整。主PG亲和性的权重值并不是一成不变的,其初始值需要预先设定,可以理解的是,初始值设置的过大或者过小都会影响方法的执行效果,例如,初始值设置的过大,则偏离最终的主PG亲和性的权重值会越大,那么调整的范围就会越大,必然会增加迭代的次数;同样的,初始值设置的过小,则偏离最终的主PG亲和性的权重值会越大,那么调整的范围就会越大,也必然会增加迭代的次数。
本步骤中,对于调整的步长以及调整的方向不作限定,可以理解的是,如果调整的步长以及调整的方向选取不恰当,也会增加迭代次数。
S14:依据各OSD的当前主PG亲和性的权重值更新主PG分布,并返回S10。
如果是首次执行完S13,则相当于是对初始值首次调整,S14也是首次更新分布式存储系统中的主PG分布,如果不是首次,则都是在上一次更新的基础上再次更新。
需要说明的是,对于每个OSD来说,主PG亲和性的权重值的变化趋势与主PG变化的趋势是成正相关的关系,也就是说,当某一个OSD的主PG亲和性的权重值增大,则经过更新后,该OSD上的主PG数也会增大;某一个OSD的主PG亲和性的权重值降低,则经过更新后,该OSD上的主PG数也会减少。至于增加多少或者减小多少,可以根据实际情况设定,本发明不作限定。
以上是经过一轮的迭代过程,当重复执行上述步骤后,每个OSD上当前主PG数与期望主PG数越来越接近,直到每个OSD的主PG亲和性的权重值均不需要调整就实现了分布式存储系统中各OSD的主PG均衡分布。
本实施例提供的对分布式存储系统的主PG均衡调整方法,对每个OSD预先设定期望主PG数、预期偏差和主PG亲和性的权重值的初始值,然后根据各OSD当前的主PG数与期望主PG数的绝对差值与预期偏差的关系从而确定是否要调整OSD的当前主PG亲和性的权重值,通过调整当前主PG亲和性的权重值来调整每个OSD上的主PG数分布,直到每个OSD的当前主PG亲和性的权重值都不需要再调整为止。由此可见,相对于现有技术中,随机将主PG数分布在各OSD上的方法而言,应用于本方法可以将每个OSD上的主PG数都逐渐靠近期望主PG数,最大偏差是预期偏差,从而实现主PG的均衡调整。
图2为本发明实施例提供的另一种对分布式存储系统的主PG均衡调整方法的流程图。在上一实施例的基础上,作为一种优选地实施方式,步骤S13具体包括:
S130:若OSD当前的主PG数减去期望主PG数的差值大于预期偏差,则调低该OSD的主PG亲和性的权重值。
S131:若期望主PG数减去当前的主PG数的差值小于预期偏差的相反数,则调高该OSD的主PG亲和性的权重值。
本实施中利用上述调整方法,可以加快均衡调整的速度。
作为一种优选地实施方式,各OSD的主PG亲和性的权重值的初始值均相同,各OSD的期望主PG数均相同,各OSD的预期偏差均相同。
可以理解的是,如果按照平均分布的方式调整各OSD的主PG数,是最为理想的,也是最均衡的,但是事实上,是无法做到的,因此,本实施例中将各OSD的期望主PG数设置成相同的,这样在每一次迭代过程中,每个OSD的主PG数都趋向于期望主PG数,可以最优的实现均衡调整。同样的,初始值和预期偏差设置成相同的方式也是基于上述原因。
作为一种优选地实施方式,各OSD的主PG亲和性的权重值的初始值为0.7,调低步长和调高步长均为0.001。
需要说明的是,本实施例中的初始值为0.7,调低步长和调高步长均为0.001只是一种具体实现方式,并不代表只有这一种方式。具体数值可以根据分布式存储系统中OSD的个数,主PG数,以及预计调整所需要的时间综合设定。
作为一种优选地实施方式,各OSD的预期偏差为1。
需要说明的是,本实施例中的各OSD的预期偏差为1,只是一种具体实现方式,并不代表只有这一种方式。具体设定的考虑参见上文描述。预期偏差设置为1,则既保证了均衡性又保证了实施的可行性。通常情况下,预期偏差不小于1。
图3为本发明实施例提供的另一种对分布式存储系统的主PG均衡调整的方法的流程图。如图3所示,作为一种优选地实施方式,在返回S10之前还包括:
S30:判断当前迭代次数是否达到最大迭代次数。
如果是,则结束,否则返回S10。
本实施例中考虑到迭代过程中可能消耗的时间较长,如果不断的迭代的话,则可能造成系统崩溃,所以本实施例中,还设置一个迭代终止的条件,即当迭代次数达到最大迭代次数,则无论是否每个OSD的主PG数与期望主PG数的绝对差值与预期偏差是何种关系,都不再进行迭代。优选地,最大迭代次数具体为1000次。可以理解的是,如果最大迭代次数过大,则可能造成迭代的次数增加,所需要的时间也就过长,但是均衡性会更优,如果最大迭代次数过小,虽然迭代的次数减小,所需要的时间减小,但是均衡性会较长。通过大量试验研究,最大迭代次数设置为1000次,所需要的时间较短,通常小于1分钟,且均衡性也较好。另外,本实施例中的迭代次数是指每经过一轮执行S10-S14就是一次迭代。最简单的方式就是统计S10执行的次数,例如S10执行了3次,则迭代次数就是3。
为了让本领域技术人员更加清楚本发明所提供的技术方案,以下给出一种具体应用场景进行说明。
假设分布式存储系统中包含有10个OSD,总PG数为100。每个OSD初始时的主PG数(用n表示)参见表1。期望主PG数(用e表示)均为10,预期偏差(用d表示)均为1,主PG亲和性的权重值的初始值为0.7,调低步长和调高步长均为0.001。
表1主PG数初始分布
序号 | n | e | d | |n-e| | 初始值 | 第一次调整后的权重值 |
OSD1 | 10 | 10 | 1 | 0 | 0.7 | 0.7 |
OSD2 | 5 | 10 | 1 | 5 | 0.7 | 0.7+0.001 |
OSD3 | 5 | 10 | 1 | 5 | 0.7 | 0.7+0.001 |
OSD4 | 7 | 10 | 1 | 3 | 0.7 | 0.7+0.001 |
OSD5 | 7 | 10 | 1 | 3 | 0.7 | 0.7+0.001 |
OSD6 | 18 | 10 | 1 | 8 | 0.7 | 0.7-0.001 |
OSD7 | 12 | 10 | 1 | 2 | 0.7 | 0.7-0.001 |
OSD8 | 5 | 10 | 1 | 5 | 0.7 | 0.7+0.001 |
OSD9 | 15 | 10 | 1 | 5 | 0.7 | 0.7-0.001 |
OSD10 | 16 | 10 | 1 | 6 | 0.7 | 0.7-0.001 |
第一次迭代过程:
11)获取各OSD当前的主PG数,如表1所示;
12)判断各OSD当前的主PG数与期望主PG数的绝对差值是否均不大于预期偏差。如表1所示,满足判断条件的OSD,即不大于预期偏差的OSD只有OSD1,其余OSD都不满足判断条件。
13)对不满足判断条件的OSD的当前主PG亲和性的权重值进行调整。
因此,本次迭代中,只有OSD1的主PG亲和性的权重值不需要调整,其余OSD的主PG亲和性的权重值都需要调整,调整的基础是初始值,即都从0.7的基础上调整,第一次调整后的权重值参见表1。
14)依据各OSD的当前主PG亲和性的权重值更新主PG分布。
依据表1中第一次调整后的权重值对分布式系统中的所有OSD的主PG的分布更新,从而得到第二次迭代的各OSD的当前主PG数。
第二次迭代过程:
21)获取各OSD当前的主PG数,即第一次迭代过程中更新后的主PG数。
22)判断各OSD当前的主PG数与期望主PG数的绝对差值是否均不大于预期偏差。方法参见第一次迭代过程。
23)对不满足判断条件的OSD的当前主PG亲和性的权重值进行调整。方法参见第一次迭代过程。
24)依据各OSD的当前主PG亲和性的权重值更新主PG分布。方法参见第一次迭代过程。
以上给出了两次迭代过程的说明,随着迭代次数的增加,则每个OSD上的主PG数逐渐接近期望主PG数,直到每个OSD上的当前主PG亲和性的权重值不再调整或者迭代次数达到最大迭代次数为止。
以上实施例中详细描述了对分布式存储系统的主PG均衡调整的方法,本实施例还提供一种与该方法对应的对分布式存储系统的主PG均衡调整的装置的实施例。其中,装置部分的实施例分别从基于功能模块的角度和硬件的角度说明。
图4为本发明实施提供的一种对分布式存储系统的主PG均衡调整的装置的结构图。如图4所示,该装置包括:
获取模块10,用于获取各OSD当前的主PG数。
判断模块11,用于判断各OSD当前的主PG数与期望主PG数的绝对差值是否均不大于预期偏差;其中,期望主PG数和预期偏差均为预先设定。
确定模块12,用于在判断模块11的判断结果为是时,确定分布式存储系统中各OSD的主PG均衡分布。
调整模块13,用于在判断模块11的判断结果为否时,对不满足判断条件的OSD的当前主PG亲和性的权重值进行调整;其中,主PG亲和性的权重值的初始值为预先设定。
更新模块14,用于依据各OSD的当前主PG亲和性的权重值更新主PG分布,并触发获取模块10。
作为优选的实施方式,还可以包括迭代次数判断模块,用于在更新模块14触发获取模块10之前,判断当前迭代次数是否达到最大迭代次数,如果否,则触发获取模块10。
其中,该装置部分的实施例与上述方法的实施例相对应,因此装置部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
本实施例提供的对分布式存储系统的主PG均衡调整装置,对每个OSD预先设定期望主PG数、预期偏差和主PG亲和性的权重值的初始值,然后根据各OSD当前的主PG数与期望主PG数的绝对差值与预期偏差的关系从而确定是否要调整OSD的当前主PG亲和性的权重值,通过调整当前主PG亲和性的权重值来调整每个OSD上的主PG数分布,直到每个OSD的当前主PG亲和性的权重值都不需要再调整为止。由此可见,相对于现有技术中,随机将主PG数分布在各OSD上的方法而言,应用于本装置可以将每个OSD上的主PG数都逐渐靠近期望主PG数,最大偏差是预期偏差,从而实现主PG的均衡调整。
本发明还提供一种对分布式存储系统的主PG均衡调整的装置,包括存储器,用于存储计算机程序;
处理器,用于执行计算机程序时实现如上述所述的对分布式存储系统的主PG均衡调整的方法的步骤。
由于装置部分的实施例与方法部分的实施例相互对应,因此装置部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。在本发明的一些实施例中,处理器和存储器可通过总线或其它方式连接。
本实施例提供的对分布式存储系统的主PG均衡调整装置,包括存储器和处理器,处理器在执行存储器存储的程序时,能够实现如下方法:首先对每个OSD预先设定期望主PG数、预期偏差和主PG亲和性的权重值的初始值,然后根据各OSD当前的主PG数与期望主PG数的绝对差值与预期偏差的关系从而确定是否要调整OSD的当前主PG亲和性的权重值,通过调整当前主PG亲和性的权重值来调整每个OSD上的主PG数分布,直到每个OSD的当前主PG亲和性的权重值都不需要再调整为止。由此可见,相对于现有技术中,随机将主PG数分布在各OSD上的方法而言,应用于本方法可以将每个OSD上的主PG数都逐渐靠近期望主PG数,最大偏差是预期偏差,从而实现主PG的均衡调整。
最后,本发明还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述所述的对分布式存储系统的主PG均衡调整的方法的步骤。
可以理解的是,如果上述实施例中的方法以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
由于本部分的实施例与方法部分的实施例相互对应,因此本部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
本实施例提供的计算机可读存储介质,存储有计算机程序,该程序被执行时,能够实现如下方法:首先对每个OSD预先设定期望主PG数、预期偏差和主PG亲和性的权重值的初始值,然后根据各OSD当前的主PG数与期望主PG数的绝对差值与预期偏差的关系从而确定是否要调整OSD的当前主PG亲和性的权重值,通过调整当前主PG亲和性的权重值来调整每个OSD上的主PG数分布,直到每个OSD的当前主PG亲和性的权重值都不需要再调整为止。由此可见,相对于现有技术中,随机将主PG数分布在各OSD上的方法而言,应用于本方法可以将每个OSD上的主PG数都逐渐靠近期望主PG数,最大偏差是预期偏差,从而实现主PG的均衡调整。
以上对本发明所提供的对分布式存储系统的主PG均衡调整的方法、装置及介质进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (10)
1.一种对分布式存储系统的主PG均衡调整的方法,其特征在于,包括:
获取各OSD当前的主PG数;
判断各所述OSD当前的主PG数与期望主PG数的绝对差值是否均不大于预期偏差;其中,所述期望主PG数和所述预期偏差均为预先设定;
如果是,则确定所述分布式存储系统中各OSD的主PG均衡分布;否则,对不满足判断条件的OSD的当前主PG亲和性的权重值进行调整;其中,主PG亲和性的权重值的初始值为预先设定;
依据各所述OSD的当前主PG亲和性的权重值更新主PG分布,并返回所述获取各OSD当前的主PG数的步骤。
2.根据权利要求1所述的方法,其特征在于,所述对不满足判断条件的OSD的当前主PG亲和性的权重值进行调整具体包括:
若OSD当前的主PG数减去所述期望主PG数的差值大于所述预期偏差,则调低该OSD的主PG亲和性的权重值,若所述期望主PG数减去当前的主PG数的差值小于所述预期偏差的相反数,则调高该OSD的主PG亲和性的权重值。
3.根据权利要求2所述的方法,其特征在于,各所述OSD的所述主PG亲和性的权重值的初始值均相同,各所述OSD的所述期望主PG数均相同,各所述OSD的所述预期偏差均相同。
4.根据权利要求3所述的方法,其特征在于,各所述OSD的所述主PG亲和性的权重值的初始值为0.7,调低步长和调高步长均为0.001。
5.根据权利要求4所述的方法,其特征在于,各所述OSD的所述预期偏差为1。
6.根据权利要求1-5任意一项所述的方法,其特征在于,在返回所述获取各OSD当前的主PG数的步骤之前还包括:
判断当前迭代次数是否达到最大迭代次数;
如果是,则结束,否则返回所述获取各OSD当前的主PG数的步骤。
7.根据权利要求5所述的方法,其特征在于,所述最大迭代次数具体为1000次。
8.一种对分布式存储系统的主PG均衡调整的装置,其特征在于,包括:
获取模块,用于获取各OSD当前的主PG数;
判断模块,用于判断各所述OSD当前的主PG数与期望主PG数的绝对差值是否均不大于预期偏差;其中,所述期望主PG数和所述预期偏差均为预先设定;
确定模块,用于在所述判断模块的判断结果为是时,确定所述分布式存储系统中各OSD的主PG均衡分布;
调整模块,用于在所述判断模块的判断结果为否时,对不满足判断条件的OSD的当前主PG亲和性的权重值进行调整;其中,主PG亲和性的权重值的初始值为预先设定;
更新模块,用于依据各所述OSD的当前主PG亲和性的权重值更新主PG分布,并触发所述获取模块。
9.一种对分布式存储系统的主PG均衡调整的装置,其特征在于,包括存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至7任一项所述的对分布式存储系统的主PG均衡调整的方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的对分布式存储系统的主PG均衡调整的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811115255.7A CN109343798A (zh) | 2018-09-25 | 2018-09-25 | 对分布式存储系统的主pg均衡调整的方法、装置及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811115255.7A CN109343798A (zh) | 2018-09-25 | 2018-09-25 | 对分布式存储系统的主pg均衡调整的方法、装置及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109343798A true CN109343798A (zh) | 2019-02-15 |
Family
ID=65306218
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811115255.7A Pending CN109343798A (zh) | 2018-09-25 | 2018-09-25 | 对分布式存储系统的主pg均衡调整的方法、装置及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109343798A (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109960470A (zh) * | 2019-03-28 | 2019-07-02 | 新华三技术有限公司 | 数据处理方法、装置及领导节点 |
CN109992216A (zh) * | 2019-04-11 | 2019-07-09 | 苏州浪潮智能科技有限公司 | 一种数据组分配方法、系统及电子设备和存储介质 |
CN110007866A (zh) * | 2019-04-11 | 2019-07-12 | 苏州浪潮智能科技有限公司 | 一种存储单元性能优化方法、装置、存储设备及存储介质 |
CN110018799A (zh) * | 2019-04-12 | 2019-07-16 | 苏州浪潮智能科技有限公司 | 一种存储池pg主确定方法、装置、设备及可读存储介质 |
CN111090390A (zh) * | 2019-10-31 | 2020-05-01 | 平安科技(深圳)有限公司 | 分布式系统的存储分配方法、装置及计算机设备 |
CN111708492A (zh) * | 2020-06-10 | 2020-09-25 | 深圳证券通信有限公司 | 一种基于ceph的数据分布不平均调整方法 |
CN111708486A (zh) * | 2020-05-24 | 2020-09-25 | 苏州浪潮智能科技有限公司 | 一种主放置组均衡优化的方法、系统、设备及介质 |
CN111930317A (zh) * | 2020-09-21 | 2020-11-13 | 柏科数据技术(深圳)股份有限公司 | 基于ceph数据分布方法、装置、服务器及存储介质 |
CN111930713A (zh) * | 2020-09-21 | 2020-11-13 | 柏科数据技术(深圳)股份有限公司 | Ceph放置组的分配方法、装置、服务器及存储介质 |
CN112306692A (zh) * | 2020-11-13 | 2021-02-02 | 苏州浪潮智能科技有限公司 | 一种分布式存储系统的归置组均衡方法和装置 |
CN114138209A (zh) * | 2022-02-07 | 2022-03-04 | 苏州浪潮智能科技有限公司 | 一种部署osd的方法、装置及计算机可读存储介质 |
CN117519992A (zh) * | 2024-01-04 | 2024-02-06 | 中电云计算技术有限公司 | 一种基于crush算法的查表型负载均衡方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160349993A1 (en) * | 2015-05-29 | 2016-12-01 | Cisco Technology, Inc. | Data-driven ceph performance optimizations |
CN107317864A (zh) * | 2017-06-29 | 2017-11-03 | 郑州云海信息技术有限公司 | 一种存储设备的数据均衡方法及装置 |
-
2018
- 2018-09-25 CN CN201811115255.7A patent/CN109343798A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160349993A1 (en) * | 2015-05-29 | 2016-12-01 | Cisco Technology, Inc. | Data-driven ceph performance optimizations |
CN107317864A (zh) * | 2017-06-29 | 2017-11-03 | 郑州云海信息技术有限公司 | 一种存储设备的数据均衡方法及装置 |
Non-Patent Citations (1)
Title |
---|
CEPH: "《CEPH》", 20 August 2014 * |
Cited By (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109960470A (zh) * | 2019-03-28 | 2019-07-02 | 新华三技术有限公司 | 数据处理方法、装置及领导节点 |
CN109960470B (zh) * | 2019-03-28 | 2022-07-29 | 新华三技术有限公司 | 数据处理方法、装置及领导节点 |
CN109992216A (zh) * | 2019-04-11 | 2019-07-09 | 苏州浪潮智能科技有限公司 | 一种数据组分配方法、系统及电子设备和存储介质 |
CN110007866A (zh) * | 2019-04-11 | 2019-07-12 | 苏州浪潮智能科技有限公司 | 一种存储单元性能优化方法、装置、存储设备及存储介质 |
CN109992216B (zh) * | 2019-04-11 | 2023-01-10 | 苏州浪潮智能科技有限公司 | 一种数据组分配方法、系统及电子设备和存储介质 |
CN110018799B (zh) * | 2019-04-12 | 2020-07-03 | 苏州浪潮智能科技有限公司 | 一种存储池pg主确定方法、装置、设备及可读存储介质 |
CN110018799A (zh) * | 2019-04-12 | 2019-07-16 | 苏州浪潮智能科技有限公司 | 一种存储池pg主确定方法、装置、设备及可读存储介质 |
CN111090390A (zh) * | 2019-10-31 | 2020-05-01 | 平安科技(深圳)有限公司 | 分布式系统的存储分配方法、装置及计算机设备 |
CN111708486A (zh) * | 2020-05-24 | 2020-09-25 | 苏州浪潮智能科技有限公司 | 一种主放置组均衡优化的方法、系统、设备及介质 |
CN111708486B (zh) * | 2020-05-24 | 2023-01-06 | 苏州浪潮智能科技有限公司 | 一种主放置组均衡优化的方法、系统、设备及介质 |
CN111708492B (zh) * | 2020-06-10 | 2023-04-25 | 深圳证券通信有限公司 | 一种基于ceph的数据分布不平均调整方法 |
CN111708492A (zh) * | 2020-06-10 | 2020-09-25 | 深圳证券通信有限公司 | 一种基于ceph的数据分布不平均调整方法 |
CN111930713B (zh) * | 2020-09-21 | 2021-02-02 | 柏科数据技术(深圳)股份有限公司 | Ceph放置组的分配方法、装置、服务器及存储介质 |
CN111930317B (zh) * | 2020-09-21 | 2021-03-09 | 柏科数据技术(深圳)股份有限公司 | 基于ceph数据分布方法、装置、服务器及存储介质 |
CN111930713A (zh) * | 2020-09-21 | 2020-11-13 | 柏科数据技术(深圳)股份有限公司 | Ceph放置组的分配方法、装置、服务器及存储介质 |
CN111930317A (zh) * | 2020-09-21 | 2020-11-13 | 柏科数据技术(深圳)股份有限公司 | 基于ceph数据分布方法、装置、服务器及存储介质 |
CN112306692B (zh) * | 2020-11-13 | 2023-01-06 | 苏州浪潮智能科技有限公司 | 一种分布式存储系统的归置组均衡方法和装置 |
CN112306692A (zh) * | 2020-11-13 | 2021-02-02 | 苏州浪潮智能科技有限公司 | 一种分布式存储系统的归置组均衡方法和装置 |
CN114138209A (zh) * | 2022-02-07 | 2022-03-04 | 苏州浪潮智能科技有限公司 | 一种部署osd的方法、装置及计算机可读存储介质 |
CN114138209B (zh) * | 2022-02-07 | 2022-04-22 | 苏州浪潮智能科技有限公司 | 一种部署osd的方法、装置及计算机可读存储介质 |
CN117519992A (zh) * | 2024-01-04 | 2024-02-06 | 中电云计算技术有限公司 | 一种基于crush算法的查表型负载均衡方法及装置 |
CN117519992B (zh) * | 2024-01-04 | 2024-04-16 | 中电云计算技术有限公司 | 一种基于crush算法的查表型负载均衡方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109343798A (zh) | 对分布式存储系统的主pg均衡调整的方法、装置及介质 | |
US10705734B2 (en) | Expanding variable sub-column widths as needed to store data in memory | |
CN103678494B (zh) | 客户端同步服务端数据的方法及装置 | |
Carroll-Nellenback et al. | Efficient parallelization for AMR MHD multiphysics calculations; implementation in AstroBEAR | |
CN104063361B (zh) | 报表设计方法和报表设计系统 | |
CN106843755A (zh) | 用于服务器集群的数据均衡方法与装置 | |
CN106570025B (zh) | 一种数据过滤的方法及装置 | |
CN105869043A (zh) | 分散热点的数据库账户转入、转出的记账方法及装置 | |
CN103763365A (zh) | 一种云存储下元数据服务的负载均衡方法及系统 | |
CN106202524A (zh) | 数据库及其分表装置和方法 | |
CN104809025A (zh) | 一种项目上线方法及装置 | |
CN109634682A (zh) | 应用程序的配置文件更新方法及装置 | |
CN103019826B (zh) | 一种事务处理的方法和装置 | |
CN106055706A (zh) | 一种缓存资源存储方法及装置 | |
CN106326062A (zh) | 应用程序的运行状态控制方法和装置 | |
CN105630603A (zh) | 部署虚拟服务器的方法和装置 | |
CN104378394B (zh) | 一种服务器集群文件的更新方法及装置 | |
CN109684084A (zh) | 一种总线资源的分配方法、系统及相关组件 | |
CN101859316A (zh) | 一种对海量文件进行存取的方法及装置 | |
CN106384366A (zh) | 一种图像调校方法及装置 | |
CN109165712A (zh) | 分布式分期号的生成方法、装置和计算机存储介质 | |
CN105391758B (zh) | 一种局域网中资源分配的方法和装置 | |
CN104794128A (zh) | 数据处理方法和装置 | |
CN105306386A (zh) | 一种局域网中资源分配的方法和装置 | |
CN106201711A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190215 |
|
RJ01 | Rejection of invention patent application after publication |