分布式系统的管理方法和装置技术领域
本发明涉及计算机领域,具体地,涉及一种分布式系统的管理方法和装置。
背景技术
分布式文件系统一般包含客户端,元数据服务器和数据服务器,客户端负
责文件数据的访问接口制定,元数据服务器处理文件的布局及属性,数据服务
器存储文件的数据内容。
对于分布式文件系统,可以存储海量数据是其最主要的特征,而海量数据
就伴随着大批量的磁盘和数据节点的存在,而数据节点中的磁盘能耗是非常大
的,而系统的业务经常根据时间段的不同而压力大小不同,业务压力小时,大
量的数据盘在空载状态,产生了很多不必要的功耗,直接造成了分布式文件系
统的使用成本的增加。
对于该问题,现有技术采用的解决法案是将不同的节点划分为不同的物理
分区,对分区内的节点进行关机或整机节能,但是由于这种方法中整个节点处
于关机和节能状态,那么当业务需要访问其上的数据时,其由关机或节能状态
转移到全速工作状态的切换时间会过长,那么将直接导致上层访问时间的延迟
放大。
针对相关技术中的上述问题,目前尚未提出有效的解决方案。
发明内容
针对相关技术中的上述问题,本发明提出一种分布式系统的管理方法和装
置,能够避免整节点关机节能带来的业务切换时间长的问题,并可以有效的利
用业务特征进行系统的节能处理。
本发明的技术方案是这样实现的:
根据本发明的一个方面,提供了一种分布式系统的管理方法,其中,分布
式系统包括元数据服务节点,数据节点。
该管理方法包括:
对分布式系统中所有磁盘进行分组,得到多个服务组和多个节能组;
将多个节能组的读写业务迁移至多个服务组,并对多个节能组内的磁盘进
行降速或休眠;
使多个服务组全速运行所在的业务。
其中,对分布式系统中的所有磁盘进行分组时,分组的依据包括以下至少
之一:
同一个文件位于同一磁盘组中;
业务的压力;
业务的访问方式。
此外,该管理方法进一步包括:
在向数据节点读写数据时,数据节点统计该数据节点对应的各磁盘组的业
务压力值并发送至元数据服务节点;
元数据服务节点将各磁盘组的业务压力值与对应各磁盘组的各压力阈值
分别进行比较;
在磁盘组的业务压力值大于对应的压力阈值的情况下,将该磁盘组切换为
节能组。
可选的,该管理方法进一步包括:
在向数据节点写入新文件时,元数据服务器将新文件写入到该数据节点的
同一个服务组内的磁盘中。
可选的,该管理方法进一步包括:
在从数据节点读取的文件位于节能组的磁盘中的情况下,数据节点将该节
能组内的多个磁盘唤醒以提供服务。
可选的,该管理方法进一步包括:
元数据节点定期采集各数据节点所对应的各磁盘组的容量使用情况;
将服务组的可用容量与节能组的可用容量的差值与容量阈值作比较;
在差值超过容量阈值的情况下,将该服务组和该节能组进行状态切换。
其中,在将服务组的可用容量与节能组的可用容量的差值与容量阈值作比
较时,可将从属于同一数据节点的服务组的可用容量和节能组的可用容量的差
值与容量阈值作比较。
根据本发明的另一方面,提供了一种分布式系统的管理装置,其中,分布
式系统包括元数据服务节点,数据节点。
该管理装置包括:
分组模块,用于对分布式系统中所有磁盘进行分组,得到多个服务组和多
个节能组;
转换模块,用于将多个节能组的读写业务迁移至多个服务组,并对多个节
能组内的磁盘进行降速或休眠;
运行模块,用于使多个服务组全速运行所在的业务。
此外,该管理装置进一步包括:
统计模块,用于在向数据节点读写数据时,统计该数据节点对应的各磁盘
组的业务压力值并发送至元数据服务节点;
第一比较模块,用于将各磁盘组的业务压力值与对应各磁盘组的各压力阈
值分别进行比较;
第一切换模块,用于在磁盘组的业务压力值大于对应的压力阈值的情况
下,将该磁盘组切换为节能组。
可选的,该管理装置进一步包括:
采集模块,用于定期采集各数据节点所对应的各磁盘组的容量使用情况;
第二比较模块,用于将服务组的可用容量与节能组的可用容量的差值与容
量阈值作比较;
第二切换模块,用于在差值超过容量阈值的情况下,将该服务组和该节能
组进行状态切换。
本发明通过对分布式系统中所有磁盘划分为若干个服务组和节能组,并将
节能组的读写业务迁入服务组,并对节能组内磁盘降速或休眠,使服务分组全
速转动正常服务。既避免了整节点关机节能带来的业务切换时间长的问题,又
可以有效的利用业务特征进行系统的节能处理。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施
例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是
本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的
前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例的分布式系统的管理方法的流程图;
图2是根据本发明另一实施例的分布式系统的管理方法的流程图;
图3是根据本发明实施例的分布式系统的管理装置的框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清
楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是
全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其
他实施例,都属于本发明保护的范围。
根据本发明的实施例,提供了一种分布式系统的管理方法,其中,分布式
系统包括元数据服务节点,数据节点,客户端节点。
如图1所示,根据本发明实施例的管理方法包括:
步骤S101,对分布式系统中所有磁盘进行分组,得到多个服务组和多个
节能组;
步骤S103,将多个节能组的读写业务迁移至多个服务组,并对多个节能
组内的磁盘进行降速或休眠;
步骤S103,使多个服务组全速运行所在的业务。
其中,在一个实施例中,在对分布式系统中的所有磁盘进行分组时,分组
的依据包括以下至少之一:
同一个文件位于同一磁盘组中;
业务的压力;
业务的访问方式。
为了更好的理解本发明的上述技术方案,下面结合图2所示的具体实例来
对本发明的上述技术方案进行详细阐述。
从图2可以看出,本发明的技术方案是这样实现的:
1、元数据服务节点将各个数据节点的磁盘划分为若干个分组,在选取文
件布局时,使得同一个文件只落入同一个分组;
2、客户端节点向数据节点写入或读取数据;
3、数据节点统计当前的业务压力(即该数据节点对应的各磁盘组的业务
压力值)并发送至元数据服务器;
4、元数据服务节点定期向数据节点获取其统计的当前的业务压力值;
并根据每个磁盘分组的处理能力,选择是否可以节能(具体为:元数
据服务节点将各磁盘组的业务压力值与对应各磁盘组的各压力阈值分别进行
比较;在磁盘组的业务压力值大于对应的压力阈值的情况下,将该磁盘组切换
为节能组,即选择可以节能;否则不进行切换);
5、若可以节能,元数据服务节点则向数据节点发出指定目标磁盘组(即
业务压力值大于压力阈值的磁盘组)节能的命令;
6、数据节点收到该命令后,调用磁盘降速的命令,使该组磁盘进入节能
状态;
7、当有新文件创建写入时,元数据服务器将该新文件选取到状态为服务
状态的磁盘分组(即服务组)中,并且,将该新文件写入到该数据节点的同一
个服务组内的磁盘中;
8、如果客户端访问已有的文件落入节能组的;
9、数据节点自动将节能组内的多个磁盘唤醒,提供服务。
此外,在另一个实施例中,为防止某些磁盘一直处于服务状态而导致其容
量使用率与节能组的容量率相差太大而带来的性能不均衡,根据本发明实施例
的管理方法还可包括:
所有元数据服务器(即元数据节点)会定时的收集各数据节点所对应的各
磁盘组的容量使用情况;
将服务组的可用容量与节能组的可用容量的差值与容量阈值作比较;
在差值超过容量阈值的情况下,将该服务组和该节能组进行状态切换。
其中,在一个实施例中,在将服务组的可用容量与节能组的可用容量的差
值与容量阈值作比较时,可将从属于同一数据节点的服务组的可用容量和节能
组的可用容量的差值与容量阈值作比较。
此外,对于每个磁盘组所包含的磁盘数量来说,在一个实施例中,每个磁
盘组的磁盘数量可根据系统设置的数据冗余配比和磁盘修复的性能来确定,在
本实施例中,可将每个磁盘组的磁盘数量设定在不小于96块磁盘且不大于总
磁盘数的一半。
通过上述实施例,本发明通过对分布式系统中所有磁盘划分为不同的磁盘
分组,根据业务的压力和访问方式,将磁盘分组划分为若干个服务分组和节能
分组,并根据磁盘分组的使用容量和持续服务时间进行状态轮换,对于节能分
组将其内磁盘降速或休眠,将读写业务迁入服务分组,服务分组全速转动正常
服务。通过这种节能方式达到精细和高效的节能目标,该种节能方法,既避免
了整节点关机节能带来的业务切换时间长的问题,又可以有效的利用业务特征
进行系统的节能处理。
根据本发明的实施例,还提供了一种分布式系统的管理装置,其中,分布
式系统包括元数据服务节点,数据节点。
如图3所示,根据本发明实施例的管理装置包括:
分组模块31,用于对分布式系统中所有磁盘进行分组,得到多个服务组
和多个节能组;
转换模块32,用于将多个节能组的读写业务迁移至多个服务组,并对多
个节能组内的磁盘进行降速或休眠;
运行模块33,用于使多个服务组全速运行所在的业务。
此外,在一个实施例中,根据本发明实施例的管理装置进一步包括:
统计模块(未示出),用于在向数据节点读写数据时,统计该数据节点对
应的各磁盘组的业务压力值并发送至元数据服务节点;
第一比较模块(未示出),用于将各磁盘组的业务压力值与对应各磁盘组
的各压力阈值分别进行比较;
第一切换模块(未示出),用于在磁盘组的业务压力值大于对应的压力阈
值的情况下,将该磁盘组切换为节能组。
可选的,在一个实施例中,根据本发明实施例的管理装置进一步包括:
采集模块(未示出),用于定期采集各数据节点所对应的各磁盘组的容量
使用情况;
第二比较模块(未示出),用于将服务组的可用容量与节能组的可用容量
的差值与容量阈值作比较;
第二切换模块(未示出),用于在差值超过容量阈值的情况下,将该服务
组和该节能组进行状态切换。
综上所述,借助于本发明的上述技术方案,通过对分布式系统中所有磁盘
划分为若干个服务组和节能组,并将节能组的读写业务迁入服务组,并对节能
组内磁盘降速或休眠,使服务分组全速转动正常服务。既避免了整节点关机节
能带来的业务切换时间长的问题,又可以有效的利用业务特征进行系统的节能
处理,并可以有效的减少不必要的磁盘功耗开销,提升产品的使用效率。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发
明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发
明的保护范围之内。