一种联合文件系统故障发现与隔离方法及装置制造方法及图纸

技术编号:20160176 阅读:25 留言:0更新日期:2019-01-19 00:12
本发明专利技术公开了一种联合文件系统故障发现与隔离方法及装置,为每一个层级目录设立错误计数器;每当发生一次文件IO失败,则将该层级目录的错误计数器自增一位;设立一个定时器,定时将所有层级目录的错误计数器清零;在进行错误计数器自增的时候,如果发现错误计数器的错误数量超过了指定的阈值,则将该层级目录标识为出错,并执行出错隔离程序,进一步发挥了联合文件系统的聚合特性,提升了联合文件系统的容错能力,保证了在联合文件系统中某些层级出现故障的情况下,仍然能保证联合文件的IO正常运行。

【技术实现步骤摘要】
一种联合文件系统故障发现与隔离方法及装置
本公开涉及计算机领域,具体涉及一种联合文件系统故障发现与隔离方法及装置。
技术介绍
联合文件系统是一种虚拟的文件系统,它并不具备真正的实体,而是通过将多个实体的文件系统聚合在一起,形成一个层级,构成的一个虚拟的文件系统,对这个文件系统的读写,将会映射到层级聚合的实体文件系统中。联合文件系统(UnionFS)是一种轻量级的高性能分层文件系统,它支持将文件系统中的修改信息作为一次提交,并层层叠加,同时可以将不同目录挂载到同一个虚拟文件系统下,应用看到的是挂载的最终结果。联合文件系统是一种linux系统中常见的文件系统,这种文件系统的核心结构是将多个不同的目录挂载成一个独立的文件目录,在这个独立的文件目录中,文件分层级的存储在多个组成的目录中,上层的文件将遮盖下层的文件,当发生文件写入的时候,可以选择多种策略将文件分散在各个层级目录中。联合文件系统面临的问题的主要是文件更新写入的性能比较低下,文件的写入并没有进行冗余来对数据进行保护,同时对层级中的目录故障的时候缺乏有效的发现和隔离机制。
技术实现思路
本公开提供一种联合文件系统故障发现与隔离方法及装置,在联合文件系统的多个层级目录中进行故障发现与隔离,对文件的写入进行冗余来对数据进行保护并对层级中的目录故障的时候具有了有效的发现和隔离机制。为了实现上述目的,根据本公开的一方面,提供一种联合文件系统故障发现与隔离方法,所述方法包括以下步骤:步骤1,监测联合文件系统中的层级目录发生的文件IO错误并对文件IO错误数量计数;步骤2,判断文件IO错误数量是否超过阈值;步骤3,如果超过阈值则将层级目录标记为出错状态;步骤4,启动出错状态的错误隔离程序;步骤5,将出错状态的层级目录的文件更新队列映射到上一个层级目录的文件更新队列中;步骤6,将出错状态的层级目录的文件更新程序映射为下一个层级目录的文件更新程序;步骤7,将出错状态的层级目录的文件IO代理到上一个层级目录的文件IO;进一步地,在步骤1中,所述联合文件系统包括至少一个层级目录,每个层级目录都有唯一的层级ID,所述层级目录包括错误计数器、定时器、错误隔离程序、文件更新程序,所述定时器用于定时将所有层级目录的错误计数器清零;进一步地,在步骤1中,监测层级目录发生的文件IO错误并对文件IO错误计数的方法为:每当发生一次文件IO失败,则将层级目录的错误计数器自增一位,错误计数器的数量即为文件IO错误数量;进一步地,在步骤2中,所述阈值为人工设置,设置标准为每100G容量允许n次IO错误,n为可配置值,n取值范围为大于0的正整数,阈值计算方法为容量/100*n。进一步地,在步骤5中,所述将出错状态的层级目录的文件更新队列映射到上一个层级目录的文件更新队列中的方法为:错误隔离程序将出错状态的层级目录的文件更新队列映射到上一个层级目录的文件更新队列中,如果出错状态是最上一层目录,则将最下一层目录作为上一个层级目录。联合文件系统中的某一个层级出错了,但是我们要做的是让这个错误不会影响到使用者,所述的映射指的是当使用者对这个队列进行读写的时候,将对应的读写请求,交给上一个层级目录的队列进行响应,对于使用者来说,读取的仍然是这个出错的层,但是实际响应的却是该层级的上一层。进一步地,在步骤6中,所述将出错状态的层级目录的文件更新程序映射为下一个层级目录的文件更新程序的方法为:错误隔离程序将出错状态的层级目录的文件更新程序映射为下一个层级目录的文件更新程序,如果出错状态是最下一层目录,则将最上一层目录作为下一个层级目录。进一步地,在步骤7中,所述将出错状态的层级目录的文件IO代理到上一个层级目录的文件IO的方法为:错误隔离程序将出错状态的层级目录的文件IO代理到上一个层级目录的文件IO。所述文件IO代理对使用者来说,还是在读写这一层的这一个文件,但是实际上的响应代理到上一层中去了,这样就将这个层级的故障透明化了优选地,在进行错误计数器自增的时候,如果发现错误计数器的错误数量超过了指定的阈值,则将层级目录标识为出错,并执行出错隔离程序。本专利技术还提供了一种联合文件系统故障发现与隔离装置,所述装置包括:存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序运行在以下装置的单元中:错误数量计数单元,用于监测联合文件系统中的层级目录发生的文件IO错误并对文件IO错误数量计数;错误阈值判断单元,用于判断文件IO错误数量是否超过阈值;出错状态标记单元,用于在超过阈值情况下将层级目录标记为出错状态;隔离程序启动单元,用于启动出错状态的错误隔离程序;队列映射单元,用于将出错状态的层级目录的文件更新队列映射到上一个层级目录的文件更新队列中;程序映射单元,用于将出错状态的层级目录的文件更新程序映射为下一个层级目录的文件更新程序;IO代理单元,用于将出错状态的层级目录的文件IO代理到上一个层级目录的文件IO。本公开的有益效果为:本专利技术提供一种联合文件系统故障发现与隔离方法及装置,进一步发挥了联合文件系统的聚合特性,提升了联合文件系统的容错能力,保证了在联合文件系统中某些层级出现故障的情况下,任然能保证联合文件的IO正常运行。附图说明通过对结合附图所示出的实施方式进行详细说明,本公开的上述以及其他特征将更加明显,本公开附图中相同的参考标号表示相同或相似的元素,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,在附图中:图1所示为一种联合文件系统故障发现与隔离方法的流程图;图2所示为一种联合文件系统故障发现与隔离装置图。具体实施方式以下将结合实施例和附图对本公开的构思、具体结构及产生的技术效果进行清楚、完整的描述,以充分地理解本公开的目的、方案和效果。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。如图1所示为根据本公开的一种联合文件系统故障发现与隔离方法的流程图,下面结合图1来阐述根据本公开的实施方式的一种联合文件系统故障发现与隔离方法。本公开提出一种联合文件系统故障发现与隔离方法,具体包括以下步骤:步骤1,监测联合文件系统中的层级目录发生的文件IO错误并对文件IO错误数量计数;步骤2,判断文件IO错误数量是否超过阈值;步骤3,如果超过阈值则将层级目录标记为出错状态;步骤4,启动出错状态的错误隔离程序;步骤5,将出错状态的层级目录的文件更新队列映射到上一个层级目录的文件更新队列中;步骤6,将出错状态的层级目录的文件更新程序映射为下一个层级目录的文件更新程序;步骤7,将出错状态的层级目录的文件IO代理到上一个层级目录的文件IO;进一步地,在步骤1中,所述联合文件系统包括至少一个层级目录,每个层级目录都有唯一的层级ID,所述层级目录包括错误计数器、定时器、错误隔离程序、文件更新程序,所述定时器用于定时将所有层级目录的错误计数器清零;进一步地,在步骤1中,监测层级目录发生的文件IO错误并对文件IO错误计数的方法为:每当发生一次文件IO失败,则将层级目录的错误计数器自增一位,错误计数器的数量即为文件IO错误数量;进一步地,在步骤2中,所述阈值为人工设本文档来自技高网...

