CN110083584A - 文件重建方法、装置、设备及计算机可读存储介质 - Google Patents
文件重建方法、装置、设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN110083584A CN110083584A CN201910378740.1A CN201910378740A CN110083584A CN 110083584 A CN110083584 A CN 110083584A CN 201910378740 A CN201910378740 A CN 201910378740A CN 110083584 A CN110083584 A CN 110083584A
- Authority
- CN
- China
- Prior art keywords
- file
- fragment
- disk
- virtual machine
- reconstruction
- 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 49
- 239000012634 fragment Substances 0.000 claims abstract description 306
- 238000006062 fragmentation reaction Methods 0.000 claims description 25
- 238000013467 fragmentation Methods 0.000 claims description 24
- 238000001514 detection method Methods 0.000 claims description 12
- 238000012790 confirmation Methods 0.000 claims 1
- 230000007257 malfunction Effects 0.000 description 12
- 238000004891 communication Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 9
- 230000008901 benefit Effects 0.000 description 2
- 230000007812 deficiency Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 239000011800 void material Substances 0.000 description 2
- 241000353621 Eilat virus Species 0.000 description 1
- 241000700605 Viruses Species 0.000 description 1
- 238000000151 deposition Methods 0.000 description 1
- 239000006185 dispersion Substances 0.000 description 1
- -1 file 2 and file 3 Substances 0.000 description 1
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/1458—Management of the backup or restore process
-
- 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/188—Virtual file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45562—Creating, deleting, cloning virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种文件重建方法,包括以下步骤:获取主机存储的文件故障分片对应的虚拟机文件列表;根据所述虚拟机文件列表确定各个虚拟机的优先级,以及确定所述文件故障分片对应的文件正常分片;按照所述虚拟机的优先级将对应的所述文件正常分片重建到所述主机新的磁盘中。本发明还公开了一种文件重建装置、设备及计算机可读存储介质。本发明提高了文件重建的成功率,降低了分布式存储系统所存储文件的丢失风险。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种文件重建方法、装置、设备及计算机可读存储介质。
背景技术
在分布式存储中,通常采用多副本等冗余机制保证主机中硬盘出现故障后,数据依然可用,即在主机中,除了存储有一个正本文件外,还存储有至少一个该正本文件对应的副本文件,以便于在主机硬盘出现故障后,可使用副本文件。为了避免多点故障导致的数据丢失,在出现单点故障后,会执行数据重建功能,通过可用的数据恢复数据原有的冗余能力,即在某个数据丢失不能正常使用时,会重建该数据。
目前的数据重建,通常是以数据块为最小单位进行数据重建。当发生主机或硬盘故障时,将数据进行完整的重建。但是在主机中硬盘空间不足时重建所有数据过程中,会对需要重建的各个文件的数据块同时重建,因此会导致各个文件都只重建了部分数据,还有部分数据未能成功重建,从而导致每个文件都有数据缺失,进而导致重建后的文件都无法正常进行使用,即文件重建成功率低下。
发明内容
本发明的主要目的在于提供一种文件重建方法、装置、设备及计算机可读存储介质,旨在解决现有技术中在分布式存储的数据重建过程中,文件重建成功率低下的技术问题。
为实现上述目的,本发明提供一种文件重建方法,所述文件重建方法包括以下步骤:
获取主机存储的文件故障分片对应的虚拟机文件列表;
根据所述虚拟机文件列表确定各个虚拟机的优先级,以及确定所述文件故障分片对应的文件正常分片;
按照所述虚拟机的优先级将对应的所述文件正常分片重建到所述主机新的磁盘中。
可选地,所述按照所述虚拟机的优先级将对应的所述文件正常分片重建到所述主机新的磁盘中的步骤之前,还包括:
检测所述主机中新的磁盘的存储空间是否小于第一预设阈值;
若检测到所述新的磁盘的存储空间小于所述第一预设阈值,则所述按照所述虚拟机的优先级将对应的所述文件正常分片重建到所述主机新的磁盘中的步骤包括:
按照所述虚拟机的优先级从高到低将对应的所述文件正常分片重建到所述主机新的磁盘中。
可选地,所述检测所述主机中新的磁盘的存储空间是否小于第一预设阈值的步骤之后,还包括:
若检测到所述新的磁盘的存储空间大于或者等于所述第一预设阈值,则检测所述文件正常分片中是否存在属性为重要文件对应的目标分片;
若检测到所述文件正常分片中存在所述目标分片,则在将所述目标分片重建到所述新的磁盘后,再执行所述按照所述虚拟机的优先级将对应的所述文件正常分片重建到所述主机新的磁盘中的步骤。
可选地,所述按照所述虚拟机的优先级将对应的所述文件正常分片重建到所述主机新的磁盘中的步骤之前,还包括:
根据预设的磁盘确定规则确定各个文件正常分片对应的新的磁盘。
可选地,所述根据预设的磁盘确定规则确定各个文件正常分片对应的新的磁盘的步骤包括:
确定所述文件故障分片所在的磁盘,将所述文件故障分片所在磁盘外的磁盘确定为所述文件正常分片对应的新的磁盘。
可选地,所述将所述文件故障分片所在磁盘外的磁盘确定为所述文件正常分片对应的新的磁盘的步骤包括:
将所述文件故障分片所在磁盘外的磁盘确定为待确认磁盘,检测所述待确认磁盘中是否存在与所述文件正常分片对应的文件正本分片;
若所述待确认磁盘中不存在与所述文件正常分片对应的文件正本分片,则确定所述待确认磁盘为所述文件正常分片对应的新的磁盘。
可选地,所述根据预设的磁盘确定规则确定各个文件正常分片对应的新的磁盘的步骤之后,还包括:
根据所述文件正常分片生成重建任务,并将所述新的磁盘作为重建源;
所述按照所述虚拟机的优先级将对应的所述文件正常分片重建到所述主机新的磁盘中的步骤包括:
按照所述虚拟机的优先级从高到低将对应的至少一个所述重建任务分配到所述重建源中,以将所述文件正常分片重建到新的磁盘中。
可选地,所述获取主机存储的文件故障分片对应的虚拟机文件列表的步骤之前,还包括:
获取待存储文件,将所述待存储文件划分成文件分片;
将所述文件分片存储至主机的磁盘中。
进一步地,为实现上述目的,本发明还提供一种文件重建装置,所述文件重建装置包括:
获取模块,用于获取主机存储的文件故障分片对应的虚拟机文件列表;
确定模块,用于根据所述虚拟机文件列表确定各个虚拟机的优先级,以及确定所述文件故障分片对应的文件正常分片;
重建模块,用于按照所述虚拟机的优先级将对应的所述文件正常分片重建到所述主机新的磁盘中。
进一步地,为实现上述目的,本发明还提供一种文件重建设备,所述文件重建设备包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的文件重建程序,所述文件重建程序被所述处理器执行时实现如上述所述的文件重建方法中设备执行的步骤。
进一步地,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有文件重建程序,所述文件重建程序被处理器执行时实现如上所述的文件重建方法的步骤。
本发明通过获取主机存储的文件故障分片对应的虚拟机文件列表,确定虚拟机文件列表对应各个虚拟机的优先级,以及确定文件故障分片对应的文件正常分片,按照虚拟机的优先级将对应的文件正常分片重建到主机新的磁盘中,以重建处于故障状态的磁盘,实现了文件按照虚拟机优先级来进行重建,避免在重建文件数据过程中,由于磁盘空间不足,导致重建的各个文件都有数据缺失,提高了文件重建的成功率,保证分布式存储数据的整体性,且当文件故障分片只存在一个副本文件时,避免了由于主机磁盘中的文件分片处于故障状态,使处于故障状态中磁盘的分片长时间处于单副本状态,降低了分布式存储系统所存储文件的丢失风险。
附图说明
图1为本发明文件重建设备实施例方案涉及的设备硬件运行环境的结构示意图;
图2为本发明文件重建方法第一实施例的流程示意图;
图3为本发明实施例中文件以分片的形式存储在分布式存储系统中的一种示意图;
图4为本发明文件重建方法第二实施例的流程示意图;
图5为本发明文件重建方法第四实施例的流程示意图
图6为本发明文件重建装置较佳实施例的功能模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
本发明提供一种文件重建设备,该查询设备可为设备,也可为管理端,即病毒文件查询设备和病毒文件查询设备可以用同一个设备硬件运行环境的结构示意图。
参照图1,图1为本发明文件重建设备实施例方案涉及的设备硬件运行环境的结构示意图。
如图1所示,该文件重建设备可以包括:处理器1001,例如CPU,通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储设备。
本领域技术人员可以理解,图1中示出的文件重建设备的硬件结构并不构成对文件重建设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机可读存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及文件重建程序。其中,操作系统是管理和控制文件重建设备与软件资源的程序,支持网络通信模块、用户接口模块、文件重建程序以及其他程序或软件的运行;网络通信模块用于管理和控制网络接口1004;用户接口模块用于管理和控制用户接口1003。
在图1所示的文件重建设备硬件结构中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端(用户端),与客户端进行数据通信;处理器1001可以调用存储器1005中存储的文件重建程序,并执行以下操作:
获取主机存储的文件故障分片对应的虚拟机文件列表;
根据所述虚拟机文件列表确定各个虚拟机的优先级,以及确定所述文件故障分片对应的文件正常分片;
按照所述虚拟机的优先级将对应的所述文件正常分片重建到所述主机新的磁盘中。
进一步地,所述按照所述虚拟机的优先级将对应的所述文件正常分片重建到所述主机新的磁盘中的步骤之前,处理器1001还用于调用存储器1005中存储的文件重建程序,并执行以下操作:
检测所述主机中新的磁盘的存储空间是否小于第一预设阈值;
若检测到所述新的磁盘的存储空间小于所述第一预设阈值,则所述按照所述虚拟机的优先级将对应的所述文件正常分片重建到所述主机新的磁盘中的步骤包括:
按照所述虚拟机的优先级从高到低将对应的所述文件正常分片重建到所述主机新的磁盘中。
进一步地,所述检测所述主机中新的磁盘的存储空间是否小于第一预设阈值的步骤之后,处理器1001还用于调用存储器1005中存储的文件重建程序,并执行以下操作:
若检测到所述新的磁盘的存储空间大于或者等于所述第一预设阈值,则检测所述文件正常分片中是否存在属性为重要文件对应的目标分片;
若检测到所述文件正常分片中存在所述目标分片,则在将所述目标分片重建到所述新的磁盘后,再执行所述按照所述虚拟机的优先级将对应的所述文件正常分片重建到所述主机新的磁盘中的步骤。
进一步地,所述按照所述虚拟机的优先级将对应的所述文件正常分片重建到所述主机新的磁盘中的步骤之前,处理器1001还用于调用存储器1005中存储的文件重建程序,并执行以下操作:
根据预设的磁盘确定规则确定各个文件正常分片对应的新的磁盘。
进一步地,所述根据预设的磁盘确定规则确定各个文件正常分片对应的新的磁盘的步骤包括:
确定所述文件故障分片所在的磁盘,将所述文件故障分片所在磁盘外的磁盘确定为所述文件正常分片对应的新的磁盘。
进一步地,所述将所述文件故障分片所在磁盘外的磁盘确定为所述文件正常分片对应的新的磁盘的步骤包括:
将所述文件故障分片所在磁盘外的磁盘确定为待确认磁盘,检测所述待确认磁盘中是否存在与所述文件正常分片对应的文件正本分片;
若所述待确认磁盘中不存在与所述文件正常分片对应的文件正本分片,则确定所述待确认磁盘为所述文件正常分片对应的新的磁盘。
进一步地,所述根据所述虚拟机文件列表确定各个虚拟机的优先级,以及确定所述文件故障分片对应的文件正常分片的步骤之后,处理器1001还用于调用存储器1005中存储的文件重建程序,并执行以下操作:
根据所述文件正常分片生成重建任务,并将所述新的磁盘作为重建源;
所述按照所述虚拟机的优先级将对应的所述文件正常分片重建到所述主机新的磁盘中的步骤包括:
按照所述虚拟机的优先级从高到低将对应的至少一个所述重建任务分配到所述重建源中,以将所述文件正常分片重建到新的磁盘中。
进一步地,所述获取主机存储的文件故障分片对应的虚拟机文件列表的步骤之前,处理器1001还用于调用存储器1005中存储的文件重建程序,并执行以下操作:
获取待存储文件,将所述待存储文件划分成文件分片;
将所述文件分片存储至主机的磁盘中。
本发明文件重建设备的具体实施方式与下述文件重建方法各实施例基本相同,在此不再赘述。
本发明还提供一种文件重建方法。
参照图2,图2为本发明文件重建方法第一实施例的流程示意图。
在第一实施例中,所述文件重建方法包括以下步骤:
步骤S10,获取主机存储的文件故障分片对应的虚拟机文件列表。
在本发明实施例中,文件不再以固定大小的方式存储在分布式存储系统中,而是采用引入对象的粒度存储方式,该对象为一个文件,在用户可见的上层(如日志文件系统XFS),该文件是一个整体的文件,但是在主机的磁盘中,即在底层,这个文件是由多个分片组成,即将一个文件分割成多个分片分别存储在分布式存储系统的主机中,一个主机可存储该文件的一个分片或者多个分片,通过这个文件的文件ID(身份标识号)可确定文件对应的分片,文件ID是唯一可表示一个文件的信息,不同文件的文件ID不一样。具体地,参照图3,在图3中,一个文件被分为文件1,文件2和文件3等多个分片,分片1存储在主机1的SSD(Solid State Disk,固态硬盘)中的HDD1(Hard Disk Drive,硬盘驱动器)中,分片2存储在主机2的SSD中的HDD2中,分片3存储在主机3的SSD中的HDD2中。
可以理解的是,在本发明实施例中,各个文件是以分片的形式分布式存储在至少两个主机的磁盘中的,且为了提高所存储文件的可靠性,分布式存储通常将文件以多副本冗余的方式分散存储在多个独立的设备中,如将副本文件存储在虚拟机中,以保证在主机磁盘处于故障状态时,可从对应的副本文件中获取到正常的文件,以保证文件的正常使用。
当检测到分布式存储系统主机中的磁盘处于故障状态后,确定处于故障状态中的磁盘所存储的文件,将磁盘所存储的文件确定为文件故障分片,获取该文件故障文件对应的虚拟机文件列表。其中,虚拟机文件列表存储有各个文件故障分片对应副本文件所在的虚拟机名称,或者存储有其它能表明文件故障分片所在虚拟机的标识信息。
在本发明实施例中,分布式存储系统主机中存储文件都存在对应副本文件,副本文件是存储在虚拟机中,一个虚拟机可存储多个文件,也可只存储一个文件。如在本发明实施例中,可将相同类型的文件存储在同一个虚拟机中。由于一个磁盘中存储了不同文件的分片,因此一个磁盘存储的文件对应副本可能会存在不同的虚拟机中,各个文件ID是与虚拟机的标识信息关联的,因此,在确定文件故障分片后,即可根据文件故障分片对应的文件ID获取关联的虚拟机标识信息,根据该虚拟机的标识信息即可获取到文件故障分片对应的虚拟机文件列表。虚拟机的标识信息可用虚拟机名称来表示,或者用虚拟机其它属性信息来表示,只要该标识信息可唯一识别某一虚拟机即可,在本发明实施例中对虚拟机的标识信息不做具体限制。
步骤S20,根据所述虚拟机文件列表确定各个虚拟机的优先级,以及确定所述文件故障分片对应的文件正常分片。
在获取到虚拟机文件列表后,根据虚拟机文件列表确定各个虚拟机的优先级。需要说明的是,该虚拟机为虚拟机文件列表中所存储的虚拟机名称对应的虚拟机。用户可预先设置好各个虚拟机的优先级,具体地,不同优先级的虚拟机对应的等级标识不一样,等级标识是与虚拟机的标识信息相关联的,因此,当确定虚拟机后,根据该虚拟机的标识信息即可确定其等级标识,进而根据等级标识确定虚拟机的优先级。在本发明实施例中,可将虚拟机的优先级设置为高、中和低,也可采用1级、2级、3级或者4级等来表示虚拟机的优先级,数字越大,表明优先级越高。一个等级的优选级可对应一个虚拟机,也可对应多个虚拟机。如高等级的虚拟机可为1个,也可为3个等。在本发明实施例中,不限制等级标识的表现形式,如等级表示可采用数字或者字符等表示。
当确定文件故障分片后,根据该文件故障分片对应的分片标识确定对应副本文件的分片,将该副本文件的分片记为文件正常分片。需要说明的是,分片标识可采用文件ID加上该分片在整个文件中的位置信息组成,位置信息可采用该分片在整个文件中的起始位置和结束位置来表示,因此,通过文件故障分片中的文件ID即可确定对应副本文件,然后根据该位置信息即可副本文件中与文件故障分片对应文件正常分片。可以理解的是,对于同一个文件的文件分片,分片标识的文件ID是一样的,位置信息是不一样的。
步骤S30,按照所述虚拟机的优先级将对应的所述文件正常分片重建到所述主机新的磁盘中。
当确定虚拟机文件列表对应虚拟机的优先级后,按照虚拟机的优先级将文件正常分片重建到新的磁盘中,具体地,可按照虚拟机的优先级从高到低将文件正常分片重建到新的磁盘中。如当存在3个文件故障分片,分别为A,B和C,这3个文件故障分片对应的副本文件所在虚拟机为Aa,Bb和Cc,优先级从高到低为Cc>Aa>Bb,文件故障分片A对应的文件正常分片为a,文件故障分片B对应的文件正常分片为b,文件故障分片C对应的文件正常分片为c,则优先将优先级最高的虚拟机Cc对应的文件正常分片c重建到新的磁盘中,然后再将优先级处于中间的虚拟机Aa对应的文件正常分片a重建到新的磁盘中,最后再将优先级最低虚拟机Bb对应的文件正常分片b重建到新的磁盘中,以重建处于故障状态的磁盘。
进一步地,在按照虚拟机的优先级从高到低将对应的文件正常分片重建到新的磁盘过程中,用户可根据需要取消某些虚拟机的优先级,如取消优先重建高优先级虚拟机对应的文件正常分片,或者指定优先重建那个虚拟机对应的文件正常分片。
本实施例通过获取主机存储的文件故障分片对应的虚拟机文件列表,确定虚拟机文件列表对应各个虚拟机的优先级,以及确定文件故障分片对应的文件正常分片,按照虚拟机的优先级将对应的文件正常分片重建到主机新的磁盘中,以重建处于故障状态的磁盘,实现了文件按照虚拟机优先级来进行重建,避免在重建文件数据过程中,由于磁盘空间不足,导致重建的各个文件都有数据缺失,提高了文件重建的成功率,保证分布式存储数据的整体性,且当文件故障分片只存在一个副本文件时,避免了由于主机磁盘中的文件分片处于故障状态,使处于故障状态中磁盘的分片长时间处于单副本状态,降低了分布式存储系统所存储文件的丢失风险。
本实施例通过允许在一个磁盘中执行多个重建任务,避免了将原来属于同一个磁盘的文件分片重建到多个不同的磁盘中,且根据新的磁盘剩余存储空间来确定将多少个文件分片重建到该新的磁盘中,以提高新的磁盘的存储空间的利用率。
进一步地,提出本发明文件重建方法第二实施例。
所述文件重建方法第二实施例与所述文件重建方法第一实施例的区别在于,参照图4,所述文件重建方法还包括:
步骤S40,检测所述主机中新的磁盘的存储空间是否小于第一预设阈值。
在将文件正常分片重建到新的磁盘之前,检测主机中新的磁盘的存储空间是否小于第一预设阈值。其中,本实施例中新的磁盘的存储空间是该新的磁盘剩余可存储空间,第一预设阈值可根据具体需要而设置,本实施例对第一预设阈值的大小不做具体限制。
若检测到所述新的磁盘的存储空间小于所述第一预设阈值,则步骤S30包括:
步骤S31,按照所述虚拟机的优先级从高到低将对应的所述文件正常分片重建到所述主机新的磁盘中。
若检测到新的磁盘的存储空间小于第一预设阈值,则按照虚拟机的优先级,在将优先级高的虚拟机对应的文件正常分片全部重建到新的磁盘中后,再将优先级低的虚拟机对应的虚拟机对应的文件正常分片重建到新的磁盘中。可以理解的,处于同一优先级级别的虚拟机对应的文件正常分片可同时重建到新的磁盘中。
进一步地,所述文件重建方法还包括:
步骤a,若检测到所述新的磁盘的存储空间大于或者等于所述第一预设阈值,则检测所述文件正常分片中是否存在属性为重要文件对应的目标分片。
若检测到所述文件正常分片中存在所述目标分片,则在将所述目标分片重建到所述新的磁盘后,在执行步骤S30。
若检测到新的磁盘的存储空间大于或者等于第一预设阈值,则检测文件正常分片中是否存在属性为重要文件对应的分片,在本实施例中,将属性为重要文件对应的分片记为目标分片。若某一个文件为重要文件,则会携带重要文件对应的属性标识,如该标识可用“11”或者“%”等标识,该重要文件对应的文件分片也同样会携带对应的属性标识,因此通过检测文件正常分片是否携带重要文件对应的属性标识即可确定该文件正常分片是否为目标分片。当文件正常分片携带该属性标识时,可确定该文件正常分片为目标分片;当文件正常分片未携带该属性标识时,可确定该文件正常分片不是目标分片。
若检测到文件正常分片中存在目标分片,则先将目标分片重建到新的磁盘后,再按照虚拟机的优先级从高到低将除目标分片外的其它文件正常分片重建到新的磁盘中。若未检测到文件正常分片中存在目标分片,则直接按照虚拟机的优先级从高到低将文件正常分片重建到新的磁盘中。
本实施例通过在将文件正常分片重建到新的磁盘过程中,当新的磁盘的存储空间小于第一预设阈值时,先将虚拟机优先级高对应的文件正常分片重建到新的磁盘中,然后再将虚拟机优先级低对应的文件正常分片重建到新的磁盘中,将磁盘吞吐和网络吞吐资源优先分给优先级高对应的重建任务进行使用(虚拟机优先级高,对应的文件正常分片的优先级也高,对应重建任务的优先级也高);当新的磁盘的存储空间大于或者等于第一预设阈值时,先将重要文件对应的目标分片重建到新的磁盘中,然后再按照虚拟机的优先级从高到低重建对应的文件正常分片,以在保证优先级高的虚拟机对应的文件正常分片可以成功重建到新的磁盘中时,优先将优先级高的虚拟机对应的文件正常分片重建到新的磁盘中,避免了有些重要文件或者优先级较高的文件正常分片没有及时重建,或者重建失败,保证分布式存储系统整体的业务性能。
进一步地,提出本发明文件重建方法第三实施例。
所述文件重建方法第三实施例与所述文件重建方法第二实施例的区别在于,所述文件重建方法还包括:
步骤b,根据预设的磁盘确定规则确定各个文件正常分片对应的新的磁盘。
在确定文件故障分片对应的文件正常分片后,根据预设的磁盘确定规则确定各个文件正常分片对应的新的磁盘。在本实施例中,新的磁盘为文件正常分片对应的磁盘,在主机中,可存在一个或者多个新的磁盘。重建规则可根据具体需要而设置,如可根据新的磁盘所在主机的开机速度来确定新的磁盘。若某个磁盘所在的主机的开机速度小于预设速度,则不将该主机中的磁盘作为新的磁盘;若某个磁盘所在主机的开机速度大于或者等于预设速度,则将该主机中的磁盘确定为新的磁盘。或者根据该磁盘的读写速度来确定新的磁盘,若某个磁盘的读写速度小于预设值,则不将该小于预设值的磁盘作为新的磁盘;若某个磁盘的读写速度大于或者等于预设值,则将该大于或者等于预设值的磁盘作为新的磁盘。其中,预设速度和预设值可根据具体需要而设置,在本实施例中对预设速度和预设值不做具体限制。
需要说明的是,磁盘确定规则可为只根据开机速度或者磁盘的读写速度来确定新的磁盘,也可根据开机速度和磁盘的读写速度一起来确定新的磁盘。
进一步,步骤b包括:
步骤b1,确定所述文件故障分片所在的磁盘,将所述文件故障分片所在磁盘外的磁盘确定为所述文件正常分片对应的新的磁盘。
进一步地,在确定文件故障分片对应的文件正常分片后,确定文件故障分片所在的磁盘,将文件故障分片所在磁盘外的磁盘确定为文件正常分片对应的新的磁盘。此时,可将文件故障分片所在磁盘外的任一磁盘确定为文件正常分片对应的磁盘,也可在文件故障分片所在磁盘外的磁盘中选择剩余存储空间大的磁盘确定为新的磁盘。
进一步地,步骤b1包括:
步骤b11,将所述文件故障分片所在磁盘外的磁盘确定为待确认磁盘,检测所述待确认磁盘中是否存在与所述文件正常分片对应的文件正本分片。
步骤b12,若所述待确认磁盘中不存在与所述文件正常分片对应的文件正本分片,则确定所述待确认磁盘为所述文件正常分片对应的新的磁盘。
进一步地,为了降低磁盘处于故障状态时,文件的损失度,将文件故障分片所在磁盘外的磁盘确定为待确认磁盘,检测待确认磁盘中是否存在与文件正常分片对应的文件正本分片,即检测待确认磁盘中是否存在与文件正常分片的分片标识相同的文件正本分片,其中,文件正本分片为待确认磁盘中与文件正常分片相同的分片,因为同一文件可能存在主机的不同磁盘中,因此,先检测待确认磁盘中是否存在与文件正常分片对应的文件正本分片,可避免主机的同一磁盘中存储有两份相同的文件,或者存储有两个相同的文件分片。若检测到待确认磁盘中不存在与文件正常分片对应的文件正本分片,则确定该不存在文件正本分片的待确认磁盘为文件正常分片对应的新的磁盘;若检测到待确认磁盘中存在与文件正常分片对应的文件正本分片,则确定该存在文件正本分片的待确认磁盘不是文件正常分片对应的新的磁盘。
进一步地,所述文件重建方法还包括:
步骤c,根据所述文件正常分片生成重建任务,并将所述新的磁盘作为重建源。
进一步地,在确定文件故障分配对应的文件正常分片后,根据文件正常分片生成重建任务,其中,一个文件正常分片对应一个重建任务,一个新的磁盘为一个重建源,并将该主机中新的磁盘作为重建源,以根据该重建源来控制重建任务的下发,如可根据重建源剩余存储空间来控制重建任务的下发。需要说明的是,重建源可为主机中新生成的磁盘,也可为主机中未处于故障状态的磁盘。
步骤S30包括:
步骤d,按照所述虚拟机的优先级从高到低将对应的至少一个所述重建任务分配到所述重建源中,以将所述文件正常分片重建到新的磁盘中。
按照虚拟机的优先级从高到低将对应的至少一个重建任务分配到重建源中,以将文件正常分片重建到新的磁盘中。需要说明的是,在本实施例中,可允许在一个新的磁盘中执行多个重建任务,即可将多个文件正常分片重建到一个新的磁盘中,具体地,在将多少个文件正常分片重建到一个新的磁盘过程中,可根据该新的磁盘的剩余存储空间来确定,若某一个新的磁盘的剩余存储空间可存储所有的文件正常分片,则可将所有的文件正常分片都存储至该新的磁盘中。进一步地,为了提高文件重建的重建效率,在将文件正常分片重建到新的磁盘过程中,可将不存在关联关系的文件正常分片同时重建,即可将不存在关联关系的文件正常分片同时重建到一个重建源中。其中,若两个文件正常分片对应的文件ID一致,则确认文件ID一致的两个文件正常分片存在关联关系;若两个文件正常分片对应的文件ID不一致,则确定文件ID不一致的两个文件正常分片不存在关联关系。
本实施例通过不将文件故障分片所在的磁盘确定为新的磁盘,以及将不存在与文件正常分片对应的文件正本分片的待确认磁盘确定为新的磁盘,避免了将文件正常分片又重建到坏了的磁盘中,或者将文件正常分片重建到已存在该分片的磁盘中,当该磁盘出现故障时,导致至少两份文件正常分片故障,不能使用,降低了磁盘故障时,文件分片的损失程度,优化了文件分片重建过程中磁盘的读写性能,避免了在重建分片后还是不能读取到对应的正常分片。
进一步地,提出本发明文件重建方法第四实施例。
所述文件重建方法第四实施例与所述文件重建方法第二或第三实施例的区别在于,参照图5,所述文件重建方法还包括:
步骤S50,获取待存储文件,将所述待存储文件划分成文件分片。
步骤S60,将所述文件分片存储至主机的磁盘中。
获取待存储文件,将待存储文件划分成文件分片,并为该文件分片添加对应的分片标识,将携带分片标识的文件分片分布式存储至分布式存储系统主机的磁盘中。具体地,可将该文件分片存储到一个分布式存储系统的一个或者多个主机中,当将至少两个文件分片存储到同一个主机中时,可将该至少两个文件分片存储到该主机的同一个磁盘中,也可将这至少两个文件分片存储到该主机的不同磁盘中。需要说明的是,通过分片标识可将各个主机中属于同一个文件对应的文件分片关联起来。在将待存储文件划分成文件分片过程中,各个文件分片的大小可相同,也可不相同。其中,分布式存储采用可扩展的系统结构,利用多台存储服务器分担存储负荷,将数据分散存储在多个独立的设备上,对外体现出一个整体统一的存储服务,它不但提高了系统的可靠性、可用性和存取效率,还易于扩展。
本实施例通过在获取到待存储文件后,将待存储文件划分成文件分片以分布式存储的方式存储到主机的磁盘中,提高了文件的存储效率。
本发明还提供一种文件重建装置。
参照图6,图6为本发明文件重建装置第一实施例的功能模块示意图。所述文件重建装置包括:
获取模块10,用于获取主机存储的文件故障分片对应的虚拟机文件列表;
确定模块20,用于根据所述虚拟机文件列表确定各个虚拟机的优先级,以及确定所述文件故障分片对应的文件正常分片;
重建模块30,用于按照所述虚拟机的优先级将对应的所述文件正常分片重建到所述主机新的磁盘中。
进一步地,所述文件重建装置还包括:
检测模块,用于检测所述主机中新的磁盘的存储空间是否小于第一预设阈值;
所述重建模块30还用于若检测到所述新的磁盘的存储空间小于所述第一预设阈值,则按照所述虚拟机的优先级从高到低将对应的所述文件正常分片重建到所述主机新的磁盘中。
进一步地,所述检测模块还用于若检测到所述新的磁盘的存储空间大于或者等于所述第一预设阈值,则检测所述文件正常分片中是否存在属性为重要文件对应的目标分片;
所述重建模块30还用于若检测到所述文件正常分片中存在所述目标分片,则在将所述目标分片重建到所述新的磁盘后,再按照所述虚拟机的优先级将对应的所述文件正常分片重建到所述主机新的磁盘中。
进一步地,所述确定模块20还用于根据预设的磁盘确定规则确定各个文件正常分片对应的新的磁盘。
进一步地,所述确定模块20还用于确定所述文件故障分片所在的磁盘,将所述文件故障分片所在磁盘外的磁盘确定为所述文件正常分片对应的新的磁盘。
进一步地,所述确定模块20包括:
确定单元,用于将所述文件故障分片所在磁盘外的磁盘确定为待确认磁盘;
检测单元,用于检测所述待确认磁盘中是否存在与所述文件正常分片对应的文件正本分片;
所述确定单元还用于若所述待确认磁盘中不存在与所述文件正常分片对应的文件正本分片,则确定所述待确认磁盘为所述文件正常分片对应的新的磁盘。
进一步地,所述文件重建装置还包括:
生成模块,用于根据所述文件正常分片生成重建任务,并将所述新的磁盘作为重建源;
所述重建模块30还用于按照所述虚拟机的优先级从高到低将对应的至少一个所述重建任务分配到所述重建源中,以将所述文件正常分片重建到新的磁盘中。
进一步地,所述文件重建装置还包括:
划分模块,用于获取待存储文件,将所述待存储文件划分成文件分片;
存储模块,用于将所述文件分片存储至主机的磁盘中。
本发明文件重建装置具体实施方式与上述文件重建方法各实施例基本相同,在此不再赘述。
此外,本发明实施例还提出一种计算机可读存储介质。
计算机可读存储介质上存储有文件重建程序,文件重建程序被处理器执行时实现如上所述的文件重建方法的步骤。
本发明计算机可读存储介质具体实施方式与上述文件重建方法各实施例基本相同,在此不再赘述。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,这些均属于本发明的保护之内。
Claims (13)
1.一种文件重建方法,其特征在于,所述文件重建方法包括以下步骤:
获取主机存储的文件故障分片对应的虚拟机文件列表;
根据所述虚拟机文件列表确定各个虚拟机的优先级,以及确定所述文件故障分片对应的文件正常分片;
按照所述虚拟机的优先级将对应的所述文件正常分片重建到所述主机新的磁盘中。
2.如权利要求1所述的文件重建方法,其特征在于,所述按照所述虚拟机的优先级将对应的所述文件正常分片重建到所述主机新的磁盘中的步骤之前,还包括:
检测所述主机中新的磁盘的存储空间是否小于第一预设阈值;
若检测到所述新的磁盘的存储空间小于所述第一预设阈值,则所述按照所述虚拟机的优先级将对应的所述文件正常分片重建到所述主机新的磁盘中的步骤包括:
按照所述虚拟机的优先级从高到低将对应的所述文件正常分片重建到所述主机新的磁盘中。
3.如权利要求2所述的文件重建方法,其特征在于,所述检测所述主机中新的磁盘的存储空间是否小于第一预设阈值的步骤之后,还包括:
若检测到所述新的磁盘的存储空间大于或者等于所述第一预设阈值,则检测所述文件正常分片中是否存在属性为重要文件对应的目标分片;
若检测到所述文件正常分片中存在所述目标分片,则在将所述目标分片重建到所述新的磁盘后,再执行所述按照所述虚拟机的优先级将对应的所述文件正常分片重建到所述主机新的磁盘中的步骤。
4.如权利要求1所述的文件重建方法,其特征在于,所述按照所述虚拟机的优先级将对应的所述文件正常分片重建到所述主机新的磁盘中的步骤之前,还包括:
根据预设的磁盘确定规则确定各个文件正常分片对应的新的磁盘。
5.如权利要求4所述的文件重建方法,其特征在于,所述根据预设的磁盘确定规则确定各个文件正常分片对应的新的磁盘的步骤包括:
确定所述文件故障分片所在的磁盘,将所述文件故障分片所在磁盘外的磁盘确定为所述文件正常分片对应的新的磁盘。
6.如权利要求5所述的文件重建方法,其特征在于,所述将所述文件故障分片所在磁盘外的磁盘确定为所述文件正常分片对应的新的磁盘的步骤包括:
将所述文件故障分片所在磁盘外的磁盘确定为待确认磁盘,检测所述待确认磁盘中是否存在与所述文件正常分片对应的文件正本分片;
若所述待确认磁盘中不存在与所述文件正常分片对应的文件正本分片,则确定所述待确认磁盘为所述文件正常分片对应的新的磁盘。
7.如权利要求4所述的文件重建方法,其特征在于,所述根据预设的磁盘确定规则确定各个文件正常分片对应的新的磁盘的步骤之后,还包括:
根据所述文件正常分片生成重建任务,并将所述新的磁盘作为重建源;
所述按照所述虚拟机的优先级将对应的所述文件正常分片重建到所述主机新的磁盘中的步骤包括:
按照所述虚拟机的优先级从高到低将对应的至少一个所述重建任务分配到所述重建源中,以将所述文件正常分片重建到新的磁盘中。
8.如权利要求1至7任一项所述的文件重建方法,其特征在于,所述获取主机存储的文件故障分片对应的虚拟机文件列表的步骤之前,还包括:
获取待存储文件,将所述待存储文件划分成文件分片;
将所述文件分片存储至主机的磁盘中。
9.一种文件重建装置,其特征在于,所述文件重建装置包括:
获取模块,用于获取主机存储的文件故障分片对应的虚拟机文件列表;
确定模块,用于根据所述虚拟机文件列表确定各个虚拟机的优先级,以及确定所述文件故障分片对应的文件正常分片;
重建模块,用于按照所述虚拟机的优先级将对应的所述文件正常分片重建到所述主机新的磁盘中。
10.如权利要求9所述的文件重建装置,其特征在于,所述文件重建装置还包括:
检测模块,用于检测所述主机中新的磁盘的存储空间是否小于第一预设阈值;
所述重建模块还用于若检测到所述新的磁盘的存储空间小于所述第一预设阈值,则按照所述虚拟机的优先级从高到低将对应的所述文件正常分片重建到所述主机新的磁盘中。
11.如权利要求10所述的文件重建装置,其特征在于,所述检测模块还用于若检测到所述新的磁盘的存储空间大于或者等于所述第一预设阈值,则检测所述文件正常分片中是否存在属性为重要文件对应的目标分片;
所述重建模块还用于若检测到所述文件正常分片中存在所述目标分片,则在将所述目标分片重建到所述新的磁盘后,再按照所述虚拟机的优先级将对应的所述文件正常分片重建到所述主机新的磁盘中。
12.一种文件重建设备,其特征在于,所述文件重建设备包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的文件重建程序,所述文件重建程序被所述处理器执行时实现如权利要求1-8中任一项所述的文件重建方法的步骤。
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有文件重建程序,所述文件重建程序被处理器执行时实现如权利要求1-8中任一项所述的文件重建方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910378740.1A CN110083584A (zh) | 2019-05-07 | 2019-05-07 | 文件重建方法、装置、设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910378740.1A CN110083584A (zh) | 2019-05-07 | 2019-05-07 | 文件重建方法、装置、设备及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110083584A true CN110083584A (zh) | 2019-08-02 |
Family
ID=67419172
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910378740.1A Pending CN110083584A (zh) | 2019-05-07 | 2019-05-07 | 文件重建方法、装置、设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110083584A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113391945A (zh) * | 2020-03-12 | 2021-09-14 | 伊姆西Ip控股有限责任公司 | 用于存储管理的方法、电子设备以及计算机程序产品 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015114643A1 (en) * | 2014-01-30 | 2015-08-06 | Hewlett-Packard Development Company, L.P. | Data storage system rebuild |
JP2015176168A (ja) * | 2014-03-13 | 2015-10-05 | 日本電気株式会社 | 管理サーバおよび障害復旧方法、並びにコンピュータ・プログラム |
CN106452846A (zh) * | 2016-09-22 | 2017-02-22 | 华为技术有限公司 | 故障处理方法、虚拟架构管理系统和业务管理系统 |
CN109508254A (zh) * | 2017-09-14 | 2019-03-22 | 华为技术有限公司 | 一种数据恢复方法及装置 |
-
2019
- 2019-05-07 CN CN201910378740.1A patent/CN110083584A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015114643A1 (en) * | 2014-01-30 | 2015-08-06 | Hewlett-Packard Development Company, L.P. | Data storage system rebuild |
JP2015176168A (ja) * | 2014-03-13 | 2015-10-05 | 日本電気株式会社 | 管理サーバおよび障害復旧方法、並びにコンピュータ・プログラム |
CN106452846A (zh) * | 2016-09-22 | 2017-02-22 | 华为技术有限公司 | 故障处理方法、虚拟架构管理系统和业务管理系统 |
CN109508254A (zh) * | 2017-09-14 | 2019-03-22 | 华为技术有限公司 | 一种数据恢复方法及装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113391945A (zh) * | 2020-03-12 | 2021-09-14 | 伊姆西Ip控股有限责任公司 | 用于存储管理的方法、电子设备以及计算机程序产品 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10261853B1 (en) | Dynamic replication error retry and recovery | |
US9229950B2 (en) | Method and device for processing files of distributed file system | |
US10977124B2 (en) | Distributed storage system, data storage method, and software program | |
US9361034B2 (en) | Transferring storage resources between snapshot storage pools and volume storage pools in a distributed network | |
JP4744171B2 (ja) | 計算機システム及び記憶制御方法 | |
US20220269564A1 (en) | Processing node management method, configuration method, and related apparatus | |
JP2017539000A (ja) | 格納クライアントファイルシステム用格納ボリュームの動的スケーリング | |
US11907410B2 (en) | Method and device for managing storage system | |
CN104956311A (zh) | 存储系统以及存储控制方法 | |
CN109558260B (zh) | Kubernetes故障排除系统、方法、设备及介质 | |
WO2019001521A1 (zh) | 数据存储方法、存储设备、客户端及系统 | |
CN106445730B (zh) | 一种提高虚拟机性能的方法和终端 | |
US20180364948A1 (en) | Data Processing Method, Related Device, and Storage System | |
US11836067B2 (en) | Hyper-converged infrastructure (HCI) log system | |
US20200341874A1 (en) | Handling of offline storage disk | |
WO2014101144A1 (zh) | 储存数据的方法及装置 | |
CN110413694A (zh) | 元数据管理方法及相关装置 | |
CN109144406A (zh) | 分布式存储系统中元数据存储方法、系统及存储介质 | |
CN109669822B (zh) | 电子装置、备用存储池的创建方法和计算机可读存储介质 | |
US20190347165A1 (en) | Apparatus and method for recovering distributed file system | |
CN105739930A (zh) | 一种存储架构及其初始化方法和数据存储方法及管理装置 | |
CN110099084A (zh) | 一种保证存储服务可用性的方法、系统及计算机可读介质 | |
JP6269530B2 (ja) | 記憶システム、記憶方法、及び、プログラム | |
CN116107516A (zh) | 数据写入方法、装置、固态硬盘、电子设备及存储介质 | |
CN104517067A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190802 |
|
RJ01 | Rejection of invention patent application after publication |