CN102024059A - 一种文件系统内实现独立磁盘冗余阵列保护的方法及装置 - Google Patents

一种文件系统内实现独立磁盘冗余阵列保护的方法及装置 Download PDF

Info

Publication number
CN102024059A
CN102024059A CN2010106199612A CN201010619961A CN102024059A CN 102024059 A CN102024059 A CN 102024059A CN 2010106199612 A CN2010106199612 A CN 2010106199612A CN 201010619961 A CN201010619961 A CN 201010619961A CN 102024059 A CN102024059 A CN 102024059A
Authority
CN
China
Prior art keywords
file
data
hard disk
raid
metadata
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
CN2010106199612A
Other languages
English (en)
Other versions
CN102024059B (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Symantec Technologies 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 Huawei Symantec Technologies Co Ltd filed Critical Huawei Symantec Technologies Co Ltd
Priority to CN2010106199612A priority Critical patent/CN102024059B/zh
Publication of CN102024059A publication Critical patent/CN102024059A/zh
Priority to PCT/CN2011/084984 priority patent/WO2012089152A1/zh
Priority to EP11854316.4A priority patent/EP2573689A4/en
Application granted granted Critical
Publication of CN102024059B publication Critical patent/CN102024059B/zh
Priority to US13/718,814 priority patent/US20130103902A1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0643Management of files
    • 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/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD
    • 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/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2058Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring using more than 2 mirrored copies
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2087Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring with a common controller

Abstract

本发明实施例公开了文件系统内实现独立磁盘冗余阵列保护的方法及装置,应用于通信技术领域。本发明实施例中:文件系统在接收到文件操作请求后,需要确定该文件操作请求所请求操作的文件类型,并根据确定的文件类型对应的文件操作方法即独立磁盘冗余阵列RAID的数据保护方法,直接向文件系统的硬盘进行文件操作。使得在进行文件操作时,就可以根据文件类型的不同采用适当的操作方法进行相应的文件操作,这样可以对比较重要的文件类型的数据重点保护,从而提高了数据存储的可靠性。

Description

一种文件系统内实现独立磁盘冗余阵列保护的方法及装置
技术领域
本发明涉及通信技术领域,特别涉及一种文件系统内实现独立磁盘冗余阵列保护的方法及装置。
背景技术
文件系统是用来管理和存储文件信息的文件管理系统,文件系统可以通过逻辑单元(LUN)的虚拟块设备,向独立磁盘冗余阵列(Redundant Array ofIndependent Disk,RAID)模块读写数据。其中RAID模块中可以包括一个或多个数据存储块(记为RAIDn),每个数据存储块包括多个硬盘,数据存储在这些硬盘中,并带有附加的冗余信息。
在进行数据读写时,当文件系统接收到数据读写请求即输入输出(IO)请求,对该数据读写请求进行解析后储存到LUN虚拟块设备中相应位置;而RAID模块就会从LUN虚拟块设备中读取了数据读写请求,并对数据读写请求解析后,采用RAID的数据保护方法对请求的数据进行处理,比如将数据存储到硬盘中,或从硬盘中读取数据。其中RAID的数据保护方法即为RAID模块进行数据读写时所采用的方法,包括多种类型,即RAIDn(n=1,2....)的数据保护方法。现有对文件数据处理时,RAID模块是随机向硬盘读写数据的,数据存储的可靠性较低。
发明内容
本发明实施例提供文件系统内实现独立磁盘冗余阵列保护的方法及装置,提高数据存储的可靠性,且简化了文件处理过程。
本发明实施例提供一种文件系统内实现独立磁盘冗余阵列保护的方法,包括:
接收文件操作请求,确定所述文件操作请求所请求操作的文件类型,所述文件类型包括文件元数据,和/或文件数据;
根据所述确定的文件类型选择相应的文件操作方法,所述文件操作方法为独立磁盘冗余阵列RAID的数据保护方法;
根据所述选择的文件操作方法向硬盘进行文件操作。
本发明实施例提供一种文件系统内实现独立磁盘冗余阵列保护的装置,包括:类型确定模块和操作模块;
所述类型确定模块,用于接收文件操作请求,确定所述文件操作请求所请求操作的文件类型,所述文件类型包括文件元数据,和/或文件数据;
所述操作模块,用于根据所述类型确定模块确定的文件类型选择相应的文件操作方法,所述文件操作方法为独立磁盘冗余阵列RAID的数据保护方法;并根据所述选择的文件操作方法向硬盘进行文件操作。
本发明实施例中:文件系统在接收到文件操作请求后,需要确定该文件操作请求所请求操作的文件类型,并根据确定的文件类型对应的文件操作方法即独立磁盘冗余阵列RAID的数据保护方法,直接向文件系统的硬盘进行文件操作。使得在进行文件操作时,就可以根据文件类型的不同采用适当的操作方法进行文件操作,这样可以对比较重要的文件类型的数据重点保护,比如可以将重要的数据写到文件系统的每个硬盘上等,从而提高了数据存储的可靠性;
且本发明实施例中的方法不需要经过文件系统和RAID模块分别对文件操作请求进行解析后,再由RAID模块向硬盘进行文件操作,而是直接由文件系统采用RAID的数据保护方法访问系统的硬盘,从而简化了文件处理的过程,且提高系统的可靠性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种文件系统内实现独立磁盘冗余阵列保护的方法的流程图;
图2是本发明实施例提供的一种存储数据的结构示意图;
图3是本发明实施例提供的一种文件系统内实现独立磁盘冗余阵列保护的装置的结构示意图;
图4是本发明实施例中文件系统与上层应用系统之间的关系结构示意图;
图5是本发明实施例提供的另一种文件系统内实现独立磁盘冗余阵列保护的装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供一种文件系统内实现独立磁盘冗余阵列保护的方法,本发明实施例的文件操作方法是文件系统所执行的方法,流程图如图1所示,包括:
101,接收文件操作请求,确定文件操作请求所请求操作的文件类型,文件类型包括文件元数据,和/或文件数据;
这里文件操作请求可以为文件读/写请求即IO请求等。而文件元数据是指文件系统中的属性数据,比如:文件格式、文件大小等数据;文件数据是指文件的内容数据。
102,根据确定的文件类型选择相应的文件操作方法;
文件操作方法是指对进行文件操作时使用的方法,可以是传统的任一类型的RAID数据保护方法,且可以对于不同文件类型需要采用不同的方法。比如对于一些文件类型的数据比较重要,可以选用RAID1的多份镜像冗余算法;而一些类型的数据可以根据应用场景需要,选择RAID1,RAID5,RAID6等保护方法。
其中RAIDn是一个数据存储块,每个数据存储块的数据保护方法的类型都不同:例如RAID1是数据多份镜像冗余的保护方法;而RAID5将数据存储在数据条带中,且每个数据条带中的任一分片数据都可以通过该数据条带中的检验块和其他分片数据计算出,其中一个数据条带中的分片数据储存在不同的硬盘上。
这里由文件系统根据获知的文件类型需要采用不同的RAID数据保护方法直接访问硬盘,并进行文件操作,可以提高数据存储的可靠性。
103,根据步骤102中选择的文件操作方法向文件系统的硬盘进行文件操作。
本发明实施例中,文件系统中的数据都存储在多个硬盘中,这些硬盘不会组成独立磁盘冗余阵列,文件系统可以直接对这些硬盘进行文件操作,比如可以直接向硬盘写数据或读数据等。其中这里的硬盘可以是任何非易失性存储介质,比如传统硬盘,固态硬盘,磁带,或可擦写光盘等。
例如:如果文件操作方法是RAID1的多份镜像冗余保护方法,则文件系统在进行写文件时,需要将文件备份成多份并分别存储到多个硬盘中;如果文件操作方法是RAID5的数据保护方法,则文件系统在写文件时,按照RAID5数据保护方法,将文件存储到硬盘中的数据条带中。
本发明实施例中:文件系统在接收到文件操作请求后,需要确定该文件操作请求所请求操作的文件类型,并根据确定的文件类型对应的文件操作方法即RAID数据保护方法,直接向文件系统中的硬盘进行文件操作。使得在进行文件操作时,就可以根据文件类型的不同采用适当的操作方法进行相应的文件操作,这样可以对比较重要的文件类型的数据重点保护,比如可以将重要的数据写到系统的每个硬盘上等,从而提高了数据存储的可靠性;
且本发明实施例中的方法不需要经过文件系统和RAID模块分别对文件操作请求进行解析后,再由RAID模块向硬盘进行文件操作,而是由文件系统采用RAID的数据保护方法直接访问系统的硬盘,简化了文件处理的过程,且提高系统的可靠性。
在一个具体的实施例中,如果步骤101接收的文件操作请求是文件写请求,且确定的文件类型包括文件元数据,则步骤102中选择的文件操作方法为多份镜像冗余算法,在步骤103中向硬盘进行文件操作时,可以通过如下方法来实现:按照多份镜像冗余算法,将文件元数据备份成多份并分别存储到至少两个硬盘中。
这里的多份镜像冗余算法即将元数据备份成多份的算法,可以理解,由于文件元数据比较重要,是文件系统进行基本运行的数据,因此,需要将文件元数据写成多份,且分别存储到多个硬盘中。
如果确定的文件类型包括文件数据,则步骤103中向硬盘进行文件操作时,可以通过如下步骤来实现:
A1:根据文件写请求中文件数据的偏移位置,确定文件数据在文件系统中的数据条带位置;
数据条带是一些RAID类型的数据保护方法中存储数据的单位。在文件写请求中,都会包含有文件数据相对于初始存储数据的偏移位置,文件系统可以根据这个偏移位置来确定文件数据应该存储在哪个数据条带,及在数据条带中的位置,从而可以确定该文件数据应该存储在哪个硬盘上。
以将文件数据按照RAID5的数据保护方法进行存储为例,参考图2所示,数据储存到10个硬盘中,每个硬盘上有多个分片数据,图中只画出硬盘上的11个分片数据,其中斜线填充的部分存储有校验块P,每个数据条带中包含有横向分布的9个分片数据和1个校验块P,且校验块P可以通过下述公式(1)得到:
P=D1 xor D2 xor D3...xor Dn    (1)
其中D1,D2,D3...Dn表示一个数据条带中的分片数据,P为校验块,xor为异或运算。
假设文件写请求中文件数据的偏移位置为11,而初始存储数据的位置为硬盘2的分片数据D1,则该文件数据应该存储到数据条带1上的D12位置,从而可以确定将文件数据存储到硬盘4中。
A2:根据确定的位置将文件数据写到相应的硬盘中。
可以理解,在每个硬盘上都会有个单盘文件系统,在单盘文件系统上建立有至少两个分片文件,在步骤103执行文件的写操作时,可以将文件元数据和/或文件数据分布到这些分片文件中,这样一个文件操作请求对应的文件就可以分布在至少两个硬盘上单盘文件系统的分片文件中,且组成RAID的数据保护关系。
在另一个具体的实施例中,如果步骤101接收的文件操作请求是文件读请求,且确定的文件类型包括文件元数据,则步骤103中在向硬盘进行文件操作时,可以通过如下方法来实现:向存储有文件元数据的任一硬盘读取文件元数据。
由于在文件元数据的写操作时,是按照多份镜像冗余算法将文件元数据备份成多份分别存储到至少两个硬盘上的,则在这至少两个硬盘上的文件元数据组成了RAID的数据保护方法,因此在进行文件元数据的读取时,可以在这至少两个硬盘的任一硬盘上进行读取。
如果确定的文件类型包括文件数据,则步骤103中向硬盘进行文件操作时,可以通过如下步骤来实现:
B1:根据文件读请求中文件数据的偏移位置,确定文件数据在文件系统中的数据条带位置;
同样在文件读请求中,都会包含有文件数据相对于初始存储数据的偏移位置,文件系统可以根据这个偏移位置来确定文件数据存储在哪个数据条带,及在数据条带中的位置,从而可以确定该文件数据存储在哪个硬盘上。
B2:向文件系统中相应的硬盘读取文件数据。
且如果在读文件数据失败时,可以根据文件数据所在的数据条带中其它分片数据和校验块,计算丢失的文件数据。
以将文件数据按照RAID5数据保护方法进行存储为例,参考图2所示,假设文件读请求中文件数据的偏移位置为13,而初始存储数据的位置为硬盘2的分片数据D1,则该文件数据是存储在数据条带1上的D14位置,从而可以确定从硬盘6中读取文件数据。如果D14中的文件数据读取失败,可以根据条带1上其他数据即D10到D13和D15到D18,校验块,及公式(1)计算丢失的文件数据。
在其它的具体实施例中,本发明实施例的方法还包括:检测文件系统中数据条带的状态,当有数据条带的数据丢失,则重构丢失的数据。重构丢失的数据的方法如现有RAID模块重构数据的方法一致,在此不进行赘述。
本发明实施例提供一种文件系统内实现独立磁盘冗余阵列保护的装置,结构示意图如图3所示,包括:类型确定模块10和操作模块20,其中:
类型确定模块10,用于接收文件操作请求,确定文件操作请求所请求操作的文件类型,文件类型包括文件元数据,和/或文件数据;
操作模块20,用于根据类型确定模块10确定的文件类型选择相应的文件操作方法,文件操作方法为独立磁盘冗余阵列RAID的数据保护方法;并根据选择的文件操作方法向硬盘进行相应的文件操作。
参考图4所示,本发明实施例中的装置可以是设备在执行应用程序过程中对文件进行的操作装置,该装置中可以包括用户文件系统,该装置可以向硬盘进行数据操作,每个硬盘中有一个单盘文件系统。上层应用系统是面对用户的接口,当上层应用系统接收到文件操作请求后会发送给用户文件系统,而用户文件系统会根据采用RAID的数据保护方法直接访问硬盘,使得文件分布在多个硬盘上单盘文件系统中的分片文件中,并组成RAID保护关系。
本发明实施例的文件系统内实现独立磁盘冗余阵列保护的装置中:类型确定模块10在接收到文件操作请求后,需要确定该文件操作请求所请求操作的文件类型,并由操作模块20根据确定的文件类型对应的文件操作方法即RAID的数据保护方法,直接向硬盘30进行文件操作。使得文件系统在进行文件操作时,就可以根据文件类型的不同采用适当的操作方法进行相应的文件操作,这样可以对比较重要的文件类型的数据重点保护,比如可以将重要的数据写到每个硬盘30上等,从而提高了数据存储的可靠性;
且本发明实施例中的方法不需要经过文件系统和RAID模块分别对文件操作请求进行解析后,再由RAID模块向硬盘进行文件操作,而是直接由文件系统采用RAID的数据保护方法访问系统的硬盘,从而简化了文件处理的过程,且提高系统的可靠性。
参考图5所示,在一个具体的实施例中,文件系统内实现独立磁盘冗余阵列保护的装置还可以包括硬盘检测模块50和重构模块40,且操作模块20可以包括元数据处理模块201和文件数据处理模块202,其中:
元数据处理模块201,用于当文件操作请求为文件读写请求,且类型确定模块10确定文件类型包括文件元数据,按照多份镜像冗余算法,将文件元数据备份成多份并存储到至少两个硬盘30中,或向存储有文件元数据的任一硬盘30中读取文件元数据;
文件数据处理模块202,用于当文件操作请求为文件读写请求,且类型确定模块10确定文件类型包括文件数据,根据文件读写请求中文件数据的偏移位置,确定文件数据在文件系统中的数据条带位置;并向文件系统中相应的硬盘30读写文件数据。
且文件数据处理模块202还可以用于当文件数据丢失时,根据文件数据所在的数据条带中其它分片数据和校验块,计算丢失的文件数据。
重构模块40,用于检测文件系统中数据条带的状态,当有数据条带丢失数据,则重构丢失的数据。
硬盘检测模块50,用于检测文件系统中硬盘30的状态,如果有硬盘发生故障或有新硬盘插入时,将硬盘状态上报给重构模块40。
可以理解,本实施例中文件系统的类型确定模块10接收到的文件操作请求如果是文件读写请求,且确定文件类型包括文件元数据,则由元数据处理模块201对元数据进行相应处理,如果确定文件类型中包括文件数据,则由文件数据处理模块202对文件数据进行相应处理。且重构模块40会检测文件系统中硬盘30存储数据的数据条带的状态,发现有数据条带丢失数据时,则重构丢失的数据;而硬盘检测模块50会检测硬盘30的状态,并将硬盘的状态上报给重构模块40,由重构模块40根据硬盘的状态进行重构和/或回拷文件。例如有硬盘发生故障,则重构该故障硬盘上的数据;故障硬盘恢复正常,则将热备盘上的数据回拷到恢复正常的硬盘等。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM)、随机存取存储器(RAM)、磁盘或光盘等。
以上对本发明实施例所提供的文件系统内实现独立磁盘冗余阵列保护的方法及装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (11)

