分布式存储系统功耗管理方法及装置与流程

文档序号:12906003阅读:236来源:国知局
分布式存储系统功耗管理方法及装置与流程

本发明涉及分布式系统技术领域,特别是涉及一种分布式存储系统功耗管理方法及装置。



背景技术:

随着大数据时代的到来,数据量呈现爆发式的增长,全球信息量几乎呈指数形式增长,如此海量的数据,对数据存储设施的要求越来越高。因此在当前形势下,各大机构及企业纷纷建立自己的数据中心,以保证自身数据的安全和获取数据的效率。比如金融、医疗、视频监控等领域。

随着存储设施规模的不断扩大,数据中心的能耗问题变得日益突出。对于数据中心来说,设备的供电与冷却已成为(已经是)数据中心建成后最大的经济支出;另一方面,数据中心对能源惊人的消耗量,在提倡节能减排和保护环境的今天,是绝对不容忽视的。然而,在实际使用过程中,如此巨大的能源消耗其实利用效率非常低,也就是说真正用于响应用户请求所消耗的电量,只是其中很小的一部分,据统计,数据中心的耗电量已占到全球用电总量的1.2%~1.5%,而真正用于服务请求的能耗却只占到6%~10%。

存储系统的能源消耗一直是数据中心能耗的最大来源,且随着数据量的增长而增长,已全面超过了计算和网络方面能耗。因此,减少存储系统的能耗,对数据中心的节能减排具有非常重要的意义。

近年来,分布式存储系统得到了迅速的发展和广泛的应用。它具有高性能、高可靠性及高扩展性的特点,已经被广泛应用为大规模的存储后端。因此基于分布式存储节能技术的研究有着很高的实际意义。



技术实现要素:

鉴于此,本发明提供一种分布式存储系统功耗管理方法及装置,实现了节省存储系统的能源消耗。

为实现上述目的,本发明提供如下技术方案:

一种分布式存储系统功耗管理方法,包括:

收集存储系统的各项负载运行参数;

根据收集的各项负载运行参数计算出负载参数,将所述负载参数与功耗级别中预设的负载阈值比较,确定所述存储系统当前的实际负载所处的功耗级别;

判断所确定的该功耗级别与所述存储系统当前设定的功耗级别是否一致,若否,则根据所确定的该功耗级别的定义,控制所述存储系统中该功耗级别对应数量的功耗组运行,所述存储系统以节点为单位,划分为与数据副本数量相等数量的功耗组。

可选地,若所确定的该功耗级别与所述存储系统当前设定的功耗级别不一致,则根据所确定的该功耗级别的定义,控制所述存储系统中该功耗级别对应数量的功耗组运行包括:

若所确定的该功耗级别与所述存储系统当前设定的功耗级别不一致,则根据计时时间,当距离采集所述存储系统的各项负载运行参数的时刻经历的时间等于第一阈值时间时,按照该功耗级别的定义,控制所述存储系统中该功耗级别对应数量的功耗组运行。

可选地,还包括:

当监测到所述存储系统处于低负载运行的时长超过第二阈值时间时,控制所述存储系统切换至比当前确定的功耗级别高预设数量级的功耗级别,具体为控制所述存储系统中与比当前确定的功耗级别高预设数量级的功耗级别对应数量的功耗组运行。

可选地,控制所述存储系统中功耗级别对应数量的功耗组运行包括:

通过向所述功耗组内的节点发送睡眠操作指令,控制所述节点处于睡眠状态;

通过向所述功耗组内的节点发送唤醒指令,控制所述节点处于正常工作状态。

可选地,还包括:对于每一功耗级别,对数据副本放置位置进行优化,以使每一功耗组中至少包含一份数据副本。

一种分布式存储系统功耗管理装置,包括:

收集模块,用于收集存储系统的各项负载运行参数;

判定模块,用于根据收集的各项负载运行参数计算出负载参数,将所述负载参数与功耗级别中预设的负载阈值比较,确定所述存储系统当前的实际负载所处的功耗级别;

