CN113722155A - 一种分布式文件系统内数据备份及修复方法及相关组件 - Google Patents
一种分布式文件系统内数据备份及修复方法及相关组件 Download PDFInfo
- Publication number
- CN113722155A CN113722155A CN202111279481.0A CN202111279481A CN113722155A CN 113722155 A CN113722155 A CN 113722155A CN 202111279481 A CN202111279481 A CN 202111279481A CN 113722155 A CN113722155 A CN 113722155A
- Authority
- CN
- China
- Prior art keywords
- backup
- monitoring module
- monitoring
- file system
- management software
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 76
- 230000008439 repair process Effects 0.000 title claims abstract description 23
- 238000012544 monitoring process Methods 0.000 claims abstract description 357
- 230000008569 process Effects 0.000 claims description 36
- 238000004590 computer program Methods 0.000 claims description 15
- 230000004044 response Effects 0.000 claims description 7
- 230000000977 initiatory effect Effects 0.000 claims description 4
- 238000012216 screening Methods 0.000 claims description 4
- 206010033799 Paralysis Diseases 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 230000009471 action Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
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/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
-
- 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/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1469—Backup restoration techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种分布式文件系统内数据备份及修复方法、装置、设备及存储介质。该方法包括:通过分布式文件系统的管理软件,向分布式文件系统的目标监控模块发送数据库备份指令;利用目标监控模块根据数据库备份指令,将目标监控模块对应的监控数据库内的数据拷贝至管理软件发送的备份目录下,以便管理软件将备份目录下拷贝生成的备份文件存储至目标存储位置;通过管理软件监测分布式文件系统的状态,并根据状态和预设状态判断条件确定出待执行数据修复操作的待修复监控模块;通过管理软件从目标存储位置获取最新的备份文件,并将最新的备份文件存储至待修复监控模块对应的监控数据库,然后重启待修复监控模块,提高了分布式文件系统的容错能力。
Description
技术领域
本发明涉及分布式文件系统管理领域,特别涉及一种分布式文件系统内数据备份及修复方法、装置、设备及存储介质。
背景技术
分布式文件系统内通常设有监控(Monitor)模块和管理软件模块,且监控模块和管理软件安装于分布式文件系统内的部分节点上,监控模块的主要功能是管理集群(即分布式文件系统)和监控集群的各种状态,监控模块是分布式文件系统的核心模块,监控负责管理集群的各种Map,如OSDMap(OSDMonitor负责管理)、PGMap(PGMonior负责管理)、MDSMap(MDSMonitor负责管理)等。管理软件通过与监控模块进行交互来实现对集群的管理和监控,监控模块管理的各种信息会保存在监控数据库里,监控数据库使用键值存储(kvstore,key-value store)来存储数据,且集群中的多个监控数据库内的数据是一致的,即保存在kvstore中的数据是一样的,该数据能够保证监控模块在发生故障后,可以重新加载kvstore中的数据来恢复正常。由此可见,kvstore中的数据对于监控模块来说是至关重要的。监控模块的kvstore部署在SSD(Solid State Disk,固态硬盘)或者HDD(Hard DiskDrive,机械硬盘)等物理介质上,当系统发生异常掉电时,kvstore存在损坏的风险,kvstore损坏后该节点的监控模块将无法启动。现有技术中,在系统内一个节点的kvstore损坏后,可以通过其他节点的kvstore进行修复。但是当系统异常掉电时,所有监控模块的kvstore发生损坏时会导致分布式文件系统的瘫痪,且无法进行恢复。
发明内容
有鉴于此,本发明的目的在于提供一种分布式文件系统内数据备份及修复方法、装置、设备及介质,能够避免在系统异常掉电时导致所有监控模块的数据同时损坏进而使分布式文件系统瘫痪的问题,提高了分布式文件系统内监控模块的容错能力。其具体方案如下:
第一方面,本申请公开了一种分布式文件系统内数据备份及修复方法,包括:
通过分布式文件系统的管理软件,向所述分布式文件系统的目标监控模块发送数据库备份指令;
利用所述目标监控模块根据所述数据库备份指令,将所述目标监控模块对应的监控数据库内的数据拷贝至所述管理软件发送的备份目录下,以便所述管理软件将所述备份目录下拷贝生成的备份文件存储至目标存储位置;
通过所述管理软件监测所述分布式文件系统的状态,并根据所述状态和预设状态判断条件确定出待执行数据修复操作的待修复监控模块;
通过所述管理软件从所述目标存储位置获取最新的备份文件,并将所述最新的备份文件存储至所述待修复监控模块对应的监控数据库,然后重启所述待修复监控模块。
可选的,所述通过分布式文件系统的管理软件,向所述分布式文件系统的目标监控模块发送数据库备份指令,包括:
监测监控数据库当前是否符合备份条件;所述备份条件包括数据库是否发生更新和是否达到数据备份的最小时间间隔;
若所述监控数据库当前符合备份条件,则向所述分布式文件系统的目标监控模块发送数据库备份指令。
可选的,所述利用所述目标监控模块根据所述数据库备份指令,将所述目标监控模块对应的监控数据库内的数据拷贝至所述管理软件发送的备份目录下,包括:
接收到所述数据库备份指令后,向其余监控模块发送备份准备通知,以便其余监控模块根据所述备份准备通知将所述目标监控模块从监控委员会中剔除,以便所述目标监控模块不再响应所述分布式文件系统的业务请求;
根据所述数据库备份指令对自身对应的监控数据库内的数据进行逐层压缩,得到压缩后文件;
获取所述管理软件发送的备份目录,并在所述备份目录中建立一个新的键值存储文件夹,将所述压缩文件拷贝到所述新的键值存储文件夹内以生成备份文件;
向所述管理软件发送备份完成响应,并向所述监控委员会发起重新加入申请。
可选的,所述管理软件将所述备份目录下拷贝生成的备份文件存储至目标存储位置之前,还包括:
判断所述备份目录下备份文件的数量是否超过预先通过所述管理软件配置的备份文件个数阈值;所述备份文件个数阈值为所述分布式文件系统内监控模块的数量;
若超过,则根据每个备份文件对应的备份时间,以及所述备份文件的数量与所述备份文件个数阈值的差值,从所述备份目录中筛选出对应数量的低权重文件并删除。
可选的,所述管理软件将所述备份目录下拷贝生成的备份文件存储至目标存储位置,包括:
根据预先通过所述管理软件配置的云主机地址,将所述备份文件上传至相应的云主机;
或,将所述备份文件保存至所述目标监控模块所在节点的系统盘内。
可选的,所述向所述分布式文件系统的目标监控模块发送数据库备份指令之前,还包括:
根据所述分布式文件系统内,每个监控模块所在节点的系统盘内存储的备份文件数量,选择含有备份文件数量最小的监控模块作为所述目标监控模块;
若每个所述监控模块所在节点的系统盘内存储的备份文件的数量相同,则选择含有备份时间最早的备份文件所在的监控模块作为所述目标监控模块。
可选的,所述通过所述管理软件监测所述分布式文件系统的状态,并根据所述状态和预设状态判断条件确定出待执行数据修复操作的待修复监控模块,包括:
通过所述管理软件监测所述分布式文件系统的状态;
若在预设时间长度后仍未检测到所述分布式文件系统的状态,则确定出当前所述管理软件能够连接上的监控模块,并统计能够连接上的监控模块的数量以得到连接个数;
若所述连接个数大于监控委员会规定的成立所需的最少节点数量,则确定所述能够连接上的监控模块的监控进程是否处于运行状态,并统计处于运行状态的监控进程的数量以得到进程数量;
若所述进程数量小于监控委员会规定的成立所需的最少进程数量,则启动未运行的监控进程,并记录进程退出码;
若所述进程退出码为表征读取键值存储文件失败的退出码,则判定当前监控模块为待执行数据修复操作的待修复监控模块。
第二方面,本申请公开了一种分布式文件系统内数据备份及修复装置,包括:
数据库备份指令发送模块,用于通过分布式文件系统的管理软件,向所述分布式文件系统的目标监控模块发送数据库备份指令;
备份模块,用于利用所述目标监控模块根据所述数据库备份指令,将所述目标监控模块对应的监控数据库内的数据拷贝至所述管理软件发送的备份目录下,以便所述管理软件将所述备份目录下拷贝生成的备份文件存储至目标存储位置;
状态监测模块,用于通过所述管理软件监测所述分布式文件系统的状态,并根据所述状态和预设状态判断条件确定出待执行数据修复操作的待修复监控模块;
修复模块,用于通过所述管理软件从所述目标存储位置获取最新的备份文件,并将所述最新的备份文件存储至所述待修复监控模块对应的监控数据库,然后重启所述待修复监控模块。
第三方面,本申请公开了一种电子设备,包括:
存储器,用于保存计算机程序;
处理器,用于执行所述计算机程序,以实现前述的分布式文件系统内数据备份及修复方法。
第四方面,本申请公开了一种计算机可读存储介质,用于存储计算机程序;其中计算机程序被处理器执行时实现前述的分布式文件系统内数据备份及修复方法。
本申请中,通过分布式文件系统的管理软件,向所述分布式文件系统的目标监控模块发送数据库备份指令;利用所述目标监控模块根据所述数据库备份指令,将所述目标监控模块对应的监控数据库内的数据拷贝至所述管理软件发送的备份目录下,以便所述管理软件将所述备份目录下拷贝生成的备份文件存储至目标存储位置;通过所述管理软件监测所述分布式文件系统的状态,并根据所述状态和预设状态判断条件确定出待执行数据修复操作的待修复监控模块;通过所述管理软件从所述目标存储位置获取最新的备份文件,并将所述最新的备份文件存储至所述待修复监控模块对应的监控数据库,然后重启所述待修复监控模块。
可见,通过向目标监控模块发送数据库备份指令,由目标监控模块执行本地数据的拷贝操作,再由管理软件将拷贝获取的备份文件存储至目标存储位置,实现对监控模块对应的监控数据库内数据的备份,同时,通过管理软件检测分布式系统的状态,并根据状态选择出需要进行数据修复的待修复监控模块,然后从上述目标存储位置获取到最新的备份文件后存入待修复监控模块,以实现对待修复监控模块内相关数据的修复,避免了在系统异常掉电时导致所有监控模块的数据同时损坏进而使分布式文件系统瘫痪的问题,提高了分布式文件系统内监控模块的容错能力。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请提供的一种分布式文件系统内数据备份及修复方法流程图;
图2为本申请提供的一种分布式文件系统内数据备份及修复装置结构示意图;
图3为本申请提供的一种电子设备结构图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
现有技术中,现有技术中,在系统内一个节点的kvstore损坏后,可以通过其他节点的kvstore进行修复。但是当系统异常掉电时,所有监控模块的kvstore发生损坏时会导致分布式文件系统的瘫痪,且无法进行恢复。为克服上述技术问题,本申请提出一种分布式文件系统内数据备份及修复方法,能够避免在系统异常掉电时导致所有监控模块的数据同时损坏进而使分布式文件系统瘫痪的问题,提高了分布式文件系统内监控模块的容错能力
本申请实施例公开了一种分布式文件系统内数据备份及修复方法,参见图1所示,该方法可以包括以下步骤:
步骤S11:通过分布式文件系统的管理软件,向所述分布式文件系统的目标监控模块发送数据库备份指令。
通过分布式文件系统的管理软件,向分布式文件系统的目标监控模块发送数据库备份指令。可以理解的是,由于监控模块运行过程中会对自身监控数据库内的数据进行加锁,所以无法从外部直接备份数据,因此需要向监控模块发送数据库备份指令,以便目标监控模块执行数据的拷贝。
本实施例中,所述通过分布式文件系统的管理软件,向所述分布式文件系统的目标监控模块发送数据库备份指令,可以包括:监测监控数据库当前是否符合备份条件;所述备份条件包括数据库是否发生更新和是否达到数据备份的最小时间间隔;若所述监控数据库当前符合备份条件,则向所述分布式文件系统的目标监控模块发送数据库备份指令。
也即,通过管理软件可以在定时任务里定时检查是否需要备份监控模块的监控数据库,备份条件包括两个方面,两个条件必现同时满足,即监控数据库是否发生更新和是否达到备份数据的最小时间间隔。可以理解的是,监控数据库发生更新时会调用管理软件的接口与管理软件进行交互,通知管理软件可以确定监控模块的数据发生更新以及更新时间,而管理软件会记录监控模块的数据更新时间。进而管理软件通过检查上次进行监控数据库备份的时间,以及检查上次监控数据库发生更新的时间,如果当前时间超过了备份的最小间隔时间且监控模块在上次备份到现在发生过数据更新则需要执行数据备份。其中,管理员可以通过管理软件配置上述最小时间间隔,最小间隔时间是以小时为单位的,也可以是以天为单位,如1个小时,或7天等。
步骤S12:利用所述目标监控模块根据所述数据库备份指令,将所述目标监控模块对应的监控数据库内的数据拷贝至所述管理软件发送的备份目录下,以便所述管理软件将所述备份目录下拷贝生成的备份文件存储至目标存储位置。
目标监控模块在接收到上述数据库备份指令后,根据数据库备份指令将本地的监控数据库内的数据拷贝至管理软件发送的备份目录下,以便管理软件将备份目录下拷贝生成的备份文件存储至目标存储位置。即目标监控模块先将数据从监控数据库中拷贝出来生成备份文件,在由管理软件去获取备份文件并存储至目标存储位置,以实现数据的备份,其中,上述目标存储位置可以为云端,也可以为上述目标监控模块所在节点的系统盘。
本实施例中,所述利用所述目标监控模块根据所述数据库备份指令,将所述目标监控模块对应的监控数据库内的数据拷贝至所述管理软件发送的备份目录下,可以包括:接收到所述数据库备份指令后,向其余监控模块发送备份准备通知,以便其余监控模块根据所述备份准备通知将所述目标监控模块从监控委员会中剔除,以便所述目标监控模块不再响应所述分布式文件系统的业务请求;根据所述数据库备份指令对自身对应的监控数据库内的数据进行逐层压缩,得到压缩后文件;获取所述管理软件发送的备份目录,并在所述备份目录中建立一个新的键值存储文件夹,将所述压缩文件拷贝到所述新的键值存储文件夹内以生成备份文件;向所述管理软件发送备份完成响应,并向所述监控委员会发起重新加入申请。
也即,管理软件调用监控模块的备份数据库指令,目标监控模块收到备份数据库指令后启动备份流程。由于备份数据库比较耗时,为了避免备份影响集群的性能,所以目标监控模块收到备份指令后先通知其他监控模块自身需要进入备份状态。其他监控模块收到目标监控模块的备份准备通知后重新进行选举,将目标监控模块暂时从监控模块的委员会里剔除,使目标监控模块不再响应集群业务请求。为减少备份的数据量,目标监控模块先对数据库进行压缩,将数据库的分层数据逐层进行压缩。目标监控模块在管软发生过来的备份目录里新建一个新的键值存储文件夹(kvstore,key-value store),然后将自己数据库里的数据全部拷贝到该键值存储文件夹,并在拷贝完成后关闭该键值存储文件夹。然后,目标监控模块给管理软件回复备份完成的消息。最后,目标监控模块发起选举流程,申请重新加入监控模块的委员会。由此,不仅可以提高备份效率,还可以避免对分布式文件系统性能的干扰。
本实施例中,所述管理软件将所述备份目录下拷贝生成的备份文件存储至目标存储位置之前,还可以包括:判断所述备份目录下备份文件的数量是否超过预先通过所述管理软件配置的备份文件个数阈值;所述备份文件个数阈值为所述分布式文件系统内监控模块的数量;若超过,则根据每个备份文件对应的备份时间,以及所述备份文件的数量与所述备份文件个数阈值的差值,从所述备份目录中筛选出对应数量的低权重文件并删除。即管理软件收到目标监控模块回复的备份完成响应后,可以先对备份目录进行打包,然后判断打包后判断备份目录下备份文件的数量是否超过备份文件个数阈值,若超过,则根据每个备份文件对应的备份时间,以及备份文件的数量与备份文件个数阈值的差值,从备份目录中筛选出对应数量的低权重文件并删除,即选择一些备份时间最早的及较早的一些文件进行删除。其中,上述备份文件个数阈值为通过上述管理软件配置的参数,具体的,可以将分布式文件系统内监控模块的数量值作为备份文件个数阈值。由此避免冗余数据占用资源。
本实施例中,所述管理软件将所述备份目录下拷贝生成的备份文件存储至目标存储位置,可以包括:根据预先通过所述管理软件配置的云主机地址,将所述备份文件上传至相应的云主机;或,将所述备份文件保存至所述目标监控模块所在节点的系统盘内。可以根据配置的云主机地址,将备份文件上传至相应的云主机,也可以将备份文件保存至目标监控模块所在节点的系统盘或单独的分区上,但若不存在配置的云主机地址,则可以直接将备份文件保存至目标监控模块所在节点的系统盘。并且,无论是存入云主机还是系统盘,管理软件都会对数据备份过程进行记录,包括对存储的具体位置及备份文件的信息进行记录,如管理软件会记录各个备份文件保存在分布式文件系统的具体哪个节点以及具体哪个目录里。其中,上述云主机地址为预先通过管理软件配置的,具体地址可由用户根据需求自己配置。由此向用户提供了灵活的备份文件存储方式。
本实施例中,所述向所述分布式文件系统的目标监控模块发送数据库备份指令之前,还可以包括:根据所述分布式文件系统内,每个监控模块所在节点的系统盘内存储的备份文件数量,选择含有备份文件数量最小的监控模块作为所述目标监控模块;若每个所述监控模块所在节点的系统盘内存储的备份文件的数量相同,则选择含有备份时间最早的备份文件所在的监控模块作为所述目标监控模块。可以理解的是,由于分布式文件系统内所有监控模块对应的监控数据库内的数据是一致的,因此只需要一个监控模块进行备份即可,而为了使备份文件均匀的保存在各个监控模块的节点上,本实施例中根据监控模块所在节点的系统盘内存储的备份文件数量选择出目标监控模块执行备份操作,以便拥有充分资源进行备份操作,保证备份的效率。
具体的,管理软件根据各个监控模块保存备份文件的个数以及备份文件的备份时间,将数据库备份指令发送到最优的目标监控模块上。具体的,优先选择当前监控模块委员会成员中保存备份文件数最少的监控模块,如果各个监控模块保存的备份文件数一样多,则选择含有最早的备份文件所在的监控模块作为目标监控模块。
步骤S13:通过所述管理软件监测所述分布式文件系统的状态,并根据所述状态和预设状态判断条件确定出待执行数据修复操作的待修复监控模块。
除对监控模块进行备份外,本实施例中同时还对监控模块进行数据修复,通过管理软件监测分布式文件系统的状态,并根据分布式文件系统的状态和预设状态判断条件确定出待执行数据修复操作的待修复监控模块,即数据遭受损坏的监控模块。
本实施例中,所述通过所述管理软件监测所述分布式文件系统的状态,并根据所述状态和预设状态判断条件确定出待执行数据修复操作的待修复监控模块,可以包括:通过所述管理软件监测所述分布式文件系统的状态;若在预设时间长度后仍未检测到所述分布式文件系统的状态,则确定出当前所述管理软件能够连接上的监控模块,并统计能够连接上的监控模块的数量以得到连接个数;若所述连接个数大于监控委员会规定的成立所需的最少节点数量,则确定所述能够连接上的监控模块的监控进程是否处于运行状态,并统计处于运行状态的监控进程的数量以得到进程数量;若所述进程数量小于监控委员会规定的成立所需的最少进程数量,则启动未运行的监控进程,并记录进程退出码;若所述进程退出码为表征读取键值存储文件失败的退出码,则判定当前监控模块为待执行数据修复操作的待修复监控模块。
可以理解的是,管理软件通过定时调用监控模块命令查询分布式文件系统的状态,如果在预设时间长度后仍未检测到分布式文件系统的状态,预设时间长度可以根据需求配置,如超过10分钟还未查询到分布式文件系统的状态,既没有得到任何响应,则确定出当前管理软件能够连接上的监控模块以及能够连接上的个数,得到连接个数。
如果连接个数大于监控委员会规定的成立所需的最少节点数量,则检查能够连接上的监控模块的监控模块进程是否正在运行,以及正在运行的监控模块进程个数,得到进程数量。如果进程数量小于监控委员会规定的成立所需的最少进程数量,则重新启动检测到的未在运行的监控进程,并记录进程退出码。若进程退出码为由于打开键值存储文件失败生成的退出码,则判定当前该未在运行的监控进程所在的监控模块为待执行数据修复操作的待修复监控模块。
步骤S14:通过所述管理软件从所述目标存储位置获取最新的备份文件,并将所述最新的备份文件存储至所述待修复监控模块对应的监控数据库,然后重启所述待修复监控模块。
确定出待修复监控模块后,管理软件从上述目标存储位置获取最新的备份文件,并将最新的备份文件存储至待修复监控模块对应的监控数据库,然后重启该待修复监控模块,以便重启后该监控模块正常运行。可以理解的是,由于管理软件对每次数据库备份操作都有记录,因此根据记录可以从云主机或分布式文件系统内某个节点中获取到最新的备份文件。具体的如果从分布式文件系统内监控模块所在节点能够拿到最新的备份文件则从节点拿,如果拿不到最新的备份文件,但是配置了云主机且云主机能够拿到最新的备份文件则从云主机拿。如果没有配云主机,或者云主机没有最新的备份文件则从分布式文件系统内监控模块所在节点拿次新的备份文件,以此类推,直到拿到一份能拿到的最新的备份文件。然后,将获取的备份文件解压还原到上述待修复监控模块的监控数据库中,并重启该待修复监控模块。由此通过管理软件对监控模块的数据进行在线备份、验证及恢复,
由上可见,本实施例中通过分布式文件系统的管理软件,向所述分布式文件系统的目标监控模块发送数据库备份指令;利用所述目标监控模块根据所述数据库备份指令,将所述目标监控模块对应的监控数据库内的数据拷贝至所述管理软件发送的备份目录下,以便所述管理软件将所述备份目录下拷贝生成的备份文件存储至目标存储位置;通过所述管理软件监测所述分布式文件系统的状态,并根据所述状态和预设状态判断条件确定出待执行数据修复操作的待修复监控模块;通过所述管理软件从所述目标存储位置获取最新的备份文件,并将所述最新的备份文件存储至所述待修复监控模块对应的监控数据库,然后重启所述待修复监控模块。可见,通过向目标监控模块发送数据库备份指令,由目标监控模块执行本地数据的拷贝操作,再由管理软件将拷贝获取的备份文件存储至目标存储位置,实现对监控模块对应的监控数据库内数据的备份,同时,通过管理软件检测分布式系统的状态,并根据状态选择出需要进行数据修复的待修复监控模块,然后从上述目标存储位置获取到最新的备份文件后存入待修复监控模块,以实现对待修复监控模块内相关数据的修复,避免了在系统异常掉电时导致所有监控模块的数据同时损坏进而使分布式文件系统瘫痪的问题,提高了分布式文件系统内监控模块的容错能力。
相应的,本申请实施例还公开了一种分布式文件系统内数据备份及修复装置,参见图2所示,该装置包括:
数据库备份指令发送模块11,用于通过分布式文件系统的管理软件,向所述分布式文件系统的目标监控模块发送数据库备份指令;
备份模块12,用于利用所述目标监控模块根据所述数据库备份指令,将所述目标监控模块对应的监控数据库内的数据拷贝至所述管理软件发送的备份目录下,以便所述管理软件将所述备份目录下拷贝生成的备份文件存储至目标存储位置;
状态监测模块13,用于通过所述管理软件监测所述分布式文件系统的状态,并根据所述状态和预设状态判断条件确定出待执行数据修复操作的待修复监控模块;
修复模块14,用于通过所述管理软件从所述目标存储位置获取最新的备份文件,并将所述最新的备份文件存储至所述待修复监控模块对应的监控数据库,然后重启所述待修复监控模块。
由上可见,本实施例中通过向目标监控模块发送数据库备份指令,由目标监控模块执行本地数据的拷贝操作,再由管理软件将拷贝获取的备份文件存储至目标存储位置,实现对监控模块对应的监控数据库内数据的备份,同时,通过管理软件检测分布式系统的状态,并根据状态选择出需要进行数据修复的待修复监控模块,然后从上述目标存储位置获取到最新的备份文件后存入待修复监控模块,以实现对待修复监控模块内相关数据的修复,避免了在系统异常掉电时导致所有监控模块的数据同时损坏进而使分布式文件系统瘫痪的问题,提高了分布式文件系统内监控模块的容错能力。
在一些具体实施例中,所述数据库备份指令发送模块11具体可以包括:
监控数据库监测单元,用于监测监控数据库当前是否符合备份条件;所述备份条件包括数据库是否发生更新和是否达到数据备份的最小时间间隔;
指令下发单元,用于若所述监控数据库当前符合备份条件,则向所述分布式文件系统的目标监控模块发送数据库备份指令。
在一些具体实施例中,所述备份模块12具体可以包括:
目标监控模块剔除单元,用于接收到所述数据库备份指令后,利用所述目标监控模块向其余监控模块发送备份准备通知,以便其余监控模块根据所述备份准备通知将所述目标监控模块从监控委员会中剔除,以便所述目标监控模块不再响应所述分布式文件系统的业务请求;
压缩单元,用于根据所述数据库备份指令对自身对应的监控数据库内的数据进行逐层压缩,得到压缩后文件;
拷贝单元,用于获取所述管理软件发送的备份目录,并在所述备份目录中建立一个新的键值存储文件夹,将所述压缩文件拷贝到所述新的键值存储文件夹内以生成备份文件;
备份完成响应单元,用于向所述管理软件发送备份完成响应,并向所述监控委员会发起重新加入申请。
在一些具体实施例中,所述分布式文件系统内数据备份及修复装置具体可以包括:
备份文件数量判断单元,用于判断所述备份目录下备份文件的数量是否超过预先通过所述管理软件配置的备份文件个数阈值;所述备份文件个数阈值为所述分布式文件系统内监控模块的数量;
文件删除单元,用于若所述备份目录下备份文件的数量超过预先通过所述管理软件配置的备份文件个数阈值,则根据每个备份文件对应的备份时间,以及所述备份文件的数量与所述备份文件个数阈值的差值,从所述备份目录中筛选出对应数量的低权重文件并删除。
在一些具体实施例中,所述备份模块12具体可以包括:
第一存储单元,用于根据预先通过所述管理软件配置的云主机地址,将所述备份文件上传至相应的云主机;
第二存储单元,用于将所述备份文件保存至所述目标监控模块所在节点的系统盘内。
在一些具体实施例中,所述分布式文件系统内数据备份及修复装置具体可以包括:
目标监控模块第一确定单元,用于根据所述分布式文件系统内,每个监控模块所在节点的系统盘内存储的备份文件数量,选择含有备份文件数量最小的监控模块作为所述目标监控模块;
目标监控模块第二确定单元,用于若每个所述监控模块所在节点的系统盘内存储的备份文件的数量相同,则选择含有备份时间最早的备份文件所在的监控模块作为所述目标监控模块。
在一些具体实施例中,所述修复模块14具体可以包括:
系统状态监测单元,用于通过所述管理软件监测所述分布式文件系统的状态;
连接个数确定单元,用于若在预设时间长度后仍未检测到所述分布式文件系统的状态,则确定出当前所述管理软件能够连接上的监控模块,并统计能够连接上的监控模块的数量以得到连接个数;
进程数量确定单元,用于若所述连接个数大于监控委员会规定的成立所需的最少节点数量,则确定所述能够连接上的监控模块的监控进程是否处于运行状态,并统计处于运行状态的监控进程的数量以得到进程数量;
进程退出码记录单元,用于若所述进程数量小于监控委员会规定的成立所需的最少进程数量,则启动未运行的监控进程,并记录进程退出码;
待修复监控模块确定单元,用于若所述进程退出码为表征读取键值存储文件失败的退出码,则判定当前监控模块为待执行数据修复操作的待修复监控模块。
进一步的,本申请实施例还公开了一种电子设备,参见图3所示,图中的内容不能被认为是对本申请的使用范围的任何限制。
图3为本申请实施例提供的一种电子设备20的结构示意图。该电子设备20,具体可以包括:至少一个处理器21、至少一个存储器22、电源23、通信接口24、输入输出接口25和通信总线26。其中,所述存储器22用于存储计算机程序,所述计算机程序由所述处理器21加载并执行,以实现前述任一实施例公开的分布式文件系统内数据备份及修复方法中的相关步骤。
本实施例中,电源23用于为电子设备20上的各硬件设备提供工作电压;通信接口24能够为电子设备20创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本申请技术方案的任意通信协议,在此不对其进行具体限定;输入输出接口25,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。
另外,存储器22作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源包括操作系统221、计算机程序222及包括备份文件在内的数据223等,存储方式可以是短暂存储或者永久存储。
其中,操作系统221用于管理与控制电子设备20上的各硬件设备以及计算机程序222,以实现处理器21对存储器22中海量数据223的运算与处理,其可以是Windows Server、Netware、Unix、Linux等。计算机程序222除了包括能够用于完成前述任一实施例公开的由电子设备20执行的分布式文件系统内数据备份及修复方法的计算机程序之外,还可以进一步包括能够用于完成其他特定工作的计算机程序。
进一步的,本申请实施例还公开了一种计算机存储介质,所述计算机存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现前述任一实施例公开的分布式文件系统内数据备份及修复方法步骤。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本发明所提供的一种分布式文件系统内数据备份及修复方法、装置、设备及介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种分布式文件系统内数据备份及修复方法,其特征在于,包括:
通过分布式文件系统的管理软件,向所述分布式文件系统的目标监控模块发送数据库备份指令;
利用所述目标监控模块根据所述数据库备份指令,将所述目标监控模块对应的监控数据库内的数据拷贝至所述管理软件发送的备份目录下,以便所述管理软件将所述备份目录下拷贝生成的备份文件存储至目标存储位置;
通过所述管理软件监测所述分布式文件系统的状态,并根据所述状态和预设状态判断条件确定出待执行数据修复操作的待修复监控模块;
通过所述管理软件从所述目标存储位置获取最新的备份文件,并将所述最新的备份文件存储至所述待修复监控模块对应的监控数据库,然后重启所述待修复监控模块。
2.根据权利要求1所述的分布式文件系统内数据备份及修复方法,其特征在于,所述通过分布式文件系统的管理软件,向所述分布式文件系统的目标监控模块发送数据库备份指令,包括:
监测监控数据库当前是否符合备份条件;所述备份条件包括数据库是否发生更新和是否达到数据备份的最小时间间隔;
若所述监控数据库当前符合备份条件,则向所述分布式文件系统的目标监控模块发送数据库备份指令。
3.根据权利要求1所述的分布式文件系统内数据备份及修复方法,其特征在于,所述利用所述目标监控模块根据所述数据库备份指令,将所述目标监控模块对应的监控数据库内的数据拷贝至所述管理软件发送的备份目录下,包括:
接收到所述数据库备份指令后,向其余监控模块发送备份准备通知,以便其余监控模块根据所述备份准备通知将所述目标监控模块从监控委员会中剔除,以便所述目标监控模块不再响应所述分布式文件系统的业务请求;
根据所述数据库备份指令对自身对应的监控数据库内的数据进行逐层压缩,得到压缩后文件;
获取所述管理软件发送的备份目录,并在所述备份目录中建立一个新的键值存储文件夹,将所述压缩文件拷贝到所述新的键值存储文件夹内以生成备份文件;
向所述管理软件发送备份完成响应,并向所述监控委员会发起重新加入申请。
4.根据权利要求3所述的分布式文件系统内数据备份及修复方法,其特征在于,所述管理软件将所述备份目录下拷贝生成的备份文件存储至目标存储位置之前,还包括:
判断所述备份目录下备份文件的数量是否超过预先通过所述管理软件配置的备份文件个数阈值;所述备份文件个数阈值为所述分布式文件系统内监控模块的数量;
若超过,则根据每个备份文件对应的备份时间,以及所述备份文件的数量与所述备份文件个数阈值的差值,从所述备份目录中筛选出对应数量的低权重文件并删除。
5.根据权利要求1所述的分布式文件系统内数据备份及修复方法,其特征在于,所述管理软件将所述备份目录下拷贝生成的备份文件存储至目标存储位置,包括:
根据预先通过所述管理软件配置的云主机地址,将所述备份文件上传至相应的云主机;
或,将所述备份文件保存至所述目标监控模块所在节点的系统盘内。
6.根据权利要求5所述的分布式文件系统内数据备份及修复方法,其特征在于,所述向所述分布式文件系统的目标监控模块发送数据库备份指令之前,还包括:
根据所述分布式文件系统内,每个监控模块所在节点的系统盘内存储的备份文件数量,选择含有备份文件数量最小的监控模块作为所述目标监控模块;
若每个所述监控模块所在节点的系统盘内存储的备份文件的数量相同,则选择含有备份时间最早的备份文件所在的监控模块作为所述目标监控模块。
7.根据权利要求1至6任一项所述的分布式文件系统内数据备份及修复方法,其特征在于,所述通过所述管理软件监测所述分布式文件系统的状态,并根据所述状态和预设状态判断条件确定出待执行数据修复操作的待修复监控模块,包括:
通过所述管理软件监测所述分布式文件系统的状态;
若在预设时间长度后仍未检测到所述分布式文件系统的状态,则确定出当前所述管理软件能够连接上的监控模块,并统计能够连接上的监控模块的数量以得到连接个数;
若所述连接个数大于监控委员会规定的成立所需的最少节点数量,则确定所述能够连接上的监控模块的监控进程是否处于运行状态,并统计处于运行状态的监控进程的数量以得到进程数量;
若所述进程数量小于监控委员会规定的成立所需的最少进程数量,则启动未运行的监控进程,并记录进程退出码;
若所述进程退出码为表征读取键值存储文件失败的退出码,则判定当前监控模块为待执行数据修复操作的待修复监控模块。
8.一种分布式文件系统内数据备份及修复装置,其特征在于,包括:
数据库备份指令发送模块,用于通过分布式文件系统的管理软件,向所述分布式文件系统的目标监控模块发送数据库备份指令;
备份模块,用于利用所述目标监控模块根据所述数据库备份指令,将所述目标监控模块对应的监控数据库内的数据拷贝至所述管理软件发送的备份目录下,以便所述管理软件将所述备份目录下拷贝生成的备份文件存储至目标存储位置;
状态监测模块,用于通过所述管理软件监测所述分布式文件系统的状态,并根据所述状态和预设状态判断条件确定出待执行数据修复操作的待修复监控模块;
修复模块,用于通过所述管理软件从所述目标存储位置获取最新的备份文件,并将所述最新的备份文件存储至所述待修复监控模块对应的监控数据库,然后重启所述待修复监控模块。
9.一种电子设备,其特征在于,包括:
存储器,用于保存计算机程序;
处理器,用于执行所述计算机程序,以实现如权利要求1至7任一项所述的分布式文件系统内数据备份及修复方法。
10.一种计算机可读存储介质,其特征在于,用于存储计算机程序;其中计算机程序被处理器执行时实现如权利要求1至7任一项所述的分布式文件系统内数据备份及修复方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111279481.0A CN113722155A (zh) | 2021-11-01 | 2021-11-01 | 一种分布式文件系统内数据备份及修复方法及相关组件 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111279481.0A CN113722155A (zh) | 2021-11-01 | 2021-11-01 | 一种分布式文件系统内数据备份及修复方法及相关组件 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113722155A true CN113722155A (zh) | 2021-11-30 |
Family
ID=78686251
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111279481.0A Pending CN113722155A (zh) | 2021-11-01 | 2021-11-01 | 一种分布式文件系统内数据备份及修复方法及相关组件 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113722155A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114722029A (zh) * | 2022-04-18 | 2022-07-08 | 苏州浪潮智能科技有限公司 | 一种修复monitor数据库的方法、系统、设备和存储介质 |
CN114860505A (zh) * | 2022-04-20 | 2022-08-05 | 中国科学院计算机网络信息中心 | 一种对象存储数据异步备份方法及系统 |
CN115794491A (zh) * | 2022-11-30 | 2023-03-14 | 广州市保伦电子有限公司 | 数据库文件备份方法、装置、设备及存储介质 |
WO2023165226A1 (zh) * | 2022-03-02 | 2023-09-07 | 苏州浪潮智能科技有限公司 | 一种应用资源的备份方法、装置、电子设备及存储介质 |
CN116881052A (zh) * | 2023-09-07 | 2023-10-13 | 上海凯翔信息科技有限公司 | 一种分布式存储的数据修复系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9459969B1 (en) * | 2012-09-28 | 2016-10-04 | Emc Corporation | Method and system for enhanced backup database indexing |
CN109213637A (zh) * | 2018-11-09 | 2019-01-15 | 浪潮电子信息产业股份有限公司 | 分布式文件系统集群节点的数据恢复方法、装置及介质 |
CN109901951A (zh) * | 2019-03-05 | 2019-06-18 | 山东浪潮云信息技术有限公司 | 一种ceph集群数据的存储系统及方法 |
CN111651302A (zh) * | 2020-07-01 | 2020-09-11 | 中国银行股份有限公司 | 分布式数据库备份方法,装置及系统 |
CN112286730A (zh) * | 2020-11-03 | 2021-01-29 | 浪潮云信息技术股份公司 | 一种将hdfs文件进行异地全量备份与恢复的方法 |
-
2021
- 2021-11-01 CN CN202111279481.0A patent/CN113722155A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9459969B1 (en) * | 2012-09-28 | 2016-10-04 | Emc Corporation | Method and system for enhanced backup database indexing |
CN109213637A (zh) * | 2018-11-09 | 2019-01-15 | 浪潮电子信息产业股份有限公司 | 分布式文件系统集群节点的数据恢复方法、装置及介质 |
CN109901951A (zh) * | 2019-03-05 | 2019-06-18 | 山东浪潮云信息技术有限公司 | 一种ceph集群数据的存储系统及方法 |
CN111651302A (zh) * | 2020-07-01 | 2020-09-11 | 中国银行股份有限公司 | 分布式数据库备份方法,装置及系统 |
CN112286730A (zh) * | 2020-11-03 | 2021-01-29 | 浪潮云信息技术股份公司 | 一种将hdfs文件进行异地全量备份与恢复的方法 |
Non-Patent Citations (2)
Title |
---|
LUCIEN168: "ceph分布式存储-常见MON故障处理", 《HTTPS://CLOUD.TENCENT.COM/DEVELOPER/ARTICLE/1664613》 * |
WIDO DEN HOLLANDER: "Safely backing up your Ceph monitors", 《HTTPS://BLOG.WIDODH.NL/2014/03/SAFELY-BACKING-UP-YOUR-CEPH-MONITORS/》 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023165226A1 (zh) * | 2022-03-02 | 2023-09-07 | 苏州浪潮智能科技有限公司 | 一种应用资源的备份方法、装置、电子设备及存储介质 |
CN114722029A (zh) * | 2022-04-18 | 2022-07-08 | 苏州浪潮智能科技有限公司 | 一种修复monitor数据库的方法、系统、设备和存储介质 |
CN114722029B (zh) * | 2022-04-18 | 2024-01-09 | 苏州浪潮智能科技有限公司 | 一种修复monitor数据库的方法、系统、设备和存储介质 |
CN114860505A (zh) * | 2022-04-20 | 2022-08-05 | 中国科学院计算机网络信息中心 | 一种对象存储数据异步备份方法及系统 |
CN114860505B (zh) * | 2022-04-20 | 2022-12-23 | 中国科学院计算机网络信息中心 | 一种对象存储数据异步备份方法及系统 |
CN115794491A (zh) * | 2022-11-30 | 2023-03-14 | 广州市保伦电子有限公司 | 数据库文件备份方法、装置、设备及存储介质 |
CN116881052A (zh) * | 2023-09-07 | 2023-10-13 | 上海凯翔信息科技有限公司 | 一种分布式存储的数据修复系统 |
CN116881052B (zh) * | 2023-09-07 | 2023-11-24 | 上海凯翔信息科技有限公司 | 一种分布式存储的数据修复系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113722155A (zh) | 一种分布式文件系统内数据备份及修复方法及相关组件 | |
CN1081814C (zh) | 系统文件的更新和复原方法 | |
EP1497729B1 (en) | Method and system for disaster recovery | |
US7904425B2 (en) | Generating backup sets to a specific point in time | |
US20070055716A1 (en) | Method, apparatus, and computer readable medium for managing replication of back-up object | |
US20060015545A1 (en) | Backup and sychronization of local data in a network | |
US11567686B2 (en) | Snapshot lifecycle management systems and methods | |
US20070294568A1 (en) | Storage system and method of managing data using the same | |
CN111182033B (zh) | 一种交换机还原的方法和设备 | |
RU2646309C1 (ru) | Способ резервного копирования | |
CN113946471A (zh) | 基于对象存储的分布式文件级备份方法及系统 | |
CN115314361B (zh) | 一种服务器集群管理方法及其相关组件 | |
JP5683088B2 (ja) | 復旧システム、復旧方法及びバックアップ制御システム | |
CN115098300B (zh) | 一种数据库的备份方法、容灾方法、装置及设备 | |
CN115858086A (zh) | 数据恢复方法、数据恢复系统、设备及存储介质 | |
CN112231150B (zh) | 数据库集群中故障数据库恢复方法和装置 | |
KR102221593B1 (ko) | 단말의 설치 환경 유지를 위한 시스템 | |
CN113535482A (zh) | 云备份链数据备份、管理方法及装置、设备、可读介质 | |
CN111176886B (zh) | 一种数据库模式的切换方法、装置及电子设备 | |
CN112099992A (zh) | 服务器的系统备份恢复方法、装置、计算机设备及存储介质 | |
CN116303240B (zh) | 一种分布式文件系统的快照建立方法、系统、设备及介质 | |
US20240095021A1 (en) | Quiescent operation of non-disruptive update of a data management system | |
US11074141B2 (en) | Database recovery using shared memory | |
US11714631B2 (en) | Method, electronic device, and computer program product for managing operating system | |
US20240095230A1 (en) | Prechecking for non-disruptive update of a data management system |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20211130 |
|
RJ01 | Rejection of invention patent application after publication |