CN111708492B - 一种基于ceph的数据分布不平均调整方法 - Google Patents

一种基于ceph的数据分布不平均调整方法 Download PDF

Info

Publication number
CN111708492B
CN111708492B CN202010524170.5A CN202010524170A CN111708492B CN 111708492 B CN111708492 B CN 111708492B CN 202010524170 A CN202010524170 A CN 202010524170A CN 111708492 B CN111708492 B CN 111708492B
Authority
CN
China
Prior art keywords
osd
capacity
disk
percentage
factor
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
Application number
CN202010524170.5A
Other languages
English (en)
Other versions
CN111708492A (zh
Inventor
陈帮民
蒋川
余传锋
范文
巫禄芳
张鹏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Securities Communication Co ltd
Original Assignee
Shenzhen Securities Communication Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenzhen Securities Communication Co ltd filed Critical Shenzhen Securities Communication Co ltd
Priority to CN202010524170.5A priority Critical patent/CN111708492B/zh
Publication of CN111708492A publication Critical patent/CN111708492A/zh
Application granted granted Critical
Publication of CN111708492B publication Critical patent/CN111708492B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0616Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy 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)
  • Computer Security & Cryptography (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明涉及分布式存储技术领域,具体涉及一种基于ceph的数据分布不平均调整方法,采用如下步骤:步骤一:确定需要调整的OSD列表与OSD对应的当前权重因子CurrentWeight;步骤二:计算OSD容量偏差百分比的计算因子SizeDiff%;步骤三:计算OSD对应SSD磁盘寿命百分比的计算因子SSDLife%;步骤四:计算OSD磁盘错误百分比的计算因子ErrorCount%;步骤五:计算OSD容量增量百分比的计算因子SizeIncrease%;它对数据不平均分配进行调整,基于磁盘容量,权重,健康情况,ssd寿命以及磁盘S.M.A.R.T的错误计数信息等,对数据进行二次平衡,以解决存储系统数据分布不平均的问题,并提高系统性能与可用性;同时,也提高存储系统的可用空间。

Description

一种基于ceph的数据分布不平均调整方法
【技术领域】
本发明涉及分布式存储技术领域,具体涉及一种基于ceph的数据分布不平均调整方法。
【背景技术】
ceph分布式存储应用中,数据分布依照ceph的CRUSH算法。CRUSH是一种基于哈希的数据分布式算法。以数据唯一标识符、当前存储集群的拓扑结构以及数据备份策略作为CRUSH输入,可以随时随地通过计算获取数据所在的底层存储设备(例如磁盘)位置并直接与起通信,从而避免查表操作,实现去中心化和高并发。
当前CRUSH算法,客户端在上传一个文件到指定的pool中时,进行的步骤如下:(1)数据切片,客户端将将大文件拆分为多个Object,例如,假定每个Object大小为8MB,一个1GB的文件可以被拆分成128个Object。(2)计算Object对应PG,对Object进行Hash,然后哈希值和PG的数量取余,得到的值再和pool的ID拼接成PG_ID。(3)计算PG对应的OSD集合:对pg_id进行CURSH得到该PG对应的OSD数组。
由此过程可以看到,数据分布并不会参考数据所在位置(磁盘等)的容量,而仅仅通过对Object进行hash而确定object存储位置。CRUSH本质还是一个hash算法,通过计算带来去中心化和高并发的优点,而带来的就是数据不平衡的问题。在当前ceph的使用情况下,磁盘使用率普遍存在20%左右的偏差,并且最大使用差可达到50%甚至以上。
而ceph自带的数据重平衡提供了两种批量方法:一种是按照OSD当前空间利用率,对OSD对应磁盘的容量使用百分比与集群平均容量百分比偏差大的进行权重值调整,从而控制数据流向,另一种是按照PG在OSD之间的分布,通过将PG进行迁移,不考虑容量情况,把PG多的OSD迁移至PG少的OSD,从而控制数据平衡。其中:Object:不论是块存储、对象存储还是文件存储,最终都是以Object形态存储在磁盘上。PG:相当于一致性哈希算法里的虚拟节点,做为Object的归置组。OSD:真正的存储组件,OSD一般和磁盘一一对应,处理存储磁盘上的读/写操作。
基于上述情况,ceph数据分布不均衡是正常并且普遍存在的现象,由此而带来不小的数据安全隐患以及性能下降。而ceph自带的数据重平衡提供了两种批量方法:一种是按照OSD当前空间利用率,另一种是按照PG在OSD之间的分布。而其中的缺陷存在:
(1)只考虑OSD容量;(2)只考虑PG分布;
(3)未考虑最近单位时间磁盘容量增长情况;
(4)未考虑磁盘健康情况;
(5)未考虑SSD在寿命降低后性能降低以及数据丢失风险;
(6)未做故障域的限制,容易波及整个集群;
综上所述,当前情况在进行数据重平衡时,考虑方面欠缺,在只考虑容量与PG分布的情况下,难以对实际生产适应,容易影响全局的数据分布不均衡以及性能下降。
【发明内容】
本发明的目的在于针对现有技术的缺陷和不足,提供一种基于ceph的数据分布不平均调整方法。
本发明所述的一种基于ceph的数据分布不平均调整方法,采用如下步骤:
步骤一:确定需要调整的OSD列表与OSD对应的当前权重因子CurrentWeight;
步骤二:计算OSD容量偏差百分比的计算因子SizeDiff%;
步骤三:计算OSD对应SSD磁盘寿命百分比的计算因子SSDLife%;
步骤四:计算OSD磁盘错误百分比的计算因子ErrorCount%;
步骤五:计算OSD容量增量百分比的计算因子SizeIncrease%;
步骤六:选择方案A或方案B,确定调整方案;
方案A:只调整容量大于集群平均容量的OSD;
方案B:只调整容量小于集群平均容量的OSD;
步骤七:根据步骤一至步骤五的计算因子,以及步骤六的确定方案,利用
以下计算公式来计算结果,计算公式如下:
AdjustmentRatio=1+SizeDiff%+SSDLife%+ErrorCount%+SizeIncrease%
OsdReweight=CurrentWeight×AdjustmentRatio
其中:
OsdReweight:需要进行权重调整OSD计算而得新权重值;
CurrentWeight:当前OSD权重值;
SizeDiff%:OSD对应磁盘的容量使用百分比与集群平均容量百分比计算而得的调整比例;
SSDLife%:通过OSD对应SSD磁盘寿命计算而得的调整比例;
ErrorCount%:通过OSD对应磁盘Error Count磁盘错误信息计算而得的调整比例;
SizeIncrease%:通过OSD单位时间容量增长百分比与集群容量百分比偏差计算而得的调整比例;
AdjustmentRatio:通过计算因子计算而得的调整比例。
进一步地,步骤一中的需要调整的OSD列表与OSD对应权重因子CurrentWeight,采用如下步骤:
(1)可以通过设置比例,在与集群容量相差在设置比例内的,不予调整,超过或者低于该比例的,则标志为调整对象;;
(2)同时通过设置是否限制在一台机器内,或者单个故障域内的调整,避免调整波及范围过大;最终确认需要调整的OSD列表,记录OSD对应权重因子CurrentWeight。
进一步地,步骤二中的计算因子SizeDiff%,采用如下步骤:
(1)使用命令获取集群当前使用容量百分比Aver%;
(2)通过命令获取每台机器上每块磁盘的容量使用百分比OsdSize%;
(3)对于OsdSize%>Aver%列为需要调小的SmallOSD,得到因子为(OsdSize%-Aver%);
(4)对于OsdSize%<Aver%列为需要调大权重的OSD,得到SizeDiff%因子为(Aver%-OsdSize%)。
进一步地,步骤三中的计算因子SSDLife%,采用如下步骤:
(1)若OSD磁盘为SSD磁盘,则从S.M.A.R.T.信息中抓取磁盘剩余寿命信息百分比Currentlife%,查询OSD所在磁盘是否为SSD;
(2)若是SSD,则查询其寿命信息,得到其寿命的百分比数据。
进一步地,步骤四中的计算因子ErrorCount%,采用如下步骤:
(1)从磁盘S.M.A.R.T.信息中获取Error count计数,它描述了磁盘发生错误的计数,计数越大,则反映磁盘越不健康,容易产生的错误越多,进而影响集群稳定性以及性能降低;
(2)ErrorCount%表示OSD对应磁盘错误百分比,Error count计数达到或超过100,减少OSD数据存放;Error count计数小于100,ErrorCount%=(Error count)/100。
进一步地,步骤五中的计算因子SizeIncrease%,采用如下步骤:
(1)以时间周期为T,定期检查获取集群容量,两次检查值之差,得到单位时间内的增长百分比Increase%;
(2)同时,定期获取磁盘容量增长百分比OsdIncrease%;
(3)对于OsdIncrease%>Increase%,减少数据存放,减少比例为OsdIncrease%-Increase%;
(4)对于OsdIncrease%<Increase%,增加OSD数据存放,SizeIncrease%=Increase%-OsdIncrease%。
本发明有益效果为:本发明所述的一种基于ceph的数据分布不平均调整方法,它对数据不平均分配进行调整,基于磁盘容量,权重,健康情况,ssd寿命以及磁盘S.M.A.R.T错误计数信息等,对数据进行二次平衡,以解决数据不平均的问题,并提高系统性能与可用性;同时,也提高存储系统的可用空间,提高系统磁盘整体的利用率,降低存储系统单位价值产出能耗,最大化系统存储能力与经济效益。
【附图说明】
此处所说明的附图是用来提供对本发明的进一步理解,构成本申请的一部分,但并不构成对本发明的不当限定,在附图中:
图1是本发明的拓扑示意图;
【具体实施方式】
下面将结合附图以及具体实施例来详细说明本发明,其中的示意性实施例以及说明仅用来解释本发明,但并不作为对本发明的限定。
如图1所示,本具体实施方式所述的一种基于ceph的数据分布不平均调整方法,采用如下步骤:
步骤一:确定需要调整的OSD列表与OSD对应的当前权重因子CurrentWeight;
步骤二:计算OSD容量偏差百分比的计算因子SizeDiff%;
步骤三:计算OSD对应SSD磁盘寿命百分比的计算因子SSDLife%;
步骤四:计算OSD磁盘错误百分比的计算因子ErrorCount%;
步骤五:计算OSD容量增量百分比的计算因子SizeIncrease%;
步骤六:选择方案A或方案B,确定调整方案;
方案A:只调整容量大于集群平均容量的OSD;
方案B:只调整容量小于集群平均容量的OSD;
步骤七:根据步骤一至步骤五的计算因子,以及步骤六的确定方案,利用
以下计算公式来计算结果,计算公式如下:
AdjustmentRatio=1+SizeDiff%+SSDLife%+ErrorCount%+SizeIncrease%OsdReweight=CurrentWeight×AdjustmentRatio
其中:
OsdReweight:需要进行权重调整OSD计算而得新权重值;
CurrentWeight:当前OSD权重值;
SizeDiff%:OSD对应磁盘的容量使用百分比与集群平均容量百分比计算而得的调整比例;
SSDLife%:通过OSD对应SSD磁盘寿命计算而得的调整比例;
ErrorCount%:通过OSD对应磁盘Error Count磁盘错误信息计算而得的调整比例;
SizeIncrease%:通过OSD单位时间容量增长百分比与集群容量百分比偏差计算而得的调整比例;
AdjustmentRatio:通过计算因子计算而得的调整比例。
进一步地,步骤一中的需要调整的OSD列表与OSD对应权重因子CurrentWeight,采用如下步骤:
(1)可以通过设置比例,在与集群容量相差在设置比例内的,不予调整,超过或者低于该比例的,则标志为调整对象;
(2)同时通过设置是否限制在一台机器内,或者单个故障域内的调整,避免调整波及范围过大;最终确认需要调整的OSD列表,记录OSD对应权重因子CurrentWeight。
进一步地,步骤二中的计算因子SizeDiff%,采用如下步骤:
(1)使用命令获取集群当前使用容量百分比Aver%;
(2)通过命令获取每台机器上每块磁盘的容量使用百分比OsdSize%;
(3)对于OsdSize%>Aver%列为需要调小的SmallOSD,得到因子为(OsdSize%-Aver%);
(4)对于OsdSize%<Aver%列为需要调大权重的OSD,得到SizeDiff%因子为(Aver%-OsdSize%)。
进一步地,步骤三中的计算因子SSDLife%,采用如下步骤:
(1)若OSD磁盘为SSD磁盘,则从S.M.A.R.T.信息中抓取磁盘剩余寿命信息百分比Currentlife%,查询OSD所在磁盘是否为SSD;
(2)若是SSD,则查询其寿命信息,得到其寿命的百分比数据。
进一步地,步骤四中的计算因子ErrorCount%,采用如下步骤:
(1)从磁盘S.M.A.R.T.信息中获取Error count计数,它描述了磁盘发生错误的计数,计数越大,则反应磁盘越不健康,容易产生的错误越多,进而影响集群稳定性以及性能降低;
(2)ErrorCount%表示OSD对应磁盘错误百分比,Error count计数达到或超过100,减少OSD数据存放;Error count计数小于100,ErrorCount%=(Error count)/100。
进一步地,步骤五中的计算因子SizeIncrease%,采用如下步骤:
(1)以时间周期为T,定期检查获取集群容量,两次检查值之差,得到单位时间内的增长百分比Increase%;
(2)同时,定期获取磁盘容量增长百分比OsdIncrease%;
(3)对于OsdIncrease%>Increase%,减少其数据存放,减少比例为OsdIncrease%-Increase%;
(4)对于OsdIncrease%<Increase%,增加OSD数据存放,SizeIncrease%=Increase%-OsdIncrease%。
本发明,举具体实施例来进一步说明,说明如下:
如图1所示,本发明分为三大块,开始,我们将会收集我们需要采集的各项信息,便于我们之后用于计算;随后选择方案,我们制定了两种调整方案,最后,通过采集的信息和选择的方案,计算得到我们需要调整后的磁盘权重信息。
开始:首先输入动态范围,我们将会在集群容量的基础上,对超出这个范围的OSD列入需要调整的OSD,选择在单个故障域内进行调整,如只调整一台服务器上的磁盘。这样便可找出我们需要调整的OSD列表;
然后,查询集群平均容量百分比与单个磁盘容量使用百分比,得到容量变化差值,记录并用于后续计算;
再然后,查询OSD所在磁盘是否为SSD,若是SSD,则查询OSD对应SSD磁盘寿命信息,记录并用于后续计算;
再然后,查询OSD所在磁盘的Error count错误信息,这项信息描述了磁盘在过去运行时间发生的错误总数,当Error count计数达到或超过100,减少OSD数据存放,计算因子,Error count计数小于100,ErrorCount%=(Error count)/100,记录用于后续计算;
再然后,定期查询磁盘容量,得到OSD对应磁盘单位时间内的容量增百分比,并与集群容量增长百分比做比较,得到容量增长变化差值,用于描述最近单位时间磁盘繁忙程度,记录并用于后续计算;
再然后,选择调整方案,方便如下:
方案A:只调整容量大于集群平均容量的OSD;
方案B:只调整容量小于集群平均容量的OSD;
最后,通过下面公式来依次计算需要调整的OSD列表中各个OSD新的权重值:
AdjustmentRatio=1+SizeDiff%+SSDLife%+ErrorCount%+SizeIncrease%
OsdReweight=CurrentWeight×AdjustmentRatio
其中:
OsdReweight:需要进行权重调整OSD计算而得新权重值;
CurrentWeight:当前OSD权重值;
SizeDiff%:OSD对应磁盘的容量使用百分比与集群平均容量百分比计算而得的调整比例;
SSDLife%:通过OSD对应SSD磁盘寿命计算而得的调整比例;
ErrorCount%:通过OSD对应磁盘Error Count磁盘错误信息计算而得的调整比例;
SizeIncrease%:通过OSD单位时间容量增长百分比与集群容量百分比偏差计算而得的调整比例;
AdjustmentRatio:通过计算因子计算而得的调整比例。
本发明的具体计算方法如下:
1、找出需要调整的OSD列表与OSD对应权重因子CurrentWeight,采用如下步骤:
(1)可以通过设置比例,在与集群容量相差在设置比例内的,不予调整,超过或者低于该比例的,则标志为调整对象;
(2)同时通过设置是否限制在一台机器内,或者单个故障域内的调整,避免调整波及范围过大;最终确认需要调整的OSD列表,记录OSD对应权重因子CurrentWeight。
2、SizeDiff%因子计算:
(1)使用命令获取集群当前使用容量百分比Aver%;
(2)通过命令获取每台机器上每块磁盘的容量使用百分比OsdSize%;
(3)对于OsdSize%>Aver%列为需要调小的SmallOSD,得到其因子为(OsdSize%-Aver%);
(4)对于OsdSize%<Aver%列为需要调大权重的OSD,得到SizeDiff%因子为(Aver%-OsdSize%)。
3、SSDLife%因子计算:
(1)若OSD磁盘为SSD磁盘,则从S.M.A.R.T.信息中抓取磁盘剩余寿命信息百分比Currentlife%,查询OSD所在磁盘是否为SSD;
(2)若是SSD,则查询其寿命信息,得到其寿命的百分比数据。
4、ErrorCount%因子计算:
(1)从磁盘S.M.A.R.T.信息中获取Error count计数,它描述了磁盘发生错误的计数,计数越大,则反映磁盘越不健康,容易产生的错误越多,进而影响集群稳定性以及性能降低;
(2)ErrorCount%表示OSD对应磁盘错误百分比,Error count计数达到或超过100;Error count计数小于100,ErrorCount%=(Error count)/100。
5、SizeIncrease%因子计算:
(1)以时间周期为T,定期检查获取集群容量,两次检查值之差,得到单位时间内的增长百分比Increase%;
(2)同时,定期获取磁盘容量增长百分比OsdIncrease%;
(3)对于OsdIncrease%>Increase%,减少数据存放,减少比例为OsdIncrease%-Increase%;
(4)对于OsdIncrease%<Increase%,增加OSD数据存放,SizeIncrease%=Increase%-OsdIncrease%。
6、最后,通过下面公式来依次计算需要调整的OSD列表中各个OSD新的权重值:
AdjustmentRatio=1+SizeDiff%+SSDLife%+ErrorCount%+SizeIncrease%OsdReweight=CurrentWeight×AdjustmentRatio
本发明的优点如下:
(1)通过对当前存储容量的统计描述当前存储情况,用于平衡各个磁盘数据。
(2)通过对时间周期内的容量增量描述容量趋势,避免给当前压力大的磁盘更多压力。
(3)通过对磁盘S.M.A.R.T.信息的获取来得到磁盘的健康状态,减少对于不健康磁盘的数据,从而提高稳定性与性能。
(4)基于以上各个因子,对于存储容量多的OSD减少此OSD存储权重值,对于容量增量多的OSD减少此OSD权重,对于磁盘不健康信息比例多的也OSD减少此OSD权重,反之则增加。
(5)通过各个因子的权衡比例计算,给与磁盘新的权重(OsdReweight)值,进而达到数据重平衡的效果。并且在进行重平衡时,可选择多种策略,如限制在一台机器上,进而增加存储集群使用效能。
本发明中,本发明可以将存储系统磁盘间使用率偏差由20%左右降低到5%左右,同时提高15%的磁盘使用效率。这样一方面数据在存储系统磁盘中分布均匀,可以使存储系统的访问负载更均匀地分布在各台服务器与磁盘中,存储系统的稳定性与访问时延等性能都会大大提高,同时也可以防止出现某一个磁盘使用率超过阀值而导致整个集群不可用的情况;另一方面,降低了单位存储容量的能耗,可以更好地发挥出存储系统的存储能力与经济效益,如一个存储系统建设容量为100T,通过此发明,可多提供可用存储约15T,根据市场分布式存储1T存储容量6000人民币估算,可多产生9万人民币价值的经济收益。
综上所述,本发明综合多因素来平衡数据分布,从而带来更好的稳定性与性能;同时,也能够提高存储系统的可用空间,最大化系统存储能力与经济效益。
以上所述仅是本发明的较佳实施方式,故凡依本发明专利申请范围所述特征及原理所做的等效变化或修饰,均包括于本发明专利申请范围内。

Claims (6)

1.一种基于ceph的数据分布不平均调整方法,它特征在于:采用如下步骤:
步骤一:确定需要调整的OSD列表与OSD对应的当前权重因子CurrentWeight;
步骤二:计算OSD容量偏差百分比的计算因子SizeDiff%;
步骤三:计算OSD对应SSD磁盘寿命百分比的计算因子SSDLife%;
步骤四:计算OSD磁盘错误百分比的计算因子ErrorCount%;
步骤五:计算OSD容量增量百分比的计算因子SizeIncrease%;
步骤六:选择方案A或方案B,确定调整方案;
方案A:只调整容量大于集群平均容量的OSD;
方案B:只调整容量小于集群平均容量的OSD;
步骤七:根据步骤一至步骤五的计算因子,以及步骤六的确定方案,利用以下计算公式来计算结果,计算公式如下:
AdjustmentRatio=1+SizeDiff%+SSDLife%+ErrorCount%+SizeIncrease%OsdReweight=CurrentWeight×AdjustmentRatio
其中:
OsdReweight:需要进行权重调整OSD计算而得新权重值;
CurrentWeight:当前OSD权重值;
SizeDiff%:OSD对应磁盘的容量使用百分比与集群平均容量百分比计算而得的调整比例;
SSDLife%:通过OSD对应SSD磁盘寿命计算而得的调整比例;
ErrorCount%:通过OSD对应磁盘Error Count磁盘错误信息计算而得的调整比例;
SizeIncrease%:通过OSD单位时间容量增长百分比与集群容量百分比偏差计算而得的调整比例;
AdjustmentRatio:通过计算因子计算而得的调整比例。
2.根据权利要求1所述的一种基于ceph的数据分布不平均调整方法,它特征在于:步骤一中的需要调整的OSD列表与OSD对应权重因子CurrentWeight,采用如下步骤:
(1)可以通过设置比例,在与集群容量相差在设置比例内的,不予调整,超过或者低于该比例的,则标志为调整对象;
(2)同时通过设置是否限制在一台机器内,或者单个故障域内的调整,避免调整波及范围过大;最终确认需要调整的OSD列表,记录OSD对应权重因子CurrentWeight。
3.根据权利要求1所述的一种基于ceph的数据分布不平均调整方法,它特征在于:步骤二中的计算因子SizeDiff%,采用如下步骤:
(1)使用命令获取集群当前使用容量百分比Aver%;
(2)通过命令获取每台机器上每块磁盘的容量使用百分比OsdSize%;
(3)对于OsdSize%>Aver%列为需要调小的SmallOSD,得到因子为(OsdSize%-Aver%);
(4)对于OsdSize%<Aver%列为需要调大权重的OSD,得到SizeDiff%因子为(Aver%-OsdSize%)。
4.根据权利要求1所述的一种基于ceph的数据分布不平均调整方法,它特征在于:步骤三中的计算因子SSDLife%,采用如下步骤:
(1)若OSD磁盘为SSD磁盘,则从S.M.A.R.T.信息中抓取磁盘剩余寿命信息百分比Currentlife%,查询OSD所在磁盘是否为SSD;
(2)若是SSD,则查询其寿命信息,得到其寿命的百分比数据。
5.根据权利要求1所述的一种基于ceph的数据分布不平均调整方法,它特征在于:步骤四中的计算因子ErorCount%,采用如下步骤:
(1)从磁盘S.M.A.R.T.信息中获取Error count计数,它描述了磁盘发生错误的计数,计数越大,则反映磁盘越不健康,容易产生的错误越多,进而影响集群稳定性以及性能降低;
(2)ErrorCount%表示OSD对应磁盘错误百分比,Error count计数小于100,ErrorCount%=(Error count)/100。
6.根据权利要求1所述的一种基于ceph的数据分布不平均调整方法,它特征在于:步骤五中的计算因子SizeIncrease%,采用如下步骤:
(1)以时间周期为T,定期检查获取集群容量,两次检查值之差,得到单位时间内的增长百分比Increase%;
(2)同时,定期获取磁盘容量增长百分比OsdIncrease%;
(3)对于OsdIncrease%>Increase%,减少数据存放,减少比例为OsdIncrease%-Increase%;
(4)对于OsdIncrease%<Increase%,增加OSD数据存放,SizeIncrease%=Increase%-OsdIncrease%。
CN202010524170.5A 2020-06-10 2020-06-10 一种基于ceph的数据分布不平均调整方法 Active CN111708492B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010524170.5A CN111708492B (zh) 2020-06-10 2020-06-10 一种基于ceph的数据分布不平均调整方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010524170.5A CN111708492B (zh) 2020-06-10 2020-06-10 一种基于ceph的数据分布不平均调整方法

Publications (2)

Publication Number Publication Date
CN111708492A CN111708492A (zh) 2020-09-25
CN111708492B true CN111708492B (zh) 2023-04-25

Family

ID=72540326

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010524170.5A Active CN111708492B (zh) 2020-06-10 2020-06-10 一种基于ceph的数据分布不平均调整方法

Country Status (1)

Country Link
CN (1) CN111708492B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109189329A (zh) * 2018-08-08 2019-01-11 杭州数梦工场科技有限公司 存储节点权重的调整方法和装置
CN109343798A (zh) * 2018-09-25 2019-02-15 郑州云海信息技术有限公司 对分布式存储系统的主pg均衡调整的方法、装置及介质
CN109962969A (zh) * 2017-12-22 2019-07-02 三星电子株式会社 用于云计算存储系统的自适应缓存负载均衡的方法和装置
CN110018799A (zh) * 2019-04-12 2019-07-16 苏州浪潮智能科技有限公司 一种存储池pg主确定方法、装置、设备及可读存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9600337B2 (en) * 2014-09-30 2017-03-21 Nimble Storage, Inc. Congestion avoidance in network storage device using dynamic weights

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109962969A (zh) * 2017-12-22 2019-07-02 三星电子株式会社 用于云计算存储系统的自适应缓存负载均衡的方法和装置
CN109189329A (zh) * 2018-08-08 2019-01-11 杭州数梦工场科技有限公司 存储节点权重的调整方法和装置
CN109343798A (zh) * 2018-09-25 2019-02-15 郑州云海信息技术有限公司 对分布式存储系统的主pg均衡调整的方法、装置及介质
CN110018799A (zh) * 2019-04-12 2019-07-16 苏州浪潮智能科技有限公司 一种存储池pg主确定方法、装置、设备及可读存储介质

Also Published As

Publication number Publication date
CN111708492A (zh) 2020-09-25

Similar Documents

Publication Publication Date Title
US11487618B2 (en) Data storage method, apparatus, and system
RU2637434C1 (ru) Способ, устройство терминала и устройство сервера для хранения копий данных
US6957355B2 (en) Method and system for dynamically adjusting storage system write cache based on the backup battery level
Leesakul et al. Dynamic data deduplication in cloud storage
CN106161120B (zh) 动态均衡负载的分布式元数据管理方法
CN108920100B (zh) 基于Ceph的读写模型优化和异构副本组合方法
US20210216245A1 (en) Method of distributed data redundancy storage using consistent hashing
CN111083232B (zh) 一种基于改进一致性哈希的服务器端负载均衡方法
Hasebe et al. Power-saving in large-scale storage systems with data migration
CN102855294A (zh) 一种智能哈希数据布局方法、集群存储系统及其方法
CN104023088A (zh) 一种应用于分布式文件系统的存储服务器选择方法
CN103929454A (zh) 一种云计算平台中负载均衡存储的方法和系统
US20100161897A1 (en) Metadata server and disk volume selecting method thereof
KR20140064813A (ko) 응답 부하 제어 방법
JP2019121334A (ja) データストレージとダイナミックマイグレーション方法及びデータストレージとダイナミックマイグレーション装置
WO2016006050A1 (ja) ストレージシステム及び記憶制御方法
CN101419600A (zh) 基于面向对象文件系统的数据副本映射方法及装置
CN111708492B (zh) 一种基于ceph的数据分布不平均调整方法
CN113382074A (zh) 一种基于动态反馈的微服务负载均衡优化方法
CN113407466B (zh) 一种io路径确定方法、装置、设备及可读存储介质
CN110381136A (zh) 一种数据读取方法、终端、服务器及存储介质
CN102394799A (zh) 一种应用服务器集群效率测试方法及系统
WO2016065198A1 (en) High performance hadoop with new generation instances
US11704034B2 (en) Load balancing in a storage system
CN113268339B (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