WO2015085802A1 - 数据存储方法及存储装置 - Google Patents

数据存储方法及存储装置 Download PDF

Info

Publication number
WO2015085802A1
WO2015085802A1 PCT/CN2014/086337 CN2014086337W WO2015085802A1 WO 2015085802 A1 WO2015085802 A1 WO 2015085802A1 CN 2014086337 W CN2014086337 W CN 2014086337W WO 2015085802 A1 WO2015085802 A1 WO 2015085802A1
Authority
WO
WIPO (PCT)
Prior art keywords
raid
raids
data
created
disk
Prior art date
Application number
PCT/CN2014/086337
Other languages
English (en)
French (fr)
Inventor
蒲贵友
李大权
Original Assignee
华为技术有限公司
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 华为技术有限公司 filed Critical 华为技术有限公司
Publication of WO2015085802A1 publication Critical patent/WO2015085802A1/zh

Links

Images

Classifications

    • 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/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0605Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
    • 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/0629Configuration or reconfiguration of storage systems
    • G06F3/0632Configuration or reconfiguration of storage systems by initialisation or re-initialisation of storage 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/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

Definitions

  • the present invention belongs to the field of storage, and in particular, to a RAID data storage method and a storage device.
  • Redundant Array of Independent Disk is the most commonly used method to improve system reliability in the storage field. Virtualize into a single large-capacity, high-reliability disk by using multiple disks at the same time and according to certain algorithm rules. When one of the RAID groups with redundancy levels is damaged, the data of other member disks and the redundant data can be used for data repair, so that the reliability of the RAID group is higher than that of a single disk.
  • virtualized RAID divides the disk into multiple disk blocks and uses these disk blocks to create RAID. This kind of virtualized RAID is organized in such a way that the composition of the RAID is more flexible, the disk usage is more flexible, and the storage space required for a single RAID is lower.
  • the storage system will save multiple copies of the same data on multiple RAIDs at the same time. For example, if two pieces of data are stored in two RAIDs (each RAID includes three member disks), since each RAID has check data and redundant data, if one of the members of a RAID is damaged, it can pass. The verification and redundant data in the other two disks in the RAID are restored, so that the traditional two RAIDs can ensure that any three member disks are damaged, and the data stored in the two RAIDs can be recovered.
  • the virtualized RAID is composed of the disk blocks 301 distributed in the different disks 30, and is no longer composed of the independent disks 30.
  • This method of virtualization allows different RAID disk blocks 301 to be located on the same disk 30 at the same time. Therefore, when storing two copies of data to two RAIDs, there is no guarantee that the two RAID disk blocks 301 will not be selected on the same disk 30, thereby reducing reliability.
  • two RAIDs are included, that is, a RAID composed of disk blocks identified as R0 and a RAID composed of disk blocks identified as R1, and the two RAIDs have two disks.
  • Block 301 is in the same disk 30 (as shown by the dashed line in FIG. 2), so that when both disks 30 are broken, the data stored in the two RAIDs cannot be recovered, reducing storage reliability.
  • An object of the embodiments of the present invention is to provide a storage method and a storage device, which can improve the reliability of data storage when storing data in a virtualized RAID.
  • the present invention provides a data storage method for storing data in a redundant array of independent disks, the RAID being composed of disk blocks distributed in different disks, including:
  • the data is stored in the N RAIDs, respectively.
  • the pre-created M RAIDs Selecting N RAIDs includes:
  • N-1 second RAIDs other than the first RAID among the created M RAIDs according to a preset RAID correspondence, wherein the first RAID and the disk blocks constructing the N-1 RAID are both configured Distributed on different disks.
  • the method further includes:
  • the storage request further includes a size of the data, and determining, in the pre-created M RAIDs, the first RAID that stores the data includes:
  • the first RAID is selected among the M RAIDs created in advance according to the size of the data.
  • the selecting the first RAID among the pre-created M RAIDs according to the size of the data includes:
  • the RAID having the largest storage space is selected as the first RAID among the M RAIDs created in advance according to the size of the data.
  • the present invention provides a storage device for storing data in a redundant array of independent disks, the RAID being composed of disk blocks distributed in different disks, the device comprising:
  • a receiving module configured to receive a storage request sent by an application server, where the storage request includes Data and data copy number, wherein the number of copies of the data is N, N is a natural number not less than 2;
  • a determining module configured to select N RAIDs among the pre-created M RAIDs, wherein the N RAID disk blocks are all distributed in different disks, and the M is a natural number not less than N;
  • a storage module configured to store the data in the N RAIDs.
  • the determining module is specifically configured to:
  • the storage device further includes:
  • a configuration module configured to divide the created M RAIDs into at least one RAID group, where the RAID group includes at least two RAIDs, and the disk blocks constituting the at least two RAIDs are distributed on different disks;
  • the storage request further includes a size of the packet data
  • the determining module is specifically configured to: select the first RAID among the pre-created M RAIDs according to the size of the data.
  • the determining module is specifically configured to:
  • the RAID having the largest storage space is selected as the first RAID among the M RAIDs created in advance according to the size of the data.
  • the RAID for storing data is composed of disk blocks on the disk, and when the storage request for storing the N copies of the data is received, the M items may be created in advance.
  • the N RAIDs in which the data is stored are selected in the RAID, wherein the selected N RAID disk blocks are distributed in different disks, and the N pieces of data are respectively stored in the selected N RAIDs.
  • the selected N RAIDs are composed of disk blocks distributed on different disks, compared with the method for storing multiple copies of data in the virtualized RAID in the prior art, The data storage method provided by the embodiment of the invention can improve the reliability of data stored in the virtualized RAID.
  • FIG. 1 is a schematic diagram of a data storage structure of a RAID in the prior art
  • FIG. 2 is a schematic diagram of another RAID data storage structure in the prior art
  • FIG. 3 is a schematic diagram of an application scenario according to an embodiment of the present disclosure.
  • FIG. 4 is a flowchart of a data storage method according to an embodiment of the present invention.
  • FIG. 5 is a schematic structural diagram of a RAID according to an embodiment of the present disclosure.
  • FIG. 6 is a schematic diagram of still another RAID structure according to an embodiment of the present disclosure.
  • FIG. 7 is a schematic structural diagram of a storage device according to an embodiment of the present invention.
  • FIG. 3 is a schematic diagram of an application scenario according to an embodiment of the present invention.
  • the application server 2 is connected to the RAID system 1 by wire or wirelessly, the RAID system 1 is for storing data, and the application server 2 can store data to or obtain data from the RAID system 1.
  • Independent A Redundant Array of Independent Disk (RAID) system 1 is composed of an array controller 11 and a set of disks 12 connected to the array controller 11. The data in the RAID system 1 is stored in the disk 12, and the array controller 11 is used to organize the connected disks 12, and divides the connected disks 12 into a plurality of disk blocks, and then creates a disk block according to algorithm logic.
  • Multiple virtualized RAID In practical applications, when creating a virtualized RAID, you can first determine the number of disk blocks included in each RAID and the disks that create virtual RAID according to the level of RAID to be created, and then select each of the selected disks. RAID disk block.
  • the RAID described in the embodiment of the present invention refers to a virtualized RAID
  • the RAID in the embodiment of the present invention refers to a RAID constructed by a disk block.
  • FIG. 4 is a flowchart of a data storage method according to an embodiment of the present invention. The method can be applied to the application scenario shown in FIG. The method is for storing data in the RAID system 1, the RAID system 1 including a plurality of RAIDs, each RAID being composed of disk blocks distributed in different disks. As shown in FIG. 4, the method includes:
  • Step S40 Receive a storage request sent by the application server 2, where the storage request includes data and a number of copies of the data, wherein the number of copies of the data is N, and N is a natural number not less than 2.
  • the storage request may include other information, such as the size of the data and the source address of the data, in addition to the data and the number of copies of the data, which are not limited herein.
  • N RAIDs are selected among the M RAIDs created in advance, wherein the disk blocks of the N RAIDs are all distributed on different disks, and the M is a natural number not less than N.
  • the first RAID that stores the data may be determined in the pre-created M RAIDs, and then the N-1 other than the first RAID are selected among the created M RAIDs according to the preset RAID correspondence.
  • the second RAID wherein the disk blocks that construct the first RAID and the N-1 RAIDs are all distributed on different disks.
  • RAID blocks of RAID R0, RAID R1, and RAID R2 are distributed on different disks, they can be pre-arranged between R0, R1, and R2. Establish a correspondence.
  • R0 is determined to be the first RAID
  • R1 and R2 are determined as the second RAID, and the first data is determined.
  • the second and third data are stored in R1 and R2 corresponding to R0, respectively.
  • the first RAID when the first RAID that stores the data is selected, the first RAID may be selected among the pre-created M RAIDs according to the size of the data carried in the storage request. Further, in order to load balance the data stored in each RAID, in the process of actually selecting the first RAID, the RAID with the largest storage space may be selected among the M RAIDs created in advance according to the size of the data. The first RAID.
  • the preset RAID mapping relationship is generally established by the array controller 11 before the method of the present embodiment is performed, for example, when the array controller 11 establishes a virtual RAID, and the specific establishment manner is: dividing the created M RAIDs And being at least one RAID group, wherein the RAID group includes at least two RAIDs, and the disk blocks constituting the at least two RAIDs are distributed in different disks; establishing RAID between at least two RAIDs in the RAID group Correspondence relationship.
  • R0, R1, and R2 form a RAID group, and the correspondence between each RAID in the group can be recorded as (R0, R1). , R2).
  • the number of RAIDs included in each group of RAID can be determined according to specific conditions. However, in general, the RAID can be used to store the data only when the number of stored data is less than or equal to the number of RAIDs in the RAID.
  • the manner in which the created M RAIDs are divided into at least one RAID group may be a traversal manner. Specifically, the RAID constructed by the disk blocks distributed on different disks can be divided into one by traversing the disks distributed by the disk blocks in the created RAID.
  • FIG. 5 is a schematic diagram of a RAID structure according to an embodiment of the present invention.
  • the disks of one of the RAID N0s in one RAID group to be established are respectively D1, D3, and D5, and the others are
  • the RAID of the disk block on the disk other than the disks D1, D3, D5 can be selected as the RAID corresponding to N0, that is, the RAID constructed by the disk blocks on the disks D2, D4 and D6 can be selected as the corresponding to N0. RAID.
  • the disk block When selecting a disk block for one of the RAIDs, first select a disk block in one of the disks, and then determine whether the disk on which the selected disk block is located has a disk block marked with the identification code of the other RAID of the group, if not If the other RAID identification code is selected, the disk block is selected and the disk block is marked as the RAID identification code. If there is another RAID identification code of the group, the RAID disk block is selected on the other disk. For example, as shown in FIG. 6, the disk block is first selected for the RAID with the identification code R0. When R0 is the RAID created first, the disk block can be arbitrarily selected in the disk shown in FIG. .
  • R0 is created, when creating R1, when selecting the disk block for creating R1, it is necessary to first determine whether there is a disk block marked with the identification code of other RAIDs of the group on the disk, that is, whether the disk block marked with R0 is marked. If not, mark the disk block as R1, and if so, select another disk. The other two disk blocks of the RAID can also be selected in the same way. The identification codes are selected as R0 and R1 respectively. After the disk block, you can create R0 and R1 on the selected disk block. In this way, the disk blocks of each RAID in the set of RAIDs can be made to be out of the same disk.
  • step S42 the data is stored in the N RAIDs.
  • the RAID for storing data is composed of disk blocks on the disk.
  • the N of the pre-created RAID may be selected to store the data.
  • a RAID wherein the selected N RAID disk blocks are distributed in different disks, and the N pieces of data are respectively stored in the selected N RAIDs.
  • the selected N RAIDs are composed of disk blocks distributed on different disks, compared with the method for storing multiple copies of data in the virtualized RAID in the prior art,
  • the data storage method provided by the embodiment of the invention can improve the reliability of data storage. For example, as shown in FIG. 6, FIG.
  • FIG. 6 is a schematic diagram of still another RAID structure according to an embodiment of the present invention.
  • FIG. 6 exemplifies a RAID group including two RAIDs established in six disks, wherein each RAID level is RAID 5, and each RAID involves 3 disk blocks.
  • the corresponding relationship of this group of RAID is (R0, R1). Since the disk blocks of each group of RAID are not on the same disk, the disk blocks with the R0 and R1 marks will not appear on the same disk.
  • R0 After the data is stored in R0 and R1 respectively, if the second disk, the third disk, and the ground 5 disk are damaged, that is, one disk block of R0 and the data of two disk blocks in R1 are lost, then R0 is The lost data can be recovered by the data in the other two disk blocks of R0, and the data lost on the two disk blocks in R1 can also be recovered by the data of R0. In this way, the data recovery effect can be achieved when any three disks are damaged, thereby improving the reliability of the data stored in the virtualized RAID.
  • FIG. 7 is a block diagram of a storage device 7 provided in an embodiment of the present invention.
  • the device 7 is configured to store data in the RAID system 1.
  • the RAID system 1 includes a plurality of RAIDs, each RAID is composed of disk blocks distributed in different disks, and the device includes a receiving module 71, a RAID determining module 72, And a data storage module 73.
  • the receiving module 71 is configured to receive a storage request sent by the application server 2, where the storage request is The data and the number of copies of the data are included, wherein the number of copies of the data is N, and N is a natural number not less than 2.
  • the storage request may include, in addition to the data and the number of copies of the data, the size of the data, the source address of the data, and the like.
  • the determining module 72 is configured to select N RAIDs among the M RAIDs that are created in advance, wherein the disk blocks of the N RAIDs are all distributed on different disks, and the M is a natural number not less than N;
  • the storage module 73 is configured to store the data in the N RAIDs selected by the determining module 72.
  • the determining module 72 is specifically configured to determine, in a pre-created M RAIDs, a first RAID that stores the data; and select, among the M RAIDs that are created, a N other than the first RAID according to a preset RAID correspondence relationship. - 1 second RAID, wherein the disk blocks constructing the first RAID and constructing the N-1 RAIDs are distributed on different disks.
  • RAID blocks of RAID R0, RAID R1, and RAID R2 are distributed on different disks, they can be pre-arranged between R0, R1, and R2. Establish a correspondence.
  • the receiving module 71 receives the data storage request, if it is necessary to store three copies of data, if the determining module 72 determines R0 as the first RAID, then according to the preset correspondence, R1 and R2 are determined as the second RAID.
  • the first data is stored in R0
  • the second and third data are stored in R1 and R2 corresponding to R0, respectively.
  • the determining module 72 may select the first RAID among the pre-created M RAIDs according to the size of the data carried in the storage request. Further, in order to implement load balancing of data stored in each RAID, the determining module 72 may further create M RAIDs according to the size of the data in the process of actually selecting the first RAID. The RAID with the largest storage space selected is the first RAID.
  • the storage device provided by the embodiment of the present invention may further include:
  • the configuration module 74 is configured to divide the created M RAIDs into at least one RAID group, where the RAID group includes at least two RAIDs, and the disk blocks constituting the at least two RAIDs are distributed on different disks, and Establishing a RAID correspondence between at least two RAIDs in the RAID group.
  • R0, R1, and R2 form a RAID group, and the correspondence between each RAID in the group can be recorded as (R0, R1). , R2).
  • the number of RAIDs included in each group of RAID can be determined according to specific conditions. However, in general, the RAID can be used to store the data only when the number of stored data is less than or equal to the number of RAIDs in the RAID.
  • the manner in which the configuration module 74 divides the created M RAIDs into at least one RAID group may be a traversal manner.
  • the RAID constructed by the disk blocks distributed on different disks can be divided into one RAID group by traversing the disks distributed by the disk blocks in the created RAID.
  • all the RAID blocks in a RAID group are distributed on different disks. For example, you can first determine the disk where a RAID disk block is located, and then look up the RAID consisting of disk blocks that do not belong to the same disk as the disk blocks in the determined RAID in M-1 RAID, and find the search.
  • the RAID is divided into a RAID group with a predetermined RAID.
  • the disk block When selecting a disk block for one of the RAIDs, first select one disk block in one of the disks, and then judge If there is a disk block marked with the other RAID ID of the group on the disk where the selected disk block is located, if there is no other RAID identification code of the group, select the disk block and mark the disk block as the RAID.
  • the identification code if there is another RAID identification code of the group, select the RAID disk block on the other disk. For example, as shown in FIG. 6, the disk block is first selected for the RAID with the identification code R0. When R0 is the RAID created first, the disk block can be arbitrarily selected in the disk shown in FIG. .
  • R0 is created, when creating R1, when selecting the disk block for creating R1, it is necessary to first determine whether there is a disk block marked with the identification code of other RAIDs of the group on the disk, that is, whether the disk block marked with R0 is marked. If not, mark the disk block as R1, and if so, select another disk. The other two disk blocks of the RAID can also be selected in the same way. After the disk blocks with the identification codes R0 and R1 are respectively selected, R0 and R1 can be created on the selected disk blocks, respectively. In this way, the disk blocks of each RAID in the set of RAIDs can be made to be out of the same disk.
  • the determining module 72 may select, among the M RAIDs created in advance, N RAIDs for storing data, where The N RAID disk blocks are all distributed in different disks, and the N pieces of data are respectively stored in the selected N RAIDs by the storage module 73.
  • the selected N RAIDs are composed of disk blocks distributed on different disks, the reliability of data storage can be improved, and the disaster tolerance capability is stronger.
  • the data storage device provided by the embodiment of the present invention may perform the foregoing data storage method.
  • the data storage device may perform the foregoing data storage method.
  • FIG. 7 is only schematic.
  • the division of the module is only a logical function division, and the actual implementation may have another division manner, such as multiple modules or components. It can be combined or integrated into another device, or some features can be ignored or not executed.
  • the mutual coupling or direct coupling or communication connection shown or discussed may be through some communication interface, indirect coupling or communication connection of the module, and may be in electrical, mechanical or other form.
  • the modules described as separate components may or may not be physically separate, and the components displayed as modules may or may not be physical units, that is, may be located in one place, or may be distributed to multiple network units. Some or all of the modules may be selected according to actual needs to implement the objectives of the solution of the embodiment.
  • the embodiment of the invention further provides a computer program product for data processing, comprising a computer readable storage medium storing program code, the program code comprising instructions for executing the method flow described in any one of the foregoing method embodiments.
  • a person skilled in the art can understand that the foregoing storage medium includes: a USB flash drive, a mobile hard disk, a magnetic disk, an optical disk, a random access memory (RAM), a solid state disk (SSD), or a nonvolatile.
  • a non-transitory machine readable medium that can store program code, such as a non-volatile memory.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

