CN114443357A - 文件系统修复方法、装置及计算设备 - Google Patents

文件系统修复方法、装置及计算设备 Download PDF

Info

Publication number
CN114443357A
CN114443357A CN202111583198.7A CN202111583198A CN114443357A CN 114443357 A CN114443357 A CN 114443357A CN 202111583198 A CN202111583198 A CN 202111583198A CN 114443357 A CN114443357 A CN 114443357A
Authority
CN
China
Prior art keywords
repair
file system
snapshot
data
condition
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.)
Pending
Application number
CN202111583198.7A
Other languages
English (en)
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.)
Ruijie Networks Co Ltd
Original Assignee
Ruijie Networks 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 Ruijie Networks Co Ltd filed Critical Ruijie Networks Co Ltd
Priority to CN202111583198.7A priority Critical patent/CN114443357A/zh
Publication of CN114443357A publication Critical patent/CN114443357A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • G06F16/128Details of file system snapshots on the file-level, e.g. snapshot creation, administration, deletion
    • 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/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems

Landscapes

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

Abstract

本发明实施例提供一种文件系统修复方法、装置及计算设备。其中,文件系统修复方法包括:当检测到文件系统故障的情况下,确定文件系统是否具有对应的修复快照;在文件系统具有对应的修复快照的情况下,调用与文件系统对应的修复工具对文件系统进行修复;在修复工具对文件系统修复失败的情况下,将文件系统中的数据回滚至修复快照记录的数据。本发明实施例提供的技术方案实现了提高文件系统修复容错性的技术效果。

Description