1.一种文件系统内实现独立磁盘冗余阵列保护的方法,其特征在于,包括:
接收文件操作请求,确定所述文件操作请求所请求操作的文件类型,所述文件类型包括文件元数据,和/或文件数据;
根据所述确定的文件类型选择相应的文件操作方法;所述文件操作方法为独立磁盘冗余阵列RAID的数据保护方法;
根据所述选择的文件操作方法向硬盘进行文件操作。
2.如权利要求1所述的方法,其特征在于,若所述文件操作请求为文件写请求,且如果确定所述文件类型包括文件元数据,则选择的文件操作方法为多份镜像冗余算法,则向硬盘进行文件操作具体包括:将所述文件元数据备份成多份并分别存储到至少两个硬盘中;
如果确定所述文件类型包括文件数据,则向硬盘进行文件操作具体包括:根据所述文件写请求中文件数据的偏移位置,确定所述文件数据在文件系统中的数据条带位置;并根据所述确定的位置将所述文件数据写到相应的硬盘中。
3.如权利要求2所述的方法,其特征在于,所述文件操作请求为文件读请求,且如果确定所述文件类型包括文件元数据,则向硬盘进行文件操作具体包括:向所述存储有文件元数据的任一硬盘读取所述文件元数据;
如果确定所述文件类型包括文件数据,则向硬盘进行文件操作具体包括:根据所述文件读请求中文件数据的偏移位置,确定所述文件数据在文件系统中的数据条带位置;并向所述文件系统中相应的硬盘读取所述文件数据。
4.如权利要求2或3所述的方法,其特征在于,所述硬盘的单盘文件系统上建立有至少两个分片文件,所述文件操作请求对应的文件分布在至少两个硬盘上单盘文件系统的分片文件中,且组成RAID的数据保护关系。
5.如权利要求2或3所述的方法,其特征在于,所述方法还包括:
当所述文件数据丢失时,根据所述文件数据所在的数据条带中其它分片数据和校验块,计算丢失的文件数据。
6.如权利要求2或3所述的方法,其特征在于,所述方法还包括:
检测所述文件系统中数据条带的状态,当有数据条带丢失数据时,则重构所述丢失的数据。
7.一种文件系统内实现独立磁盘冗余阵列保护的装置,其特征在于,包括:类型确定模块和操作模块;
所述类型确定模块,用于接收文件操作请求,确定所述文件操作请求所请求操作的文件类型,所述文件类型包括文件元数据,和/或文件数据;
所述操作模块,用于根据所述类型确定模块确定的文件类型选择相应的文件操作方法,所述文件操作方法为独立磁盘冗余阵列RAID的数据保护方法;并根据所述选择的文件操作方法向硬盘进行文件操作。
8.如权利要求7所述的装置,其特征在于,所述操作模块包括:
元数据处理模块,用于当所述文件操作请求为文件读写请求,且所述类型确定模块确定所述文件类型包括文件元数据,按照多份镜像冗余算法,将所述文件元数据备份成多份并存储到至少两个硬盘中,或向存储有文件元数据的任一硬盘中读取所述文件元数据。
9.如权利要求8所述的装置,其特征在于,所述操作模块还包括:
文件数据处理模块,用于当所述文件操作请求为文件读写请求,且所述类型确定模块确定所述文件类型包括文件数据,根据所述文件读写请求中文件数据的偏移位置,确定所述文件数据在文件系统中的数据条带位置;并向所述文件系统中相应的硬盘读写所述文件数据。
10.如权利要求9所述的装置,其特征在于,所述文件数据处理模块还用于当所述文件数据丢失时,根据所述文件数据所在的数据条带中其它分片数据和校验块,计算丢失的文件数据。
11.如权利要求8至10任一项所述的装置,其特征在于,还包括:重构模块,用于检测所述文件系统中数据条带的状态,当有数据条带丢失数据,则重构所述丢失的数据。
CN2010106199612A 2010-12-31 2010-12-31 一种文件系统内实现独立磁盘冗余阵列保护的方法及装置 Active CN102024059B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN2010106199612A CN102024059B (zh) 2010-12-31 2010-12-31 一种文件系统内实现独立磁盘冗余阵列保护的方法及装置
PCT/CN2011/084984 WO2012089152A1 (zh) 2010-12-31 2011-12-30 一种文件系统内实现独立磁盘冗余阵列保护的方法及装置
EP11854316.4A EP2573689A4 (en) 2010-12-31 2011-12-30 METHOD AND APPARATUS FOR PROVIDING REDUNDANT NETWORK PROTECTION OF INDEPENDENT DISKS IN A FILE SYSTEM
US13/718,814 US20130103902A1 (en) 2010-12-31 2012-12-18 Method and apparatus for implementing protection of redundant array of independent disks in file system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2010106199612A CN102024059B (zh) 2010-12-31 2010-12-31 一种文件系统内实现独立磁盘冗余阵列保护的方法及装置

