一种负载调整方法及装置与流程

文档序号:18752163发布日期:2019-09-24 21:18阅读:110来源:国知局
一种负载调整方法及装置与流程

本发明涉及数据存储技术领域,尤其涉及一种负载调整方法及装置。



背景技术:

随着信息技术的不断发展,我们迎来了大数据时代。在大数据时代下,传统的集中式存储服务器已经逐渐无法满足数据存储的需求,而分布式存储很好的解决了这一问题。ceph作为一种分布式文件系统,是基于crush算法完成数据的寻址操作,crush算法具有相当强大的扩展性,基于此,ceph系统理论上能够支持多个节点同时运行,并且,每个节点内部可以包括数千个负责存储数据的存储节点。

目前,ceph系统通常采用默认的参数值来确定各个节点、各个存储节点的权重值,进而确定各个节点、各个存储节点的负载情况。然而,由于不同的节点之间存在差异性,因此,采用默认的参数值来确定各个节点的负载容易导致该节点的负载与该节点的性能之间存在不匹配的问题,从而影响ceph系统的整体性能。

基于此,目前亟需一种负载调整方法,用于解决现有技术采用默认的参数值确定各个节点的负载容易导致该负载与对应的节点的性能之间存在不匹配的问题。



技术实现要素:

本发明实施例提供一种负载调整方法及装置,以解决现有技术采用默认的参数值确定各个节点的负载容易导致该负载与对应的节点的性能之间存在不匹配的技术问题。

本发明实施例提供一种负载调整方法,所述方法应用于ceph系统中,所述ceph系统中包括管理节点和与所述管理节点连接的多个待调整节点;所述方法包括:

所述管理节点根据多个待调整节点的容量以及所述管理节点与所述多个待调整节点中的每个待调整节点之间的网络带宽,确定所述多个待调整节点对应的权重值;

所述管理节点根据所述多个待调整节点对应的权重值,对所述多个待调整节点的负载进行调整。

可选地,所述管理节点根据多个待调整节点的容量以及管理节点与所述多个待调整节点中的每个待调整节点之间的网络带宽,确定所述多个待调整节点对应的权重值,包括:

针对于每个待调整节点,所述管理节点根据所述每个待调整节点的容量、所述多个网络带宽中的最大值和所述每个待调整节点的网络带宽,确定所述每个待调整节点对应的权重值。

可选地,所述每个待调整节点对应的权重值的具体确定方式如下:

其中,w为所述每个待调整节点对应的权重值;y为所述每个待调整节点的容量;m为所述每个待调整节点的网络带宽;mmax为所述多个网络带宽中的最大值。

本发明实施例提供一种负载调整方法,所述方法应用于ceph系统中,所述ceph系统中包括第一节点和所述第一节点包括的多个存储节点,所述方法包括:

所述第一节点根据所述多个存储节点的iops,确定所述多个存储节点对应的权重值;

所述第一节点根据所述多个存储节点对应的权重值,对所述多个存储节点的负载进行调整。

可选地,所述多个存储节点对应的权重值的具体确定方式如下:

其中,wi为第i个存储节点对应的权重值;xi为第i个存储节点的iops;xmax为所述多个存储节点的iops的最大值;i为大于等于1的整数。

本发明实施例提供一种负载调整装置,所述装置包括:

处理单元,用于根据多个待调整节点的容量以及所述管理节点与所述多个待调整节点中的每个待调整节点之间的网络带宽,确定所述多个待调整节点对应的权重值;

调整单元,用于根据所述多个待调整节点对应的权重值,对所述多个待调整节点的负载进行调整。

可选地,所述处理单元具体用于:

针对于每个待调整节点,根据所述每个待调整节点的容量、所述多个网络带宽中的最大值和所述每个待调整节点的网络带宽,确定所述每个待调整节点对应的权重值。

可选地,所述每个待调整节点对应的权重值的具体确定方式如下:

其中,w为所述每个待调整节点对应的权重值;y为所述每个待调整节点的容量;m为所述每个待调整节点的网络带宽;mmax为所述多个网络带宽中的最大值。