文件系统修复方法、装置及计算设备
技术领域
本发明实施例涉及分布式存储技术领域,尤其涉及一种文件系统修复方法、装置及计算设备。
背景技术
分布式存储是一种数据存储技术,可以通过网络使用存储环境中的每台存储设备上的磁盘空间,并将这些分散的存储资源构成一个虚拟的存储设备,即资源池,数据分散的存储在各个角落。
资源池中包括多个云硬盘,当云硬盘的文件系统损坏后,可能引起业务阻塞,严重的情况下甚至会造成云服务的中断,造成用户不可估量的损失。
相关技术中通常是通过人工介入,然后手工对文件系统或者数据进行恢复。
发明人在实现本发明构思的过程中发现,相关技术中这种修复操作都是破坏性修复,若修复失败,造成损坏现场的破坏,损失不可估量。
发明内容
本发明实施例提供一种文件系统修复方法、装置及计算设备,用以实现提高文件系统修复过程的容错性的发明目的。
第一方面,本发明实施例中提供了一种文件系统修复方法,包括:
当检测到文件系统故障的情况下,确定所述文件系统是否具有对应的修复快照;
在所述文件系统具有对应的修复快照的情况下,调用与所述文件系统对应的修复工具对所述文件系统进行修复;
在所述修复工具对所述文件系统修复失败的情况下,将所述文件系统中的数据回滚至所述修复快照记录的数据。
进一步地,所述修复快照具有与检测到所述文件系统故障的时间相对应的时间戳;
所述将所述文件系统中的数据回滚至所述修复快照记录的数据包括:
基于所述时间戳,将所述文件系统中在所述时间戳之后产生的数据删除。
进一步地,在所述文件系统不具有对应的修复快照的情况下,所述方法还包括:
获取所述文件系统的资源信息;
根据所述资源信息,为所述文件系统创建修复快照。
进一步地,所述资源信息表征所述文件系统在所述分布式存储框架中的存储位置;
所述根据所述资源信息,为所述文件系统创建修复快照包括:
从配置中心获取操作标识,并生成与检测到所述文件系统故障的时间相对应的时间戳;
在所述资源信息所述表征的存储位置处,根据所述操作标识和所述时间戳创建所述修复快照。
进一步地,在所述修复工具对所述文件系统修复完成后,所述方法还包括:
挂载与所述文件系统相对应的云硬盘;
若挂载成功,从所述配置中心删除所述操作标识,否则,在所述配置中心保留所述操作标识。
进一步地,所述修复快照是根据预设命名规则命名的;
所述方法还包括:
基于所述预设命名规则,从所述文件系统的多个快照中确定修复快照;
确定所述修复快照的操作标识与配置中心存储的操作标识的匹配关系;
在所述匹配关系表征所述配置中心不存在所述操作标识的情况下,删除与所述操作标识对应的修复快照。
进一步地,所述删除与所述操作标识对应的修复快照包括:
基于所述修复快照的时间戳,确定所述修复快照是否满足删除条件;
在所述修复快照满足所述删除条件的情况下,删除所述修复快照。
进一步地,在所述修复工具对所述文件系统修复完成后,所述方法还包括:
基于修复结果,向用户发送提示信息,其中,所述提示信息用于表征所述文件系统的故障情况和所述修复结果。
第二方面,本发明实施例中提供了一种文件系统修复装置,包括:
第一确定模块,用于当检测到文件系统故障的情况下,确定所述文件系统是否具有对应的修复快照,其中,所述文件系统包括分布式存储框架中的文件系统;
调用模块,用于在所述文件系统具有对应的修复快照的情况下,调用与所述文件系统对应的修复工具对所述文件系统进行修复;
快照回滚模块,用于在所述修复工具对所述文件系统修复失败的情况下,将所述文件系统中的数据回滚至所述修复快照记录的数据。
第三方面,本发明实施例中提供了一种计算设备,包括处理组件以及存储组件;
所述存储组件存储一条或多条计算机指令;所述一条或多条计算机指令用以被所述处理组件调用执行;
所述存储组件存储一个或多个计算机指令;所述一个或多个计算机指令用以被所述处理组件调用执行,实现本发明实施例提供的文件系统修复方法。
第三方面,本发明实施例中提供了一种计算机存储介质,存储有计算机程序,所述计算程序被计算机执行时,实现本发明实施例提供的文件系统修复方法。
本发明实施例中,当检测到文件系统故障的情况下,首先确定文件系统是否具有对应的修复快照,当文件系统具有对应的修复快照的情况下,调用与文件系统对应的修复工具对文件系统进行修复;修复工具对文件系统修复失败的情况下,利用修复快照,将文件系统中的数据回滚至修复快照所记录的数据,从而,实现了增加修复失败的容错性的技术效果,有必要时能将文件系统恢复至故障现场,实现了修复可逆。
本发明的这些方面或其他方面在以下实施例的描述中会更加简明易懂。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种文件系统修复方法的流程图;
图2示例性的示出了基于修复快照对文件系统进行回滚的示意图;
图3示出了本发明提供的文件系统修复装置一个实施例的结构示意图;
图4示出了本发明提供的文件系统修复装置另一个实施例的结构示意图;
图5为本实施例提供的另一种电子设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供的文件系统修复方法可以由一电子设备来执行,该电子设备可以是诸如PC机、笔记本电脑等终端设备,也可以是服务器。该服务器可以是物理服务器,或者也可以为虚拟服务器。该服务器可以是用户侧的物理或虚拟服务器,也可以为云端服务器。
在本发明的说明书和权利要求书及上述附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如101、102等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本发明。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
例如,术语可以包括:
分布式存储:分布式存储是一种数据存储技术,通过网络使用企业中的每台机器上的磁盘空间,并将这些分散的存储资源构成一个虚拟的存储设备,数据分散的存储在企业的各个角落。
集群:一个分布式存储的对应的物理资源集合,该物理资源集合从物理资源角度来说,是一些包含硬盘的服务器组合。
节点:组成集群的基本成员,一个节点通常来说指的是一台服务器,该服务器包含若干硬盘用于组件分布式存储。
存储池:存储池是分布式存储池中的一个逻辑概念,可以当做是一种特定用途的逻辑资源集合,里面的成员为云硬盘。
云硬盘(卷):基于分布式存储分配处理的一个逻辑卷,相当于一个物理磁盘,只是它实际存储的空间是在分布式存储中。
快照:关于指定数据集合的一个完全可用拷贝,该拷贝包括相应数据在某个时间点(拷贝开始的时间点)的映像。快照可以是其所表示的数据的一个副本,也可以是数据的一个复制品。快照的作用主要是能够进行在线数据备份与恢复。当存储设备发生应用故障或者文件损坏时可以进行快速的数据恢复,将数据恢复某个可用的时间点的状态。快照的另一个作用是为存储用户提供了另外一个数据访问通道,当原数据进行在线应用处理时,用户可以访问快照数据,还可以利用快照进行测试等工作。所有存储系统,不论高中低端,只要应用于在线系统,那么快照就成为一个不可或缺的功能。
配置中心:应用程序在启动和运行的时候往往需要读取一些配置信息,配置基本上伴随着应用程序的整个生命周期,比如:数据库连接参数、启动参数等。配置中心就是一种统一管理各种应用配置的基础服务组件,它保存着各个应用的配置文件。在一个集群中,从任一接入点都可以访问配置中心中的配置,不受接入点环境的印象。配置中心是一个集群环境的基础业务,需要保持绝对的安全性和唯一性。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例提供的一种文件系统修复方法的流程图,如图1所示,文件系统修复方法可以包括如下步骤:
101,当检测到文件系统故障的情况下,确定文件系统是否具有对应的修复快照。
根据本发明的实施例,该文件系统可以为分布式存储系统中的文件系统。其中,分布式存储系统中可以包括多个云硬盘,每个云硬盘中可以部署至少一个文件系统。
根据本发明的实施例,当云硬盘异常掉电或者云硬盘对应的硬盘介质损坏时,部署于云硬盘中的文件系统可能会产生故障,如导致文件系统中的数据无法正常读取等,使用户存储于云硬盘中的数据面临风险。因而,在此情况下,需要对文件系统进行修复。
根据本发明的实施例,修复快照可以包括仅用于在文件系统修复失败的情况下对文件系统进行回滚的快照。
根据本发明的实施例,在创建修复快照时,可以为修复快照基于预先设定的命名规则进行命名,以便将修复快照与其他用途的快照区分开。当检测到文件系统故障的情况下,可以通过遍历读取该文件系统的每个快照的快照名称的方式确定该文件系统是否具有对应的修复快照。
根据本发明的实施例,预先设定的命名规则例如可以包括:在修复快照的快照名称中添加特定的标识信息,特定的标识信息可以包括数字、字母、符号及其组合,修复快照可以利用特定的标识信息“repair”+快照编号的方式命名。需要说明的是,以上命名规则仅为本发明实施例示例性的说明,本领域技术人员可以基于实际应用情况灵活地设定该命名规则。
举例而言,文件系统A可以包括三个快照,其中,快照1的名称可以为001,快照2的名称可以为repair002,快照3的名称可以为003,其中,快照2为修复快照。当检测到文件系统故障的情况下,可以遍历快照1、快照2和快照3的名称,检测快照1、快照2和快照3的名称是否包含特定的标识信息“repair”,从而可以确定该文件系统具有修复快照,即快照2。
102,在文件系统具有对应的修复快照的情况下,调用与文件系统对应的修复工具对文件系统进行修复。
根据本发明的实施例,若文件系统具有对应的修复快照,即可认为即使对文件系统修复的过程中由于断电或其他因素导致出现故障,也可以利用修复快照对文件系统进行回滚,使文件系统可以恢复故障现场,以便更换更安全的修复策略,从而可以在确定文件系统具有对应的修复快照的情况下,调用与文件系统对应的修复工具对文件系统进行修复。
根据本发明的实施例,由于云硬盘中可能会根据应用需求部署不同的文件系统,例如XFS文件系统、UFS文件系统等,而每种文件系统的修复工具通常是各不相同的。因而,需要调用与文件系统对应的修复工具对文件系统进行修复。例如,若文件系统为XFS文件系统,可以调用xfs_repair修复工具对XFS文件系统进行修复。
103,在修复工具对文件系统修复失败的情况下,将文件系统中的数据回滚至修复快照记录的数据。
根据本发明的实施例,修复失败例如可以包括修复工具并未完整、准确的还原文件系统中存储的数据。在此情况下,修复工具修复之后的文件系统并非用户所需要的文件系统,则可以利用修复快照,对文件系统进行回滚,即将文件系统中的数据回滚至修复快照所记录的数据,从而可以在将文件系统恢复至故障发生现场后,采取更安全的措施对文件系统进行再次修复。
在本发明实施例中,当检测到文件系统故障的情况下,首先确定文件系统是否具有对应的修复快照,当文件系统具有对应的修复快照的情况下,调用与文件系统对应的修复工具对文件系统进行修复;修复工具在修复文件系统的过程中存在修复失败的可能,在修复工具对文件系统修复失败的情况下,利用修复快照,将文件系统中的数据回滚至修复快照所记录的数据,从而,解决了相关技术中存在的文件系统修复过程不可回滚的技术问题,实现了增加修复失败的容错性的技术效果,有必要时能将文件系统恢复至故障现场,以便更换更安全的修复策略。
根据本发明的实施例,在检测到文件系统故障后,还可以确定该文件系统的类型。
其中,作为一种可选实现方式,确定文件系统的类型的过程具体可以实现为:
利用blkid(locate/print block device attributes,定位/打印块设备属性)命令确定文件系统的类型。
根据本发明的实施例,blkid命令可以用于显示系统硬盘分区的情况,并查询存储设备上所采用文件系统的类型。执行blkid命令,可以显示出所有已挂载的分区信息,例如UUID和TYPE文件系统类型信息。
作为另一种可选实现方式,确定文件系统的类型的过程具体可以实现为:
利用配置中心记录识别文件系统类型。
根据本发明的实施例,由于配置中心是每个节点都能连接的,然后每个云硬盘都有唯一序列号标识,可以在挂载云硬盘时,在配置中心记录该云硬盘的序列号标识,如:{"9edf7906-50fe-4976-96ef-6fa75e4179a0":"xfs"};然后在文件系统发生故障时,根据云硬盘的序列号标识在配置中心读取信息,得知与该云硬盘对应的文件系统类型。在以上示例中,可以读取出该文件系统的类型为:xfs。
根据本发明的实施例,修复快照可以具有与检测到文件系统故障的时间相对应的时间戳。
根据本发明的实施例,时间戳可以添加至修复快照的快照名称中。例如,于10:00检测到文件系统故障,从而可以将时间戳1000添加至修复快照的快照名称中,以以上快照2举例而言,添加时间戳后的快照名称可以为“repair0021000”。
其中,可选地,将文件系统中的数据回滚至修复快照记录的数据的过程具体可以实现为:
基于时间戳,将文件系统中在时间戳之后产生的数据删除。
根据本发明的实施例,由于修复工具修复后的文件系统中的数据并非用户所需的数据,即可以认为修复工具向云硬盘中添加了部分脏数据,从而可以基于与文件系统故障的时间相对应的时间戳,将云硬盘中该时间之后产生的数据,即文件系统修复失败所产生的数据抹去,还原到文件系统发生故障的时间点时的云硬盘的存储状态。
根据本发明的实施例,文件系统的回滚所需的时间可以取决于修复快照创建时间点到当前时间点的差异数据量。
图2示例性的示出了基于修复快照对文件系统进行回滚的示意图。
如图2所示,200可以表示文件系统修复的时间线,在10:00时刻,检测到文件系统发生故障,同时确定文件系统具有修复快照,修复快照具有与检测到文件系统失败的时间相对应的时间戳,即1000。确定文件系统具有对应的修复快照后,调用与文件系统对应的修复工具对文件系统进行修复,修复用时例如可以为4秒,即在10:04确定文件系统修复失败,确定文件系统修复失败后,可以于10:05利用修复快照对文件系统进行回滚,即将与时间戳对应的时间之后产生的数据删除,将文件系统回滚至10:00的数据状态,完成快照回滚操作。
根据本发明的实施例,若在确定文件系统不具有对应的修复快照的情况下,直接调用文件系统修复工具对文件系统进行修复,由于异常掉电等原因,文件系统修复工具对文件系统的修复过程可能会失败,若文件系统修复失败,则可能会造成数据永久丢失等后果,为用户带来不便。
因此,根据本发明的实施例,当确定文件系统不具有对应的修复快照的情况下,文件系统修复方法还可以包括:
获取文件系统的资源信息;
根据资源信息,为文件系统创建修复快照。
根据本发明的实施例,由于在文件系统不具有对应的修复快照的情况下对文件系统进行修复存在着数据安全风险,从而在确定文件系统不具有对应的修复快照后,可以首先获取文件系统的资源信息,然后根据该资源信息为文件系统创建修复快照,创建生成修复快照后,再调用文件系统修复工具对文件系统进行修复。
根据本发明的实施例,资源信息表征文件系统在分布式存储框架中的存储位置。
根据本发明的实施例,资源信息例如可以包括与该文件系统对应的云硬盘的集群归属、存储池归属以及磁盘卷标识等。
其中,可选地,根据资源信息,为文件系统创建修复快照的过程具体可以实现为:
从配置中心获取操作标识,并生成与检测到文件系统故障的时间相对应的时间戳;
在资源信息表征的存储位置处,根据操作标识和时间戳创建修复快照。
根据本发明的实施例,在为文件系统创建修复快照时,可以从配置中心获取一个与该修复快照具有唯一映射关系的操作标识,操作标识可以是一段定长的字符串,字符串可以由数字、字母、符号中的任意一种或多种组成。
根据本发明的实施例,操作标识可以用于识别一次修复操作是否完成,用于保证每一次修复操作的完整性。
根据本发明的实施例,在创建修复快照之前,应当指明与该文件系统对应的云硬盘的集群归属、存储池归属、磁盘卷标识等信息,从而可以在与该云硬盘对应的集群中创建修复快照。
根据本发明的实施例,在获取操作标识,生成时间戳并根据获取到的资源信息确定与该文件系统对应的云硬盘的存储位置后,可以在该存储位置中,生成修复快照,并利用特定标识信息、时间戳和操作标识为该修复快照命名。
根据本发明的实施例,以下可以为创建修复快照的具体示例:
Figure BDA0003427596160000111
Figure BDA0003427596160000121
其中,"ClusterId"可以表示与该文件系统对应的云硬盘的集群归属,"PoolId"可以表示存储池归属,"VolumeId"可以表示磁盘卷标识,snapshot_name可以表示修复快照的名称,“repair”可以表示特定标识信息,34FD456可以表示操作标识,1637656384可以表示时间戳。
结合以上具体示例可以看出,在创建修复快照之前,首先获取资源信息,资源信息可以包括与该文件系统对应的云硬盘的集群归属、存储池归属、磁盘卷标识。获取到资源信息后,可以在资源信息所指示的存储位置中,创建修复快照,并利用特定标识信息、操作标识和时间戳为创建的修复快照命名。在该具体示例中,创建生成的修复快照的名称可以为repair_34FD456_1637656384。
根据本发明的实施例,在修复工具对文件系统修复完成后,文件系统修复方法还包括:
挂载与文件系统相对应的云硬盘;
若挂载成功,从配置中心删除操作标识,否则,在配置中心保留操作标识。
根据本发明的实施例,在修复工具对文件系统的修复操作执行完毕后,可以尝试挂载与文件系统相对应的云硬盘。
根据本发明的实施例,若与文件系统对应的云硬盘挂载成功,则表明文件系统修复成功,也即无需再对该文件系统执行后续操作;由于操作标识是与该文件系统具有唯一映射关系的,从而可以从配置中心删除操作标识。
根据本发明的实施例,若与文件系统对应的云硬盘挂载失败,则表示文件系统修复失败,在此情况下,由于后续还需要对该文件系统利用更新后的修复策略进行修复,则可以暂时保留操作标识,以便下次修复时确定修复进度。
根据本发明的实施例,考虑到文件系统修复任务在执行过程中可能会由于存储设备宕机等原因而意外停止,当存储设备重新启动后,需要重新开始执行文件系统修复任务时,若直接从头开始执行文件系统修复任务会造成许多重复工作,影响文件系统修复任务的工作效率。
因此,在执行文件系统修复任务之前,可以先确定该文件系统是否具有唯一对应的操作标识,若该文件系统具有操作标识,则表征该文件系统具有对应的修复快照,从而无需再为该文件系统获取操作标识以及创建对应的修复快照,提高了文件系统修复的工作效率。
根据本发明的实施例,在分布式存储系统中,修复快照通常会占用较多的存储资源,若在为文件系统创建修复快照后,保留所有的修复快照,可能会对分布式存储框架的存储性能造成影响。因而,需要删除部分满足删除条件的修复快照来为分布式存储框架释放资源。
根据本发明的实施例,修复快照是根据预设命名规则命名的。
本发明实施例提供的文件系统修复方法还包括:
基于预设命名规则,从文件系统的多个快照中确定修复快照;
根据本发明的实施例,基于操作标识,可以从文件系统的多个快照中初步筛选出修复快照。
根据本发明的实施例,预设命名规则例如可以包括利用特定标识信息、操作标识、时间戳中至少一种对修复快照进行命名。例如,修复快照的名称可以为repair_34FD456_1637656384,其中,“repair”可以表示特定标识信息,34FD456可以表示操作标识,1637656384可以表示时间戳。
根据本发明的实施例,文件系统中例如可以包括4个快照,其中,第三快照和第四快照例如可以是根据特定标识信息“repair”命名的,从而可以遍历文件系统中存储的4个快照的快照名称,确定第三快照和第四快照为修复快照。
根据本发明的实施例,在为分布式存储框架释放存储资源时,可以先根据预设命名规则,从分布式存储框架中存储的4个快照中筛选出修复快照,即第三快照和第四快照,以便后续确定待删除的修复快照的操作标识与配置中心存储的操作标识的匹配关系。
根据本发明的实施例,通过在为分布式存储框架释放存储资源时,预先基于操作标识对分布式存储框架中存储的快照进行筛选,确定待删除的修复快照,可以实现提高分布式存储框架的资源释放效率的技术效果。
确定待删除的修复快照的操作标识与配置中心存储的操作标识的匹配关系;
根据本发明的实施例,确定修复快照后,可以解析该修复快照的快照名称,获取该修复快照的操作标识,然后基于该操作标识,确定配置中心中是否存在与该操作标识具有匹配关系的目标操作标识。
根据本发明的实施例,确定修复快照的操作标识与配置中心中存储的操作标识是否有匹配关系具体可以实现为对修复快照的操作标识和配置中心存储的操作标识逐一计算相似度,若配置中心中存在与修复快照的操作标识的相似度结果大于预设相似度阈值的操作标识,则可以确定修复快照的操作标识与配置中心存储的操作标识具有匹配关系,否则,则可以确定修复快照的操作标识与配置中心存储的操作标识不具有匹配关系。其中,预设相似度阈值例如可以为80%、90%、95%等,本发明实施例不对该预设相似度阈值的具体取值进行限定,本领域技术人员可以根据实际应用需求灵活地设置该预设相似度阈值。
在匹配关系表征配置中心不存在操作标识的情况下,删除与操作标识对应的修复快照。
根据本发明的实施例,在匹配关系表征配置中心存在该操作标识的情况下,表明该文件系统的修复操作还没有完成,则可以在配置中心中保留该操作标识以及与该操作标识相对应的修复快照。
根据本发明的实施例,若配置中心中不存在该操作标识,则说明与该操作标识对应的文件系统修复操作已经完成,不再需要该修复快照,从而可以将该操作标识从配置中心删除,并且将与该操作标识相对应的修复快照删除,以便为分布式存储框架释放存储资源。
根据本发明的实施例,删除与操作标识对应的修复快照包括:
基于修复快照的时间戳,确定修复快照是否满足删除条件;
根据本发明的实施例,删除条件例如可以包括该修复快照的存储时间是否大于预设存储时间阈值。
根据本发明的实施例,获取该修复快照的时间戳后,可以获取当前时间,然后基于修复快照的时间戳和当前时间计算得到第一时间跨度。计算得到第一时间跨度后,可以通过比较第一时间跨度和预设存储时间阈值的大小的方式确定该修复快照是否满足删除条件。
在修复快照满足删除条件的情况下,删除修复快照。
根据本发明的实施例,通过在基于配置中心是否存在操作标识这一判断条件判断是否删除修复快照的基础上,创新性的增加了基于修复快照的修复时间戳确定修复快照是否满足删除条件的判断条件,从而可以删除创建时间较早的修复快照,而将创建时间较晚的修复快照保留,从而可以将创建时间较晚的修复快照作为额外的安全备份,进一步增加了用户的数据的安全性。
根据本发明的实施例,在修复工具对文件系统修复完成后,文件系统修复方法还包括:
基于修复结果,向用户发送提示信息,其中,提示信息用于表征文件系统的故障情况和修复结果。
根据本发明的实施例,当用户对文件系统的可用性的要求较高时,可以选择优先修复,后告警的方式来进行修复,先保证业务可用,再进行后续的处理,例如向用户发出提示信息。从而可以实现可增加业务的可用性的技术效果。
根据本发明的实施例,文件系统的故障情况例如可以包括故障发生位置,受故障影响的数据列表、故障发生时间等。
根据本发明的实施例,修复结果例如可以包括修复成功和修复失败。
根据本发明的实施例,当提示信息表征文件系统修复失败后,用户可以基于该提示信息确定是否基于修复快照对文件系统进行回滚。
在本发明的实施例中,综合上文所述,文件系统修复方法可以实现为以下步骤1至步骤10:
步骤1:挂载云硬盘,当挂载失败时,则识别为文件系统故障,若挂载成功,跳转步骤10;
步骤2:文件系统识别器识别出云硬盘的文件系统的类型,识别的方式包括但不限于利用命令lsblk识别、利用配置中心记录识别;
步骤3:获取云硬盘对应的分布式存储厂商的资源信息,获取信息不限于集群信息、存储池信息、云硬盘信息;
步骤4:从配置中心获取操作标识(若不存在操作标识,则生成一个新的操作标识),操作标识用于识别一次修复操作是否完成,用于保证每一次修复操作的完整性;
步骤5:从分布式存储系统中获取该云硬盘的快照列表,检测是否存在包含操作标识以及特定标识符(例如repair)的快照名称的快照,若不存在,跳转到步骤6,若存在,直接跳转到步骤7;
步骤6:基于特定规则创建修复快照(规则包括但不限于特定的快照名称,例如:特定标识符(例如repair)+操作ID+时间戳,该命名方式的目的是区分修复快照和其他用途的快照);
步骤7:基于步骤2中识别的文件系统类型,调用特定的文件系统修复工具,进行文件系统修复;
步骤8:再次挂载云硬盘,若挂载失败,跳转步骤10;
步骤9:删除配置中心中的操作标识;
步骤10:文件系统修复流程结束。
图3示出了本发明提供的文件系统修复装置一个实施例的结构示意图,如图3所示,文件系统修复装置300可以包括第一确定模块301、调用模块302和快照回滚模块303。
第一确定模块301,用于当检测到文件系统故障的情况下,确定文件系统是否具有对应的修复快照,其中,文件系统包括分布式存储框架中的文件系统;
调用模块302,用于在文件系统具有对应的修复快照的情况下,调用与文件系统对应的修复工具对文件系统进行修复。
快照回滚模块303,用于在修复工具对文件系统修复失败的情况下,将文件系统中的数据回滚至修复快照记录的数据。
根据本发明的实施例,修复快照具有与检测到文件系统故障的时间相对应的时间戳。
根据本发明的实施例,快照回滚模块303包括回滚子模块。
回滚子模块,用于基于时间戳,将文件系统中在时间戳之后产生的数据删除。
根据本发明的实施例,在文件系统不具有对应的修复快照的情况下,文件系统修复装置300还可以包括第一获取模块和创建模块。
第一获取模块,用于获取文件系统的资源信息。
创建模块,用于根据资源信息,为文件系统创建修复快照。
根据本发明的实施例,资源信息表征文件系统在分布式存储框架中的存储位置。
根据本发明的实施例,创建模块包括第一生成子模块和创建子模块。
第一生成子模块,用于从配置中心获取操作标识,并生成与检测到文件系统故障的时间相对应的时间戳。
创建子模块,用于在资源信息表征的存储位置处,根据操作标识和时间戳创建修复快照。
根据本发明的实施例,文件系统修复装置300还可以包括挂载模块和配置中心操作模块。
挂载模块,用于挂载与文件系统相对应的云硬盘。
配置中心操作模块,用于若挂载模块挂载成功,从配置中心删除操作标识,否则,在配置中心保留操作标识。
根据本发明的实施例,修复快照是根据操作标识命名的。
根据本发明的实施例,文件系统修复装置300还可以包括第二确定模块,第三确定模块和第一删除模块。
第二确定模块,用于基于操作标识,从文件系统的多个快照中确定修复快照。
第三确定模块,用于确定修复快照的操作标识与配置中心存储的操作标识的匹配关系。
第一删除模块,用于在匹配关系表征配置中心不存在操作标识的情况下,删除与操作标识对应的修复快照。
根据本发明的实施例,第一删除模块包括第一确定单元和第一删除单元。
第一确定单元,用于基于修复快照的时间戳,确定修复快照是否满足删除条件;
第一删除单元,用于在修复快照满足删除条件的情况下,删除修复快照。
根据本发明的实施例,在修复工具对文件系统修复完成后,文件系统修复装置300还可以包括发送模块。
发送模块,用于基于修复结果,向用户发送提示信息,其中,提示信息用于表征文件系统的故障情况和修复结果。
图3的文件系统修复装置可以执行图1所示实施例所述的文件系统修复方法,其实现原理和技术效果不再赘述。对于上述实施例中的文件系统修复装置其中各个模块、子模块、单元执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
在一个可能的设计中,上述图3所示的文件系统修复装置的结构可实现为一电子设备。如图4所示,该电子设备400可以包括:处理器401、存储器402。其中,存储器402上存储有可执行代码,当所述可执行代码被处理器401执行时,至少使处理器401可以实现如前述图1所示实施例中提供的文件系统修复方法。
其中,该电子设备的结构中还可以包括通信接口403,用于与其他设备通信。
图5为本实施例提供的另一种电子设备的结构示意图,如图5所示,电子设备500可以包括以下一个或多个组件:处理组件502,存储器504,电源组件506,多媒体组件508,音频组件510,输入/输出(I/O)接口512,传感器组件514,以及通信组件516。
处理组件502通常控制电子设备500的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件502可以包括一个或多个处理器520来执行指令,以完成上述的方法步骤101-步骤103中的全部或部分步骤。此外,处理组件502可以包括一个或多个模块,便于处理组件502和其他组件之间的交互。例如,处理组件502可以包括多媒体模块,以方便多媒体组件508和处理组件502之间的交互。
存储器504被配置为存储各种类型的数据以支持在电子设备500的操作。这些数据的示例包括用于在电子设备500上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器504可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件506为电子设备500的各种组件提供电力。电源组件506可以包括电源管理系统,一个或多个电源,及其他与为电子设备500生成、管理和分配电力相关联的组件。
多媒体组件508包括在电子设备500和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件508包括一个前置摄像头和/或后置摄像头。当电子设备500处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件510被配置为输出和/或输入音频信号。例如,音频组件510包括一个麦克风(MIC),当电子设备500处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器504或经由通信组件516发送。在一些实施例中,音频组件510还包括一个扬声器,用于输出音频信号。
输入/输出(I/O)接口512为处理组件502和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件514包括一个或多个传感器,用于为电子设备500提供各个方面的状态评估。例如,传感器组件514可以检测到电子设备500的打开/关闭状态,组件的相对定位,例如所述组件为电子设备500的显示器和小键盘,传感器组件514还可以检测电子设备500或电子设备500一个组件的位置改变,用户与电子设备500接触的存在或不存在,电子设备500方位或加速/减速和电子设备500的温度变化。传感器组件514可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件514还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件514还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件516被配置为便于电子设备500和其他设备之间有线或无线方式的通信。电子设备500可以接入基于通信标准的无线网络,如WiFi,2G或3G或4G或它们的组合。在一个示例性实施例中,通信组件516经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件516还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,电子设备500可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器504,上述指令可由电子设备500的处理器520执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
另外,本发明实施例提供了一种非暂时性机器可读存储介质,所述非暂时性机器可读存储介质上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器执行前述图1所示实施例中提供的地址映射方法。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的各个模块可以是或者也可以不是物理上分开的。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施例的描述,本领域的技术人员可以清楚地了解到各实施例可借助加必需的通用硬件平台的方式来实现,当然也可以通过硬件和软件结合的方式来实现。基于这样的理解,上述技术方案本质上或者说对本发明做出贡献的部分可以以计算机产品的形式体现出来,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (11)