提供一种RAID数据存储方法及装置,适用于数据存储技术领域,所述方法用于将数据存储于独立磁盘冗余阵列RAID中,所述RAID由分布于不同磁盘中的磁盘块构成,包括:接收应用服务器发送的存储请求,所述存储请求中包含有数据和数据拷贝份数,其中,所述数据拷贝份数为N,N为不小于2的自然数;在预先创建的M个RAID中选择N个RAID,其中,所述N个RAID的磁盘块均分布于不同的磁盘中,所述M为不小于N的自然数;将所述数据分别存储于所述N个RAID中。使用所述方法和装置可提高通过虚拟化RAID存储数据的可靠性。

Description

数据存储方法及存储装置
本申请要求于2013年12月13日提交中国专利局、申请号为201310684219.3、发明名称为“数据存储方法及存储装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本发明属于存储领域,尤其涉及一种RAID数据存储方法及存储装置。
背景技术
独立冗余磁盘阵列(Redundant Array of Independent Disk,RAID)是存储领域最为常用的提高系统可靠性的方法。通过同时使用多块磁盘,并按照一定的算法规则,虚拟化成一块单独的大容量高可靠性磁盘进行使用。当具有冗余级别的RAID组中的其中一个发生成员盘损坏时,可以利用其他成员盘的数据以及冗余数据进行数据的修复,从而实现RAID组可靠性高于单个磁盘的目的。
但是由于传统的RAID必须使用一整块磁盘,故存在构成速度慢,空间使用不灵活的问题。而虚拟化RAID不再使用完整的磁盘作为RAID的成员盘,而将磁盘划分成多个磁盘块,使用这些磁盘块创建RAID。这种虚拟化RAID的组织方式使RAID的组成更灵活,磁盘使用方式更灵活,构成单个RAID的所需的存储空间更低等优势。
通常对于一些重要数据,为了提高数据的可靠性,存储系统会在多个RAID上同时保存多份相同数据。以两份数据存放在两个RAID5(每个RAID包括3个成员盘)上为例,由于每个RAID存在校验数据及冗余数据,若一个RAID中的其中一个成员盘损坏之后,可以通过该RAID中的另外两个盘中的校验及冗余数据进行恢复,故传统的两个RAID可以保证其中任意三个成员盘损坏之后,存储在两个RAID中的数据都可以被恢复,而不会丢失的,如图1所示,若RAID I中坏了 两个磁盘10,RAID II坏了一个磁盘20,则坏了一个磁盘的RAID II的数据可以通过该RAID II中的另外两个磁盘20恢复,如此可根据所恢复的RAID II中的数据恢复RAID I中的数据。
如图2所示,在现有的虚拟化RAID中,虚拟化RAID由分布于不同磁盘30中的磁盘块301构成,而不再是由独立磁盘30构成。这种虚拟化的方法使得不同的RAID的磁盘块301可能同时位于同一磁盘30之上。因此,当将两份数据存储至两个RAID时,不能保证两个RAID的磁盘块301不会选到同一块磁盘30上,从而降低了可靠性。例如,如图2所示,在六个盘中,包括两个RAID,即由标识为R0的磁盘块组成的RAID以及由标识为R1的磁盘块构成的RAID,该两个RAID有两个磁盘块301在同一磁盘30中(如图2中的虚线部分所示),如此当这两个磁盘30都坏了之后,这两个RAID中存储的数据都无法恢复,降低了存储可靠性。
发明内容
本发明实施例的目的在于提供一种存储方法及存储装置,能够在将数据存储于虚拟化的RAID中时,提高数据存储的可靠性。
第一方面,本发明提供了一种数据存储方法,所述方法用于将数据存储于独立磁盘冗余阵列RAID中,所述RAID由分布于不同磁盘中的磁盘块构成,包括:
接收应用服务器发送的存储请求,所述存储请求中包含有数据和数据拷贝份数,其中,所述数据拷贝份数为N,N为不小于2的自然数;
在预先创建的M个RAID中选择N个RAID,其中,所述N个RAID的磁盘块均分布于不同的磁盘中,所述M为不小于N的自然数;
将所述数据分别存储于所述N个RAID中。
在本发明的第一方面的第一种实现方式中,所述在预先创建的M个RAID 中选择N个RAID包括:
在预先创建的M个RAID中确定存储所述数据的第一RAID;
根据预设的RAID对应关系在创建的M个RAID中选择除第一RAID以外的N-1个第二RAID,其中,构建所述第一RAID和构建所述N-1个RAID的磁盘块均分布于不同的磁盘中。
在本发明的第一方面的第一种实现方式所提供的数据存储方法中,优选地,还包括:
将创建的M个RAID划分为至少一个RAID组,其中,所述RAID组中包括至少两个RAID,构成所述至少两个RAID的磁盘块分布于不同的磁盘中;
建立所述RAID组中至少两个RAID之间的RAID对应关系。
优选地,所述存储请求中还包含数据的大小,所述在预先创建的M个RAID中确定存储所述数据的第一RAID包括:
根据所述数据的大小在预先创建的M个RAID中选择第一RAID。
优选地,所述根据所述数据的大小在预先创建的M个RAID中选择第一RAID包括:
根据所述数据的大小在预先创建的M个RAID中选择空闲的存储空间最大的RAID为所述第一RAID。
第二方面,本发明提供了一种存储装置,所述装置用于将数据存储于独立磁盘冗余阵列RAID中,所述RAID由分布于不同磁盘中的磁盘块构成,所述装置包括:
接收模块,用于接收应用服务器发送的存储请求,所述存储请求中包含有 数据和数据拷贝份数,其中,所述数据拷贝份数为N,N为不小于2的自然数;
确定模块,用于在预先创建的M个RAID中选择N个RAID,其中,所述N个RAID的磁盘块均分布于不同的磁盘中,所述M为不小于N的自然数;
存储模块,用于将所述数据分别存储于所述N个RAID中。
在第二方面的第一种实现方式中,所述确定模块具体用于:
在预先创建的M个RAID中确定存储所述数据的第一RAID;
并根据预设的RAID对应关系在创建的M个RAID中选择除第一RAID以外的N-1个第二RAID,其中,构建所述第一RAID和构建所述N-1个RAID的磁盘块均分布于不同的磁盘中。
优选地,所述的存储装置还包括:
配置模块,用于将创建的M个RAID划分为至少一个RAID组,其中,所述RAID组中包括至少两个RAID,构成所述至少两个RAID的磁盘块分布于不同的磁盘中;
建立所述RAID组中至少两个RAID之间的RAID对应关系。
优选地,所述存储请求中还包含包数据的大小,所述确定模块具体用于:根据所述数据的大小在预先创建的M个RAID中选择第一RAID。
优选地,所述确定模块具体用于:
根据所述数据的大小在预先创建的M个RAID中选择空闲的存储空间最大的RAID为所述第一RAID。
本发明实施例提供的数据存储方法中,存储数据的RAID由磁盘上的磁盘块构成,在接收到存储N份数据拷贝的存储请求时,可以通过预先创建的M个 RAID中选择存储数据的N个RAID,其中,选择的N个RAID的磁盘块均分布于不同的磁盘中,并将所述N份数据分别存储在选择的所述N个RAID中。在本发明实施例提供的数据存储方法中,由于选择的N个RAID由分布于不同磁盘的磁盘块构成,因此,与现有技术中在虚拟化RAID中存储多份数据的方法相比,本发明实施例提供的数据存储方法能够提高在虚拟化RAID中存储的数据的可靠性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例。
图1为现有技术中的一种RAID的数据存储结构示意图;
图2为现有技术中的另外一种RAID的数据存储结构示意图;
图3为本发明实施例提供的一种应用场景图;
图4为本发明实施例提供的一种数据存储方法的流程图;
图5为本发明实施例提供的一种RAID结构示意图;
图6为本发明实施例提供的又一种RAID结构示意图;
图7为本发明实施例提供的一种存储装置的结构示意图。
具体实现方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。
图3为本发明实施例提供的一种应用场景图。如图3所示,应用服务器2与RAID系统1通过有线或者无线方式连接,RAID系统1用于存储数据,应用服务器2可存储数据至RAID系统1或者从RAID系统1中获取数据。独立 冗余磁盘阵列(Redundant Array of Independent Disk,RAID)系统1由阵列控制器11和一组连接至阵列控制器11的磁盘12组成。RAID系统1中的数据即存储于磁盘12中,阵列控制器11用于组织所连接的磁盘12,并将所连接的磁盘12划分为多个磁盘块,然后根据算法逻辑创建出由磁盘块构成的多个虚拟化的RAID。实际应用中,在创建虚拟化的RAID时,可以先根据需要创建的RAID的级别确定每个RAID的包括的磁盘块的数目及建立虚拟RAID的磁盘,然后在所选的磁盘上选择构成每个RAID的磁盘块。
需要说明的是,在本发明实施例中,如无特别说明,描述的RAID均是指虚拟化RAID,换一种表达方式,本发明实施例中的RAID均是指由磁盘块构建的RAID。
图4为本发明实施例提供的一种数据存储方法的流程图。该方法可以应用于图3所示的应用场景中。所述方法用于将数据存储于所述RAID系统1中,该RAID系统1中包括多个RAID,每个RAID由分布于不同磁盘中的磁盘块构成。如图4所示,所述方法包括:
步骤S40,接收应用服务器2发送的存储请求,所述存储请求中包含有数据、数据拷贝份数,其中,所述数据拷贝份数为N,N为不小于2的自然数。其中,该存储请求中除了携带数据及数据拷贝份数之外还可以包括其他信息,如数据的大小以及数据的源地址等,在此不做限定。
步骤S41,在预先创建的M个RAID中选择N个RAID,其中,N个RAID的磁盘块均分布于不同的磁盘中,所述M为不小于N的自然数。
实际应用中,可以先在预先创建的M个RAID中确定存储所述数据的第一RAID,再根据预设的RAID对应关系在创建的M个RAID中选择除第一RAID以外的N-1个第二RAID,其中,构建所述第一RAID和构建所述N-1个RAID的磁盘块均分布于不同的磁盘中。
例如,若构建RAID R0、RAID R1及RAID R2(为了描述方便,下面分别用R0、R1和R2来表示)的磁盘块均分布于不同的磁盘上,则可以预先在R0、R1及R2之间建立对应关系。在接收到数据存储请求时,如果需要存储三份数据,若将R0确定为第一RAID,则根据上述预设的对应关系,R1及R2即被确定为第二RAID,并将第一份数据存储在R0中,第二份及第三份数据则分别存储于与R0对应的R1及R2中。通过预先建立这样的对应关系,在存储多份数据时,只要确定存储第一份数据的第一RAID,即可根据预设的对应关系找到存储其他份数据的第二RAID。
实际应用中,在选择存储数据的第一RAID时,可以具体根据存储请求中携带的数据的大小在预先创建的M个RAID中选择第一RAID。进一步的,为了使各个RAID中存储的数据实现负载均衡,在实际选择第一RAID的过程中,还可以根据所述数据的大小在预先创建的M个RAID中选择空闲的存储空间最大的RAID为所述第一RAID。
预设的RAID对应关系一般在执行本实施方式的方法之前由所述阵列控制器11建立,例如可以在阵列控制器11建立虚拟RAID时建立,具体的建立方式为:将创建的M个RAID划分为至少一个RAID组,其中,所述RAID组中包括至少两个RAID,构成所述至少两个RAID的磁盘块分布于不同的磁盘中;建立所述RAID组中至少两个RAID之间的RAID对应关系。
例如,可以从创建的M个RAID中找出三个磁盘块均不在同一磁盘上R0、R1、R2组成一个RAID组,并可将该组中各个RAID之间的对应关系记录为(R0、R1、R2)。实际应用中,每组RAID中所包括的RAID的个数可以根据具体情况确定。但一般情况下,只有数据的存储份数小于等于该组RAID中的RAID的个数时,该组RAID才可以用来存储该数据。将创建的M个RAID划分为至少一个RAID组的方式可以为遍历的方式。具体的,可以通过遍历创建的RAID中的磁盘块所分布的磁盘,将分布于不同磁盘的磁盘块构建的RAID划分为一 个RAID组。换一种表达方式,构建一个RAID组中的所有RAID的磁盘块均分布于不同的磁盘上。例如,可以首先确定一个RAID的磁盘块所在的磁盘后,然后在M-1个RAID中逐个查找由与确定的RAID中的磁盘块不属于同一个磁盘的磁盘块构成的RAID,并将查找获得的RAID与预先确定的RAID划分为一个RAID组。例如,以一组RAID包括两个RAID,每个RAID的级别为RAID5,且每个RAID涉及3个磁盘块为例说明。如图5所示,图5为本发明实施例提供的一种RAID结构示意图。若RAID系统1包括6个磁盘D1、D2、D3、D4、D5及D6,将要建立的一RAID组中的其中一个RAID N0的三个磁盘块所在的磁盘分别为D1、D3、D5,则其他由除磁盘D1、D3、D5之外的磁盘上的磁盘块的RAID才能被选择作为与N0对应RAID,即由磁盘D2、D4及D6上的磁盘块构建的RAID才能被选择作为与N0对应的RAID。
实际应用中,还可以在创建过程中,直接使创建的M个RAID的磁盘块均分布于不同的磁盘上。具体的,在创建M个RAID时,首先为需要建立的每个RAID分配识别码,例如,若M=2,即需要创建两个RAID,且这两个RAID构成一个RAID组,则可对该两个RAID分配识别码(R0,R1),再为每个RAID选择磁盘块。选择时,逐一为每个RAID选择磁盘块。在为其中一个RAID选择磁盘块时,首先在其中一个磁盘中选择一个磁盘块,然后判断所选择的磁盘块所在的磁盘上是否有标记有本组其他RAID的识别码的磁盘块,若没有本组其他RAID的识别码,则选择该磁盘块,并将该磁盘块标记为该RAID的识别码,若有本组其他RAID的识别码,则在其他磁盘上选择该RAID的磁盘块。例如,如图6所示,首先为识别码为R0的RAID选择磁盘块,选择时,若R0为首先创建的RAID,因此,可以在图6所示的磁盘中任意选择磁盘块创建所述R0。当创建完R0后,在创建R1时,在选择创建R1的磁盘块时,需要先判断该磁盘上是否有标记有本组其他RAID的识别码的磁盘块,即是否标记有R0的磁盘块,若没有,则将该磁盘块标记为R1,若有,则选择其他磁盘。该RAID的其他两个磁盘块也可以用同样的方法选出。在分别选择了识别码为R0和R1 的磁盘块之后,可以分别在选择的磁盘块上创建R0和R1。通过这种方式,可以使该组RAID中的每个RAID的磁盘块不在同一磁盘上。
步骤S42,将所述数据分别存储于所述N个RAID中。
本发明实施例提供的数据存储方法中,存储数据的RAID由磁盘上的磁盘块构成,在接收到存储N份数据拷贝的存储请求时,可以通过预先创建的M个RAID中选择存储数据的N个RAID,其中,选择的N个RAID的磁盘块均分布于不同的磁盘中,并将所述N份数据分别存储在选择的所述N个RAID中。在本发明实施例提供的数据存储方法中,由于选择的N个RAID由分布于不同磁盘的磁盘块构成,因此,与现有技术中在虚拟化RAID中存储多份数据的方法相比,本发明实施例提供的数据存储方法能够提高数据存储的可靠性。例如,如图6所示,图6为本发明实施例提供的又一种RAID结构示意图。图6以包括在6个磁盘中建立的两个RAID的RAID组为例,其中,每个RAID的级别为RAID5,且每个RAID涉及3个磁盘块。该组RAID的对应关系为(R0,R1),,由于每组RAID的磁盘块不在同一磁盘上,即具有R0和R1标记的磁盘块不会出现在同一磁盘上。当将数据分别存储于R0和R1中后,若其中的第2盘,第3盘,及地5盘损坏,即R0的一个磁盘块以及R1中两个磁盘块中的数据丢失,则R0中丢失的数据可以通过R0的另外两个磁盘块中的数据进行恢复,则R1中两个磁盘块上丢失的数据也可以通过R0的数据进行恢复。如此也可以达到任意三盘损坏时,都可以进行数据的恢复的效果,从而提高了在虚拟化RAID中存储的数据的可靠性。
如图7所示,为本发明实施例中提供的一种存储装置7的模块图。该装置7用于将数据存储于RAID系统1中,所述RAID系统1包括多个RAID,每个RAID由分布于不同磁盘中的磁盘块构成,该装置包括接收模块71、RAID确定模块72、及数据存储模块73。
所述接收模块71,用于接收应用服务器2发送的存储请求,所述存储请求 中包含有数据、数据拷贝份数,其中,所述数据拷贝份数为N,N为不小于2的自然数。其中,该存储请求中除了数据及数据拷贝份数之外还可以包括:数据的大小、数据的源地址等。
所述确定模块72,用于在预先创建的M个RAID中选择N个RAID,其中,所述N个RAID的磁盘块均分布于不同的磁盘中,所述M为不小于N的自然数;
所述存储模块73,用于可将所述数据分别存储于确定模块72选择的所述N个RAID中。
实际应用中,确定模块72具体用于在预先创建的M个RAID中确定存储所述数据的第一RAID;根据预设的RAID对应关系在创建的M个RAID中选择除第一RAID以外的N-1个第二RAID,其中,构建所述第一RAID和构建所述N-1个RAID的磁盘块均分布于不同的磁盘中。
例如,若构建RAID R0、RAID R1及RAID R2(为了描述方便,下面分别用R0、R1和R2来表示)的磁盘块均分布于不同的磁盘上,则可以预先在R0、R1及R2之间建立对应关系。在接收模块71接收到数据存储请求时,如果需要存储三份数据,若确定模块72将R0确定为第一RAID,则根据上述预设的对应关系,R1及R2即被确定为第二RAID,并将第一份数据存储在R0中,第二份及第三份数据则分别存储于与R0对应的R1及R2中。通过预先建立这样的对应关系,在存储多份数据时,只要确定存储第一份数据的第一RAID,即可根据预设的对应关系找到存储其他份数据的第二RAID。
实际应用中,确定模块72在选择存储数据的第一RAID时,可以具体根据存储请求中携带的数据的大小在预先创建的M个RAID中选择第一RAID。进一步的,为了使各个RAID中存储的数据实现负载均衡,确定模块72在实际选择第一RAID的过程中,还可以根据所述数据的大小在预先创建的M个RAID 中选择空闲的存储空间最大的RAID为所述第一RAID。
在又一种情况下,本发明实施例提供的存储装置还可以包括:
配置模块74,用于将创建的M个RAID划分为至少一个RAID组,其中,所述RAID组中包括至少两个RAID,构成所述至少两个RAID的磁盘块分布于不同的磁盘中,并建立所述RAID组中至少两个RAID之间的RAID对应关系。
例如,可以从创建的M个RAID中找出三个磁盘块均不在同一磁盘上R0、R1、R2组成一个RAID组,并可将该组中各个RAID之间的对应关系记录为(R0、R1、R2)。实际应用中,每组RAID中所包括的RAID的个数可以根据具体情况确定。但一般情况下,只有数据的存储份数小于等于该组RAID中的RAID的个数时,该组RAID才可以用来存储该数据。
实际应用中,配置模块74将创建的M个RAID划分为至少一个RAID组的方式可以为遍历的方式。具体的,可以通过遍历创建的RAID中的磁盘块所分布的磁盘,将分布于不同磁盘的磁盘块构建的RAID划分为一个RAID组。换一种表达方式,构建一个RAID组中的所有RAID的磁盘块均分布于不同的磁盘上。例如,可以首先确定一个RAID的磁盘块所在的磁盘后,然后在M-1个RAID中逐个查找由与确定的RAID中的磁盘块不属于同一个磁盘的磁盘块构成的RAID,并将查找获得的RAID与预先确定的RAID划分为一个RAID组。
实际应用中,配置模块74还可以在创建过程中,使创建的M个RAID的磁盘块均分布于不同的磁盘上。具体的,在创建M个RAID时,首先为需要建立的每个RAID分配识别码,例如,若M=2,即需要创建两个RAID,且这两个RAID构成一个RAID组,则可对该两个RAID分配识别码(R0,R1),再为每个RAID选择磁盘块。选择时,逐一为每个RAID选择磁盘块。在为其中一个RAID选择磁盘块时,首先在其中一个磁盘中选择一个磁盘块,然后判断 所选择的磁盘块所在的磁盘上是否有标记有本组其他RAID的识别码的磁盘块,若没有本组其他RAID的识别码,则选择该磁盘块,并将该磁盘块标记为该RAID的识别码,若有本组其他RAID的识别码,则在其他磁盘上选择该RAID的磁盘块。例如,如图6所示,首先为识别码为R0的RAID选择磁盘块,选择时,若R0为首先创建的RAID,因此,可以在图6所示的磁盘中任意选择磁盘块创建所述R0。当创建完R0后,在创建R1时,在选择创建R1的磁盘块时,需要先判断该磁盘上是否有标记有本组其他RAID的识别码的磁盘块,即是否标记有R0的磁盘块,若没有,则将该磁盘块标记为R1,若有,则选择其他磁盘。该RAID的其他两个磁盘块也可以用同样的方法选出。在分别选择了识别码为R0和R1的磁盘块之后,可以分别在选择的磁盘块上创建R0和R1。通过这种方式,可以使该组RAID中的每个RAID的磁盘块不在同一磁盘上。
本发明实施例提供的数据存储装置,在接收模块71接收到存储N份数据拷贝的存储请求时,可以通过确定模块72在预先创建的M个RAID中选择存储数据的N个RAID,其中,选择的N个RAID的磁盘块均分布于不同的磁盘中,并由存储模块73将所述N份数据分别存储在选择的所述N个RAID中。本发明实施例提供的数据存储装置,由于选择的N个RAID由分布于不同磁盘的磁盘块构成,因此能够提高数据存储的可靠性,容灾能力更强。
本发明实施例所提供的数据存储装置可以执行前述数据存储方法,各个模块功能的详细描述可参见方法实施例中的描述,在此不再赘述。
可以理解的是,图7所示的实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个设备中,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部,模块来实现本实施例方案的目的。
本发明实施例还提供一种数据处理的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令用于执行前述任意一个方法实施例所述的方法流程。本领域普通技术人员可以理解,前述的存储介质包括:U盘、移动硬盘、磁碟、光盘、随机存储器(Random-Access Memory,RAM)、固态硬盘(Solid State Disk,SSD)或者非易失性存储器(non-volatile memory)等各种可以存储程序代码的非短暂性的(non-transitory)机器可读介质。
需要说明的是,本申请所提供的实施例仅仅是示意性的。所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。在本发明实施例、权利要求以及附图中揭示的特征可以独立存在也可以组合存在。在本发明实施例中以硬件形式描述的特征可以通过软件来执行,反之亦然。在此不做限定。