本发明实施例提供一种负载调整装置,所述装置包括:

处理单元,用于根据所述多个存储节点的iops,确定所述多个存储节点对应的权重值;

调整单元,用于根据所述多个存储节点对应的权重值,对所述多个存储节点的负载进行调整。

可选地,所述多个存储节点对应的权重值的具体确定方式如下:

其中,wi为第i个存储节点对应的权重值;xi为第i个存储节点的iops;xmax为所述多个存储节点的iops的最大值;i为大于等于1的整数。

本发明实施例中,ceph系统中的管理节点获取与该管理节点连接的多个待调整节点的容量以及该管理节点与多个待调整节点之间的多个网络带宽,并根据多个待调整节点的容量和多个网络带宽来确定多个待调整节点对应的权重值,从而可以根据多个待调整节点对应的权重值,对多个待调整节点的负载进行调整。本发明实施例中,在确定每个节点对应的权重值时,综合考虑了节点的容量和节点与管理节点之间的网络带宽,相比于现有技术中采用默认的参数值确定各个节点的权重值的方式而言,能够提高节点对应的权重值的合理性,从而能够更加合理地调整节点的负载,有效避免节点的负载与节点的性能之间存在不匹配的问题,进而提高ceph系统的整体性能。

相应地,ceph系统中的第一节点获取第一节点包括的多个存储节点的iops,并根据多个存储节点的iops来确定多个存储节点对应的权重值,从而可以根据多个存储节点对应的权重值,对多个存储节点的负载进行调整。本发明实施例中,通过获取存储节点的iops来确定每个存储节点对应的权重值,相比于现有技术中采用默认的参数值确定各个存储节点的权重值的方式而言,能够根据存储节点的性能来调整存储节点的权重值,进而调整存储节点的负载,从而有效避免存储节点的负载与存储节点的性能之间存在不匹配的问题,进而提高ceph系统的整体性能。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例适用的系统架构图;

图2a为本发明实施例提供的一种负载调整方法所对应的流程示意图;

图2b为sigmod函数的示意图;

图3为本发明实施例中所涉及到一种负载调整方法所对应的整体性流程示意图;

图4为本发明实施例提供的另一种负载调整方法所对应的流程示意图;

图5为本发明实施例中所涉及到另一种负载调整方法所对应的整体性流程示意图;

图6为本发明实施例提供的一种负载调整装置的结构示意图;

图7为本发明实施例提供的另一种负载调整装置的结构示意图。

具体实施方式

为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部份实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

图1示例性示出了本发明实施例适用的系统架构图,该系统可以为ceph分布式文件系统,如图1所示,本发明实施例适用的系统架构100包括两种类型的子系统,如图1中输出的容器(bucket)类型的子系统11和对象存储设备(objectstoragedevice,osd)类型的子系统12。

其中,bucket类型的子系统11包括第一级别节点(如图1中示出的第一级别节点101、第一级别节点102、第一级别节点103、第一级别节点104)、第二级别节点(如图1中示出的第二级别节点111、第二级别节点112、第二级别节点113、第二级别节点114)……第n-1级别节点(如图1中示出的第n-1级别节点121、第n-1级别节点122)、第n级别节点(如图1中示出的第n级别节点131)。进一步地,上一级别的节点可以包括至少一个下一级别的节点,如图1中示出的第n级别节点131可以包括第n-1级别节点121和第n-1级别节点122;第二级别节点111可以包括第一级别节点101、第一级别节点102和第一级别节点103。

更进一步地,针对同一级别的节点,本发明实施例中可以设置一个管理节点来控制同一级别的多个节点,比如,图1中所示出的第一级别节点101、第一级别节点102、第一级别节点103和第一级别节点104可以由同一个管理节点(图1中未示出)来控制;或者,在其它可能的实施例中,可以设置多个个管理节点来控制同一级别的多个节点,比如,图1中所示出的第一级别节点101、第一级别节点102和第一级别节点103可以由一个管理节点(图1中未示出)来控制,而第一级别节点104和其它第一级别节点(图1中未示出)可以由另一个管理节点(图1中未示出)来控制,具体不做限定。

