[发明专利]一种联合文件系统故障自恢复方法及装置有效
申请号: | 201810708749.X | 申请日: | 2018-07-02 |
公开(公告)号: | CN109213629B | 公开(公告)日: | 2022-04-22 |
发明(设计)人: | 刘杰;叶梅霞;周保群;黄燕飞 | 申请(专利权)人: | 广东睿江云计算股份有限公司 |
主分类号: | G06F11/14 | 分类号: | G06F11/14;G06F16/11 |
代理公司: | 广州嘉权专利商标事务所有限公司 44205 | 代理人: | 王国标 |
地址: | 528000 广东省佛山市禅城区*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 联合 文件 系统故障 恢复 方法 装置 | ||
本发明公开了一种联合文件系统故障自恢复方法及装置,在联合文件系统的多个层级目录中进行故障自恢复,为每一个出错的层级设立一个恢复检测的定时器,以定时循环启动恢复检测程序,若检测到层级目录访问恢复,则执行层级目录IO恢复程序,使得联合文件系统具有自动恢复的能力,在保证整个联合文件系统业务正常的情况下,能够自动将已经恢复的故障层级,加入到层级中继续服务,大大的提升了联合文件系统的业务可持续能力。
技术领域
本公开涉及计算机领域,具体涉及一种联合文件系统故障自恢复方法及装置。
背景技术
联合文件系统是一种虚拟的文件系统,它并不具备真正的实体,而是通过将多个实体的文件系统聚合在一起,形成一个层级,构成的一个虚拟的文件系统,对这个文件系统的读写,将会映射到层级聚合的实体文件系统中。联合文件系统(UnionFS)是一种轻量级的高性能分层文件系统,它支持将文件系统中的修改信息作为一次提交,并层层叠加,同时可以将不同目录挂载到同一个虚拟文件系统下,应用看到的是挂载的最终结果。
联合文件系统是一种linux系统中常见的文件系统,这种文件系统的核心结构是将多个不同的目录挂载成一个独立的文件目录,在这个独立的文件目录中,文件分层级的存储在多个组成的目录中,上层的文件将遮盖下层的文件,当发生文件写入的时候,可以选择多种策略将文件分散在各个层级目录中。
联合文件系统中出现的问题主要是文件更新写入的性能比较低下,文件的写入并没有进行冗余来对数据进行保护,同时对层级中的目录故障的时候缺乏有效的发现和隔离机制,并且不能在故障层级目录恢复的时候将故障目录自动加入到整体的文件服务之中。
发明内容
本公开提供一种联合文件系统故障自恢复方法及装置,在联合文件系统的多个层级目录中进行故障自恢复,使得联合文件系统具有自动恢复的能力。
为了实现上述目的,根据本公开的一方面,提供一种联合文件系统故障自恢复方法,所述方法包括以下步骤:
步骤1,在联合文件系统的层级目录出现故障时进行故障隔离;
步骤2,为故障层级目录生成文件恢复计数器;
步骤3,往故障层级目录中写入一个随机生成的文件;
步骤4,若写入成功,则将恢复计数器加一,若写入失败,则将恢复计数器复位为零;
步骤5,判断恢复计数器是否已经超过了预设的阈值,若超过阈值则将该层级目录标记为已恢复并转到步骤6,若没有超过阈值则转到步骤3;
步骤6,执行该层级目录的IO恢复程序。
进一步地,在步骤1中,所述联合文件系统包括至少一个层级目录,每个层级目录都有唯一的层级ID,所述层级目录包括定时器、文件恢复计数器、文件更新程序、IO恢复程序,所述文件恢复计数器在层级出现故障时生成,所述定时器用于定时循环启动恢复检测程序。
进一步地,在步骤1中,在联合文件系统的层级目录出现故障时进行故障隔离的方法包括以下子步骤:
步骤1.1,将出现故障的层级目录的文件更新队列映射到上一个层级目录的文件更新队列中;
步骤1.2,将出现故障的层级目录的文件更新程序映射为下一个层级目录的文件更新程序;
步骤1.3,将出现故障的层级目录的文件IO重定向到上一个层级目录的文件IO;
如果出现故障的是最后一层目录,则将第一层目录作为最后一层目录的下一层;如果出现故障的是第一层目录,则将最后一层目录作为第一层目录的上一层,所有的层级目录构造组织成一个环型结构,实现循环层级的故障隔离。
进一步地,在步骤3中,所述随机生成的文件大小随机,随机大小的范围为大于1Mb少于100Mb,以随机的内容填充。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广东睿江云计算股份有限公司,未经广东睿江云计算股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810708749.X/2.html,转载请声明来源钻瓜专利网。