Claims (10)

  1. 一种数据存储方法,所述方法用于将数据存储于独立磁盘冗余阵列RAID中,所述RAID由分布于不同磁盘中的磁盘块构成,其特征在于,包括:
    接收应用服务器发送的存储请求,所述存储请求中包含有数据和数据拷贝份数,其中,所述数据拷贝份数为N,N为不小于2的自然数;
    在预先创建的M个RAID中选择N个RAID,其中,所述N个RAID的磁盘块均分布于不同的磁盘中,所述M为不小于N的自然数;
    将所述数据分别存储于所述N个RAID中。
  2. 根据权利要求1所述的数据存储方法,其特征在于,所述在预先创建的M个RAID中选择N个RAID包括:
    在预先创建的M个RAID中确定存储所述数据的第一RAID;
    根据预设的RAID对应关系在创建的M个RAID中选择除第一RAID以外的N-1个第二RAID,其中,构建所述第一RAID和构建所述N-1个RAID的磁盘块均分布于不同的磁盘中。
  3. 根据权利要求2所述的数据存储方法,其特征在于,还包括:
    将创建的M个RAID划分为至少一个RAID组,其中,所述RAID组中包括至少两个RAID,构成所述至少两个RAID的磁盘块分布于不同的磁盘中;
    建立所述RAID组中至少两个RAID之间的RAID对应关系。
  4. 如权利要求2或3所述的数据存储方法,其特征在于,所述存储请求中还包含数据的大小,所述在预先创建的M个RAID中确定存储所述数据的第一RAID包括:
    根据所述数据的大小在预先创建的M个RAID中选择第一RAID。
  5. 根据权利要求4所述的数据存储方法,其特征在于,所述根据所述数据的大小在预先创建的M个RAID中选择第一RAID包括:
    根据所述数据的大小在预先创建的M个RAID中选择空闲的存储空间最大的RAID为所述第一RAID。
  6. 一种存储装置,所述装置用于将数据存储于独立磁盘冗余阵列RAID中,所述RAID由分布于不同磁盘中的磁盘块构成,其特征在于,包括:
    接收模块,用于接收应用服务器发送的存储请求,所述存储请求中包含有数据和数据拷贝份数,其中,所述数据拷贝份数为N,N为不小于2的自然数;
    确定模块,用于在预先创建的M个RAID中选择N个RAID,其中,所述N个RAID的磁盘块均分布于不同的磁盘中,所述M为不小于N的自然数;
    存储模块,用于将所述数据分别存储于所述N个RAID中。
  7. 如权利要6所述的存储装置,其特征在于,所述确定模块具体用于:
    在预先创建的M个RAID中确定存储所述数据的第一RAID;
    并根据预设的RAID对应关系在创建的M个RAID中选择除第一RAID以外的N-1个第二RAID,其中,构建所述第一RAID和构建所述N-1个RAID的磁盘块均分布于不同的磁盘中。
  8. 根据权利要求7所述的存储装置,其特征在于,还包括:
    配置模块,用于将创建的M个RAID划分为至少一个RAID组,其中,所述RAID组中包括至少两个RAID,构成所述至少两个RAID的磁盘块分布于不同的磁盘中;
    建立所述RAID组中至少两个RAID之间的RAID对应关系。
  9. 如权利要求7或8所述的存储装置,其特征在于,所述存储请求中还包含包数据的大小,所述确定模块具体用于:根据所述数据的大小在预先创建的M个RAID中选择第一RAID。
  10. 根据权利要求9所述的数据存储系统,其特征在于,所述确定模块具体用于:
    根据所述数据的大小在预先创建的M个RAID中选择空闲的存储空间最大的RAID为所述第一RAID。