osd类型的子系统12中可以包括每个第一级别节点所包括的多个存储节点,如图1中示出的第一级别节点101所包括的存储节点1011、存储节点1012、存储节点1013。

需要说明的是,针对上文所描述的bucket类型的子系统11和osd类型的子系统12,本发明实施例可以分别针对这两个类型的子系统进行负载调整方法。

基于图1所示的系统架构,图2a示例性示出了本发明实施例提供的一种负载调整方法所对应的流程示意图,所述方法应用于ceph系统中,所述ceph系统中包括管理节点和与所述管理节点连接的多个待调整节点,如图1中示出该方法第一级别节点101、第一级别节点102、第一级别节点103和第一级别节点104可以由同一个管理节点(图1中未示出)来控制。也就是说,该方法可用于对图1中示出的bucket类型的子系统11进行负载调整。具体包括以下步骤:

步骤201,管理节点根据多个待调整节点的容量以及所述管理节点与所述多个待调整节点中的每个待调整节点之间的网络带宽,确定所述多个待调整节点对应的权重值。

步骤202,管理节点根据所述多个待调整节点对应的权重值,对所述多个待调整节点的负载进行调整。

本发明实施例中,在确定每个节点对应的权重值时,综合考虑了节点的容量和节点与管理节点之间的网络带宽,相比于现有技术中采用默认的参数值确定各个节点的权重值的方式而言,能够提高节点对应的权重值的合理性,从而能够更加合理地调整节点的负载,有效避免节点的负载与节点的性能之间存在不匹配的问题,进而提高ceph系统的整体性能。

具体来说,在执行步骤201之前,管理节点可以先获取多个待调整节点的容量,以及所述管理节点与所述多个待调整节点之间的多个网络带宽。其中,多个待调整节点为同一级别的多个节点,以图1所示出的系统架构为例,多个待调整节点可以包括第一级别节点,或者也可以包括第二级别节点,但不可以既包括第一级别节点又包括第二级别节点。

进一步地,待调整节点的容量可以为待调整节点所包括的多个存储节点的存储容量,如图1中所示出的系统架构,以第一级别节点101为多个待调整节点中的一个待调整节点为例,第一级别节点101的容量为存储节点1011对应的存储容量、存储节点1012对应的存储容量和存储节点1013对应的存储容量之和。

进一步地,网络带宽可以通过多种方式获取,比如,管理节点与待调整节点之间的网络带宽可以是采用网络检测工具检测得到的,比如通过iperf检测工具检测得到;或者也可以是预先设置的,具体不做限定。

步骤201中,确定多个待调整节点对应的权重值的方式有多种,一种可能的实现方式为,针对于每个待调整节点,根据每个待调整节点的容量、多个网络带宽中的最大值和每个待调整节点的网络带宽,确定每个待调整节点对应的权重值。如此,通过节点的容量和节点与管理节点之间的网络带宽来确定每个节点对应的权重值,能够提高节点对应的权重值的合理性,从而能够更加合理地调整节点的负载,有效避免节点的负载与节点的性能之间存在不匹配的问题,进而提高ceph系统的整体性能。

进一步地,考虑到根据上述方式得到的每个待调整节点对应的权重值的范围可能较大,容易导致各个待调整节点对应的权重值之间的差异过大,本发明实施例中可以通过sigmod函数进行收敛,如图2b所述,为sigmod函数的示意图,采用sigmod函数能够将变量映射到[0,1]这一区间内。sigmod函数的具体表示方式如下:

其中,x为变量。

本发明实施例可以通过上文所描述的sigmod函数对待调整节点对应的权重值,也就是说,每个待调整节点对应的权重值的具体确定方式如下:

其中,w为所述每个待调整节点对应的权重值;m为所述每个待调整节点的网络带宽;mmax为所述多个网络带宽中的最大值;y用于表示所述每个待调整节点的容量,以tb为单位。

举个例子,待调整节点的容量为0.8tb,待调整节点的网络带宽为400kb/s,多个网络带宽中的最大值为500kb/s,则根据上文所描述的内容可知,该待调整节点对应的权重值为:

在其它可能的实施例中,多个待调整节点对应的权重值也可以根据其它方式来确定,比如,可以根据待调整节点的容量对应的数值与待调整节点和管理节点之间的网络带宽对应的数值的乘积来确定待调整节点对应的权重值,本领域技术人员可以根据经验和实际情况自行选择确定待调整节点对应的权重值的方式,具体不做限定。

为了更清楚地介绍上述负载调整方法,下面结合图3,对本发明实施例中所涉及到的流程进行整体性说明。如图3所示,可以包括以下步骤:

步骤301,管理节点获取多个待调整节点的容量。

步骤302,管理节点采用iperf检测与多个待调整节点之间的多个网络带宽。

步骤303,管理节点根据多个网络带宽,确定多个网络带宽中的最大值。

步骤304,管理节点根据多个待调整节点的网络带宽以及多个网络带宽中的最大值,确定多个待调整节点的网络带宽与多个网络带宽中的最大值之间的比值。

步骤305,管理节点根据多个待调整节点的容量以及多个待调整节点的网络带宽与多个网络带宽中的最大值之间的比值,确定多个待调整节点对应的权重值。

步骤306,管理节点根据所述多个待调整节点对应的权重值,对所述多个待调整节点的负载进行调整。

本发明实施例中,在确定每个节点对应的权重值时,综合考虑了节点的容量和节点与管理节点之间的网络带宽,相比于现有技术中采用默认的参数值确定各个节点的权重值的方式而言,能够提高节点对应的权重值的合理性,从而能够更加合理地调整节点的负载,有效避免节点的负载与节点的性能之间存在不匹配的问题,进而提高ceph系统的整体性能。

基于图1所示的系统架构,图4示例性示出了本发明实施例提供的另一种负载调整方法所对应的流程示意图,所述方法应用于ceph系统中,所述ceph系统中包括第一节点和所述第一节点包括的多个存储节点,如图1中示出第一级别节点101和第一级别节点101包括的存储节点1011、存储节点1012和存储节点1013;具体包括以下步骤:

步骤401,第一节点根据所述多个存储节点的iops,确定所述多个存储节点对应的权重值。

具体来说,在执行步骤401之前,第一节点可以先获取所述多个存储节点的每秒进行读写操作的次数iops。其中,iops可以通过多种方式获取,比如,可以是通过磁盘检测工具检测得到的,比如通过fio检测工具检测得到;或者也可以是预先设置的,具体不做限定。

进一步地,确定存储节点对应的权重值的方式有多种,一种可能的实现方式为,根据每个存储节点的iops和多个存储节点的iops中的最大值,确定多个存储节点对应的权重值。如此,通过获取存储节点的iops来确定每个存储节点对应的权重值,能够根据存储节点的性能来调整存储节点的权重值,进而调整存储节点的负载,从而有效避免存储节点的负载与存储节点的性能之间存在不匹配的问题,进而提高ceph系统的整体性能。

进一步地,考虑到根据上述方式得到的多个存储节点对应的权重值的范围可能较大,容易导致各个存储节点对应的权重值之间的差异过大,本发明实施例中可以通过sigmod函数进行收敛,从而能够将变量映射到[0,1]这一区间内。sigmod函数的具体表示方式如下:

其中,x为变量。

本发明实施例可以通过上文所描述的sigmod函数对存储节点对应的权重值,也就是说,多个存储节点对应的权重值的具体确定方式如下:

其中,wi为第i个存储节点对应的权重值;xi为第i个存储节点的iops;xmax为所述多个存储节点的iops的最大值;i为大于等于1的整数。

举个例子,存储节点1的iops为80,多个存储节点的iops的最大值为100,则根据上文所描述的内容可知,存储节点1对应的权重值为:

在其它可能的实施例中,多个存储节点对应的权重值也可以根据其它方式来确定,比如,可以直接根据存储节点的iops来确定存储节点对应的权重值,本领域技术人员可以根据经验和实际情况自行选择确定存储节点对应的权重值的方式,具体不做限定。

步骤402,第一节点根据所述多个存储节点对应的权重值,对所述多个存储节点的负载进行调整。