Publications (2)

Publication Number Publication Date
CN102024059A true CN102024059A (zh) 2011-04-20
CN102024059B CN102024059B (zh) 2012-07-18

Family

ID=43865356

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2010106199612A Active CN102024059B (zh) 2010-12-31 2010-12-31 一种文件系统内实现独立磁盘冗余阵列保护的方法及装置

Country Status (4)

Country Link
US (1) US20130103902A1 (zh)
EP (1) EP2573689A4 (zh)
CN (1) CN102024059B (zh)
WO (1) WO2012089152A1 (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102262882A (zh) * 2011-06-20 2011-11-30 成都市华为赛门铁克科技有限公司 硬盘阵列的读/写方法及装置、网络设备
WO2012089152A1 (zh) * 2010-12-31 2012-07-05 成都市华为赛门铁克科技有限公司 一种文件系统内实现独立磁盘冗余阵列保护的方法及装置
CN103399823A (zh) * 2011-12-31 2013-11-20 华为数字技术(成都)有限公司 业务数据的存储方法、设备和系统
CN103699855A (zh) * 2013-12-05 2014-04-02 华为技术有限公司 一种数据处理方法和装置
CN104216660A (zh) * 2013-05-30 2014-12-17 华为软件技术有限公司 提高磁盘阵列性能的方法及装置
CN104571963A (zh) * 2014-12-31 2015-04-29 曙光信息产业股份有限公司 Raid的元数据的处理方法和装置
CN104991747A (zh) * 2015-07-30 2015-10-21 湖南亿谷科技发展股份有限公司 数据管理方法及系统
CN106855790A (zh) * 2016-12-20 2017-06-16 北京小米移动软件有限公司 文件处理方法、装置和设备
WO2018081960A1 (zh) * 2016-11-02 2018-05-11 华为技术有限公司 管理文件的方法、文件系统和服务器系统
CN109240998A (zh) * 2018-08-24 2019-01-18 网宿科技股份有限公司 可配置的文件解析方法

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103942012B (zh) * 2014-03-26 2017-10-10 华为技术有限公司 一种读取数据的方法、装置及设备
CN104850359B (zh) * 2015-05-29 2019-01-15 浙江宇视科技有限公司 一种raid阵列重建方法和装置
CN106775456B (zh) * 2016-11-22 2019-11-26 华为技术有限公司 一种数据处理方法、装置及系统
CN112015328B (zh) * 2019-05-30 2022-05-31 武汉海康存储技术有限公司 第5级独立磁盘冗余阵列的创建方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060112298A1 (en) * 2004-11-08 2006-05-25 Broadcom Corporation Method and computer program product to migrate legacy data to a RAID array while contemporaneously providing user access to legacy data
US7454566B1 (en) * 2005-05-02 2008-11-18 Nvidia Corporation System and method for adaptive RAID configuration
CN101567211A (zh) * 2009-05-27 2009-10-28 杭州华三通信技术有限公司 一种提高磁盘可用性的方法和磁盘阵列控制器

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6523046B2 (en) * 2000-02-25 2003-02-18 Microsoft Corporation Infrastructure and method for supporting generic multimedia metadata
US8140860B2 (en) * 2003-12-15 2012-03-20 International Business Machines Corporation Policy-driven file system with integrated RAID functionality
US20070079068A1 (en) * 2005-09-30 2007-04-05 Intel Corporation Storing data with different specified levels of data redundancy
US7657671B2 (en) * 2005-11-04 2010-02-02 Sun Microsystems, Inc. Adaptive resilvering I/O scheduling
US8296498B2 (en) * 2007-11-13 2012-10-23 Sandisk Technologies Inc. Method and system for virtual fast access non-volatile RAM
US8788519B2 (en) * 2008-10-24 2014-07-22 John C. Canessa System and methods for metadata management in content addressable storage
JP2010282281A (ja) * 2009-06-02 2010-12-16 Hitachi Ltd ディスクアレイ装置、及びその制御方法、並びにプログラム
CN101727298B (zh) * 2009-11-04 2012-05-23 北京东方广视科技股份有限公司 实现独立磁盘冗余阵列的方法和装置
CN102024059B (zh) * 2010-12-31 2012-07-18 成都市华为赛门铁克科技有限公司 一种文件系统内实现独立磁盘冗余阵列保护的方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060112298A1 (en) * 2004-11-08 2006-05-25 Broadcom Corporation Method and computer program product to migrate legacy data to a RAID array while contemporaneously providing user access to legacy data
US7454566B1 (en) * 2005-05-02 2008-11-18 Nvidia Corporation System and method for adaptive RAID configuration
CN101567211A (zh) * 2009-05-27 2009-10-28 杭州华三通信技术有限公司 一种提高磁盘可用性的方法和磁盘阵列控制器

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012089152A1 (zh) * 2010-12-31 2012-07-05 成都市华为赛门铁克科技有限公司 一种文件系统内实现独立磁盘冗余阵列保护的方法及装置
CN102262882B (zh) * 2011-06-20 2013-12-04 华为数字技术(成都)有限公司 硬盘阵列的读/写方法及装置、网络设备
CN102262882A (zh) * 2011-06-20 2011-11-30 成都市华为赛门铁克科技有限公司 硬盘阵列的读/写方法及装置、网络设备
CN103399823B (zh) * 2011-12-31 2016-03-30 华为数字技术(成都)有限公司 业务数据的存储方法、设备和系统
CN103399823A (zh) * 2011-12-31 2013-11-20 华为数字技术(成都)有限公司 业务数据的存储方法、设备和系统
CN104216660A (zh) * 2013-05-30 2014-12-17 华为软件技术有限公司 提高磁盘阵列性能的方法及装置
CN103699855A (zh) * 2013-12-05 2014-04-02 华为技术有限公司 一种数据处理方法和装置
CN103699855B (zh) * 2013-12-05 2018-04-27 华为技术有限公司 一种数据处理方法和装置
CN104571963A (zh) * 2014-12-31 2015-04-29 曙光信息产业股份有限公司 Raid的元数据的处理方法和装置
CN104991747A (zh) * 2015-07-30 2015-10-21 湖南亿谷科技发展股份有限公司 数据管理方法及系统
WO2018081960A1 (zh) * 2016-11-02 2018-05-11 华为技术有限公司 管理文件的方法、文件系统和服务器系统
CN106855790A (zh) * 2016-12-20 2017-06-16 北京小米移动软件有限公司 文件处理方法、装置和设备
CN109240998A (zh) * 2018-08-24 2019-01-18 网宿科技股份有限公司 可配置的文件解析方法

Also Published As

Publication number Publication date
US20130103902A1 (en) 2013-04-25
WO2012089152A1 (zh) 2012-07-05
CN102024059B (zh) 2012-07-18
EP2573689A4 (en) 2013-11-13
EP2573689A1 (en) 2013-03-27

Similar Documents

Publication Publication Date Title
CN102024059B (zh) 一种文件系统内实现独立磁盘冗余阵列保护的方法及装置
US9128846B2 (en) Disk array device, control device and data write method
CN103064765B (zh) 数据恢复方法、装置及集群存储系统
US9836369B2 (en) Storage system to recover and rewrite overwritten data
CN102981922B (zh) 选择用于数据存储库的重复删除协议
CN104503706B (zh) 一种基于磁盘阵列的数据存储及读取方法
US8171379B2 (en) Methods, systems and media for data recovery using global parity for multiple independent RAID levels
CN100390745C (zh) 在处理数据时检验数据完整性的装置及方法
CN102681794B (zh) 基于双控制器实现磁盘冗余阵列保护的方法及系统
CN103034458B (zh) 固态硬盘中实现独立磁盘冗余阵列的方法及装置
CN102207895B (zh) 一种独立磁盘冗余阵列数据重建方法和装置
CN102799533B (zh) 一种磁盘损坏扇区屏蔽方法及装置
CN102326141A (zh) Raid配置信息的处理方法及装置、raid控制器
CN101620518B (zh) 一种磁盘冗余阵列raid的创建方法及装置
CN104407813A (zh) 一种基于固态存储介质的raid系统及方法
CN103336727B (zh) 对nand闪存存储设备进行数据操作的方法
US20070101188A1 (en) Method for establishing stable storage mechanism
CN103699457A (zh) 基于条带化的磁盘阵列修复方法及装置
CN103246478A (zh) 一种基于软raid支持无分组式全局热备盘的磁盘阵列系统
CN107665096A (zh) 加权数据分条
CN102135862B (zh) 一种磁盘存储系统及其数据访问方法
US20060215456A1 (en) Disk array data protective system and method
US20070180299A1 (en) Method of data placement and control in block-divided distributed parity disk array
CN107728943B (zh) 一种延迟产生校验光盘的方法及其对应的数据恢复方法
CN102262657A (zh) 多媒体数据存储方法及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C56 Change in the name or address of the patentee

Owner name: HUAWEI DIGITAL TECHNOLOGY (CHENGDU) CO., LTD.

Free format text: FORMER NAME: CHENGDU HUAWEI SYMANTEC TECHNOLOGIES CO., LTD.

CP01 Change in the name or title of a patent holder

Address after: 611731 Chengdu high tech Zone, Sichuan, West Park, Qingshui River

Patentee after: HUAWEI DIGITAL TECHNOLOGIES (CHENG DU) Co.,Ltd.

Address before: 611731 Chengdu high tech Zone, Sichuan, West Park, Qingshui River

Patentee before: CHENGDU HUAWEI SYMANTEC TECHNOLOGIES Co.,Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220831

Address after: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Patentee after: HUAWEI TECHNOLOGIES Co.,Ltd.

Address before: 611731 Qingshui River District, Chengdu hi tech Zone, Sichuan, China

Patentee before: HUAWEI DIGITAL TECHNOLOGIES (CHENG DU) Co.,Ltd.