判断模块,用于判断所确定的该功耗级别与所述存储系统当前设定的功耗级别是否一致;

调整模块,用于若所确定的该功耗级别与所述存储系统当前设定的功耗级别不一致,则根据所确定的该功耗级别的定义,控制所述存储系统中该功耗级别对应数量的功耗组运行,所述存储系统以节点为单位,划分为与数据副本数量相等数量的功耗组。

可选地,所述调整模块具体用于,若所确定的该功耗级别与所述存储系统当前设定的功耗级别不一致,则根据计时时间,当距离采集所述存储系统的各项负载运行参数的时刻经历的时间等于第一阈值时间时,按照该功耗级别的定义,控制所述存储系统中该功耗级别对应数量的功耗组运行。

可选地,所述调整模块还具体用于,

当监测到所述存储系统处于低负载运行的时长超过第二阈值时间时,控制所述存储系统切换至比当前确定的功耗级别高预设数量级的功耗级别,具体为控制所述存储系统中与比当前确定的功耗级别高预设数量级的功耗级别对应数量的功耗组运行。

可选地,所述调整模块用于控制所述存储系统中功耗级别对应数量的功耗组运行包括:

所述调整模块具体用于通过向所述功耗组内的节点发送睡眠操作指令,控制所述节点处于睡眠状态;

通过向所述功耗组内的节点发送唤醒指令,控制所述节点处于正常工作状态。

可选地,还包括:

位置优化模块,用于对于每一功耗级别,对数据副本放置位置进行优化,以使每一功耗组中至少包含一份数据副本。

由上述技术方案可知,本发明所提供的分布式存储系统功耗管理方法及装置,在存储系统运行中,收集存储系统的各项负载运行参数,然后根据各项负载运行参数计算出负载参数,将计算得到的负载参数与功耗级别中预设的负载阈值比较,来确定出存储系统当前的实际负载所处的功耗级别,进一步当判断所确定的该功耗级别与存储系统当前设定的功耗级别不一致时,根据所确定的该功耗级别的定义控制存储系统中该功耗级别对应数量的功耗组运行。

本发明分布式存储系统功耗管理方法及装置,对存储系统运行划分功耗级别,每一功耗级别中定义相应数量的功耗组,在存储系统运行过程中通过监测存储系统的运行负载,当存储系统实际负载所处的功耗级别与当前设定的功耗级别不一致时,进行功耗级别切换,控制存储系统中与实际负载所确定的功耗级别对应数量的功耗组运行,从而减少存储系统中不必要的功耗,实现了节省存储系统的能源消耗。

附图说明

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

图1为本发明实施例提供的一种分布式存储系统功耗管理方法的流程图;

图2为本发明实施例中在分布式存储系统运行中进行功耗管理的流程图;

图3为本发明实施例提供的一种分布式存储系统功耗管理装置的示意图。

具体实施方式

为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

请参考图1,本发明实施例提供的一种分布式存储系统功耗管理方法,包括以下步骤:

s10:收集存储系统的各项负载运行参数。

在分布式存储系统运行过程中,收集存储系统的各项负载运行参数。

在具体实施时,收集的各项负载运行参数包括存储系统每秒进行读写(i/o)操作的次数(input/outputoperationspersecond,iops),以及读写带宽。

本分布式存储系统功耗管理方法应用于采用副本保护策略的分布式存储系统中。

在本方法中,对分布式存储系统进行功耗分级,功耗级别的分级个数与数据副本数量相等,具体为将存储系统以节点为单位,划分为与数据副本数量相等数量的功耗组。功耗级别的定义为:假设副本数量为m,最高功耗级别对应包含m个功耗组,功耗级别每降低一级,所包含的功耗组减少一组;最低功耗级别对应包含一个功耗组。一个功耗组内包含若干个节点。

其中,处于最低功耗级别时,对应包含一个功耗组,只有一个功耗组节点可用,通过该一个功耗组节点要保证所有数据可用。