PCT/CN2014/086337 2013-12-13 2014-09-12 数据存储方法及存储装置 WO2015085802A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201310684219.3A CN103617010B (zh) 2013-12-13 2013-12-13 数据存储方法及存储装置
CN201310684219.3 2013-12-13

Publications (1)

Publication Number Publication Date
WO2015085802A1 true WO2015085802A1 (zh) 2015-06-18

Family

ID=50167713

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2014/086337 WO2015085802A1 (zh) 2013-12-13 2014-09-12 数据存储方法及存储装置

Country Status (2)

Country Link
CN (1) CN103617010B (zh)
WO (1) WO2015085802A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103617010B (zh) * 2013-12-13 2016-11-23 华为技术有限公司 数据存储方法及存储装置
CN109522154B (zh) * 2015-09-10 2023-02-03 华为技术有限公司 数据恢复方法及相关设备与系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6718436B2 (en) * 2001-07-27 2004-04-06 Electronics And Telecommunications Research Institute Method for managing logical volume in order to support dynamic online resizing and software raid and to minimize metadata and computer readable medium storing the same
CN101625627A (zh) * 2009-08-05 2010-01-13 成都市华为赛门铁克科技有限公司 写入数据的方法、磁盘冗余阵列的控制器及磁盘冗余阵列
CN102326141A (zh) * 2011-08-08 2012-01-18 华为技术有限公司 Raid配置信息的处理方法及装置、raid控制器
CN102880428A (zh) * 2012-08-20 2013-01-16 华为技术有限公司 分布式独立磁盘冗余阵列的创建方法及装置
CN103617010A (zh) * 2013-12-13 2014-03-05 华为技术有限公司 数据存储方法及存储装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6807605B2 (en) * 2002-10-03 2004-10-19 Hewlett-Packard Development Company, L.P. Managing a data storage array, a data storage system, and a raid controller
CN102147713B (zh) * 2011-02-18 2013-06-12 杭州宏杉科技有限公司 一种网络存储系统的管理方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6718436B2 (en) * 2001-07-27 2004-04-06 Electronics And Telecommunications Research Institute Method for managing logical volume in order to support dynamic online resizing and software raid and to minimize metadata and computer readable medium storing the same
CN101625627A (zh) * 2009-08-05 2010-01-13 成都市华为赛门铁克科技有限公司 写入数据的方法、磁盘冗余阵列的控制器及磁盘冗余阵列
CN102326141A (zh) * 2011-08-08 2012-01-18 华为技术有限公司 Raid配置信息的处理方法及装置、raid控制器
CN102880428A (zh) * 2012-08-20 2013-01-16 华为技术有限公司 分布式独立磁盘冗余阵列的创建方法及装置
CN103617010A (zh) * 2013-12-13 2014-03-05 华为技术有限公司 数据存储方法及存储装置