1.一种文件系统修复方法,其特征在于,包括:
当检测到文件系统故障的情况下,确定所述文件系统是否具有对应的修复快照;
在所述文件系统具有对应的修复快照的情况下,调用与所述文件系统对应的修复工具对所述文件系统进行修复;
在所述修复工具对所述文件系统修复失败的情况下,将所述文件系统中的数据回滚至所述修复快照记录的数据。
2.根据权利要求1所述的方法,其特征在于,所述修复快照具有与检测到所述文件系统故障的时间相对应的时间戳;
所述将所述文件系统中的数据回滚至所述修复快照记录的数据包括:
基于所述时间戳,将所述文件系统中在所述时间戳之后产生的数据删除。
3.根据权利要求1所述的方法,其特征在于,在所述文件系统不具有对应的修复快照的情况下,所述方法还包括:
获取所述文件系统的资源信息;
根据所述资源信息,为所述文件系统创建修复快照。
4.根据权利要求3所述的方法,其特征在于,所述资源信息表征所述文件系统在分布式存储框架中的存储位置;
所述根据所述资源信息,为所述文件系统创建修复快照包括:
从配置中心获取操作标识,并生成与检测到所述文件系统故障的时间相对应的时间戳;
在所述资源信息表征的存储位置处,根据所述操作标识和所述时间戳创建所述修复快照。
5.根据权利要求4所述的方法,其特征在于,在所述修复工具对所述文件系统修复完成后,所述方法还包括:
挂载与所述文件系统相对应的云硬盘;
若挂载成功,从所述配置中心删除所述操作标识,否则,在所述配置中心保留所述操作标识。
6.根据权利要求5所述的方法,其特征在于,所述修复快照是根据预设命名规则命名的;
所述方法还包括:
基于所述预设命名规则,从所述文件系统的多个快照中确定修复快照;
确定所述修复快照的操作标识与配置中心存储的操作标识的匹配关系;
在所述匹配关系表征所述配置中心不存在所述操作标识的情况下,删除与所述操作标识对应的修复快照。
7.根据权利要求6所述的方法,其特征在于,所述删除与所述操作标识对应的修复快照包括:
基于所述修复快照的时间戳,确定所述修复快照是否满足删除条件;
在所述修复快照满足所述删除条件的情况下,删除所述修复快照。
8.根据权利要求1所述的方法,其特征在于,在所述修复工具对所述文件系统修复完成后,所述方法还包括:
基于修复结果,向用户发送提示信息,其中,所述提示信息用于表征所述文件系统的故障情况和所述修复结果。
9.一种文件系统修复的装置,其特征在于,包括:
第一确定模块,用于当检测到文件系统故障的情况下,确定所述文件系统是否具有对应的修复快照,其中,所述文件系统包括分布式存储框架中的文件系统;
调用模块,用于在所述文件系统具有对应的修复快照的情况下,调用与所述文件系统对应的修复工具对所述文件系统进行修复;
快照回滚模块,用于在所述修复工具对所述文件系统修复失败的情况下,将所述文件系统中的数据回滚至所述修复快照记录的数据。
10.一种计算设备,其特征在于,包括处理组件以及存储组件;
所述存储组件存储一条或多条计算机指令;所述一条或多条计算机指令用以被所述处理组件调用执行;
所述存储组件存储一个或多个计算机指令;所述一个或多个计算机指令用以被所述处理组件调用执行,实现如权利要求1~8任一项所述的文件系统修复方法。
11.一种计算机存储介质,其特征在于,存储有计算机程序,所述计算程序被计算机执行时,实现如权利要求1~8任一项所述的文件系统修复方法。
CN202111583198.7A 2021-12-22 2021-12-22 文件系统修复方法、装置及计算设备 Pending CN114443357A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111583198.7A CN114443357A (zh) 2021-12-22 2021-12-22 文件系统修复方法、装置及计算设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111583198.7A CN114443357A (zh) 2021-12-22 2021-12-22 文件系统修复方法、装置及计算设备