处于最高功耗级别时,所有节点全部工作,此时存储系统具有较高的性能。

本实施例分布式存储系统中,在副本状态下,读操作只需要一次,写操作需要同时写成多个副本。另外,随机读写操作与顺序读写操作在iops与带宽上也有不同的特点。因此在划分功耗级别设置负载阈值时,针对划分出的每一功耗级别,要综合iops和读写带宽,设定负载阈值,用于确定存储系统的功耗级别。

s11:根据收集的各项负载运行参数计算出负载参数,将所述负载参数与功耗级别中预设的负载阈值比较,确定所述存储系统当前的实际负载所处的功耗级别。

根据收集到的各项负载运行参数,利用预设算法计算出负载参数。将计算得到的负载参数与各功耗级别中设定的负载阈值比较,判定存储系统当前的实际负载处于哪一功耗级别。

s12:判断所确定的该功耗级别与所述存储系统当前设定的功耗级别是否一致。

若否,则执行步骤s13。

若是,则执行步骤s14。

s13:根据所确定的该功耗级别的定义,控制所述存储系统中该功耗级别对应数量的功耗组运行。

若判断所判定出的该功耗级别与存储系统当前设定的功耗级别不一致,则当前存储系统设定的功耗级别需要切换,则控制存储系统中该功耗级别对应数量的功耗组运行,这样使存储系统中运行的功耗组与存储系统实际负载一致,从而降低存储系统中不必要功耗,节省存储系统的能源消耗。

具体的,在具体实施时,若所确定的该功耗级别与存储系统当前设定的功耗级别不一致,控制所述存储系统中该功耗级别对应数量的功耗组运行,其中调整功耗级别的过程存在以下两种情况:

第一种情况:所确定的功耗级别低于存储系统当前设定的功耗级别。

这种情况下,控制存储系统中该功耗级别对应数量的功耗组运行包括:将多余数量的功耗组控制处于睡眠状态。

第二种情况,所确定的功耗级别高于存储系统当前设定的功耗级别。

这种情况下,要控制存储系统中更多数量的功耗组运行,控制更多数量的功耗组进入正常工作状态,以使运行的功耗组数量与当前负载所对应的功耗级别定义的功耗组数量一致,保证存储系统的高可用性和数据的高可靠性。

s14:所述存储系统保持当前设定的功耗级别运行。

若判断所判定出的该功耗级别与存储系统当前设定的功耗级别不一致,表明存储系统中当前运行的功耗组与存储系统实际负载一致,存储系统保持当前状态运行即可。

因此可以看出,本实施例分布式存储系统功耗管理方法,对存储系统运行划分功耗级别,每一功耗级别中定义相应数量的功耗组,在存储系统运行过程中通过监测存储系统的运行负载,当存储系统实际负载所处的功耗级别与当前设定的功耗级别不一致时,进行功耗级别切换,控制存储系统中与实际负载所处的功耗级别对应数量的功耗组运行,以减少存储系统中不必要功耗,实现了节省存储系统的能源消耗。

另外,本实施例方法中,控制存储集群系统进行较低功耗级别时,并非直接对高功耗级别的节点关机,而选择让节点设备进入睡眠状态,从而使可以快速进行功耗级别的切换和快速进行数据同步。

优选的,在上述实施例描述的方法中,当根据存储系统实际负载确定的功耗级别,判断该功耗级别与存储系统当前设定的功耗级别不一致时,所述步骤s13具体包括:

根据计时时间,当距离采集所述存储系统的各项负载运行参数的时刻经历的时间等于第一阈值时间时,按照该功耗级别的定义,控制所述存储系统中该功耗级别对应数量的功耗组运行。

本方法中开启计时功能,计时各步骤的进行时刻。并设定第一阈值时间t1,当判断所确定的该功耗级别与存储系统当前设定的功耗级别不一致时,根据采集所述存储系统的各项负载运行参数的时刻和第一阈值时间t1确定切换时刻,具体为当距离采集所述存储系统的各项负载运行参数的时刻经历的时间等于第一阈值时间t1时执行切换。