【技术保护点】
1.一种联合文件系统故障发现与隔离方法,其特征在于,所述方法包括以下步骤:步骤1,监测联合文件系统中的层级目录发生的文件IO错误并对文件IO错误数量计数;步骤2,判断文件IO错误数量是否超过阈值;步骤3,如果超过阈值则将层级目录标记为出错状态;步骤4,启动出错状态层级目录的错误隔离程序;步骤5,将出错状态的层级目录的文件更新队列映射到上一个层级目录的文件更新队列中;步骤6,将出错状态的层级目录的文件更新程序映射为下一个层级目录的文件更新程序;步骤7,将出错状态的层级目录的文件IO代理到上一个层级目录的文件IO。

【技术特征摘要】
1.一种联合文件系统故障发现与隔离方法,其特征在于,所述方法包括以下步骤:步骤1,监测联合文件系统中的层级目录发生的文件IO错误并对文件IO错误数量计数;步骤2,判断文件IO错误数量是否超过阈值;步骤3,如果超过阈值则将层级目录标记为出错状态;步骤4,启动出错状态层级目录的错误隔离程序;步骤5,将出错状态的层级目录的文件更新队列映射到上一个层级目录的文件更新队列中;步骤6,将出错状态的层级目录的文件更新程序映射为下一个层级目录的文件更新程序;步骤7,将出错状态的层级目录的文件IO代理到上一个层级目录的文件IO。2.根据权利要求1所述的一种联合文件系统故障发现与隔离方法,其特征在于,在步骤1中,所述联合文件系统包括至少一个层级目录,每个层级目录都有唯一的层级ID,所述层级目录包括错误计数器、定时器、错误隔离程序、文件更新程序,所述定时器用于定时将所有层级目录的错误计数器清零。3.根据权利要求1所述的一种联合文件系统故障发现与隔离方法,其特征在于,在步骤1中,监测层级目录发生的文件IO错误并对文件IO错误计数的方法为:每当发生一次文件IO失败,则将层级目录的错误计数器自增一位,错误计数器的数量即为文件IO错误数量。4.根据权利要求1所述的一种联合文件系统故障发现与隔离方法,其特征在于,在步骤2中,所述阈值为人工设置,设置标准为每100G容量允许n次IO错误,n为可配置值,n取值范围为大于0的正整数,阈值计算方法为容量/100*n。5.根据权利要求1所述的一种联合文件系统故障发现与隔离方法,其特征在于,在步骤5中,所述将出错状态的层级目录的文件更新队列映射到上一个层级目录的文件更新队列中的方法为:错误隔离程序将出错状态的层级目录的文件更新队列映射到上一个层级目录的文件更新队列中,如果出...

【专利技术属性】
技术研发人员:刘杰霍键聪谢培忠黄春豪
申请(专利权)人:广东睿江云计算股份有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1