Publications (1)

Publication Number Publication Date
CN114443357A true CN114443357A (zh) 2022-05-06

Family

ID=81364206

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111583198.7A Pending CN114443357A (zh) 2021-12-22 2021-12-22 文件系统修复方法、装置及计算设备

Country Status (1)

Country Link
CN (1) CN114443357A (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090249119A1 (en) * 2008-03-26 2009-10-01 Suren Sethumadhavan Using volume snapshots to prevent file corruption in failed restore operations
CN103631676A (zh) * 2013-11-06 2014-03-12 华为技术有限公司 一种只读快照的快照数据生成方法及装置
US20140325170A1 (en) * 2013-04-30 2014-10-30 WMware Inc. Conversion of Virtual Disk Snapshots Between Redo and Copy-on-Write Technologies
CN106708665A (zh) * 2016-12-20 2017-05-24 华为技术有限公司 一种元数据修复方法和装置
CN110502319A (zh) * 2019-08-23 2019-11-26 腾讯科技(深圳)有限公司 分布式事务的处理方法、装置、电子设备及存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090249119A1 (en) * 2008-03-26 2009-10-01 Suren Sethumadhavan Using volume snapshots to prevent file corruption in failed restore operations
US20140325170A1 (en) * 2013-04-30 2014-10-30 WMware Inc. Conversion of Virtual Disk Snapshots Between Redo and Copy-on-Write Technologies
CN103631676A (zh) * 2013-11-06 2014-03-12 华为技术有限公司 一种只读快照的快照数据生成方法及装置
CN106708665A (zh) * 2016-12-20 2017-05-24 华为技术有限公司 一种元数据修复方法和装置
CN110502319A (zh) * 2019-08-23 2019-11-26 腾讯科技(深圳)有限公司 分布式事务的处理方法、装置、电子设备及存储介质

Similar Documents

Publication Publication Date Title
CN105389507B (zh) 监控系统分区文件的方法及装置
US11455276B2 (en) Method for processing snapshots and distributed block storage system
CN106354884B (zh) 一种基于分布式文件系统的数据对象删除方法及装置
CN105975864A (zh) 操作系统的启动方法、装置及终端
CN103957322A (zh) 移动终端的防盗方法和移动终端
CN114356855A (zh) 文件管理方法、装置、电子装置及可读存储介质
CN116048644B (zh) 一种系统迁移方法、装置和可读存储介质
CN112596951A (zh) 一种nas数据容灾方法、装置、设备及存储介质
CN105867962A (zh) 系统升级的方法和装置
CN114328029B (zh) 一种应用资源的备份方法、装置、电子设备及存储介质
CN108459927B (zh) 一种数据备份方法、装置和服务器
CN114443357A (zh) 文件系统修复方法、装置及计算设备
JP2017228246A (ja) 情報処理装置、情報処理システム、プログラム、及び情報処理方法
KR102221593B1 (ko) 단말의 설치 환경 유지를 위한 시스템
CN111290882B (zh) 数据文件备份方法、数据文件备份装置及电子设备
CN108762944B (zh) 一种业务系统的处理方法、装置、设备及介质
CN112948020A (zh) 一种配置文件的处理方法和装置
CN113760608A (zh) 数据恢复方法和装置、电子设备和存储介质
CN113467941A (zh) 用于分享信息的方法和装置
CN112966147A (zh) 文件访问方法及装置、电子设备和存储介质
CN110908747A (zh) 页面处理方法、装置、电子设备及存储介质
CN111274210B (zh) 元数据处理方法、装置及电子设备
KR101763189B1 (ko) 백업을 이용한 파일 복구 방법
CN115037595B (zh) 网络恢复方法、装置、设备及存储介质
CN116361071B (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