在具体实施时,设置的第一阈值时间t1过大,可能会错过节能时机,且在大量写操作的情况下,数据的安全性得不到保障;t1值过小,负载变化频繁时,系统可能全频繁的切换功耗级别,导致节点频繁启停,反而危害系统。因此要合理设置第一阈值时间。

本方法中具体可采用计时器进行计时。

当存储系统长时间处于较低负载状态工作,会积累较多的数据变更,存储系统在长时间低功耗级别运行的情况下,会出现数据副本不同步的情况。针对此问题,本分布式存储系统功耗管理方法,还包括:

当监测到所述存储系统处于低负载运行的时长超过第二阈值时间时,控制所述存储系统切换至比当前确定的功耗级别高预设数量级的功耗级别,具体为控制所述存储系统中与比当前确定的功耗级别高预设数量级的功耗级别对应数量的功耗组运行。

通过计时存储系统处于各功耗级别的运行时长,当监测到存储系统处于低负载运行的时长超过第二阈值时间t2时,则提高存储系统的功耗级别,用于同步数据,以保证数据的可靠性。

进一步的,在上述实施例描述内容的基础上,本分布式存储系统功耗管理方法中,控制所述存储系统中功耗级别对应数量的功耗组运行包括:

通过向所述功耗组内的节点发送睡眠操作指令,控制所述节点处于睡眠状态;

通过向所述功耗组内的节点发送休眠操作指令,控制所述节点处于休眠状态;

通过向所述功耗组内的节点发送唤醒指令,控制所述节点处于正常工作状态。

对于一些分布式存储系统本身的机制,当存储集群系统中任何一个节点或者存储设备关停的状态下,存储集群系统监控装置会认为是故障状态。鉴于此本方法中,当对高功耗级别内的功耗组进行睡眠操作时,对这些节点发送睡眠操作指令,将节点置为睡眠状态,以区别于节点的故障状态;当提高功耗级别时,向功耗组内节点发送唤醒指令,唤醒节点处于正常工作状态。

本实施例功耗管理方法应用于分布式存储系统中,请参考图2,在分布式存储系统运行过程中,进行功耗管理的过程如下:

s20:询问是否启用功耗管理功能。

若否,则执行步骤s21;若是,则执行步骤s22。

s21:系统以全负荷运行。此时存储系统中所有功耗组、所有节点设备处于正常工作状态。

s22:查询是否需要划分功耗级别。

若是,则执行步骤s23;若否,则执行步骤s24。

s23:对存储系统划分功耗级别。通过上步骤s22查询存储系统是否已经划分了功耗级别,若没有划分则对存储系统进行划分功耗级别。具体划分功耗级别的方法可参考前面关于功耗级别的内容。

然后循环进入步骤s22。

s24:查询是否需要数据放置优化。

若是,则执行步骤s25;若否,则执行步骤s26。

s25:对于每一功耗级别,对数据副本放置位置进行优化,以使每一功耗组中至少包含一份数据副本。

本步骤中,利用数据放置优化算法对数据副本的放置位置进行优化,减小数据副本随机放置的范围,具体为控制数据的每一个副本在每一功耗组中都要出现一次,剩余的副本则依次放置在后续的每个功耗组中,这样使每一功耗级别中至少包含一整套数据副本。只要至少一个功耗组中的所有节点能正常工作,或不是连续关闭大于副本个数的节点时,就可以保证数据的可用性与安全性。因此,即使关闭存储集群系统中高功耗级的所有节点,最低功耗级别的一个功耗组即可提供全部的数据,仍然可以保证全部数据的可用性。

然后循环进入步骤s24。

s26:收集存储系统的各项负载运行参数,根据收集的各项负载运行参数计算出负载参数,将所述负载参数与功耗级别中预设的负载阈值比较,确定所述存储系统当前的实际负载所处的功耗级别。