为了更清楚地介绍上述负载调整方法,下面结合图5,对本发明实施例中所涉及到的流程进行整体性说明。如图5所示,可以包括以下步骤:

步骤501,第一节点获取多个存储节点的iops。

步骤502,第一节点根据多个存储节点的iops,确定多个iops中的最大值。

步骤503,第一节点根据多个存储节点的iops以及多个iops中的最大值,确定多个存储节点的iops与多个iops中的最大值之间的比值。

步骤504,第一节点根据多个存储节点的iops与多个iops中的最大值之间的比值,确定多个存储节点对应的权重值。

步骤505,第一节点根据所述多个存储节点对应的权重值,对所述多个存储节点的负载进行调整。

本发明实施例中,通过获取存储节点的iops来确定每个存储节点对应的权重值,相比于现有技术中采用默认的参数值确定各个存储节点的权重值的方式而言,能够根据存储节点的性能来调整存储节点的权重值,进而调整存储节点的负载,从而有效避免存储节点的负载与存储节点的性能之间存在不匹配的问题,进而提高ceph系统的整体性能。

基于同样的发明构思,图6示例性示出了本发明实施例提供的一种负载调整装置的结构示意图,如图6所示,该装置包括处理单元601、调整单元602;其中,

处理单元601,用于根据多个待调整节点的容量以及所述管理节点与所述多个待调整节点中的每个待调整节点之间的网络带宽,确定所述多个待调整节点对应的权重值;

调整单元602,用于根据所述多个待调整节点对应的权重值,对所述多个待调整节点的负载进行调整。

可选地,所述处理单元601具体用于:

针对于每个待调整节点,根据所述每个待调整节点的容量、所述多个网络带宽中的最大值和所述每个待调整节点的网络带宽,确定所述每个待调整节点对应的权重值。

可选地,所述每个待调整节点对应的权重值的具体确定方式如下:

其中,w为所述每个待调整节点对应的权重值;y为所述每个待调整节点的容量;m为所述每个待调整节点的网络带宽;mmax为所述多个网络带宽中的最大值。

如此,ceph系统中的管理节点获取与该管理节点连接的多个待调整节点的容量以及该管理节点与多个待调整节点之间的多个网络带宽,并根据多个待调整节点的容量和多个网络带宽来确定多个待调整节点对应的权重值,从而可以根据多个待调整节点对应的权重值,对多个待调整节点的负载进行调整。本发明实施例中,在确定每个节点对应的权重值时,综合考虑了节点的容量和节点与管理节点之间的网络带宽,相比于现有技术中采用默认的参数值确定各个节点的权重值的方式而言,能够提高节点对应的权重值的合理性,从而能够更加合理地调整节点的负载,有效避免节点的负载与节点的性能之间存在不匹配的问题,进而提高ceph系统的整体性能。

基于同样的发明构思,图7示例性示出了本发明实施例提供的一种负载调整装置的结构示意图,如图7所示,该装置包括处理单元701、调整单元702;其中,

处理单元701,用于根据所述多个存储节点的iops,确定所述多个存储节点对应的权重值;

调整单元702,用于根据所述多个存储节点对应的权重值,对所述多个存储节点的负载进行调整。

可选地,所述多个存储节点对应的权重值的具体确定方式如下:

其中,wi为第i个存储节点对应的权重值;xi为第i个存储节点的iops;xmax为所述多个存储节点的iops的最大值;i为大于等于1的整数。

如此,ceph系统中的第一节点获取第一节点包括的多个存储节点的iops,并根据多个存储节点的iops来确定多个存储节点对应的权重值,从而可以根据多个存储节点对应的权重值,对多个存储节点的负载进行调整。本发明实施例中,通过获取存储节点的iops来确定每个存储节点对应的权重值,相比于现有技术中采用默认的参数值确定各个存储节点的权重值的方式而言,能够根据存储节点的性能来调整存储节点的权重值,进而调整存储节点的负载,从而有效避免存储节点的负载与存储节点的性能之间存在不匹配的问题,进而提高ceph系统的整体性能。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1