CN109213629A - 一种联合文件***故障自恢复方法及装置 - Google Patents

一种联合文件***故障自恢复方法及装置 Download PDF

Info

Publication number
CN109213629A
CN109213629A CN201810708749.XA CN201810708749A CN109213629A CN 109213629 A CN109213629 A CN 109213629A CN 201810708749 A CN201810708749 A CN 201810708749A CN 109213629 A CN109213629 A CN 109213629A
Authority
CN
China
Prior art keywords
hierarchical directory
file
file system
failure
union
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201810708749.XA
Other languages
English (en)
Other versions
CN109213629B (zh
Inventor
刘杰
叶梅霞
周保群
黄燕飞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangdong Ruijiang Cloud Computing Co Ltd
Original Assignee
Guangdong Ruijiang Cloud Computing Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guangdong Ruijiang Cloud Computing Co Ltd filed Critical Guangdong Ruijiang Cloud Computing Co Ltd
Priority to CN201810708749.XA priority Critical patent/CN109213629B/zh
Publication of CN109213629A publication Critical patent/CN109213629A/zh
Application granted granted Critical
Publication of CN109213629B publication Critical patent/CN109213629B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1479Generic software techniques for error detection or fault masking
    • G06F11/1489Generic software techniques for error detection or fault masking through recovery blocks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种联合文件***故障自恢复方法及装置,在联合文件***的多个层级目录中进行故障自恢复,为每一个出错的层级设立一个恢复检测的定时器,以定时循环启动恢复检测程序,若检测到层级目录访问恢复,则执行层级目录IO恢复程序,使得联合文件***具有自动恢复的能力,在保证整个联合文件***业务正常的情况下,能够自动将已经恢复的故障层级,加入到层级中继续服务,大大的提升了联合文件***的业务可持续能力。

Description

一种联合文件***故障自恢复方法及装置
技术领域
本公开涉及计算机领域,具体涉及一种联合文件***故障自恢复方法及装置。
背景技术
联合文件***是一种虚拟的文件***,它并不具备真正的实体,而是通过将多个实体的文件***聚合在一起,形成一个层级,构成的一个虚拟的文件***,对这个文件***的读写,将会映射到层级聚合的实体文件***中。联合文件***(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,以随机的内容填充。
进一步地,在步骤5中,所述阈值为人工设置,设置标准为每100G容量至少n次写入成功,n为可配置值,n取值范围为大于0的正整数,阈值计算方法为容量/100*n。
进一步地,在步骤6中,执行层级目录的IO恢复程序包括以下子步骤:
步骤6.1,将已恢复层级目录的文件更新队列的读写重新映射回本层级目录的文件更新队列;
步骤6.2,将已恢复的层级目录的文件更新程序,重新映射为本层级目录的文件更新程序;
步骤6.3,将已恢复的层级目录的IO请求恢复到本层级目录中执行。
本发明还提供了一种联合文件***故障自恢复装置,所述装置包括:存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序运行在以下装置的单元中:
故障隔离单元,用于在联合文件***的层级目录出现故障时进行故障隔离;
计数器生成单元,用于为故障层级目录生成文件恢复计数器;
随机写入单元,用于往故障层级目录中写入一个随机生成的文件;
恢复计数单元,用于判断若写入成功,则将恢复计数器加一,若写入失败,则将恢复计数器复位为零;
阈值判断单元,用于判断恢复计数器是否已经超过了预设的阈值,若超过阈值则将层级目录标记为已恢复并转到恢复执行单元,若没有超过阈值则转到随机写入单元;
恢复执行单元,用于执行层级目录的IO恢复程序。
本公开的有益效果为:本发明提供一种联合文件***故障自恢复方法及装置,在联合文件***的多个层级目录中进行故障自恢复,使得联合文件***具有自动恢复的能力,在保证整个联合文件***业务正常的情况下,能够自动将已经恢复的故障层级,加入到层级中继续服务,大大的提升了联合文件***的业务可持续能力。
附图说明
通过对结合附图所示出的实施方式进行详细说明,本公开的上述以及其他特征将更加明显,本公开附图中相同的参考标号表示相同或相似的元素,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,在附图中:
图1所示为一种联合文件***故障自恢复方法的流程图;
图2所示为一种联合文件***故障自恢复装置图。
具体实施方式
以下将结合实施例和附图对本公开的构思、具体结构及产生的技术效果进行清楚、完整的描述,以充分地理解本公开的目的、方案和效果。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
如图1所示为根据本公开的一种联合文件***故障自恢复方法的流程图,下面结合图1来阐述根据本公开的实施方式的一种联合文件***故障自恢复方法。
本公开提出一种联合文件***故障自恢复方法,具体包括以下步骤:
步骤1,在联合文件***的层级目录出现故障时进行故障隔离;
步骤2,为故障层级目录生成文件恢复计数器;
步骤3,往故障层级目录中写入一个随机生成的文件;
步骤4,若写入成功,则将恢复计数器加一,若写入失败,则将恢复计数器复位为零;
步骤5,判断恢复计数器是否已经超过了预设的阈值,若超过阈值则将层级目录标记为已恢复并转到步骤6,若没有超过阈值则转到步骤3;
步骤6,执行层级目录的IO恢复程序。
进一步地,在步骤1中,所述联合文件***包括至少一个层级目录,每个层级目录都有唯一的层级ID,所述层级目录包括定时器、文件恢复计数器、文件更新程序、IO恢复程序,所述文件恢复计数器在层级出现故障时生成,所述定时器用于定时循环启动恢复检测程序。
进一步地,在步骤1中,在联合文件***的层级目录出现故障时进行故障隔离的方法包括以下子步骤:
步骤1.1,将出现故障的层级目录的文件更新队列映射到上一个层级目录的文件更新队列中;
步骤1.2,将出现故障的层级目录的文件更新程序映射为下一个层级目录的文件更新程序;
步骤1.3,将出现故障的层级目录的文件IO重定向到上一个层级目录的文件IO;
如果出现故障的是最后一层目录,则将第一层目录作为最后一层目录的下一层;如果出现故障的是第一层目录,则将最后一层目录作为第一层目录的上一层,所有的层级目录构造组织成一个环型结构,实现循环层级的故障隔离。
进一步地,在步骤3中,所述随机生成的文件大小随机,随机大小的范围为大于1Mb少于100Mb,以随机的内容填充。
进一步地,在步骤5中,所述阈值为人工设置,设置标准为每100G容量至少n次写入成功,n为可配置值,n取值范围为大于0的正整数,阈值计算方法为容量/100*n。
进一步地,在步骤6中,执行层级目录的IO恢复程序包括以下子步骤:
步骤6.1,将已恢复层级目录的文件更新队列的读写重新映射回本层级目录的文件更新队列;
步骤6.2,将已恢复的层级目录的文件更新程序,重新映射为本层级目录的文件更新程序;
步骤6.3,将已恢复的层级目录的IO请求恢复到本层级目录中执行。
本公开的实施例提供的一种联合文件***故障自恢复装置,如图2所示为本公开的一种联合文件***故障自恢复装置图,该实施例的一种联合文件***故障自恢复装置包括:处理器、存储器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述一种联合文件***故障自恢复装置实施例中的步骤。
所述装置包括:存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序运行在以下装置的单元中:
故障隔离单元,用于在联合文件***的层级目录出现故障时进行故障隔离;
计数器生成单元,用于为故障层级目录生成文件恢复计数器;
随机写入单元,用于往故障层级目录中写入一个随机生成的文件;
恢复计数单元,用于判断若写入成功,则将恢复计数器加一,若写入失败,则将恢复计数器复位为零;
阈值判断单元,用于判断恢复计数器是否已经超过了预设的阈值,若超过阈值则将层级目录标记为已恢复并转到恢复执行单元,若没有超过阈值则转到随机写入单元;
恢复执行单元,用于执行层级目录的IO恢复程序。
所述一种联合文件***故障自恢复装置可以运行于桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备中。所述一种联合文件***故障自恢复装置,可运行的装置可包括,但不仅限于,处理器、存储器。本领域技术人员可以理解,所述例子仅仅是一种联合文件***故障自恢复装置的示例,并不构成对一种联合文件***故障自恢复装置的限定,可以包括比例子更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述一种联合文件***故障自恢复装置还可以包括输入输出设备、网络接入设备、总线等。
所称处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述一种联合文件***故障自恢复装置运行装置的控制中心,利用各种接口和线路连接整个一种联合文件***故障自恢复装置可运行装置的各个部分。
所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述一种联合文件***故障自恢复装置的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(SecureDigital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
尽管本公开的描述已经相当详尽且特别对几个所述实施例进行了描述,但其并非旨在局限于任何这些细节或实施例或任何特殊实施例,而是应当将其视作是通过参考所附权利要求考虑到现有技术为这些权利要求提供广义的可能性解释,从而有效地涵盖本公开的预定范围。此外,上文以发明人可预见的实施例对本公开进行描述,其目的是为了提供有用的描述,而那些目前尚未预见的对本公开的非实质性改动仍可代表本公开的等效改动。

Claims (7)

1.一种联合文件***故障自恢复方法,其特征在于,所述方法包括以下步骤:
步骤1,在联合文件***的层级目录出现故障时进行故障隔离;
步骤2,为故障层级目录生成文件恢复计数器;
步骤3,往故障层级目录中写入一个随机生成的文件;
步骤4,若写入成功,则将恢复计数器加一,若写入失败,则将恢复计数器复位为零;
步骤5,判断恢复计数器是否已经超过了预设的阈值,若超过阈值则将层级目录标记为已恢复并转到步骤6,若没有超过阈值则转到步骤3;
步骤6,执行层级目录的IO恢复程序。
2.根据权利要求1所述的一种联合文件***故障自恢复方法,其特征在于,在步骤1中,所述联合文件***包括至少一个层级目录,每个层级目录都有唯一的层级ID,所述层级目录包括定时器、文件恢复计数器、文件更新程序、IO恢复程序,所述文件恢复计数器在层级出现故障时生成,所述定时器用于定时循环启动恢复检测程序。
3.根据权利要求1所述的一种联合文件***故障自恢复方法,其特征在于,在步骤1中,在联合文件***的层级目录出现故障时进行故障隔离的方法包括以下子步骤:
步骤1.1,将出现故障的层级目录的文件更新队列映射到上一个层级目录的文件更新队列中;
步骤1.2,将出现故障的层级目录的文件更新程序映射为下一个层级目录的文件更新程序;
步骤1.3,将出现故障的层级目录的文件IO重定向到上一个层级目录的文件IO;
如果出现故障的是最后一层目录,则将第一层目录作为最后一层目录的下一层;如果出现故障的是第一层目录,则将最后一层目录作为第一层目录的上一层,所有的层级目录构造组织成一个环型结构,实现循环层级的故障隔离。
4.根据权利要求1所述的一种联合文件***故障自恢复方法,其特征在于,在步骤3中,所述随机生成的文件大小随机,随机大小的范围为大于1Mb少于100Mb。
5.根据权利要求1所述的一种联合文件***故障自恢复方法,其特征在于,在步骤5中,所述阈值为人工设置,设置标准为每100G容量至少n次写入成功,n为可配置值,n取值范围为大于0的正整数,阈值计算方法为容量/100*n。
6.根据权利要求1所述的一种联合文件***故障自恢复方法,其特征在于,在步骤6中,执行层级目录的IO恢复程序包括以下子步骤:
步骤6.1,将已恢复层级目录的文件更新队列的读写重新映射回本层级目录的文件更新队列;
步骤6.2,将已恢复的层级目录的文件更新程序,重新映射为本层级目录的文件更新程序;
步骤6.3,将已恢复的层级目录的IO请求恢复到本层级目录中执行。
7.一种联合文件***故障自恢复装置,其特征在于,所述装置包括:存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序运行在以下装置的单元中:
故障隔离单元,用于在联合文件***的层级目录出现故障时进行故障隔离;
计数器生成单元,用于为故障层级目录生成文件恢复计数器;
随机写入单元,用于往故障层级目录中写入一个随机生成的文件;
恢复计数单元,用于判断若写入成功,则将恢复计数器加一,若写入失败,则将恢复计数器复位为零;
阈值判断单元,用于判断恢复计数器是否已经超过了预设的阈值,若超过阈值则将层级目录标记为已恢复并转到恢复执行单元,若没有超过阈值则转到随机写入单元;
恢复执行单元,用于执行层级目录的IO恢复程序。
CN201810708749.XA 2018-07-02 2018-07-02 一种联合文件***故障自恢复方法及装置 Active CN109213629B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810708749.XA CN109213629B (zh) 2018-07-02 2018-07-02 一种联合文件***故障自恢复方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810708749.XA CN109213629B (zh) 2018-07-02 2018-07-02 一种联合文件***故障自恢复方法及装置

Publications (2)

Publication Number Publication Date
CN109213629A true CN109213629A (zh) 2019-01-15
CN109213629B CN109213629B (zh) 2022-04-22

Family

ID=64990028

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810708749.XA Active CN109213629B (zh) 2018-07-02 2018-07-02 一种联合文件***故障自恢复方法及装置

Country Status (1)

Country Link
CN (1) CN109213629B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020147873A1 (en) * 2001-04-06 2002-10-10 Kwon Jin Wook Real time based system and method for monitoring the same
JP2005293164A (ja) * 2004-03-31 2005-10-20 Fuji Electric Fa Components & Systems Co Ltd タスク監視方式
CN1859162A (zh) * 2005-06-15 2006-11-08 华为技术有限公司 自动恢复设备故障的实现方法及***
CN101159480A (zh) * 2007-11-12 2008-04-09 中兴通讯股份有限公司 一种通讯***中码树自适应恢复的方法和装置
CN101414277A (zh) * 2008-11-06 2009-04-22 清华大学 一种基于虚拟机的按需增量恢复容灾***及方法
CN104991926A (zh) * 2015-06-29 2015-10-21 浪潮(北京)电子信息产业有限公司 文件***恢复方法和***

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020147873A1 (en) * 2001-04-06 2002-10-10 Kwon Jin Wook Real time based system and method for monitoring the same
JP2005293164A (ja) * 2004-03-31 2005-10-20 Fuji Electric Fa Components & Systems Co Ltd タスク監視方式
CN1859162A (zh) * 2005-06-15 2006-11-08 华为技术有限公司 自动恢复设备故障的实现方法及***
CN101159480A (zh) * 2007-11-12 2008-04-09 中兴通讯股份有限公司 一种通讯***中码树自适应恢复的方法和装置
CN101414277A (zh) * 2008-11-06 2009-04-22 清华大学 一种基于虚拟机的按需增量恢复容灾***及方法
CN104991926A (zh) * 2015-06-29 2015-10-21 浪潮(北京)电子信息产业有限公司 文件***恢复方法和***

Also Published As

Publication number Publication date
CN109213629B (zh) 2022-04-22

Similar Documents

Publication Publication Date Title
US10379951B2 (en) Hierarchic storage policy for distributed object storage systems
US11487675B1 (en) Collecting statistics for persistent memory
US10146627B2 (en) Mobile flash storage boot partition and/or logical unit shadowing
US20120011401A1 (en) Dynamically modeling and selecting a checkpoint scheme based upon an application workload
CN105339907A (zh) 非易失性存储器***中的同步镜像
WO2011144425A1 (en) Space reservation in a deduplication system
US20150288752A1 (en) Application server to nvram path
US8583890B2 (en) Disposition instructions for extended access commands
CN104102460A (zh) 一种基于云计算的内存管理方法及装置
CN102147740B (zh) 通过流存储的快速机器引导
CN107533495A (zh) 用于数据备份和恢复的技术
CN115657946A (zh) Raid顺序写场景下的片外ddr带宽卸载方法、终端及存储介质
CN107301021B (zh) 一种利用ssd缓存对lun进行加速的方法和装置
EP4170499A1 (en) Data storage method, storage system, storage device, and storage medium
US11055017B1 (en) Throttling a point-in-time snapshot copy operation within a data consistency application
CN109213629A (zh) 一种联合文件***故障自恢复方法及装置
CN109189731A (zh) 一种联合文件***文件负载均衡方法及装置
CN108959124A (zh) 基于动态缓冲的虚拟机磁盘复制过程写入方法及装置
KR20220088274A (ko) 코어별 저널 구조를 포함하는 컴퓨팅 시스템
US20100122055A1 (en) Data integrity validation using hierarchical volume management
CN109240841A (zh) 一种联合文件***故障发现与隔离方法及装置
CN113641298A (zh) 数据存储方法、设备和计算机程序产品
Xing et al. Design and implementation of endogenous security container based on union file system
van Moolenbroek et al. Integrated end-to-end dependability in the Loris storage stack
CN111026720A (zh) 一种文件处理方法、***及相关设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant