CN109213629B - 一种联合文件***故障自恢复方法及装置 - Google Patents
一种联合文件***故障自恢复方法及装置 Download PDFInfo
- Publication number
- CN109213629B CN109213629B CN201810708749.XA CN201810708749A CN109213629B CN 109213629 B CN109213629 B CN 109213629B CN 201810708749 A CN201810708749 A CN 201810708749A CN 109213629 B CN109213629 B CN 109213629B
- Authority
- CN
- China
- Prior art keywords
- recovery
- directory
- file
- hierarchical directory
- file system
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1479—Generic software techniques for error detection or fault masking
- G06F11/1489—Generic 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恢复程序。
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 CN109213629A (zh) | 2019-01-15 |
CN109213629B true 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 (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 | 浪潮(北京)电子信息产业有限公司 | 文件***恢复方法和*** |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100820789B1 (ko) * | 2001-04-06 | 2008-04-10 | 엘지전자 주식회사 | 실시간 기반 시스템 및 그의 모니터링 방법 |
-
2018
- 2018-07-02 CN CN201810708749.XA patent/CN109213629B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
---|---|
CN109213629A (zh) | 2019-01-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11442640B1 (en) | Utilizing unmapped and unknown states in a replicated storage system | |
US10838863B2 (en) | Storage system with write cache release protection | |
US10430282B2 (en) | Optimizing replication by distinguishing user and system write activity | |
US20190179535A1 (en) | Efficient space utilization in a flash system using snapshots | |
US8682867B2 (en) | Deleted data recovery in data storage systems | |
US7809908B2 (en) | Disk snapshot acquisition method | |
US10747677B2 (en) | Snapshot locking mechanism | |
US9940331B1 (en) | Proactive scavenging of file system snaps | |
US8983899B1 (en) | Systems and methods for archiving files in distributed replication environments | |
US10409495B1 (en) | Data optimization decision control based on file system metadata | |
CN109074308A (zh) | 适应性的块转换表(btt) | |
CN113946291A (zh) | 数据访问方法、装置、存储节点及可读存储介质 | |
US20140156607A1 (en) | Index for deduplication | |
US10228961B2 (en) | Live storage domain decommissioning in a virtual environment | |
US11561720B2 (en) | Enabling access to a partially migrated dataset | |
US10025516B2 (en) | Processing data access requests from multiple interfaces for data storage devices | |
CN109213629B (zh) | 一种联合文件***故障自恢复方法及装置 | |
US20150089118A1 (en) | Methods, systems, and computer readable media for partition and cache restore | |
CN109240841B (zh) | 一种联合文件***故障发现与隔离方法及装置 | |
US20180095690A1 (en) | Creating virtual storage volumes in storage systems | |
US10372607B2 (en) | Systems and methods for improving the efficiency of point-in-time representations of databases | |
CN108984689B (zh) | 一种联合文件***中多副本同步方法及装置 | |
US7921324B2 (en) | Providing file system availability during local path failure of a non-server node | |
CN111026720A (zh) | 一种文件处理方法、***及相关设备 | |
TW202123008A (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 |