一种分布式文件系统中的磁盘性能检测方法及装置的制造方法

文档序号:9810418阅读:465来源:国知局
一种分布式文件系统中的磁盘性能检测方法及装置的制造方法
【技术领域】
[0001 ] 本申请涉及计算机技术,具体涉及一种分布式文件系统中的磁盘性能检测方法及
目.0
【背景技术】
[0002]分布式文件系统包含客户端、元数据服务器和数据服务器,客户端制定文件数据的访问接口,元数据服务器控制文件的布局及属性,数据服务器存储文件的数据内容。
[0003]数据服务器通常使用磁盘进行数据的永久性存储。随着使用时间的推移或者其他原因,磁盘的机械部件和存储介质都可能出现一定程度的老化和损坏,从而导致磁盘的性能明显降低,通常将这种性能明显降低的磁盘称为“慢盘”。
[0004]为通过并行的访问提高数据1的性能,分布式文件系统将数据条带化的存放在各个数据服务器的不同磁盘中。但是,如果系统中出现了慢盘,则将导致分布式文件系统1性能的明显降低。在特定的应用场景中,一个慢盘可能导致整个分布式文件系统不可用。
[0005]在现有技术中,没有提供在分布式文件系统场景中检测慢盘的方案。

【发明内容】

[0006]本申请实施例中提供了一种分布式文件系统中的磁盘性能检测方法及装置,用于检测分布式文件系统中的慢盘。
[0007]根据本申请实施例中的一个方面,提供了一种分布式文件系统中的磁盘性能检测方法,包括:检测磁盘的服务时间和输入输出1时延;根据该磁盘的服务时间和输入输出1时延确定第一状态的磁盘,该第一状态的磁盘是服务时间滑动平均值超过第一预设值,且1时延滑动平均值超过第二预设值的磁盘;检测第一状态的磁盘空闲时的D1时延;当该D1时延超过第三预设值时,确定该磁盘为慢盘。
[0008]根据本申请实施例中的另一个方面,提供了一种分布式文件系统中的磁盘性能检测装置,包括:第一检测模块,用于检测磁盘的服务时间和输入输出1时延;第一状态确定模块,用于根据该磁盘的服务时间和输入输出1时延确定第一状态的磁盘,该第一状态的磁盘是服务时间滑动平均值超过第一预设值,且1时延滑动平均值超过第二预设值的磁盘;第二检测模块,用于检测第一状态的磁盘空闲时的D1时延;慢盘确定模块,用于在该D1时延超过第三预设值时,确定该磁盘为慢盘。
[0009]采用本申请实施例中的分布式文件系统中的磁盘性能检测方法和装置,根据磁盘的服务时间和输入输出1时延,确定第一状态的磁盘,并检测第一状态的磁盘空闲时的D1时延;当该D1时延超过第三预设值时,确定该磁盘为慢盘;从而在分布式文件系统中检测出性能不佳的慢盘,从而保证分布式文件系统的1性能。
【附图说明】
[0010]此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
[0011]图1为本申请实施例一所示的分布式文件系统中的磁盘性能检测方法流程图;
[0012]图2是根据本申请实施例二的分布式文件系统中的磁盘性能检测装置的结构示意图。
【具体实施方式】
[0013]为了使本申请实施例中的技术方案及优点更加清楚明白,以下结合附图对本申请的示例性实施例进行进一步详细的说明,显然,所描述的实施例仅是本申请的一部分实施例,而不是所有实施例的穷举。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
[0014]在实现本申请的过程中,发明人发现,现有技术中,没有提供在分布式文件系统场景中检测慢盘的方案,从而导致分布式文件系统由于存在慢盘而出现1性能下降。
[0015]针对上述问题,本申请实施例中提供了一种分布式文件系统中的磁盘性能检测方法及装置,根据磁盘的服务时间和输入输出时延,确定第一状态的磁盘,并检测第一状态的磁盘空闲时的D10(Direct Input/output,直接输入输出)时延;当该D1时延超过第三预设值时,确定该磁盘为慢盘;从而在分布式文件系统中检测出性能不佳的慢盘,从而提升分布式文件系统的10( Input/output,输入输出)性能。
[0016]实施例一
[0017]图1为本申请实施例一所示的分布式文件系统中的磁盘性能检测方法流程图。如图1所示,本申请实施例一所示的分布式文件系统中的磁盘性能检测方法包括:
[0018]SlOl,检测磁盘的服务时间和输入输出1时延;
[0019]S102,根据该磁盘的服务时间和输入输出1时延确定第一状态的磁盘,该第一状态的磁盘是服务时间滑动平均值超过第一预设值,且1时延滑动平均值超过第二预设值的磁盘;
[0020]S103,检测第一状态的磁盘空闲时的D1时延;
[0021]S104,当该D1时延超过第三预设值时,确定该磁盘为慢盘。
[0022]在具体实施时,根据该磁盘的服务时间和输入输出1时延确定第一状态的磁盘,可以包括:根据该服务时间和1时延,计算该磁盘在预定时长内的服务时间滑动平均值和1时延滑动平均值;将该磁盘的服务时间滑动平均值与第一预设值进行比较,并将该磁盘的1时延滑动平均值与第二预设值进行比较;当该磁盘的服务时间滑动平均值大于等于第一预设值,且1时延滑动平均值大于等于第二预设值时,确定该磁盘为第一状态的磁盘。
[0023]滑动平均值是从一个有η项的时间序列中来计算多个连续m项序列的平均值。其中连续m项序列的第一项,是原来η序列的第一项至m项之和除以m;连续m项序列的第二项是原来η序列的第二项至第m+Ι项之和除以m;连续m项序列的最后一项是原来η序列的第(n-m+1)至第η项之和除以m;滑动平均值为连续m项序列中的第一项至第m项之和除以m。滑动平均值因项数m的不同而有不同的名称。
[0024]例如,检测到磁盘在第I时刻、第2时亥Ij、第3时刻、第4时刻、第5时刻的磁盘服务时间分别为1_秒、1.05晕秒、1.1晕秒、1.15晕秒、1.2晕秒;在第I时刻、第2时刻、第3时刻、第4时刻、第5时刻的1时延分别为5晕秒、6晕秒、10_秒、11晕秒、和9晕秒。
[0025]如果取3为项数,则磁盘第I时刻、第2时刻、第3时刻的服务时间滑动平均值为1.05毫秒;第1时刻、第2时刻、第3时刻的1时延滑动平均值为7毫秒;第2时刻、第3时刻、第4时刻的服务时间滑动平均值为I.10毫秒;第2时刻、第3时刻、第4时刻的1时延滑动平均值为9毫秒;第3时刻、第4时刻、第5时刻的服务时间滑动平均值为1.15毫秒;第3时刻、第4时刻、第5时刻的1时延滑动平均值为10毫秒。假如服务时间的经验值为1.10毫秒,1时延的经验值为10毫秒;则在第5个时刻,判断磁盘进入了第一状态。
[0026]在具体实施时,该第一状态可以是疑似慢盘的状态。
[0027]在具体实施时,该磁盘的服务时间滑动平均值和磁盘的1时延滑动平均值可以取预定时长,例如,5分钟或30分钟内的滑动平均值。
[0028]在具体实施时,该磁盘的服务时间可以通过系统命令获取,例如,Linux系统1stat命令的svctm项。
[0029]在具体实施时,该第一预设值和第二预设值可以是由用户根据经验值设置的值,例如,第一预设值为60毫秒,第二预设值为100毫秒等;也可以是统计该分布式文件系统中所有磁盘的服务时间平均值和1时延平均值,本申请对此不作限制。
[0030]D1是文件操作的一个选项;在D1的工作模式下,数据直接从磁盘传送到应用的缓存,而不经过文件的缓存区。
[0031]在具体实施时,如果磁盘空闲时的D1时延未超过第三预设值,则判断该磁盘不是慢盘,并恢复对该磁盘的操作;并继续进行服务时间和1时延的检测。
[0032]在具体实施时,检测第一状态的磁盘空闲时的D1时延,具体可以包括:确定该磁盘空闲;对该磁盘执行D1操作;记录该D1操作的时延,作为该第一状态的磁盘空闲时的D1时延。
[0033]在具体实施时,检测第一状态的磁盘空闲时的D1时延,还可以是触发数据服务器以D1的方式在该磁盘上连续进行若干次较大数据块的顺序1操作;并将该多次D1操作的平均时延作为第一状态的磁盘空闲时的D1时延。在具体实施时,该较大数据块可以是数据大小超过512KByte的数据块。
[0034]在具体实施时,确定该磁盘空闲可以包括:停止对该磁盘的操作;每隔预定时间检测该磁盘的利用率;当连续预定次数检测到该磁盘的利用率均小于第四预设值时,确定该磁盘空闲。即,当磁盘的利用率在一定时间内接近O时,认为该磁盘空闲。
[0035]在具体实施时,为保证第一状态的磁盘存储的数据的完整性,在触发数据服务器停止对该磁盘的所有操作后,还可以进一步触发该磁盘上的底层文件系统进行sync操作,以强制将内存中的文件缓冲内容写到磁盘。
[0036]在具体实施时,可以通过系统命令,例如,Linux系统的1stat命令获取的Uti I来检测磁盘的利用率。
[0037]在具体实施时,该预定次数可以为两次或三次。
[0038]在具体实施时,该第四预设值可以为1%,2%等设定值。
[0039]在具体实施时,在确定该磁盘为慢盘之后,还包括:根据该磁盘的备份数据重构该慢盘存储的数据;将重构的该数据写入分布式文件系统的其他磁盘。当该慢盘上的数据全部重构完成后,分布式文件系统标识该磁盘为废盘,不再使用。
[0040]采用本申请实施例中的分布式文件系统中的磁盘性能检测方法,根据磁盘的服务时间和输入输出时延,确定第一状态的磁盘,并检测第一状态的磁盘空闲时的D1时延;当该D1时延超过第三预设值时,确定该磁盘为慢盘;从而在分布式文件系统中检测出性能不佳的慢盘,从而保证分布式文件系统的1性能。
[0041]采用本申请实施例中的分布式文件系统中的磁盘性能检测方法,先根据磁盘的服务时间和输入输出时延,确定第一状态的磁盘,然后仅对第一状
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1