Also Published As

Publication number Publication date
CN103617010B (zh) 2016-11-23
CN103617010A (zh) 2014-03-05

Similar Documents

Publication Publication Date Title
US11163472B2 (en) Method and system for managing storage system
US11099955B2 (en) Method and device for rebuilding raid
US10210045B1 (en) Reducing concurrency bottlenecks while rebuilding a failed drive in a data storage system
US10365983B1 (en) Repairing raid systems at per-stripe granularity
US8713405B2 (en) Method and apparatus for allocating erasure coded data to disk storage
US10852966B1 (en) System and method for creating mapped RAID group during expansion of extent pool
EP4137924A1 (en) Fragment management method and fragment management apparatus
US11106377B2 (en) Storage management method, device and computer-readable medium
US10678643B1 (en) Splitting a group of physical data storage drives into partnership groups to limit the risk of data loss during drive rebuilds in a mapped RAID (redundant array of independent disks) data storage system
US9563524B2 (en) Multi level data recovery in storage disk arrays
CN108037894B (zh) 一种磁盘空间管理方法及装置
US10579540B2 (en) Raid data migration through stripe swapping
US10664392B2 (en) Method and device for managing storage system
CN107515726A (zh) 用于管理存储设备的方法和系统
CN104050200B (zh) 用于数据拷贝的方法和装置
TW201913380A (zh) 資料儲存裝置以及其操作方法
US10782894B1 (en) Reducing overlap through shuffle and keeping relationship balance on mapped RAID system and method
US20190129646A1 (en) Method, system, and computer program product for managing storage system
US10592138B1 (en) Avoiding storage device overlap in raid extent sub group and keeping relationship balance on mapped raid system and method
US9990261B2 (en) System and method for recovering a storage array
US9971648B1 (en) Dynamic parities mechanism
US20130151886A1 (en) Computing device and method for switching physical links of a sas expander of the computing device
WO2015085802A1 (zh) 数据存储方法及存储装置
JP6052288B2 (ja) ディスクアレイ制御装置、ディスクアレイ制御方法及びディスクアレイ制御プログラム
TWI547801B (zh) 資料儲存系統及方法

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 14868953

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 14868953

Country of ref document: EP

Kind code of ref document: A1