s27:判断所确定的该功耗级别与所述存储系统当前设定的功耗级别是否一致。

若否,则执行步骤s28。

若是,则执行步骤s29。

s28:根据所确定的该功耗级别的定义,控制所述存储系统中该功耗级别对应数量的功耗组运行。

s29:所述存储系统保持当前设定的功耗级别运行。

相应的,请参考图3,本发明实施例还提供一种分布式存储系统功耗管理装置,包括:

收集模块30,用于收集存储系统的各项负载运行参数;

判定模块31,用于根据收集的各项负载运行参数计算出负载参数,将所述负载参数与功耗级别中预设的负载阈值比较,确定所述存储系统当前的实际负载所处的功耗级别;

判断模块32,用于判断所确定的该功耗级别与所述存储系统当前设定的功耗级别是否一致;

调整模块33,用于若所确定的该功耗级别与所述存储系统当前设定的功耗级别不一致,则根据所确定的该功耗级别的定义,控制所述存储系统中该功耗级别对应数量的功耗组运行,所述存储系统以节点为单位,划分为与数据副本数量相等数量的功耗组。

可以看出,本实施例分布式存储系统功耗管理装置,在存储系统运行中,收集存储系统的各项负载运行参数,然后根据各项负载运行参数计算出负载参数,将计算得到的负载参数与功耗级别中预设的负载阈值比较,来确定出存储系统当前的实际负载所处的功耗级别,进一步当判断所确定的该功耗级别与存储系统当前设定的功耗级别不一致时,根据所确定的该功耗级别的定义控制存储系统中该功耗级别对应数量的功耗组运行。

本实施例分布式存储系统功耗管理装置,对存储系统运行划分功耗级别,每一功耗级别中定义相应数量的功耗组,在存储系统运行过程中通过监测存储系统的运行负载,当存储系统实际负载所处的功耗级别与当前设定的功耗级别不一致时,进行功耗级别切换,控制存储系统中与实际负载所确定的功耗级别对应数量的功耗组运行,从而减少存储系统中不必要功耗,实现了节省存储系统的能源消耗。

本实施例分布式存储系统功耗管理装置,所述调整模块33具体用于,若所确定的该功耗级别与所述存储系统当前设定的功耗级别不一致,则根据计时时间,当距离采集所述存储系统的各项负载运行参数的时刻经历的时间等于第一阈值时间时,按照该功耗级别的定义,控制所述存储系统中该功耗级别对应数量的功耗组运行。

所述调整模块33还具体用于,

当监测到所述存储系统处于低负载运行的时长超过第二阈值时间时,控制所述存储系统切换至比当前确定的功耗级别高预设数量级的功耗级别,具体为控制所述存储系统中与比当前确定的功耗级别高预设数量级的功耗级别对应数量的功耗组运行。

进一步的,所述调整模块33用于控制所述存储系统中功耗级别对应数量的功耗组运行包括:

所述调整模块33具体用于通过向所述功耗组内的节点发送睡眠操作指令,控制所述节点处于睡眠状态;

通过向所述功耗组内的节点发送唤醒指令,控制所述节点处于正常工作状态。

对于一些分布式存储系统本身的机制,当存储集群系统中任何一个节点或者存储设备关停的状态下,存储集群系统监控装置会认为是故障状态。鉴于此本方法中,当对高功耗级别内的功耗组进行休眠操作时,对这些节点发送睡眠操作指令,将节点置为睡眠状态,以区别于节点的故障状态;当提高功耗级别时,向功耗组内节点发送唤醒指令,唤醒节点处于正常工作状态。

本实施例分布式存储系统功耗管理装置,还包括:

位置优化模块,用于对于每一功耗级别,对数据副本放置位置进行优化,以使每一功耗组中至少包含一份数据副本。

以上对本发明所提供的分布式存储系统功耗管理方法及装置进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

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