WO2014205667A1 - Network volume creating method, data storage method, storage device and storage system - Google Patents

Network volume creating method, data storage method, storage device and storage system Download PDF

Info

Publication number
WO2014205667A1
WO2014205667A1 PCT/CN2013/077985 CN2013077985W WO2014205667A1 WO 2014205667 A1 WO2014205667 A1 WO 2014205667A1 CN 2013077985 W CN2013077985 W CN 2013077985W WO 2014205667 A1 WO2014205667 A1 WO 2014205667A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
storage
address
storage node
network volume
Prior art date
Application number
PCT/CN2013/077985
Other languages
French (fr)
Chinese (zh)
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 华为技术有限公司
Priority to CN201380000748.5A priority Critical patent/CN103608784B/en
Priority to PCT/CN2013/077985 priority patent/WO2014205667A1/en
Publication of WO2014205667A1 publication Critical patent/WO2014205667A1/en

Links

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/0631Configuration or reconfiguration of storage systems by allocating resources to 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/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]

Definitions

  • Network volume creation method data storage method, storage device, and storage system
  • the present invention relates to storage technologies, and in particular, to a network volume creation method, a data storage method, a storage device, and a storage system.
  • a traditional storage system uses a centralized storage server to store all data.
  • a storage server also called a storage node, can include multiple hard disks. Redundant Array of Independent Disks (RAID) can be used among multiple hard disks. Types create a normal volume, store data in a normal volume, and achieve data redundancy.
  • RAID Redundant Array of Independent Disks
  • a RAID cartridge is called a hard disk array.
  • the basic idea is to combine multiple hard disks into a single hard disk array group, so that the performance can reach or exceed a large hard disk.
  • RAID has the following benefits over a single hard drive: Enhanced data integration, enhanced fault tolerance, increased throughput or capacity.
  • the disk array looks like a separate hard disk or logical storage unit for the computer.
  • the traditional RAID technology is implemented in the hard disk. Taking RAID 5 as an example, at least three hard disks are required to implement RAID 5 technology, and the data and corresponding parity information are stored on each disk that constitutes RAID 5, and the parity is The verification information and the corresponding data are stored on different disks. When a disk data of RAID 5 is damaged, the remaining data and corresponding parity information can be used to recover the corrupted data.
  • the embodiment of the invention provides a network volume creation method, a data storage method, a storage device and a storage system, which can implement network volume creation.
  • an embodiment of the present invention provides a method for creating a network volume, where the method is applied to a storage system, where the storage system includes a management node and multiple storage nodes, and the method includes:
  • the first storage node sent by the management node receives the first network volume creation request sent by the management node, the first network volume creation request includes information of a network volume, and the information of the network volume includes RAID type information. And size information of the network volume;
  • the second network volume creation request includes a size of a storage space to be allocated by each storage node, so that each storage node is configured according to each The size of the storage space to be allocated by the storage node allocates storage space for the network volume;
  • the storage space allocated for each storage node is assigned a logical address corresponding to each storage node; the response message of the first network volume creation request is sent to the management node, and the response message of the first network volume creation request includes: The logical address of the network volume, and the logical address of the network volume includes a logical address corresponding to each storage node.
  • the method further includes:
  • the information about the network volume further includes storage node information, where the storage node information is used to indicate the multiple storage nodes required to create the network volume;
  • the method further includes: determining, according to the storage node information, the plurality of storage nodes required to create the network volume.
  • the method further includes:
  • each storage node sends a logical address corresponding to each storage node to each storage node, respectively, such that each storage node records a mapping relationship between its own logical address and a physical address of the allocated storage space.
  • the storage system further includes a host
  • the method further includes:
  • the method further includes: recording and saving a correspondence between a logical address corresponding to each storage node and each of the storage nodes.
  • the logical address includes a data address
  • the response message of the first network volume creation request specifically includes: a data address of the network volume.
  • the response message of the second network volume creation request includes: a physical address of the allocated storage space
  • Specifying a logical address corresponding to each storage node for the storage space allocated by each storage node specifically includes: specifying, according to the physical address of the allocated storage space, a storage space allocated for each storage node, corresponding to each storage node Logical address.
  • an embodiment of the present invention provides a data storage method, where the method is applied to a storage system, where the storage system includes a host and multiple storage nodes, and the method includes:
  • the first storage node of the plurality of storage nodes divides the target data into at least two slice data
  • the method further includes:
  • the host Receiving a third write data request sent by the host, where the third write data request includes an identifier of the network volume, a data length, and the target data;
  • the splitting the target data into the at least two slice data specifically includes: dividing the target data into at least two slice data according to the RAID type and the data length, where the RAID type is determined according to the identifier of the network volume. .
  • the third write data request further includes a storage address
  • the determining the data address of each slice data specifically includes: determining a data address of each slice data according to the storage address and the data length.
  • the method further includes:
  • the first read data request includes the storage address and the data length, and the first read data request is used to read the target data; according to the storing The address and the data length determine a data address of each slice data included in the target data;
  • the slice data sent by the storage node corresponding to each slice data is received, and merged into the target data and sent to the host.
  • the embodiment of the present invention provides a storage device, where the storage device includes: a receiving module, configured to receive a first network volume creation request sent by a management node, where the first network volume creation request includes information about a network volume
  • the information of the network volume includes RAID type information and size information of the network volume;
  • a determining module configured to determine, according to the RAID type information and the size information of the network volume, a size of a storage space to be allocated by each of the plurality of storage nodes required by the network volume;
  • a sending module configured to separately send a second network volume creation request to each of the storage nodes, where the second network volume creation request includes a size of a storage space to be allocated by each storage node, so that each storage The node allocates storage space to the network volume according to the size of the storage space to be allocated by each storage node;
  • An address specifying module configured to specify a logical address corresponding to each storage node for a storage space allocated by each storage node
  • the sending module is further configured to send a response message of the first network volume creation request to the management node, where the response message of the first network volume creation request includes: a logical address of the network volume, the network The logical address of the volume includes the logical address corresponding to each storage node.
  • the determining module is further configured to determine, according to the RAID type information and the size information of the network volume, the multiple required to create the network volume Storage node.
  • the information about the network volume further includes storage node information, where the storage node information is used to indicate the multiple storage nodes required to create the network volume;
  • the determining module is further configured to determine, according to the storage node information, the plurality of storage nodes required to create the network volume.
  • the sending module is further configured to send a logical address corresponding to each storage node to each storage node, so that each storage node Record the mapping relationship between its own logical address and the physical address of the allocated storage space.
  • the method further includes a recording module
  • the recording module is further configured to record and save a correspondence between a logical address corresponding to each storage node and each storage node.
  • the logical address includes a data address
  • the response message of the first network volume creation request specifically includes: a data address of the network volume.
  • the response message of the second network volume creation request includes: a physical address of the allocated storage space
  • the address specifying module is specifically configured to specify, according to the physical address of the allocated storage space, a logical address corresponding to each storage node for a storage space allocated by each storage node.
  • an embodiment of the present invention provides a storage device, where the storage device includes: a segmentation module, configured to slice target data into at least two slice data;
  • a calculation module configured to calculate verification data of the at least two slice data, and allocate a check address to the verification data
  • a determining module configured to determine a data address of each slice data; determining, according to the correspondence between the data address and the storage node, a storage node corresponding to each slice data, and according to the school And determining, by the storage node, the storage node corresponding to the verification data; the sending module, configured to send a first write data request to the storage node corresponding to each slice data, where the first write data request includes the slice data and the data Addressing, so that the storage node corresponding to each slice data writes the slice data into the storage space corresponding to the physical address according to the mapping relationship between the data address and the physical address; and sends the second write data request to the storage node corresponding to the check data
  • the second write data request includes the check data and the check address, so that the storage node corresponding to the check data writes the check data to the storage space corresponding to the physical address according to the mapping relationship between the check address and the physical address. in.
  • the storage device further includes: a receiving module
  • the receiving module is configured to receive a third write data request sent by the host, where the third write data request includes an identifier of the network volume, a data length, and the target data;
  • the segmentation module is specifically configured to divide the target data into at least two slice data according to the RAID type and the data length, where the RAID type is determined according to the identifier of the network volume.
  • the third write data request further includes a storage address
  • the determining module is specifically configured to determine a data address of each slice data according to the storage address and the data length.
  • the receiving module is further configured to receive a first read data request sent by the host, where the first read data request includes the storage address and the data length, and the first read data request is used to read the Target data
  • the determining module is further configured to determine, according to the storage address and the data length, a data address of each slice data included in the target data; according to the data address and the storage node Corresponding relationship determines a storage node corresponding to each slice data;
  • the sending module is further configured to send a second read data request to the storage node corresponding to each slice data, where the second read data request includes a data address of the slice data, so that the storage node corresponding to each slice data is based on The mapping between the data address and the physical address, the slice data is read from the storage space corresponding to the physical address, and sent to the first storage node; the receiving module is further configured to receive a corresponding data of each slice data.
  • the slice data sent by the storage node is merged into the target data and sent to the host.
  • the embodiment of the present invention provides a storage system, where the storage system includes: the storage device and the management node according to any one of claims 13-19;
  • the management node is configured to send a first network volume creation request to a first storage node of the plurality of storage nodes, where the first network volume creation request includes information of a network volume, and the information of the network volume includes a RAID Type information and size information of the network volume.
  • the embodiment of the present invention provides a storage system, where the storage system includes the storage device and the host according to any one of claims 20-23;
  • the host is configured to send a third write data request to the storage device, where the third write data request includes an identifier of the network volume, a data length, and the target data.
  • an embodiment of the present invention provides a storage device, a processor, a memory, and a communication, wherein the processor and the memory communicate through the communication bus;
  • the memory is used to save a program
  • the processor is configured to execute the program to:
  • the management node And receiving, by the management node, a first network volume creation request, where the first network volume creation request includes information about a network volume, and the information of the network volume includes RAID type information and size information of the network volume;
  • the storage space allocated for each storage node is assigned a logical address corresponding to each storage node; the response message of the first network volume creation request is sent to the management node, and the response message of the first network volume creation request includes: The logical address of the network volume, and the logical address of the network volume includes a logical address corresponding to each storage node.
  • the processor is further configured to determine, according to the RAID type information and the size information of the network volume, the multiple required to create the network volume Storage node.
  • the information about the network volume further includes storage node information, where the storage node information is used to indicate the multiple storage nodes required to create the network volume;
  • the processor is further configured to determine, according to the storage node information, the plurality of storage nodes required to create the network volume.
  • the processor is further configured to send a logical address corresponding to each storage node to each storage node, so that each storage node Record the mapping relationship between its own logical address and the physical address of the allocated storage space.
  • the processor is further configured to record and save a correspondence between a logical address corresponding to each storage node and each storage node.
  • the logical address includes a data address
  • the response message of the first network volume creation request specifically includes: a data address of the network volume.
  • the response message of the second network volume creation request includes: a physical address of the allocated storage space;
  • the processor is specifically configured to specify, according to the physical address of the allocated storage space, a storage address corresponding to each storage node for a storage space allocated by each storage node.
  • an embodiment of the present invention provides a storage device, a processor, a memory, and a communication bus, where the processor and the memory communicate through the communication bus;
  • the memory is used to save a program
  • the processor is configured to execute the program to:
  • the processor is further configured to receive a third write data request sent by the host, where the third write data request includes an identifier of the network volume, a data length, and The target data;
  • the processor is specifically configured to divide the target data into at least two slice data according to the RAID type and the data length, where the RAID type is determined according to the identifier of the network volume.
  • the third write data request further includes a storage address
  • the processor is specifically configured to determine a data address of each slice data according to the storage address and the data length.
  • the first storage node after receiving the first network volume creation request sent by the management node, determines a storage space to be allocated by each storage node, and sends a second network volume creation request to each storage node, so that each The storage node may allocate a storage space according to the second network volume creation request, the first storage node allocates a storage space designation logical address to each storage node, and sends the logical address to the management node, so that the management node knows that the network volume is successfully created, and the network The logical address of the volume. In this way, the creation of a network volume is achieved.
  • FIG. 1 is a schematic diagram of an application network architecture of a method for creating a network volume according to an embodiment of the present invention
  • FIG. 2 is a signaling diagram of a method for creating a network volume according to an embodiment of the present invention
  • FIG. 3 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 storage device according to an embodiment of the present disclosure.
  • FIG. 6 is a schematic structural diagram of another storage device according to an embodiment of the present disclosure.
  • FIG. 7A is a schematic structural diagram of a storage system according to an embodiment of the present invention
  • FIG. 7B is a schematic structural diagram of another storage system according to an embodiment of the present invention
  • FIG. 8 is a schematic structural diagram of still another storage device according to an embodiment of the present disclosure
  • FIG. 9 is a schematic structural diagram of still another storage device according to an embodiment of the present invention. detailed description
  • FIG. 1 is a schematic structural diagram of a system for creating a network volume according to an embodiment of the present invention.
  • the storage system includes a host, a management node, and multiple storage devices (also referred to as storage nodes).
  • the host can include any computing device known in the art, such as servers, desktop computers, and the like. Inside the host, an operating system and other applications are installed.
  • the management node can include any computing device known in the art, such as a server, desktop computer, and the like. Its internal structure can be the same as the host.
  • the storage node may include storage devices known in the prior art, such as Redundant Arrays of Inexpensive Disks (RAID), Just a Bunch Of Disks (JBOD), and Direct Access Storage Device (Direct Access Storage Device, DASD )
  • RAID Redundant Arrays of Inexpensive Disks
  • JBOD Just a Bunch Of Disks
  • DASD Direct Access Storage Device
  • One or more interconnected disk drives such as tape libraries, tape storage devices with one or more storage units.
  • FIG. 1 is a schematic diagram of a method for creating a network volume according to the present invention. As shown in FIG. 1, the method includes:
  • Step S201 The first storage node of the multiple storage nodes receives a first network volume creation request sent by the management node, where the first network volume creation request includes information of a network volume, and the management node may use the first network.
  • the volume creation request is sent to any one of the plurality of storage nodes, and the storage node can make itself the first storage node by modifying the attribute setting after receiving the first network volume creation request.
  • the information of the network volume may be RAID type information and size information of the network volume, wherein the RAID type information may be a RAID type well known to those skilled in the art, for example:
  • RAID5, RAID6, etc. can also be the redundancy type of the upper correction code, such as: Erasure Code 10+2, 9+3, 8+4, etc.
  • the size information of the network volume refers to the size of the storage space included in the network volume.
  • the information of the network volume may further include information of the storage node for indicating a storage node required to create the network volume.
  • the information of the network volume may further include an identifier of the network volume.
  • Step S202 Determine, according to the RAID type information and the size information of the network volume, a size of a storage space to be allocated by each of the plurality of storage nodes.
  • the first storage node may determine the storage space to be allocated by each storage node according to the RA I D type information and the size information of the network volume.
  • the RAID type information is "4+1" RAID 5, where four storage nodes are used to store data to be written carried in the write data request, and the first storage node is configured to store the data to be written.
  • Check data It should be noted that, when receiving the write data request, the data to be written needs to be segmented to obtain four slice data, and the four slice data are respectively stored in four storage nodes. For another example, if the size information of the network volume is 20M, the storage space to be allocated by each storage node is 4M.
  • Step S203 The first storage node separately sends a second network volume creation request to each of the storage nodes, where the second network volume creation request includes a storage space to be allocated by each storage node.
  • the size is such that each storage node allocates storage space for the network volume according to the size of the storage space to be allocated by each storage node.
  • the storage node information is used to indicate a storage node required to create the network volume, and the first storage node may directly pass the storage node information.
  • the storage node included in the storage system determines a storage node required to create the network volume.
  • the storage node that receives the second network volume creation request can scan its storage space and allocate 4M storage space to the network volume.
  • the storage node sends a response message to the second storage volume creation request of the first storage node, where the response message is used to indicate that the storage space allocation is successful.
  • the response message may further include a physical address of the allocated storage space.
  • Step S204 The storage space allocated by the first storage node for each storage node specifies a logical address corresponding to each storage node.
  • the first storage node may specify a continuous logical address for the network volume after the storage space allocation is successful, because the storage space of the network volume is distributed among multiple storage nodes. Upper, so the storage space of each storage node corresponds to a logical address.
  • the storage space allocated for each storage node is assigned a logical address corresponding to each storage node, and the logical address corresponding to each storage node is merged to be the logical address of the network volume.
  • the logical address specified by the first storage node may include a data address and a check address, where the data address is used to store data to be written in the write data request, and the check address is used to store data to be written. Verify the data.
  • the data address can be VB-0, VB-1, VB-2, VB_3, VB-4, VB-5
  • the school insurance address can be P_0, P-1, P-2, P-3, etc. .
  • Step S205 The first storage node sends a response message of the first network volume creation request to the management node, where the response message of the first network volume creation request includes: a logical address of the network volume.
  • the logical address carried in the response message of the first network volume creation request may be a data address.
  • the data address may be VB_0, VB_1, VB_2, VB_3.
  • the response message of the first network volume creation request may further include an identifier of the network volume, so that the management node may record and save the identifier of the network volume and the RAID type information of the network volume and the Correspondence between information such as the size information of the network volume.
  • the identifier of the network volume herein may be carried in the first network volume creation request sent by the host to the first storage node, or may be generated by the first storage node.
  • the first storage node after receiving the first network volume creation request sent by the management node, determines a storage space to be allocated by each storage node, and sends a second network volume creation request to each storage node, so that each The storage node may allocate a storage space according to the second network volume creation request, the first storage node allocates a storage space designation logical address to each storage node, and sends the logical address to the management node, so that the management node knows that the network volume is successfully created, and the network The logical address of the volume. In this way, the creation of a network volume is achieved.
  • the method may further include:
  • Step S206 The first storage node sends the information of the network volume to the host, where the information of the network volume may include: an identifier of the network volume, a RAID type of the network volume, a size information of the network volume, and The logical address of the network volume, the information of the storage node, and the like.
  • the information of the storage node refers to information of the first storage node, and may also include information of all storage nodes where the network volume is located.
  • the host may map the network volume to a drive letter, such as a D drive or an E drive, for use by the user according to the information of the network volume.
  • a drive letter such as a D drive or an E drive
  • the host may also record and save the identifier of the network volume and the network volume.
  • RAID type size information of the network volume, and logical address and storage of the network volume Correspondence between information such as node information.
  • the step may be: when the host queries the network volume for the network volume, the management node sends the information of the network volume to the host, or the management node actively sends the information of the network volume to the host.
  • the method may further include:
  • Step S207 The first storage node sends a logical address corresponding to each storage node to each storage node, so that each storage node records a mapping relationship between its logical address and the physical address of the allocated storage space. a mapping relationship between the logical address and the physical address of the allocated storage space, when the storage node writes data, the data may be written into the storage space corresponding to the physical address according to the mapping relationship, or When reading data, data can be read from the storage space corresponding to the physical address according to the mapping relationship.
  • the method may further include:
  • Step S208 Record a correspondence between a logical address corresponding to each storage node and each storage node.
  • the first storage node may record a correspondence between the network volume and the specified logical address, and a logical address corresponding to each node and each storage node.
  • Correspondence relationship Specifically, taking Table 1 as an example, the network volume may be uniquely identified by using the identifier of the network volume, and the identifier and logical address of the network volume and the corresponding storage node of each logical address are recorded in the form of a mapping table. relationship.
  • the method may further include:
  • Step S209 Determine, according to the information of the network volume, a storage section required to create the network volume. Point.
  • the first storage node may be based on the RAID type information and The size information of the network volume determines the storage node required to create the network volume.
  • the first storage node needs to select 5 storage nodes from multiple storage nodes, wherein 4 storage nodes are used for storage.
  • the data to be written carried in the data request is written, and one storage node is used to store the verification data of the data to be written.
  • the data to be written needs to be segmented to obtain 4 slice data, and the 4 storage nodes respectively store 4 slice data.
  • a storage node for creating a network volume may be selected according to a load balancing policy.
  • FIG. 3 is a schematic flowchart of a data storage method according to an embodiment of the present invention.
  • the data storage method may be applied to a storage system, where the storage system includes a host and multiple storage nodes, as shown in FIG. , the method includes:
  • Step S301 The first storage node of the plurality of storage nodes divides the target data into at least two pieces of slice data
  • the storage node that receives the target data may be the first storage node where the network volume is located, the target data is carried in the write data request received by the first storage node, and the first storage node receives the target data according to the RA ID type. And the length of the target data divides the target data into at least two slice data.
  • Step S302 Calculate check data of the at least two slice data, where the check data is Assign a check address;
  • the check data of the at least two slice data may be calculated according to the RA I D type, and the check address is allocated according to the check data.
  • Step S303 Determine a data address of each slice data.
  • the write data request may further carry a storage address of the target data, and the storage address and the data length may determine a continuous logical address storing the target data.
  • the storage address is also divided to obtain the logical address of the storage slice data of each storage node.
  • the logical address storing the slice data may be referred to as a data address.
  • Step S304 Determine, according to the correspondence between the data address and the storage node, a storage node corresponding to each slice data, and determine a storage node corresponding to the verification data according to the correspondence between the check address and the storage node;
  • the first storage node may determine, according to the correspondence between the data address and the storage node saved in advance, a storage node corresponding to each slice data, and determine a storage node corresponding to the verification data according to the correspondence between the check address and the storage node. .
  • Step S305 Send a first write data request to the storage node corresponding to each slice data, where the first write data request includes slice data and a data address, so that the storage node corresponding to each slice data is based on the data address and the physical address.
  • the mapping relationship, the slice data is written into the storage space corresponding to the physical address;
  • a mapping relationship between a logical address and a physical address may be saved in each storage node, and after receiving the slice data, the slice data may be written according to a mapping relationship between the logical address and the physical address.
  • the logical address corresponding to the slice data in step S305 is a data address.
  • Step S306 Send a second write data request to the storage node corresponding to the check data, where the second write data request includes the check data and the check address, so that the storage section corresponding to the check data The point is written into the storage space corresponding to the physical address according to the mapping relationship between the check address and the physical address.
  • a mapping relationship between a logical address and a physical address may be saved in each storage node, and after receiving the verification data, the verification data may be determined according to a mapping relationship between the logical address and the physical address.
  • the first storage node divides the target data into at least two slice data, calculates check data of at least two slice data, and stores the slice data and the check data in each storage node, thereby implementing Data redundancy, even if one of the storage nodes fails, can use the slice data and check data stored in other storage nodes to recover the data stored by the failed storage node, thus ensuring data reliability.
  • FIG. 4 is a schematic flowchart of another data storage method according to an embodiment of the present invention. As shown in FIG. 4, the method includes:
  • Step S401 The first storage node of the plurality of storage nodes receives the write data request A sent by the host, and the write data request A includes the identifier of the network volume, the storage address, the data length, and the target data.
  • the user can select a network volume for storing data by using a drive letter on the host (for example, a D drive or an E drive), and each network volume can be uniquely identified by an identifier of the network volume (for example, an ID number).
  • a drive letter on the host for example, a D drive or an E drive
  • each network volume can be uniquely identified by an identifier of the network volume (for example, an ID number).
  • the host has a correspondence between the identifier of the network volume and the first storage node of the network volume. Therefore, the host may determine the first storage node of the network volume by using the identifier of the network volume selected by the user.
  • a write data request A is sent to the first storage node.
  • the write data request A may include: information such as an identifier of the network volume, a storage address, a data length, and target data.
  • the storage address refers to the logical address of the target data to be stored. On each storage node of the storage system, one logical address corresponds to a physical address, and the target data is finally written to the physical address. The storage space corresponding to the address.
  • the data length refers to the length of the target data.
  • Step S402 The target data is divided into at least two slice data according to the RAID type and the data length, and the RA I D type is determined according to the identifier of the network volume.
  • the first storage node may save a correspondence between the identifier of the network volume and a RAID type of the network volume, so that the network volume is created in advance by the first storage node.
  • the storage node may determine the RAID type of the network volume according to the identifier of the network volume.
  • the target data is then sliced into at least two slice data based on the RAID type and the data length.
  • Step S403 Calculate check data of the at least two slice data according to the RAID type.
  • the parity information of the at least two slice data may be calculated, and the parity information is stored as check data of the at least two slice data, respectively, on different storage nodes, when When one of the slice data is damaged, the damaged data can be recovered by using the slice data and the check data that have not been damaged.
  • Step S404 Determine a data address of each slice data according to the storage address and the data length, and allocate a check address to the check data.
  • An address according to the storage address and the data length, a continuous logical address storing the target data. After the target data is segmented, the storage address is also divided to obtain the logical address of the storage slice data of each storage node.
  • the logical address for storing each slice data may be referred to as data. address.
  • the check address is not carried in the write data request A, but is allocated by the first storage node.
  • the first storage node specifies a logical address for the storage space of the network volume, where the logical address includes a data address. And check the address. For the host, the check address is not visible, so the check address can be assigned by the first storage node.
  • the data address of each slice data is determined according to the storage address and the data length, and there is no order between the verification addresses for the check data.
  • Step S405 Determine, according to the correspondence between the data address and the storage node, a storage node corresponding to each slice data, and determine a storage node corresponding to the verification data according to the correspondence between the check address and the storage node.
  • the first storage node may determine, according to the correspondence between the data address and the storage node saved in advance, a storage node corresponding to each slice data, and determine a storage node corresponding to the verification data according to the correspondence between the check address and the storage node.
  • the correspondence relationship can refer to the mapping table shown in Table 1.
  • Step S406 Send a write data request B to the storage node corresponding to each slice data, where the write data request B includes slice data and a data address, so that the storage node corresponding to each slice data is mapped according to the data address and the physical address. Relationship, write slice data to the storage space corresponding to the physical address.
  • the target data needs to be divided into four slice data, and one check data of the four slice data is calculated, and the data address of the four slice data is obtained. And after verifying the data address of the data, the write data request B can be sent to the four storage nodes corresponding to the data addresses of the four slice data, and the write data request B includes the slice data and the data address.
  • the slice data may be written into the storage space corresponding to the physical address according to the correspondence between the data address and the physical address.
  • the first storage node itself is a storage node storing one of the slice data, the first storage node only needs to send a write data request B to the other three storage nodes.
  • Step S407 Send a write data request C to the storage node corresponding to the check data, where the write data request C includes the check data and the check address, so that the storage node root corresponding to the check data According to the mapping relationship between the verification address and the physical address, the verification data is written into the storage space corresponding to the physical address.
  • the verification data may be one or more, so the storage node corresponding to the verification address and the verification address may also be one or more.
  • the check data is one; when the RAID type is RAID 6, the check data is two.
  • step S407 There is no order between step S407 and step S406.
  • the first storage node after receiving the write data request A sent by the host, divides the target data into at least two slice data according to the RA ID type and the data length, and calculates a check of at least two slice data. Data, the slice data and the check data are stored in each storage node, thereby realizing data redundancy, and even if the first storage node fails, the slice data and the check data stored in the other storage nodes can be recovered. The data stored by the failed storage node ensures data reliability.
  • the method may further include:
  • Step S408 Receive a read data request A sent by the host, the read data request A includes the storage address and the data length, and the first read data request is used to read the target data.
  • Step S409 Determine a data address of each slice data included in the target data according to the storage address and the data length.
  • step S404 the step of determining the data address of each slice data is similar to step S404, and details are not described herein again.
  • Step S410 Determine, according to the correspondence between the data address and the storage node, a storage node corresponding to each slice data.
  • step S405 the step of determining the storage node corresponding to each slice data is similar to step S405, and details are not described herein again.
  • Step S411 Send a read data request B to the storage node corresponding to each slice data, where the read data request B includes a data address of the slice data, so that the storage corresponding to each slice data is The node reads the slice data from the storage space corresponding to the physical address and sends the slice data to the first storage node according to a mapping relationship between the data address and the physical address.
  • Step S412 Receive slice data sent by the storage node corresponding to each slice data, and merge the data into the target data and send the data to the host.
  • an error report may be sent to the first storage node, and the first storage node may instruct other storage nodes of the network volume to read the target.
  • the damaged slice data and the check data of the data are not recovered to recover the damaged slice data.
  • the first storage node may periodically check whether the slice data stored in each storage node where the network volume is located is damaged. If yes, the damaged slice data may be recovered in the above manner.
  • FIG. 5 is a schematic structural diagram of a storage device 50 according to an embodiment of the present invention. As shown in FIG. 5, the storage device includes:
  • the receiving module 501 is configured to receive a first network volume creation request sent by the management node, where the first network volume creation request includes information about a network volume, and the information of the network volume includes RAID type information and size information of the network volume. ;
  • the management node may send the first network volume creation request to any of the plurality of storage nodes, and the storage node may make itself the first storage node by modifying the attribute setting after receiving the first network volume creation request.
  • the information of the network volume may be the RAID type information and the size information of the network volume.
  • the RAID type information may be a RAID type well known to those skilled in the art, such as: commonly used RAID5, RAID6, etc., or may be redundant of the upper correction code. Other types, such as: Erasure Code 10+2, 9+3, 8+4, etc.
  • the size information of the network volume refers to the size of the storage space included in the network volume. It should be noted that the storage device in the embodiment of the present invention may be regarded as a first storage node. In another embodiment of the present invention, the information of the network volume may further include information of the storage node for indicating a storage node required to create the network volume.
  • the information of the network volume may further include an identifier of the network volume.
  • a determining module 502 configured to determine, according to the RAID type information and the size information of the network volume, a size of a storage space to be allocated by each of the plurality of storage nodes required by the network volume;
  • the determining module 502 can determine, according to the RAID type information and the size information of the network volume, the storage space to be allocated by each storage node.
  • the RAID type information is a "4+1" RAID 5, where four storage nodes are used to store data to be written carried in the write data request, and the first storage node is configured to store the data to be written.
  • Check data It should be noted that, when receiving the write data request, the data to be written needs to be segmented to obtain four slice data, and the four slice data are respectively stored in four storage nodes.
  • the size information of the network volume is
  • the storage space to be allocated for each storage node is 4M.
  • a sending module 503, configured to separately send a second network volume creation request to each of the storage nodes, where the second network volume creation request includes a size of a storage space to be allocated by each storage node, such that each The storage node allocates storage space to the network volume according to the size of the storage space to be allocated by each storage node;
  • the storage node may directly pass the storage node information from the storage system.
  • the storage nodes required to create the network volume are determined among the included storage nodes.
  • the storage node that receives the second network volume creation request can scan its storage space and allocate 4M storage space to the network volume.
  • the storage node If the storage space allocation is successful, the storage node returns a response message of the second network volume creation request, where the response message is used to indicate that the storage space allocation is successful.
  • the response message can also contain the physical address of the allocated storage space.
  • An address specifying module 504 configured to specify, for each storage node, a logical address corresponding to each storage node;
  • the address specifying module 504 specifies a continuous logical address for the network volume, because the storage space of the network volume is distributed. On the storage node, so the storage space of each storage node corresponds to a logical address. It is also possible that the storage space allocated for each storage node specifies a logical address corresponding to each storage node, and the logical addresses corresponding to each storage node are merged to be the logical address of the network volume. It should be noted that the logical address may include a data address and a check address, where the data address is used to store data to be written in the write data request, and the check address is used to store check data of the data to be written. For example, the data address can be VB-0, VB-1, VB-2, VB_3, VB-4, VB-5, and the full address of the school horse can be P-0, P-1, P-2, P- 3 and so on.
  • the logical address specified for the network volume may be VB-0, VB-1, VB-2, VB-3, and the school insurance address. It can be P_0.
  • the sending module 503 is further configured to send the response message of the first network volume creation request to the management node, where the response message of the first network volume creation request includes: a logical address of the network volume, The logical address of the network volume includes the logical address corresponding to each storage node.
  • the logical address carried in the response message of the first network volume creation request may be a data address.
  • the data address may be VB_0, VB_1, VB-2, VB_3.
  • the response message of the first network volume creation request may further include an identifier of the network volume, so that the management node may record and save the identifier of the network volume and the RA ID type information of the network volume and the The correspondence between the information such as the size information of the network volume.
  • the identifier of the network volume herein may be carried in the first network volume creation request sent by the host to the storage device, or may be generated by the storage device.
  • the storage device after receiving the first network volume creation request sent by the management node, the storage device determines the storage space to be allocated by each storage node, and sends a second network volume creation request to each storage node to make each storage node.
  • the storage space may be allocated according to the second network volume creation request, and the storage device allocates a storage space designation logical address to each storage node, and sends the logical address to the management node, so that the management node knows that the network volume is successfully created, and the logical address of the network volume . In this way, the creation of a network volume is achieved.
  • the determining module 502 is further configured to determine, according to the RAID type information and the size information of the network volume, the plurality of storage nodes required to create the network volume.
  • the information about the network volume further includes storage node information, where the storage node information is used to indicate the multiple storage nodes required to create the network volume, and the determining module 502 is further configured to be used according to the Determining storage node information, determining the plurality of storage nodes required to create the network volume.
  • the storage device When the information of the network volume carried by the first network volume creation request includes the RAID type information and the size information of the network volume, and does not include the information of the storage node, the storage device may be determined according to the RAID type information and the size information of the network volume.
  • the storage node required to create the network volume; when the information of the network volume carried by the first network volume creation request includes the information of the storage node, the storage node required to create the network volume may be determined according to the information of the storage node.
  • the storage device needs to select 5 storage nodes from a plurality of storage nodes, wherein 4 storage nodes are used to store writes. Data to be written carried in the data request, and one storage node is used to store the verification data of the data to be written. It should be noted that, when receiving the write data request, the data to be written needs to be segmented to obtain 4 slice data, and the 4 storage nodes respectively store 4 slice data.
  • a storage node for creating a network volume may be selected according to a load balancing policy.
  • the storage space that each storage node needs to allocate is 4M. Therefore, when selecting a storage node, first select a storage node with a free space greater than 4M, and secondly, according to the storage node. The busyness of the storage node is selected, and the storage node with less business requests is preferentially selected.
  • the sending module 503 is further configured to separately send a logical address corresponding to each storage node to each storage node, so that each storage node records its own logical address and allocated storage.
  • the mapping between physical addresses of space. a mapping relationship between the logical address and the physical address of the allocated storage space, when the storage node writes data, the data may be written into the storage space corresponding to the physical address according to the mapping relationship, or When reading data, data can be read from the storage space corresponding to the physical address according to the mapping relationship.
  • the storage device may further include a recording module 505, configured to record and save a correspondence between a logical address corresponding to each storage node and each storage node.
  • a recording module 505 configured to record and save a correspondence between a logical address corresponding to each storage node and each storage node.
  • the storage device may record a correspondence between the network volume and the specified logical address, and a logical address corresponding to each node and each storage node. Correspondence relationship.
  • the logical address may include a data address
  • the response message of the first network volume creation request specifically includes: a data address of the network volume
  • the response message of the second network volume creation request may include: a physical address of the allocated storage space.
  • the address specifying module 504 is specifically configured to specify, according to the physical address of the allocated storage space, a logical address corresponding to each storage node for a storage space allocated by each storage node.
  • FIG. 6 is a schematic structural diagram of a storage device according to an embodiment of the present invention. As shown in FIG. 6, the storage device includes: the target data is carried in a write data request received by the storage device. The storage device divides the target data into the target data according to the RAID type and the length of the target data. For at least two slices of data.
  • the calculating module 602 is configured to calculate check data of the at least two slice data, and allocate a check address to the check data.
  • the check data of the at least two slice data may be calculated according to the RAID type, and the check address is allocated according to the check data.
  • a determining module 603 configured to determine a data address of each slice data; determining, according to the correspondence between the data address and the storage node, a storage node corresponding to each slice data, and determining, according to the correspondence between the check address and the storage node, Verifying the storage node corresponding to the data;
  • the write data request further carries the storage address of the target data and the number of storage addresses and the data length to determine a continuous logical address for storing the target data.
  • the storage address is also divided to obtain the logical address of the storage slice data of each storage node.
  • the logical address storing the slice data may be referred to as a data address.
  • the storage device may determine a storage node corresponding to each slice data according to a correspondence between the data address and the storage node saved in advance, and determine a storage node corresponding to the verification data according to the correspondence between the check address and the storage node.
  • the sending module 604 is configured to send a first write data request to the storage node corresponding to each slice data, where the first write data request includes slice data and a data address, so that the storage node corresponding to each slice data is based on the data address.
  • the mapping relationship with the physical address the slice data is written into the storage space corresponding to the physical address;
  • the second write data request is sent to the storage node corresponding to the check data, and the second write data request includes the check data and the check address
  • causing the storage node corresponding to the verification data to write the verification data into the storage space corresponding to the physical address according to the mapping relationship between the verification address and the physical address.
  • a mapping relationship between a logical address and a physical address may be saved in each storage node, where the logical address may be a data address or a check address, and then received After the slice data, the slice data can be written into the storage space corresponding to the physical address according to the mapping relationship between the data address and the physical address, and the verification data is written into the physical according to the mapping relationship between the check address and the physical address.
  • the storage space corresponding to the address is
  • the storage device divides the target data into at least two slice data, calculates check data of at least two slice data, and stores the slice data and the check data in each storage node, thereby implementing data. Redundancy, even if one of the storage nodes fails, the slice data and the check data stored in the other storage nodes can be used to recover the data stored by the failed storage node, thus ensuring data reliability.
  • the storage device may further include a receiving module 605;
  • the receiving module 605 is configured to receive a third write data request sent by the host, where the third write data request includes an identifier of the network volume, a data length, and the target data.
  • the sharding module 601 can slice the target data into at least two slice data, the RAID type being determined according to the identity of the network volume.
  • the third write data request may further include a storage address.
  • the determining module 603 is specifically configured to determine a data address of each slice data according to the storage address and the data length.
  • the receiving module 605 is further configured to receive a first read data request sent by the host, where the first read data request includes the storage address and the data length, and the first read data request Used to read the target data;
  • the determining module 603 is further configured to determine, according to the storage address and the data length, a data address of each slice data included in the target data, and determine, according to the correspondence between the data address and the storage node, each slice data corresponding to Storage node
  • the sending module 604 is further configured to send a second read data request to the storage node corresponding to each slice data, where the second read data request includes a data address of the slice data, so that the storage node corresponding to each slice data Reading the slice data from a storage space corresponding to the physical address and transmitting the data to the first storage section according to a mapping relationship between the data address and the physical address Point.
  • FIG. 7A is a schematic structural diagram of a storage system according to an embodiment of the present invention.
  • the storage system includes a management node 701 and a storage node 702. It should be noted that, in the embodiment of the present invention, the storage node 702 is also referred to as storage. device.
  • the management node 701 is configured to send a first network volume creation request to the first storage node of the multiple storage nodes, where the first network volume creation request includes information of a network volume, and the information of the network volume includes RAID type information and size information of the network volume.
  • the first storage node 702 is configured to receive a first network volume creation request sent by the management node ⁇ 01, where the first network volume creation request includes information about a network volume, and the information of the network volume includes RAID type information. And size information of the network volume; determining, according to the RAID type information and the size information of the network volume, a size of a storage space to be allocated by each of the plurality of storage nodes; The storage node 702 sends a second network volume creation request, where the second network volume creation request includes a size of the storage space to be allocated by each storage node, so that each storage node is in accordance with each storage node.
  • the size of the allocated storage space allocates storage space for the network volume; the storage space allocated for each storage node specifies a logical address corresponding to each storage node; and the first network volume creation request is sent to the management node 701
  • the response message of the first network volume creation request includes: a logical address of the network volume, the network
  • the logical address of the volume includes the logical address corresponding to each of the storage nodes.
  • the first storage node 702 determines a storage space to be allocated by each storage node, and sends a second network volume creation to each storage node 702.
  • the request is such that each storage node can allocate a storage space according to the second network volume creation request, and the first storage node 702 allocates a storage space designation to each storage node.
  • the logical address, and the logical address is sent to the management node, so that the management node 701 knows that the network volume is successfully created, and the logical address of the network volume. In this way, the creation of a network volume is achieved. Referring to FIG. 7B, FIG.
  • FIG. 7B is a schematic structural diagram of a storage system according to an embodiment of the present invention.
  • the storage system includes a host 703 and a storage node 702. It should be noted that, in the embodiment of the present invention, the storage node 702 is also referred to as a storage device. .
  • the storage node 702 is configured to divide the target data into at least two pieces of slice data; calculate check data of the at least two pieces of slice data, and allocate a check address for the check data; determine each slice data a storage node 702 corresponding to each slice data according to the correspondence between the data address and the storage node 702, and a storage node corresponding to the verification data according to the correspondence between the check address and the storage node 702;
  • the storage node 702 corresponding to each slice data sends a first write data request, and the first write data request includes slice data and a data address, so that the storage node 702 corresponding to each slice data is mapped according to the data address and the physical address.
  • the slice data is written into a storage space corresponding to the physical address; and the second write data request is sent to the storage node 702 corresponding to the check data, where the second write data request includes the check data and the check address, so that the The storage node 702 corresponding to the verification data is based on the mapping relationship between the verification address and the physical address.
  • Test data is written to a corresponding physical address in the memory space.
  • the host 700 is configured to send a third write data request to the storage device 702, where the third write data request includes an identifier of the network volume, a data length, and the target data.
  • the first storage node 702 divides the target data into at least two slice data, calculates check data of at least two slice data, and stores the slice data and the check data in each storage node, so Data redundancy is realized. Even if one of the storage nodes fails, the slice data and the parity data stored in the other storage nodes can be used to recover the data stored by the failed storage node, thereby ensuring data reliability.
  • FIG. 8 an embodiment of the present invention provides a schematic diagram of a storage device 800.
  • Storage The standby device 800 may include a storage device that is known in the prior art.
  • the specific embodiment of the present invention does not limit the specific implementation of the storage device 800.
  • Storage device 800 includes:
  • a processor 810 A Communications Interface 820, a memory 830, and a communication bus 840.
  • the processor 810, the communication interface 820, and the memory 830 complete communication with each other via the communication bus 840.
  • the communication interface 820 is configured to communicate with a network element, such as a host or a switch.
  • the processor 810 is configured to execute the program 832.
  • program 832 can include program code, the program code including computer operating instructions.
  • the processor 810 may be a central processing unit CPU, or an Application Specific Integrated Circuit (ASIC), or one or more integrated circuits configured to implement embodiments of the present invention.
  • CPU central processing unit
  • ASIC Application Specific Integrated Circuit
  • the memory 830 is configured to store the program 832.
  • Memory 830 may include high speed RAM memory and may also include non-volatile memory, such as at least one disk memory.
  • the program 832 may specifically include:
  • the receiving module 501 is configured to receive a first network volume creation request sent by the management node, where the first network volume creation request includes information about a network volume, and the information of the network volume includes RAID type information and size information of the network volume. ;
  • the determining module 502 is configured to determine, according to the RAID type information and the size information of the network volume, a storage space to be allocated by each of the plurality of storage nodes required by the network volume;
  • a sending module 503, configured to separately send a second network volume creation request to each of the storage nodes, where the second network volume creation request includes a size of a storage space to be allocated by each storage node, such that each a storage node according to the storage space to be allocated by each storage node The size allocates storage space for the network volume;
  • An address specifying module 504 configured to specify, for each storage node, a logical address corresponding to each storage node;
  • the sending module 503 is further configured to send the response message of the first network volume creation request to the management node, where the response message of the first network volume creation request includes: a logical address of the network volume, The logical address of the network volume includes the logical address corresponding to each storage node.
  • an embodiment of the present invention provides a schematic diagram of a storage device 900.
  • the storage device 900 may include storage devices known in the prior art, and the specific embodiment of the present invention does not limit the specific implementation of the storage device 900.
  • Storage device 900 includes:
  • a processor 910 a communications interface 920, a memory 930, and a communications bus 940.
  • the processor 910, the communication interface 920, and the memory 930 complete communication with each other via the communication bus 940.
  • the communication interface 920 is configured to communicate with a network element, such as a host or a switch.
  • the processor 910 is configured to execute the program 932.
  • program 932 can include program code, the program code including computer operating instructions.
  • the processor 910 may be a central processing unit CPU, or an Application Specific Integrated Circuit (ASIC), or one or more integrated circuits configured to implement embodiments of the present invention.
  • CPU central processing unit
  • ASIC Application Specific Integrated Circuit
  • the memory 930 is configured to store the program 932.
  • the memory 930 may include a high speed RAM memory, and may also include a non-volatile memory, such as at least one disk memory. Reservoir.
  • the program 932 may include: a calculation module 602, configured to calculate verification data of the at least two slice data, and allocate a check address to the verification data;
  • a determining module 603 configured to determine a data address of each slice data; determining, according to the correspondence between the data address and the storage node, a storage node corresponding to each slice data, and determining, according to the correspondence between the check address and the storage node, Verifying the storage node corresponding to the data;
  • the sending module 604 is configured to send a first write data request to the storage node corresponding to each slice data, where the first write data request includes slice data and a data address, so that the storage node corresponding to each slice data is based on the data address.
  • the mapping relationship with the physical address the slice data is written into the storage space corresponding to the physical address;
  • the second write data request is sent to the storage node corresponding to the check data, and the second write data request includes the check data and the check address
  • causing the storage node corresponding to the verification data to write the verification data into the storage space corresponding to the physical address according to the mapping relationship between the verification address and the physical address.
  • each module in the program 932 For the specific implementation of each module in the program 932, reference may be made to the corresponding modules in the embodiment shown in FIG. 9, and details are not described herein.
  • the disclosed apparatus and method may be implemented in other manners.
  • the device embodiments described above are merely illustrative.
  • the division of the modules is only a logical function division.
  • there may be another division manner for example, multiple modules or components may be combined or Can be 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 of devices or modules or The communication connection can be in electrical, mechanical or other form.
  • the modules described as separate components may or may not be physically separated.
  • the components displayed as modules may or may not be physical sub-modules, that is, may be located in one place, or may be distributed to multiple network sub-modules. on. Some or all of the modules may be selected according to actual needs to achieve the purpose of the solution of the embodiment.
  • each functional module in each embodiment of the present invention may be integrated into one processing module, or each module may exist physically separately, or two or more modules may be integrated into one module.
  • a person skilled in the art may understand that all or part of the steps of implementing the above embodiments may be completed by hardware, or may be instructed by a program to execute related hardware, and the program may be stored in a computer readable storage medium.
  • the storage medium mentioned may be a read only memory, a magnetic disk or an optical disk or the like.

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

The embodiments of the invention provide a network volume creating method, comprising: a first storage node receiving a first network volume creating request sent by a management node; according to RAID type information and network volume size information, determining the size of a storage space to be allocated to each storage node in a plurality of storage nodes; respectively sending a second network volume creating request to each storage node; designating a logical address corresponding to each storage node for the storage space allocated to each storage node; sending a response message of the first network volume creating request to the management node, wherein the response message of the first network volume creating request comprises a logical address of the network volume, and the logical address of the network volume comprises the logical address corresponding to each storage node. The creation of a network volume can be realized.

Description

网络卷创建方法、 数据存储方法、 存储设备和存储*** 技术领域  Network volume creation method, data storage method, storage device, and storage system
本发明涉及存储技术, 尤其涉及一种网络卷创建方法、 数据存储方法、 存储设备和存储***。 背景技术 传统的存储***采用集中的存储服务器存放所有数据, 存储服务器又 称存储节点, 可以包含多个硬盘, 在多个硬盘之间可以根据独立磁盘冗余 数组( Redundant Array of Independent Disks , RAID )类型创建普通卷, 将 数据存储在普通卷中, 可以实现数据的冗余。  The present invention relates to storage technologies, and in particular, to a network volume creation method, a data storage method, a storage device, and a storage system. BACKGROUND A traditional storage system uses a centralized storage server to store all data. A storage server, also called a storage node, can include multiple hard disks. Redundant Array of Independent Disks (RAID) can be used among multiple hard disks. Types create a normal volume, store data in a normal volume, and achieve data redundancy.
RAID筒称为硬盘阵列。其基本思想就是把多个硬盘组合起来,成为一个 硬盘阵列组, 使性能达到甚至超过一个容量巨大的硬盘。 根据选择的版本不 同, RAID比单颗硬盘有以下方面的好处: 增强数据集成度, 增强容错功能, 增加处理量或容量。 另外, 磁盘阵列对于电脑来说, 看起来就像一个单独的 硬盘或逻辑存储单元。传统的 RAID技术是在硬盘间实现的,以 RAID 5为例 , 要实现 RAID 5技术至少需要三颗硬盘,将数据和相对应的奇偶校验信息存储 到组成 RAID 5的各个磁盘上,并且奇偶校验信息和相对应的数据分别存储于 不同的磁盘上。 当 RAID 5的一个磁盘数据发生损坏后,可以利用剩下的数据 和相应的奇偶校验信息去恢复被损坏的数据。  A RAID cartridge is called a hard disk array. The basic idea is to combine multiple hard disks into a single hard disk array group, so that the performance can reach or exceed a large hard disk. Depending on the version chosen, RAID has the following benefits over a single hard drive: Enhanced data integration, enhanced fault tolerance, increased throughput or capacity. In addition, the disk array looks like a separate hard disk or logical storage unit for the computer. The traditional RAID technology is implemented in the hard disk. Taking RAID 5 as an example, at least three hard disks are required to implement RAID 5 technology, and the data and corresponding parity information are stored on each disk that constitutes RAID 5, and the parity is The verification information and the corresponding data are stored on different disks. When a disk data of RAID 5 is damaged, the remaining data and corresponding parity information can be used to recover the corrupted data.
然而, 目前的普通卷是在一个存储节点内建立的, 当该存储节点发生 故障时, 其存储的数据都会丟失, 可靠性不能得到保证, 因此亟待创建一 种跨存储节点的网络卷。 发明内容 本发明实施例提供了一种网络卷创建方法、 数据存储方法、 存储设备 和存储***, 可以实现网络卷的创建。 However, the current common volume is established in a storage node. When the storage node fails, the stored data is lost, and the reliability cannot be guaranteed. Therefore, it is urgent to create a network volume across the storage node. Summary of the invention The embodiment of the invention provides a network volume creation method, a data storage method, a storage device and a storage system, which can implement network volume creation.
第一方面, 本发明实施例提供一种网络卷创建方法, 所述方法应用于 存储***中, 所述存储***包括一个管理节点和多个存储节点, 所述方法 包括:  In a first aspect, an embodiment of the present invention provides a method for creating a network volume, where the method is applied to a storage system, where the storage system includes a management node and multiple storage nodes, and the method includes:
所述多个存储节点中的第一存储节点接收所述管理节点发送的第一 网络卷创建请求, 所述第一网络卷创建请求包括网络卷的信息, 所述网络 卷的信息包括 RAID类型信息和所述网络卷的大小信息;  The first storage node sent by the management node receives the first network volume creation request sent by the management node, the first network volume creation request includes information of a network volume, and the information of the network volume includes RAID type information. And size information of the network volume;
根据所述 RAID类型信息和所述网络卷的大小信息确定所述多个存储 节点中的每个存储节点待分配的存储空间的大小;  Determining, according to the RAID type information and the size information of the network volume, a size of a storage space to be allocated by each of the plurality of storage nodes;
向所述每个存储节点分别发送第二网络卷创建请求, 所述第二网络卷 创建请求包括所述每个存储节点待分配的存储空间的大小, 使得所述每个 存储节点根据所述每个存储节点待分配的存储空间的大小为所述网络卷 分配存储空间;  Sending, to each of the storage nodes, a second network volume creation request, where the second network volume creation request includes a size of a storage space to be allocated by each storage node, so that each storage node is configured according to each The size of the storage space to be allocated by the storage node allocates storage space for the network volume;
为每个存储节点分配的存储空间指定每个存储节点对应的逻辑地址; 向所述管理节点发送所述第一网络卷创建请求的响应消息, 所述第一 网络卷创建请求的响应消息包括: 所述网络卷的逻辑地址, 所述网络卷的 逻辑地址包括所述每个存储节点对应的逻辑地址。  The storage space allocated for each storage node is assigned a logical address corresponding to each storage node; the response message of the first network volume creation request is sent to the management node, and the response message of the first network volume creation request includes: The logical address of the network volume, and the logical address of the network volume includes a logical address corresponding to each storage node.
在第一方面的第一种可能的实现方式中, 还包括:  In a first possible implementation manner of the first aspect, the method further includes:
根据所述 RAID类型信息和所述网络卷的大小信息, 确定创建所述网 络卷所需的所述多个存储节点。  And determining, according to the RAID type information and the size information of the network volume, the plurality of storage nodes required to create the network volume.
在第一方面的第二种可能的实现方式中, 所述网络卷的信息还包括存 储节点信息, 所述存储节点信息用于指示创建所述网络卷所需的所述多个 存储节点;  In a second possible implementation manner of the first aspect, the information about the network volume further includes storage node information, where the storage node information is used to indicate the multiple storage nodes required to create the network volume;
所述方法还包括: 根据所述存储节点信息, 确定创建所述网络卷所需 的所述多个存储节点。 在第一方面的第三种可能的实现方式中, 还包括: The method further includes: determining, according to the storage node information, the plurality of storage nodes required to create the network volume. In a third possible implementation manner of the first aspect, the method further includes:
将所述每个存储节点对应的逻辑地址分别发送给所述每个存储节点, 使得所述每个存储节点记录自身的逻辑地址与分配的存储空间的物理地 址之间的映射关系。  Sending a logical address corresponding to each storage node to each storage node, respectively, such that each storage node records a mapping relationship between its own logical address and a physical address of the allocated storage space.
结合第一方面的第二种可能的实现方式, 在第一方面的第四种可能的 实现方式中, 所述存储***还包括主机, 所述方法还包括:  With reference to the second possible implementation of the first aspect, in a fourth possible implementation manner of the foregoing aspect, the storage system further includes a host, the method further includes:
向所述主机发送所述网络卷的信息, 以及所述网络卷的逻辑地址。 在第一方面的第五种可能的实现方式中, 还包括: 记录并保存所述每 个存储节点对应的逻辑地址与所述每个存储节点的对应关系。  Sending information of the network volume to the host, and a logical address of the network volume. In a fifth possible implementation manner of the first aspect, the method further includes: recording and saving a correspondence between a logical address corresponding to each storage node and each of the storage nodes.
在第一方面的第六种可能的实现方式中, 所述逻辑地址包括数据地 址; 所述第一网络卷创建请求的响应消息具体包括: 所述网络卷的数据地 址。  In a sixth possible implementation manner of the first aspect, the logical address includes a data address, and the response message of the first network volume creation request specifically includes: a data address of the network volume.
在第一方面的第七种可能的实现方式中, 所述第二网络卷创建请求的 响应消息包括: 分配的存储空间的物理地址;  In a seventh possible implementation manner of the first aspect, the response message of the second network volume creation request includes: a physical address of the allocated storage space;
所述为每个存储节点分配的存储空间指定每个存储节点对应的逻辑 地址具体包括: 根据所述分配的存储空间的物理地址, 为每个存储节点分 配的存储空间指定每个存储节点对应的逻辑地址。  Specifying a logical address corresponding to each storage node for the storage space allocated by each storage node specifically includes: specifying, according to the physical address of the allocated storage space, a storage space allocated for each storage node, corresponding to each storage node Logical address.
第二方面, 本发明实施例提供一种数据存储方法, 所述方法应用于存 储***中, 所述存储***包括主机和多个存储节点, 所述方法包括:  In a second aspect, an embodiment of the present invention provides a data storage method, where the method is applied to a storage system, where the storage system includes a host and multiple storage nodes, and the method includes:
所述多个存储节点中的第一存储节点将目标数据切分为至少两个切 片数据;  The first storage node of the plurality of storage nodes divides the target data into at least two slice data;
计算所述至少两个切片数据的校验数据, 为所述校验数据分配校验地 址;  Calculating check data of the at least two slice data, and assigning a check address to the check data;
确定每个切片数据的数据地址;  Determining the data address of each slice data;
根据所述数据地址与存储节点的对应关系确定每个切片数据对应的 存储节点, 以及根据所述校验地址与存储节点的对应关系确定校验数据对 应的存储节点; Determining, according to the correspondence between the data address and the storage node, a storage node corresponding to each slice data, and determining a verification data pair according to the correspondence between the check address and the storage node. The storage node that should be;
向每个切片数据对应的存储节点发送第一写数据请求, 所述第一写数 据请求包括切片数据和数据地址, 使得所述每个切片数据对应的存储节点 根据数据地址与物理地址的映射关系, 将切片数据写入物理地址对应的存 储空间中;  Sending a first write data request to the storage node corresponding to each slice data, where the first write data request includes the slice data and the data address, so that the storage node corresponding to each slice data is mapped according to the data address and the physical address. , the slice data is written into the storage space corresponding to the physical address;
向校验数据对应的存储节点发送第二写数据请求, 所述第二写数据请 求包括校验数据和校验地址, 使得所述校验数据对应的存储节点根据校验 地址与物理地址的映射关系, 将校验数据写入物理地址对应的存储空间 中。  Sending a second write data request to the storage node corresponding to the check data, where the second write data request includes the check data and the check address, so that the storage node corresponding to the check data is mapped according to the check address and the physical address. Relationship, the verification data is written into the storage space corresponding to the physical address.
在第二方面的第一种可能的实现方式中, 所述方法还包括:  In a first possible implementation manner of the second aspect, the method further includes:
接收所述主机发送的第三写数据请求, 所述第三写数据请求包括网络 卷的标识、 数据长度和所述目标数据;  Receiving a third write data request sent by the host, where the third write data request includes an identifier of the network volume, a data length, and the target data;
所述将目标数据切分为至少两个切片数据具体包括: 根据 R A I D类型 和所述数据长度将目标数据切分为至少两个切片数据, 所述 RAID类型是 根据所述网络卷的标识确定的。  The splitting the target data into the at least two slice data specifically includes: dividing the target data into at least two slice data according to the RAID type and the data length, where the RAID type is determined according to the identifier of the network volume. .
结合第二方面的第一种可能的实现方式, 在第二方面的第二种可能的 实现方式中, 所述第三写数据请求还包括存储地址;  With reference to the first possible implementation of the second aspect, in a second possible implementation manner of the second aspect, the third write data request further includes a storage address;
所述确定每个切片数据的数据地址具体包括: 根据所述存储地址和所 述数据长度确定每个切片数据的数据地址。  The determining the data address of each slice data specifically includes: determining a data address of each slice data according to the storage address and the data length.
结合第二方面的第二种可能的实现方式, 在第二方面的第三种可能的 实现方式中, 所述方法还包括:  With reference to the second possible implementation of the second aspect, in a third possible implementation manner of the second aspect, the method further includes:
接收所述主机发送的第一读数据请求, 所述第一读数据请求包括所述 存储地址和所述数据长度, 所述第一读数据请求用于读取所述目标数据; 根据所述存储地址和所述数据长度确定所述目标数据包含的各个切 片数据的数据地址;  Receiving a first read data request sent by the host, the first read data request includes the storage address and the data length, and the first read data request is used to read the target data; according to the storing The address and the data length determine a data address of each slice data included in the target data;
根据所述数据地址与存储节点的对应关系确定每个切片数据对应的 存储节点; Determining, corresponding to each slice data, according to the correspondence between the data address and the storage node Storage node
向每个切片数据对应的存储节点发送第二读数据请求, 所述第二读数 据请求包括切片数据的数据地址, 使得所述每个切片数据对应的存储节点 根据数据地址与物理地址的映射关系, 从所述物理地址对应的存储空间中 读取所述切片数据并发送给所述第一存储节点;  Sending a second read data request to the storage node corresponding to each slice data, where the second read data request includes a data address of the slice data, so that the storage node corresponding to each slice data is mapped according to the data address and the physical address. Reading the slice data from a storage space corresponding to the physical address and sending the slice data to the first storage node;
接收每个切片数据对应的存储节点发送的切片数据, 合并成所述目标 数据发送给所述主机。  The slice data sent by the storage node corresponding to each slice data is received, and merged into the target data and sent to the host.
第三方面, 本发明实施例提供一种存储设备, 所述存储设备包括: 接收模块, 用于接收管理节点发送的第一网络卷创建请求, 所述第一 网络卷创建请求包括网络卷的信息, 所述网络卷的信息包括 RAID类型信 息和所述网络卷的大小信息;  In a third aspect, the embodiment of the present invention provides a storage device, where the storage device includes: a receiving module, configured to receive a first network volume creation request sent by a management node, where the first network volume creation request includes information about a network volume The information of the network volume includes RAID type information and size information of the network volume;
确定模块, 用于根据所述 RAID 类型信息和所述网络卷的大小信息确 定所述网络卷所需的多个存储节点中的每个存储节点待分配的存储空间 的大小;  a determining module, configured to determine, according to the RAID type information and the size information of the network volume, a size of a storage space to be allocated by each of the plurality of storage nodes required by the network volume;
发送模块, 用于向所述每个存储节点分别发送第二网络卷创建请求, 所述第二网络卷创建请求包括所述每个存储节点待分配的存储空间的大 小, 使得所述每个存储节点根据所述每个存储节点待分配的存储空间的大 小为所述网络卷分配存储空间;  a sending module, configured to separately send a second network volume creation request to each of the storage nodes, where the second network volume creation request includes a size of a storage space to be allocated by each storage node, so that each storage The node allocates storage space to the network volume according to the size of the storage space to be allocated by each storage node;
地址指定模块, 用于为每个存储节点分配的存储空间指定每个存储节 点对应的逻辑地址;  An address specifying module, configured to specify a logical address corresponding to each storage node for a storage space allocated by each storage node;
所述发送模块, 还用于向所述管理节点发送所述第一网络卷创建请求 的响应消息, 所述第一网络卷创建请求的响应消息包括: 所述网络卷的逻 辑地址, 所述网络卷的逻辑地址包括所述每个存储节点对应的逻辑地址。  The sending module is further configured to send a response message of the first network volume creation request to the management node, where the response message of the first network volume creation request includes: a logical address of the network volume, the network The logical address of the volume includes the logical address corresponding to each storage node.
在第三方面的第一种可能的实现方式中, 所述确定模块, 还用于根据 所述 RAID类型信息和所述网络卷的大小信息, 确定创建所述网络卷所需 的所述多个存储节点。 在第三方面的第二种可能的实现方式中, 所述网络卷的信息还包括存 储节点信息, 所述存储节点信息用于指示创建所述网络卷所需的所述多个 存储节点; In a first possible implementation manner of the third aspect, the determining module is further configured to determine, according to the RAID type information and the size information of the network volume, the multiple required to create the network volume Storage node. In a second possible implementation manner of the third aspect, the information about the network volume further includes storage node information, where the storage node information is used to indicate the multiple storage nodes required to create the network volume;
所述确定模块, 还用于根据所述存储节点信息, 确定创建所述网络卷 所需的所述多个存储节点。  The determining module is further configured to determine, according to the storage node information, the plurality of storage nodes required to create the network volume.
在第三方面的第三种可能的实现方式中, 所述发送模块, 还用于将所 述每个存储节点对应的逻辑地址分别发送给所述每个存储节点, 使得所述 每个存储节点记录自身的逻辑地址与分配的存储空间的物理地址之间的 映射关系。  In a third possible implementation manner of the third aspect, the sending module is further configured to send a logical address corresponding to each storage node to each storage node, so that each storage node Record the mapping relationship between its own logical address and the physical address of the allocated storage space.
在第三方面的第四种可能的实现方式中, 还包括记录模块;  In a fourth possible implementation manner of the third aspect, the method further includes a recording module;
所述记录模块, 还用于记录并保存所述每个存储节点对应的逻辑地址 与所述每个存储节点的对应关系。  The recording module is further configured to record and save a correspondence between a logical address corresponding to each storage node and each storage node.
在第三方面的第五种可能的实现方式中, 所述逻辑地址包括数据地 址;  In a fifth possible implementation manner of the third aspect, the logical address includes a data address;
所述第一网络卷创建请求的响应消息具体包括: 所述网络卷的数据地 址。  The response message of the first network volume creation request specifically includes: a data address of the network volume.
在第三方面的第六种可能的实现方式中, 所述第二网络卷创建请求的 响应消息包括: 分配的存储空间的物理地址;  In a sixth possible implementation manner of the third aspect, the response message of the second network volume creation request includes: a physical address of the allocated storage space;
所述地址指定模块, 具体用于根据所述分配的存储空间的物理地址, 为每个存储节点分配的存储空间指定每个存储节点对应的逻辑地址。  The address specifying module is specifically configured to specify, according to the physical address of the allocated storage space, a logical address corresponding to each storage node for a storage space allocated by each storage node.
第四方面, 本发明实施例提供一种存储设备, 所述存储设备包括: 切分模块, 用于将目标数据切分为至少两个切片数据;  In a fourth aspect, an embodiment of the present invention provides a storage device, where the storage device includes: a segmentation module, configured to slice target data into at least two slice data;
计算模块, 用于计算所述至少两个切片数据的校验数据, 为所述校验 数据分配校验地址;  a calculation module, configured to calculate verification data of the at least two slice data, and allocate a check address to the verification data;
确定模块, 用于确定每个切片数据的数据地址; 根据所述数据地址与 存储节点的对应关系确定每个切片数据对应的存储节点, 以及根据所述校 验地址与存储节点的对应关系确定校验数据对应的存储节点; 发送模块, 用于向每个切片数据对应的存储节点发送第一写数据请 求, 所述第一写数据请求包括切片数据和数据地址, 使得所述每个切片数 据对应的存储节点根据数据地址与物理地址的映射关系, 将切片数据写入 物理地址对应的存储空间中; 向校验数据对应的存储节点发送第二写数据 请求, 所述第二写数据请求包括校验数据和校验地址, 使得所述校验数据 对应的存储节点根据校验地址与物理地址的映射关系, 将校验数据写入物 理地址对应的存储空间中。 a determining module, configured to determine a data address of each slice data; determining, according to the correspondence between the data address and the storage node, a storage node corresponding to each slice data, and according to the school And determining, by the storage node, the storage node corresponding to the verification data; the sending module, configured to send a first write data request to the storage node corresponding to each slice data, where the first write data request includes the slice data and the data Addressing, so that the storage node corresponding to each slice data writes the slice data into the storage space corresponding to the physical address according to the mapping relationship between the data address and the physical address; and sends the second write data request to the storage node corresponding to the check data The second write data request includes the check data and the check address, so that the storage node corresponding to the check data writes the check data to the storage space corresponding to the physical address according to the mapping relationship between the check address and the physical address. in.
在第四方面的第一种可能的实现方式中, 所述存储设备还包括: 接收 模块;  In a first possible implementation manner of the fourth aspect, the storage device further includes: a receiving module;
所述接收模块, 用于接收主机发送的第三写数据请求, 所述第三写数 据请求包括网络卷的标识、 数据长度和所述目标数据;  The receiving module is configured to receive a third write data request sent by the host, where the third write data request includes an identifier of the network volume, a data length, and the target data;
所述切分模块, 具体用于根据 RAID类型和所述数据长度将目标数据 切分为至少两个切片数据, 所述 RAID类型是根据所述网络卷的标识确定 的。  The segmentation module is specifically configured to divide the target data into at least two slice data according to the RAID type and the data length, where the RAID type is determined according to the identifier of the network volume.
结合第四方面的第一种可能的实现方式, 在第四方面的第二种可能的 实现方式中, 所述第三写数据请求还包括存储地址;  With reference to the first possible implementation manner of the fourth aspect, in a second possible implementation manner of the fourth aspect, the third write data request further includes a storage address;
所述确定模块, 具体用于根据所述存储地址和所述数据长度确定每个 切片数据的数据地址。  The determining module is specifically configured to determine a data address of each slice data according to the storage address and the data length.
结合第四方面的第二种可能的实现方式, 在第四方面的第三种可能的 实现方式中,  In conjunction with the second possible implementation of the fourth aspect, in a third possible implementation of the fourth aspect,
所述接收模块, 还用于接收所述主机发送的第一读数据请求, 所述第 一读数据请求包括所述存储地址和所述数据长度, 所述第一读数据请求用 于读取所述目标数据;  The receiving module is further configured to receive a first read data request sent by the host, where the first read data request includes the storage address and the data length, and the first read data request is used to read the Target data
所述确定模块, 还用于根据所述存储地址和所述数据长度确定所述目 标数据包含的各个切片数据的数据地址; 根据所述数据地址与存储节点的 对应关系确定每个切片数据对应的存储节点; The determining module is further configured to determine, according to the storage address and the data length, a data address of each slice data included in the target data; according to the data address and the storage node Corresponding relationship determines a storage node corresponding to each slice data;
所述发送模块, 还用于向每个切片数据对应的存储节点发送第二读数 据请求, 所述第二读数据请求包括切片数据的数据地址, 使得所述每个切 片数据对应的存储节点根据数据地址与物理地址的映射关系, 从所述物理 地址对应的存储空间中读取所述切片数据并发送给所述第一存储节点; 所述接收模块, 还用于接收每个切片数据对应的存储节点发送的切片 数据, 合并成所述目标数据发送给所述主机。  The sending module is further configured to send a second read data request to the storage node corresponding to each slice data, where the second read data request includes a data address of the slice data, so that the storage node corresponding to each slice data is based on The mapping between the data address and the physical address, the slice data is read from the storage space corresponding to the physical address, and sent to the first storage node; the receiving module is further configured to receive a corresponding data of each slice data. The slice data sent by the storage node is merged into the target data and sent to the host.
第五方面, 本发明实施例提供一种存储***, 所述存储***包括: 如 权利要求 13-19任一权利要求所述的存储设备以及管理节点;  The fifth aspect, the embodiment of the present invention provides a storage system, where the storage system includes: the storage device and the management node according to any one of claims 13-19;
所述管理节点, 用于向所述多个存储节点中的第一存储节点发送第一 网络卷创建请求, 所述第一网络卷创建请求包括网络卷的信息, 所述网络 卷的信息包括 RAID类型信息和所述网络卷的大小信息。  The management node is configured to send a first network volume creation request to a first storage node of the plurality of storage nodes, where the first network volume creation request includes information of a network volume, and the information of the network volume includes a RAID Type information and size information of the network volume.
第六方面, 本发明实施例提供一种存储***, 所述存储***包括如权 利要求 20-23任一权利要求所述的存储设备以及主机;  The sixth aspect, the embodiment of the present invention provides a storage system, where the storage system includes the storage device and the host according to any one of claims 20-23;
所述主机, 用于向所述存储设备发送第三写数据请求, 所述第三写数 据请求包括网络卷的标识、 数据长度和所述目标数据。  The host is configured to send a third write data request to the storage device, where the third write data request includes an identifier of the network volume, a data length, and the target data.
第七方面, 本发明实施例提供一种存储设备, 处理器、 存储器和通信 其中, 所述处理器和所述存储器通过所述通信总线进行通信;  According to a seventh aspect, an embodiment of the present invention provides a storage device, a processor, a memory, and a communication, wherein the processor and the memory communicate through the communication bus;
所述存储器用于保存程序;  The memory is used to save a program;
所述处理器用于执行所述程序, 以实现:  The processor is configured to execute the program to:
接收管理节点发送的第一网络卷创建请求, 所述第一网络卷创建请求 包括网络卷的信息, 所述网络卷的信息包括 RAID类型信息和所述网络卷的 大小信息;  And receiving, by the management node, a first network volume creation request, where the first network volume creation request includes information about a network volume, and the information of the network volume includes RAID type information and size information of the network volume;
根据所述 RAID类型信息和所述网络卷的大小信息确定多个存储节点 中的每个存储节点待分配的存储空间的大小; 向所述每个存储节点分别发送第二网络卷创建请求, 所述第二网络卷 创建请求包括所述每个存储节点待分配的存储空间的大小, 使得所述每个 存储节点根据所述每个存储节点待分配的存储空间的大小为所述网络卷 分配存储空间; Determining, according to the RAID type information and the size information of the network volume, a size of a storage space to be allocated by each of the plurality of storage nodes; Sending, to each of the storage nodes, a second network volume creation request, where the second network volume creation request includes a size of a storage space to be allocated by each storage node, so that each storage node is configured according to each The size of the storage space to be allocated by the storage node allocates storage space for the network volume;
为每个存储节点分配的存储空间指定每个存储节点对应的逻辑地址; 向所述管理节点发送所述第一网络卷创建请求的响应消息, 所述第一 网络卷创建请求的响应消息包括: 所述网络卷的逻辑地址, 所述网络卷的 逻辑地址包括所述每个存储节点对应的逻辑地址。  The storage space allocated for each storage node is assigned a logical address corresponding to each storage node; the response message of the first network volume creation request is sent to the management node, and the response message of the first network volume creation request includes: The logical address of the network volume, and the logical address of the network volume includes a logical address corresponding to each storage node.
在第七方面的第一种可能的实现方式中, 所述处理器, 还用于根据所 述 RAID类型信息和所述网络卷的大小信息, 确定创建所述网络卷所需的 所述多个存储节点。  In a first possible implementation manner of the seventh aspect, the processor is further configured to determine, according to the RAID type information and the size information of the network volume, the multiple required to create the network volume Storage node.
在第七方面的第二种可能的实现方式中, 所述网络卷的信息还包括存 储节点信息, 所述存储节点信息用于指示创建所述网络卷所需的所述多个 存储节点;  In a second possible implementation manner of the seventh aspect, the information about the network volume further includes storage node information, where the storage node information is used to indicate the multiple storage nodes required to create the network volume;
所述处理器, 还用于根据所述存储节点信息, 确定创建所述网络卷所 需的所述多个存储节点。  The processor is further configured to determine, according to the storage node information, the plurality of storage nodes required to create the network volume.
在第七方面的第三种可能的实现方式中, 所述处理器, 还用于将所述 每个存储节点对应的逻辑地址分别发送给所述每个存储节点, 使得所述每 个存储节点记录自身的逻辑地址与分配的存储空间的物理地址之间的映 射关系。  In a third possible implementation manner of the seventh aspect, the processor is further configured to send a logical address corresponding to each storage node to each storage node, so that each storage node Record the mapping relationship between its own logical address and the physical address of the allocated storage space.
在第七方面的第四种可能的实现方式中, 所述处理器, 还用于记录并 保存所述每个存储节点对应的逻辑地址与所述每个存储节点的对应关系。  In a fourth possible implementation manner of the seventh aspect, the processor is further configured to record and save a correspondence between a logical address corresponding to each storage node and each storage node.
在第七方面的第五种可能的实现方式中, 所述逻辑地址包括数据地 址;  In a fifth possible implementation manner of the seventh aspect, the logical address includes a data address;
所述第一网络卷创建请求的响应消息具体包括: 所述网络卷的数据地 址。 在第七方面的第六种可能的实现方式中, 所述第二网络卷创建请求的 响应消息包括: 分配的存储空间的物理地址; The response message of the first network volume creation request specifically includes: a data address of the network volume. In a sixth possible implementation manner of the seventh aspect, the response message of the second network volume creation request includes: a physical address of the allocated storage space;
所述处理器, 具体用于根据所述分配的存储空间的物理地址, 为每个 存储节点分配的存储空间指定每个存储节点对应的逻辑地址。  The processor is specifically configured to specify, according to the physical address of the allocated storage space, a storage address corresponding to each storage node for a storage space allocated by each storage node.
第八方面, 本发明实施例提供一种存储设备, 处理器、 存储器和通信 总线; 其中, 所述处理器和所述存储器通过所述通信总线进行通信;  In an eighth aspect, an embodiment of the present invention provides a storage device, a processor, a memory, and a communication bus, where the processor and the memory communicate through the communication bus;
所述存储器用于保存程序;  The memory is used to save a program;
所述处理器用于执行所述程序, 以实现:  The processor is configured to execute the program to:
将目标数据切分为至少两个切片数据;  Splitting the target data into at least two slice data;
计算所述至少两个切片数据的校验数据, 为所述校验数据分配校验地 址;  Calculating check data of the at least two slice data, and assigning a check address to the check data;
确定每个切片数据的数据地址;  Determining the data address of each slice data;
根据所述数据地址与存储节点的对应关系确定每个切片数据对应的 存储节点, 以及根据所述校验地址与存储节点的对应关系确定校验数据对 应的存储节点;  Determining, according to the correspondence between the data address and the storage node, a storage node corresponding to each slice data, and determining, according to the correspondence between the check address and the storage node, a storage node corresponding to the verification data;
向每个切片数据对应的存储节点发送第一写数据请求, 所述第一写数 据请求包括切片数据和数据地址, 使得所述每个切片数据对应的存储节点 根据数据地址与物理地址的映射关系, 将切片数据写入物理地址对应的存 储空间中;  Sending a first write data request to the storage node corresponding to each slice data, where the first write data request includes the slice data and the data address, so that the storage node corresponding to each slice data is mapped according to the data address and the physical address. , the slice data is written into the storage space corresponding to the physical address;
向校验数据对应的存储节点发送第二写数据请求, 所述第二写数据请 求包括校验数据和校验地址, 使得所述校验数据对应的存储节点根据校验 地址与物理地址的映射关系, 将校验数据写入物理地址对应的存储空间 中。  Sending a second write data request to the storage node corresponding to the check data, where the second write data request includes the check data and the check address, so that the storage node corresponding to the check data is mapped according to the check address and the physical address. Relationship, the verification data is written into the storage space corresponding to the physical address.
在第八方面的第一种可能的实现方式中, 所述处理器, 还用于接收所 述主机发送的第三写数据请求, 所述第三写数据请求包括网络卷的标识、 数据长度和所述目标数据; 所述处理器, 具体用于根据 RAID类型和所述数据长度将目标数据切 分为至少两个切片数据, 所述 RAID类型是根据所述网络卷的标识确定的。 In a first possible implementation manner of the eighth aspect, the processor is further configured to receive a third write data request sent by the host, where the third write data request includes an identifier of the network volume, a data length, and The target data; The processor is specifically configured to divide the target data into at least two slice data according to the RAID type and the data length, where the RAID type is determined according to the identifier of the network volume.
结合第八方面的第一种可能的实现方式, 在第八方面的第二种可能的 实现方式中, 所述第三写数据请求还包括存储地址;  With reference to the first possible implementation manner of the eighth aspect, in a second possible implementation manner of the eighth aspect, the third write data request further includes a storage address;
所述处理器, 具体用于根据所述存储地址和所述数据长度确定每个切 片数据的数据地址。  The processor is specifically configured to determine a data address of each slice data according to the storage address and the data length.
本发明实施例中, 第一存储节点在接收管理节点发送的第一网络卷创 建请求后, 确定出每个存储节点待分配的存储空间, 向每个存储节点发送 第二网络卷创建请求使得各存储节点可以根据第二网络卷创建请求分配 存储空间, 第一存储节点对各存储节点分配存储空间指定逻辑地址, 并将 逻辑地址发送给管理节点, 使得管理节点知道网络卷创建成功, 以及该网 络卷的逻辑地址。 以此, 实现了网络卷的创建。 附图说明  In the embodiment of the present invention, after receiving the first network volume creation request sent by the management node, the first storage node determines a storage space to be allocated by each storage node, and sends a second network volume creation request to each storage node, so that each The storage node may allocate a storage space according to the second network volume creation request, the first storage node allocates a storage space designation logical address to each storage node, and sends the logical address to the management node, so that the management node knows that the network volume is successfully created, and the network The logical address of the volume. In this way, the creation of a network volume is achieved. DRAWINGS
为了更清楚地说明本发明实施例或现有技术中的技术方案, 下面将对实 施例或现有技术描述中所需要使用的附图作筒单地介绍, 显而易见地, 下面 描述中的附图是本发明的一些实施例, 对于本领域普通技术人员来讲, 在不 付出创造性劳动性的前提下, 还可以根据这些附图获得其他的附图。  In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings used in the embodiments or the description of the prior art will be briefly described below. Obviously, the drawings in the following description It is a certain embodiment of the present invention, and other drawings can be obtained from those skilled in the art without any inventive labor.
图 1 为本发明实施例提供的一种网络卷创建方法的应用网络架构示意 图;  1 is a schematic diagram of an application network architecture of a method for creating a network volume according to an embodiment of the present invention;
图 2为本发明实施例提供的一种网络卷创建方法的信令图;  2 is a signaling diagram of a method for creating a network volume according to an embodiment of the present invention;
图 3为本发明实施例提供的一种数据存储方法的流程图;  FIG. 3 is a flowchart of a data storage method according to an embodiment of the present invention;
图 4为本发明实施例提供的另一种数据存储方法的流程图;  4 is a flowchart of another data storage method according to an embodiment of the present invention;
图 5为本发明实施例提供的一种存储设备的结构示意图;  FIG. 5 is a schematic structural diagram of a storage device according to an embodiment of the present disclosure;
图 6为本发明实施例提供的另一种存储设备的结构示意图;  FIG. 6 is a schematic structural diagram of another storage device according to an embodiment of the present disclosure;
图 7A为本发明实施例提供的一种存储***的结构示意图; 图 7B为本发明实施例提供的另一种存储***的结构示意图; 图 8为本发明实施例提供的又一种存储设备的结构示意图; 7A is a schematic structural diagram of a storage system according to an embodiment of the present invention; FIG. 7B is a schematic structural diagram of another storage system according to an embodiment of the present invention; FIG. 8 is a schematic structural diagram of still another storage device according to an embodiment of the present disclosure;
图 9为本发明实施例提供的再一种存储设备的结构示意图。 具体实施方式  FIG. 9 is a schematic structural diagram of still another storage device according to an embodiment of the present invention. detailed description
为使本发明实施例的目的、 技术方案和优点更加清楚, 下面将结合本发 明实施例中的附图, 对本发明实施例中的技术方案进行清楚、 完整地描述, 显然, 所描述的实施例是本发明一部分实施例, 而不是全部的实施例。 基于 本发明中的实施例, 本领域普通技术人员在没有作出创造性劳动前提下所获 得的所有其他实施例, 都属于本发明保护的范围。  The technical solutions in the embodiments of the present invention are clearly and completely described in the following with reference to the accompanying drawings in the embodiments of the present invention. It is a partial embodiment of the invention, and not all of the embodiments. All other embodiments obtained by those skilled in the art based on the embodiments of the present invention without creative efforts are within the scope of the present invention.
本发明实施例提供的网络卷创建方法可以在存储***上实现。 图 1为本 发明实施例提供的网络卷创建方法的***架构示意图, 如图 1所示, 该存储 ***包括主机、 管理节点和多个存储设备(又称存储节点) 。  The network volume creation method provided by the embodiment of the present invention can be implemented on a storage system. FIG. 1 is a schematic structural diagram of a system for creating a network volume according to an embodiment of the present invention. As shown in FIG. 1, the storage system includes a host, a management node, and multiple storage devices (also referred to as storage nodes).
主机可以包括当前技术已知的任何计算设备, 如服务器、 台式计算机等 等。 在主机内部, 安装有操作***以及其他应用程序。  The host can include any computing device known in the art, such as servers, desktop computers, and the like. Inside the host, an operating system and other applications are installed.
管理节点可以包括当前技术已知的任何计算设备, 如服务器、 台式计算 机等等。 其内部结构可以与主机相同。  The management node can include any computing device known in the art, such as a server, desktop computer, and the like. Its internal structure can be the same as the host.
存储节点可以包括当前技术已知的存储设备, 如独立磁盘冗余阵列 ( Redundant Arrays of Inexpensive Disks , RAID )、磁盘 I ( Just a Bunch Of Disks, JBOD ) 、 直接存取存储器 ( Direct Access Storage Device , DASD ) 的一个或多个互连的磁盘驱动器, 诸如磁带库、 一个或多个存储单元的磁 带存储设备。  The storage node may include storage devices known in the prior art, such as Redundant Arrays of Inexpensive Disks (RAID), Just a Bunch Of Disks (JBOD), and Direct Access Storage Device (Direct Access Storage Device, DASD ) One or more interconnected disk drives, such as tape libraries, tape storage devices with one or more storage units.
其中, 各个存储节点相互连接, 主机与管理节点之间以及管理节点与 各个存储节点通过网络连接, 这里的网络可以是互联网 interne t , 也可以 是 IP SAN ( IP S t orage Area Ne twork , 基于 IP地址的存储局域网络) 以 及其他私有网络等。 请参考图 1 , 图 1是本发明一种网络卷创建方法的实施例, 如图 1所示, 所示方法包括: Each storage node is connected to each other, and the host and the management node and the management node are connected to each storage node through a network. The network here may be an internet interne t or an IP SAN (IP S t orage Area Ne twork , based on IP). The address of the storage area network) and other private networks. Please refer to FIG. 1. FIG. 1 is a schematic diagram of a method for creating a network volume according to the present invention. As shown in FIG. 1, the method includes:
步骤 S201: 所述多个存储节点中的第一存储节点接收所述管理节点发 送的第一网络卷创建请求, 所述第一网络卷创建请求包括网络卷的信息; 管理节点可以将第一网络卷创建请求发送给多个存储节点中的任意 一个存储节点, 该存储节点接收到第一网络卷创建请求后可以通过修改属 性设置让自己成为第一存储节点。  Step S201: The first storage node of the multiple storage nodes receives a first network volume creation request sent by the management node, where the first network volume creation request includes information of a network volume, and the management node may use the first network. The volume creation request is sent to any one of the plurality of storage nodes, and the storage node can make itself the first storage node by modifying the attribute setting after receiving the first network volume creation request.
网络卷的信息可以是 RAID类型信息和网络卷的大小信息, 其中, RAID 类型信息可以是本领域技术人员所熟知的 RAID类型, 例如: 常用的  The information of the network volume may be RAID type information and size information of the network volume, wherein the RAID type information may be a RAID type well known to those skilled in the art, for example:
RAID5 , RAID6等, 也可以是上纠偏码的冗余类型, 例如: Erasure Code 10+2 , 9+3 , 8+4等。 网络卷的大小信息是指所述网络卷所包括的存储空间 的大小。 RAID5, RAID6, etc., can also be the redundancy type of the upper correction code, such as: Erasure Code 10+2, 9+3, 8+4, etc. The size information of the network volume refers to the size of the storage space included in the network volume.
在本发明另一个实施例中, 网络卷的信息还可以包括存储节点的信 息, 用于指示创建所述网络卷所需的存储节点。  In another embodiment of the present invention, the information of the network volume may further include information of the storage node for indicating a storage node required to create the network volume.
可选的, 网络卷的信息还可以包括网络卷的标识。  Optionally, the information of the network volume may further include an identifier of the network volume.
步骤 S202 : 根据所述 RAID类型信息和所述网络卷的大小信息确定所述 多个存储节点中的每个存储节点待分配的存储空间的大小。  Step S202: Determine, according to the RAID type information and the size information of the network volume, a size of a storage space to be allocated by each of the plurality of storage nodes.
第一存储节点可以根据 RA I D类型信息和网络卷的大小信息, 确定每个 存储节点待分配的存储空间。 举例来说, RAID类型信息是 "4+1 " 的 RAID 5 , 其中, 四个存储节点用于存储写数据请求中携带的待写入数据, 第一 存储节点用于存储所述待写入数据的校验数据。 需要说明的是, 当接收到 写数据请求时, 需要将待写入数据进行切分得到四个切片数据, 所述四个 切片数据分别存储在四个存储节点中。 再如, 网络卷的大小信息是 20M, 则每个存储节点待分配的存储空间是 4M。  The first storage node may determine the storage space to be allocated by each storage node according to the RA I D type information and the size information of the network volume. For example, the RAID type information is "4+1" RAID 5, where four storage nodes are used to store data to be written carried in the write data request, and the first storage node is configured to store the data to be written. Check data. It should be noted that, when receiving the write data request, the data to be written needs to be segmented to obtain four slice data, and the four slice data are respectively stored in four storage nodes. For another example, if the size information of the network volume is 20M, the storage space to be allocated by each storage node is 4M.
步骤 S203 : 第一存储节点向所述每个存储节点分别发送第二网络卷创 建请求, 所述第二网络卷创建请求包括每个存储节点待分配的存储空间的 大小, 使得每个存储节点根据所述每个存储节点待分配的存储空间的大小 为所述网络卷分配存储空间。 Step S203: The first storage node separately sends a second network volume creation request to each of the storage nodes, where the second network volume creation request includes a storage space to be allocated by each storage node. The size is such that each storage node allocates storage space for the network volume according to the size of the storage space to be allocated by each storage node.
当第一网络卷创建请求携带的网络卷的信息包括存储节点信息时, 所 述存储节点信息用于指示创建所述网络卷所需的存储节点, 则第一存储节 点可以直接通过存储节点信息从所述存储***包含的存储节点中确定出 创建所述网络卷所需的存储节点。  When the information of the network volume carried by the first network volume creation request includes the storage node information, the storage node information is used to indicate a storage node required to create the network volume, and the first storage node may directly pass the storage node information. The storage node included in the storage system determines a storage node required to create the network volume.
第一存储节点分别向每个存储节点发送第二网络卷创建请求后, 接收 到第二网络卷创建请求的存储节点可以扫描自己的存储空间, 划分出 4M的 存储空间提供给所述网络卷。  After the first storage node sends a second network volume creation request to each storage node, the storage node that receives the second network volume creation request can scan its storage space and allocate 4M storage space to the network volume.
如果存储空间分配成功, 存储节点将发送给第一存储节点所述第二网 络卷创建请求的响应消息, 所述响应消息用于指示存储空间分配成功。 可 选的, 所述响应消息中还可以包含分配的存储空间的物理地址。  If the storage space allocation is successful, the storage node sends a response message to the second storage volume creation request of the first storage node, where the response message is used to indicate that the storage space allocation is successful. Optionally, the response message may further include a physical address of the allocated storage space.
步骤 S204: 第一存储节点为所述每个存储节点分配的存储空间指定每 个存储节点对应的逻辑地址。  Step S204: The storage space allocated by the first storage node for each storage node specifies a logical address corresponding to each storage node.
第一存储节点在接收到各个存储节点的响应消息, 得知存储空间分配 成功以后, 可以给所述网络卷指定一段连续的逻辑地址, 由于所述网络卷 的存储空间是分布在多个存储节点上的, 因此每个存储节点的存储空间对 应一段逻辑地址。 也可以是, 为每个存储节点分配的存储空间指定每个存 储节点对应的逻辑地址, 将每个存储节点对应的逻辑地址合并起来就是所 述网络卷的逻辑地址。 需要说明的是, 第一存储节点指定的逻辑地址可以 包含数据地址和校验地址, 其中, 数据地址用于存储写数据请求中的待写 入数据, 校验地址用于存储待写入数据的校验数据。 举例来说, 数据地址 可以是 VB-0 , VB-1 , VB-2 , VB_3、 VB- 4、 VB-5 , 校险地址可以是 P_0, P- 1, P-2 , P-3等等。  After receiving the response message of each storage node, the first storage node may specify a continuous logical address for the network volume after the storage space allocation is successful, because the storage space of the network volume is distributed among multiple storage nodes. Upper, so the storage space of each storage node corresponds to a logical address. Alternatively, the storage space allocated for each storage node is assigned a logical address corresponding to each storage node, and the logical address corresponding to each storage node is merged to be the logical address of the network volume. It should be noted that the logical address specified by the first storage node may include a data address and a check address, where the data address is used to store data to be written in the write data request, and the check address is used to store data to be written. Verify the data. For example, the data address can be VB-0, VB-1, VB-2, VB_3, VB-4, VB-5, and the school insurance address can be P_0, P-1, P-2, P-3, etc. .
进一步地, 以所述网络卷是 " 4+1 " 的 RAI D5为例, 为所述网络卷指定 的逻辑地址可以是 VB_0 , VB- 1 , VB-2 , VB-3 , 校险地址可以是 P_0。 步骤 S205: 第一存储节点向所述管理节点发送所述第一网络卷创建请 求的响应消息, 所述第一网络卷创建请求的响应消息包括: 所述网络卷的 逻辑地址。 Further, taking the RAI D5 whose network volume is "4+1" as an example, the logical address specified for the network volume may be VB_0, VB-1, VB-2, VB-3, and the school insurance address may be P_0. Step S205: The first storage node sends a response message of the first network volume creation request to the management node, where the response message of the first network volume creation request includes: a logical address of the network volume.
具体的, 第一网络卷创建请求的响应消息中携带的逻辑地址可以是数 据地址, 举例来说, 数据地址可以是 VB_0、 VB_1、 VB_2、 VB_3。  Specifically, the logical address carried in the response message of the first network volume creation request may be a data address. For example, the data address may be VB_0, VB_1, VB_2, VB_3.
可选的, 所述第一网络卷创建请求的响应消息还可以包括所述网络卷 的标识, 以便管理节点可以记录并保存所述网络卷的标识与所述网络卷的 R A I D类型信息以及所述网络卷的大小信息等信息的对应关系。 需要说明的 是, 这里的网络卷的标识可以是在主机发送给第一存储节点的第一网络卷 创建请求中携带的, 也可以是由第一存储节点生成的。  Optionally, the response message of the first network volume creation request may further include an identifier of the network volume, so that the management node may record and save the identifier of the network volume and the RAID type information of the network volume and the Correspondence between information such as the size information of the network volume. It should be noted that the identifier of the network volume herein may be carried in the first network volume creation request sent by the host to the first storage node, or may be generated by the first storage node.
本发明实施例中, 第一存储节点在接收管理节点发送的第一网络卷创 建请求后, 确定出每个存储节点待分配的存储空间, 向每个存储节点发送 第二网络卷创建请求使得各存储节点可以根据第二网络卷创建请求分配 存储空间, 第一存储节点对各存储节点分配存储空间指定逻辑地址, 并将 逻辑地址发送给管理节点, 使得管理节点知道网络卷创建成功, 以及该网 络卷的逻辑地址。 以此, 实现了网络卷的创建。  In the embodiment of the present invention, after receiving the first network volume creation request sent by the management node, the first storage node determines a storage space to be allocated by each storage node, and sends a second network volume creation request to each storage node, so that each The storage node may allocate a storage space according to the second network volume creation request, the first storage node allocates a storage space designation logical address to each storage node, and sends the logical address to the management node, so that the management node knows that the network volume is successfully created, and the network The logical address of the volume. In this way, the creation of a network volume is achieved.
在上述实施例中, 还可以包括:  In the above embodiment, the method may further include:
步骤 S206: 第一存储节点将所述网络卷的信息发送给主机, 所述网络 卷的信息可以包括: 所述网络卷的标识、 所述网络卷的 RAID类型、 所述 网络卷的大小信息以及所述网络卷的逻辑地址以及存储节点的信息等。  Step S206: The first storage node sends the information of the network volume to the host, where the information of the network volume may include: an identifier of the network volume, a RAID type of the network volume, a size information of the network volume, and The logical address of the network volume, the information of the storage node, and the like.
所述存储节点的信息是指第一存储节点的信息, 还可以包含网络卷所 在的所有存储节点的信息。  The information of the storage node refers to information of the first storage node, and may also include information of all storage nodes where the network volume is located.
所述主机可以根据网络卷的信息, 将所述网络卷映射为一个盘符, 例 如 D盘或 E盘, 供用户使用。  The host may map the network volume to a drive letter, such as a D drive or an E drive, for use by the user according to the information of the network volume.
此外, 主机还可以记录并保存所述网络卷的标识与所述网络卷的 In addition, the host may also record and save the identifier of the network volume and the network volume.
RAID类型、 所述网络卷的大小信息以及所述网络卷的逻辑地址以及存储 节点的信息等信息之间的对应关系。 RAID type, size information of the network volume, and logical address and storage of the network volume Correspondence between information such as node information.
可选的, 该步骤也可以是, 当主机向网络卷查询网络卷时, 管理节点 将所述网络卷的信息发送给主机, 或者由管理节点主动将所述网络卷的信 息发送给主机。  Optionally, the step may be: when the host queries the network volume for the network volume, the management node sends the information of the network volume to the host, or the management node actively sends the information of the network volume to the host.
在上述实施例中, 还可以包括:  In the above embodiment, the method may further include:
步骤 S207: 第一存储节点分别向每个存储节点发送每个存储节点对应 的逻辑地址, 使得每个存储节点记录自身的逻辑地址与分配的存储空间的 物理地址之间的映射关系。 所述逻辑地址与分配的存储空间的物理地址之 间的映射关系, 用于所述每个存储节点在写数据的时候, 可以根据该映射 关系将数据写入物理地址对应的存储空间中, 或者在读数据的时候, 可以 根据该映射关系从物理地址对应的存储空间中读取数据。  Step S207: The first storage node sends a logical address corresponding to each storage node to each storage node, so that each storage node records a mapping relationship between its logical address and the physical address of the allocated storage space. a mapping relationship between the logical address and the physical address of the allocated storage space, when the storage node writes data, the data may be written into the storage space corresponding to the physical address according to the mapping relationship, or When reading data, data can be read from the storage space corresponding to the physical address according to the mapping relationship.
在上述实施例中, 还可以包括:  In the above embodiment, the method may further include:
步骤 S208 : 记录每个存储节点对应的逻辑地址与每个存储节点的对应 关系。  Step S208: Record a correspondence between a logical address corresponding to each storage node and each storage node.
具体的, 第一存储节点在指定了所述网络卷的逻辑地址之后, 可以记 录所述网络卷与所述指定的逻辑地址的对应关系, 以及每个节点对应的逻 辑地址与每个存储节点的对应关系。 具体的, 以表 1为例, 可以用网络卷 的标识唯一标识所述网络卷, 并采用映射表的形式记录所述网络卷的标识 与逻辑地址, 以及每个逻辑地址所在的存储节点的对应关系。  Specifically, after the logical address of the network volume is specified, the first storage node may record a correspondence between the network volume and the specified logical address, and a logical address corresponding to each node and each storage node. Correspondence relationship. Specifically, taking Table 1 as an example, the network volume may be uniquely identified by using the identifier of the network volume, and the identifier and logical address of the network volume and the corresponding storage node of each logical address are recorded in the form of a mapping table. relationship.
Figure imgf000017_0001
Figure imgf000017_0001
表 1  Table 1
在上述实施例中, 还可以包括:  In the above embodiment, the method may further include:
步骤 S209: 根据所述网络卷的信息确定创建所述网络卷所需的存储节 点。 Step S209: Determine, according to the information of the network volume, a storage section required to create the network volume. Point.
当步骤 201中第一网络卷创建请求携带的网络卷的信息包括 RA ID类型 信息和网络卷的大小信息, 而没有包括存储节点的信息时, 则所述第一存 储节点可以根据 RAID类型信息和网络卷的大小信息确定创建所述网络卷 所需的存储节点。  When the information of the network volume carried in the first network volume creation request in step 201 includes the RA ID type information and the size information of the network volume, and does not include the information of the storage node, the first storage node may be based on the RAID type information and The size information of the network volume determines the storage node required to create the network volume.
举例来说, 所述网络卷的 RAI D类型是 " 4+1 " 的 RAID 5 , 则第一存储 节点需要从多个存储节点中选出 5个存储节点, 其中, 4个存储节点用于存 储写数据请求中携带的待写入数据, 1个存储节点用于存储所述待写入数 据的校验数据。 需要说明的是, 当接收到写数据请求时, 需要将待写入数 据进行切分得到 4个切片数据, 所述 4个存储节点分别存储 4个切片数据。 另外, 在本发明实施例中, 可以根据负载均衡的策略, 选择用于创建网络 卷的存储节点。 例如, 如果所述网络卷的大小信息是 20M , 则对于 " 4+1 " 的 RAID 5来说, 每个存储节点需要分配的存储空间是 4M。 因此, 在选择存 储节点时, 首先需选择空闲空间大于 4M的存储节点, 其次可以根据存储节 点的繁忙程度来进行选择, 优先选择处理业务请求比较少的存储节点。 请参考图 3 , 图 3是本发明实施例一种数据存储方法的流程示意图, 所 述数据存储方法可以应用在存储***中, 所述存储***包括主机和多个存 储节点, 如图 3所示, 所述方法包括:  For example, if the RAI D type of the network volume is "4+1" RAID 5, the first storage node needs to select 5 storage nodes from multiple storage nodes, wherein 4 storage nodes are used for storage. The data to be written carried in the data request is written, and one storage node is used to store the verification data of the data to be written. It should be noted that when receiving the write data request, the data to be written needs to be segmented to obtain 4 slice data, and the 4 storage nodes respectively store 4 slice data. In addition, in the embodiment of the present invention, a storage node for creating a network volume may be selected according to a load balancing policy. For example, if the size information of the network volume is 20M, then for the "4+1" RAID 5, the storage space that each storage node needs to allocate is 4M. Therefore, when selecting a storage node, first select a storage node with a free space greater than 4M, and then select according to the busyness of the storage node, and preferentially select a storage node with less service requests. Referring to FIG. 3, FIG. 3 is a schematic flowchart of a data storage method according to an embodiment of the present invention. The data storage method may be applied to a storage system, where the storage system includes a host and multiple storage nodes, as shown in FIG. , the method includes:
步骤 S301 : 多个存储节点中的第一存储节点将目标数据切分为至少两 个切片数据;  Step S301: The first storage node of the plurality of storage nodes divides the target data into at least two pieces of slice data;
接收目标数据的存储节点可以是网络卷所在的第一存储节点, 所述目 标数据是第一存储节点接收到的写数据请求中携带的, 第一存储节点将接 收到的目标数据按照 RA ID类型和目标数据的长度将目标数据切分为至少 两个切片数据。  The storage node that receives the target data may be the first storage node where the network volume is located, the target data is carried in the write data request received by the first storage node, and the first storage node receives the target data according to the RA ID type. And the length of the target data divides the target data into at least two slice data.
步骤 S302: 计算所述至少两个切片数据的校验数据, 为所述校验数据 分配校验地址; Step S302: Calculate check data of the at least two slice data, where the check data is Assign a check address;
具体的, 可以根据 RA I D类型计算所述至少两个切片数据的校验数据, 并且根据校验数据分配校验地址。  Specifically, the check data of the at least two slice data may be calculated according to the RA I D type, and the check address is allocated according to the check data.
步骤 S303: 确定每个切片数据的数据地址;  Step S303: Determine a data address of each slice data.
在本发明实施例中, 写数据请求中还可以携带有目标数据的存储地址 所述存储地址和数据长度可以确定出存储所述目标数据的一段连续的逻 辑地址。 在对目标数据进行切分以后, 同样也需要对存储地址进行划分, 得到每个存储节点的存储切片数据的逻辑地址, 在本发明实施例中, 存储 切片数据的逻辑地址可以称作数据地址。  In the embodiment of the present invention, the write data request may further carry a storage address of the target data, and the storage address and the data length may determine a continuous logical address storing the target data. After the target data is segmented, the storage address is also divided to obtain the logical address of the storage slice data of each storage node. In the embodiment of the present invention, the logical address storing the slice data may be referred to as a data address.
步骤 S304: 根据所述数据地址与存储节点的对应关系确定每个切片数 据对应的存储节点, 以及根据所述校验地址与存储节点的对应关系确定校 验数据对应的存储节点;  Step S304: Determine, according to the correspondence between the data address and the storage node, a storage node corresponding to each slice data, and determine a storage node corresponding to the verification data according to the correspondence between the check address and the storage node;
第一存储节点可以根据事先保存的所述数据地址与存储节点的对应 关系确定每个切片数据对应的存储节点, 以及根据所述校验地址与存储节 点的对应关系确定校验数据对应的存储节点。  The first storage node may determine, according to the correspondence between the data address and the storage node saved in advance, a storage node corresponding to each slice data, and determine a storage node corresponding to the verification data according to the correspondence between the check address and the storage node. .
步骤 S305: 向每个切片数据对应的存储节点发送第一写数据请求, 所 述第一写数据请求包括切片数据和数据地址, 使得所述每个切片数据对应 的存储节点根据数据地址与物理地址的映射关系, 将切片数据写入物理地 址对应的存储空间中;  Step S305: Send a first write data request to the storage node corresponding to each slice data, where the first write data request includes slice data and a data address, so that the storage node corresponding to each slice data is based on the data address and the physical address. The mapping relationship, the slice data is written into the storage space corresponding to the physical address;
在本发明实施例中, 每个存储节点中可以保存逻辑地址和物理地址之 间的映射关系, 再接收到切片数据以后, 可以根据逻辑地址和物理地址之 间的映射关系, 将切片数据写入物理地址对应的存储空间中, 在步骤 S 305 中切片数据对应的逻辑地址是数据地址。  In the embodiment of the present invention, a mapping relationship between a logical address and a physical address may be saved in each storage node, and after receiving the slice data, the slice data may be written according to a mapping relationship between the logical address and the physical address. In the storage space corresponding to the physical address, the logical address corresponding to the slice data in step S305 is a data address.
步骤 S306: 向校验数据对应的存储节点发送第二写数据请求, 所述第 二写数据请求包括校验数据和校验地址, 使得所述校验数据对应的存储节 点根据校验地址与物理地址的映射关系, 将校验数据写入物理地址对应的 存储空间中。 Step S306: Send a second write data request to the storage node corresponding to the check data, where the second write data request includes the check data and the check address, so that the storage section corresponding to the check data The point is written into the storage space corresponding to the physical address according to the mapping relationship between the check address and the physical address.
在本发明实施例中, 每个存储节点中可以保存逻辑地址和物理地址之 间的映射关系, 再接收到校验数据以后, 可以根据逻辑地址和物理地址之 间的映射关系, 将校验数据写入物理地址对应的存储空间中, 在步骤 S 306 中校验数据对应的逻辑地址是校验地址。  In the embodiment of the present invention, a mapping relationship between a logical address and a physical address may be saved in each storage node, and after receiving the verification data, the verification data may be determined according to a mapping relationship between the logical address and the physical address. Write the storage space corresponding to the physical address, and verify that the logical address corresponding to the data is the check address in step S306.
在本发明实施例中, 第一存储节点将目标数据切分为至少两个切片数 据, 计算至少两个切片数据的校验数据, 将切片数据和校验数据存储在各 个存储节点中, 因此实现了数据冗余,即使其中一个存储节点发生故障时, 也可以利用其它存储节点中存储的切片数据和校验数据恢复出发生故障 的存储节点存储的数据, 因此保证了数据可靠性。 请参考图 4 , 图 4是本发明实施例另一种数据存储方法的流程示意图, 如图 4所示, 所述方法包括:  In the embodiment of the present invention, the first storage node divides the target data into at least two slice data, calculates check data of at least two slice data, and stores the slice data and the check data in each storage node, thereby implementing Data redundancy, even if one of the storage nodes fails, can use the slice data and check data stored in other storage nodes to recover the data stored by the failed storage node, thus ensuring data reliability. Referring to FIG. 4, FIG. 4 is a schematic flowchart of another data storage method according to an embodiment of the present invention. As shown in FIG. 4, the method includes:
步骤 S401 : 多个存储节点中的第一存储节点接收所述主机发送的写数 据请求 A , 所述写数据请求 A包括网络卷的标识、 存储地址、 数据长度和目 标数据。  Step S401: The first storage node of the plurality of storage nodes receives the write data request A sent by the host, and the write data request A includes the identifier of the network volume, the storage address, the data length, and the target data.
在本发明实施例中, 用户可以通过主机上的盘符 (例如: D盘或 E盘) 来选择存储数据的网络卷,每个网络卷可以用网络卷的标识(例如: ID号) 唯一标识, 并且主机中保存有网络卷的标识与所述网络卷的第一存储节点 之间的对应关系, 因此, 主机可以通过用户选择的网络卷的标识确定出所 述网络卷的第一存储节点, 向所述第一存储节点发送写数据请求 A。  In the embodiment of the present invention, the user can select a network volume for storing data by using a drive letter on the host (for example, a D drive or an E drive), and each network volume can be uniquely identified by an identifier of the network volume (for example, an ID number). And the host has a correspondence between the identifier of the network volume and the first storage node of the network volume. Therefore, the host may determine the first storage node of the network volume by using the identifier of the network volume selected by the user. A write data request A is sent to the first storage node.
所述写数据请求 A可以包括: 网络卷的标识、 存储地址、 数据长度和 目标数据等信息。  The write data request A may include: information such as an identifier of the network volume, a storage address, a data length, and target data.
存储地址是指待存储的目标数据的逻辑地址, 在存储***的每个存储 节点上, 一个逻辑地址都对应一段物理地址, 目标数据最终是写到物理地 址对应的存储空间中。 数据长度是指目标数据的长度。 The storage address refers to the logical address of the target data to be stored. On each storage node of the storage system, one logical address corresponds to a physical address, and the target data is finally written to the physical address. The storage space corresponding to the address. The data length refers to the length of the target data.
步骤 S402: 根据 RAID类型和所述数据长度将所述目标数据切分为至少 两个切片数据, 所述 RA I D类型是根据所述网络卷的标识确定的。  Step S402: The target data is divided into at least two slice data according to the RAID type and the data length, and the RA I D type is determined according to the identifier of the network volume.
由于所述网络卷是事先由所述第一存储节点创建的, 所述第一存储节 点中可以保存所述网络卷的标识与所述网络卷的 RAID类型之间的对应关 系, 因此, 第一存储节点可以根据所述网络卷的标识确定所述网络卷的 RAID类型。 然后, 根据 RAID类型和所述数据长度将所述目标数据切分为至 少两个切片数据。  The first storage node may save a correspondence between the identifier of the network volume and a RAID type of the network volume, so that the network volume is created in advance by the first storage node. The storage node may determine the RAID type of the network volume according to the identifier of the network volume. The target data is then sliced into at least two slice data based on the RAID type and the data length.
步骤 S403: 根据所述 RAID类型计算所述至少两个切片数据的校验数 据。  Step S403: Calculate check data of the at least two slice data according to the RAID type.
举例来说, 可以计算出所述至少两个切片数据的奇偶校验信息, 将所 述奇偶校验信息作为所述至少两个切片数据的校验数据, 分别存储在不同 的存储节点上, 当其中一个切片数据发生损坏时, 可以利用未发生损坏的 切片数据和校验数据恢复所述被损坏的数据。  For example, the parity information of the at least two slice data may be calculated, and the parity information is stored as check data of the at least two slice data, respectively, on different storage nodes, when When one of the slice data is damaged, the damaged data can be recovered by using the slice data and the check data that have not been damaged.
步骤 S404: 根据所述存储地址和所述数据长度确定每个切片数据的数 据地址, 为所述校验数据分配校验地址。 地址, 根据所述存储地址和数据长度可以确定出存储所述目标数据的一段 连续的逻辑地址。 在对目标数据进行切分以后, 同样也需要对存储地址进 行划分, 得到每个存储节点的存储切片数据的逻辑地址, 在本发明实施例 中, 存储每个切片数据的逻辑地址可以称作数据地址。  Step S404: Determine a data address of each slice data according to the storage address and the data length, and allocate a check address to the check data. An address, according to the storage address and the data length, a continuous logical address storing the target data. After the target data is segmented, the storage address is also divided to obtain the logical address of the storage slice data of each storage node. In the embodiment of the present invention, the logical address for storing each slice data may be referred to as data. address.
然而, 校验地址并不是在写数据请求 A中携带的, 而是由第一存储节 点分配的。 需要说明的是, 由图 2所示的实施例可知, 第一存储节点在创 建所述网络卷时, 为所述网络卷的存储空间指定了一段逻辑地址, 其中, 所述逻辑地址包括数据地址和校验地址。 对于主机来说, 校验地址是不可 见的, 因此, 校验地址可以由第一存储节点分配。 需要说明的是, 根据所述存储地址和所述数据长度确定每个切片数据 的数据地址, 和为所述校验数据分配校验地址之间没有先后顺序之分。 However, the check address is not carried in the write data request A, but is allocated by the first storage node. It should be noted that, as shown in the embodiment shown in FIG. 2, when the network storage volume is created, the first storage node specifies a logical address for the storage space of the network volume, where the logical address includes a data address. And check the address. For the host, the check address is not visible, so the check address can be assigned by the first storage node. It should be noted that the data address of each slice data is determined according to the storage address and the data length, and there is no order between the verification addresses for the check data.
步骤 S405: 根据所述数据地址与存储节点的对应关系确定每个切片数 据对应的存储节点, 以及根据所述校验地址与存储节点的对应关系确定校 验数据对应的存储节点。  Step S405: Determine, according to the correspondence between the data address and the storage node, a storage node corresponding to each slice data, and determine a storage node corresponding to the verification data according to the correspondence between the check address and the storage node.
第一存储节点可以根据事先保存的所述数据地址与存储节点的对应 关系确定每个切片数据对应的存储节点, 以及根据所述校验地址与存储节 点的对应关系确定校验数据对应的存储节点。 具体的, 其对应关系可以参 考表 1所示的映射表。  The first storage node may determine, according to the correspondence between the data address and the storage node saved in advance, a storage node corresponding to each slice data, and determine a storage node corresponding to the verification data according to the correspondence between the check address and the storage node. . Specifically, the correspondence relationship can refer to the mapping table shown in Table 1.
步骤 S406: 向每个切片数据对应的存储节点发送写数据请求 B , 所述 写数据请求 B包括切片数据和数据地址, 使得所述每个切片数据对应的存 储节点根据数据地址与物理地址的映射关系, 将切片数据写入物理地址对 应的存储空间中。  Step S406: Send a write data request B to the storage node corresponding to each slice data, where the write data request B includes slice data and a data address, so that the storage node corresponding to each slice data is mapped according to the data address and the physical address. Relationship, write slice data to the storage space corresponding to the physical address.
以 "4+1 " 类型的 RAI D 5为例, 所述目标数据需要被切分成四个切片 数据, 并计算所述四个切片数据的一个校验数据, 在获得四个切片数据的 数据地址以及一个校验数据的数据地址后, 可以分别向四个切片数据的数 据地址对应的四个存储节点发送写数据请求 B , 所述写数据请求 B包括切片 数据和数据地址。  Taking the RAI D 5 of the "4+1" type as an example, the target data needs to be divided into four slice data, and one check data of the four slice data is calculated, and the data address of the four slice data is obtained. And after verifying the data address of the data, the write data request B can be sent to the four storage nodes corresponding to the data addresses of the four slice data, and the write data request B includes the slice data and the data address.
当四个切片数据的数据地址对应的数据节点接收到写数据请求 B后, 可以根据数据地址与物理地址之间的对应关系, 将切片数据写入物理地址 对应的存储空间中。  When the data node corresponding to the data address of the four slice data receives the write data request B, the slice data may be written into the storage space corresponding to the physical address according to the correspondence between the data address and the physical address.
需要说明的是, 如果所述第一存储节点本身就是存储其中一个切片数 据的存储节点, 那么第一存储节点只需要向另外三个存储节点发送写数据 请求 B。  It should be noted that, if the first storage node itself is a storage node storing one of the slice data, the first storage node only needs to send a write data request B to the other three storage nodes.
步骤 S407: 向校验数据对应的存储节点发送写数据请求 C , 所述写数 据请求 C包括校验数据和校验地址, 使得所述校验数据对应的存储节点根 据校验地址与物理地址的映射关系, 将校验数据写入物理地址对应的存储 空间中。 Step S407: Send a write data request C to the storage node corresponding to the check data, where the write data request C includes the check data and the check address, so that the storage node root corresponding to the check data According to the mapping relationship between the verification address and the physical address, the verification data is written into the storage space corresponding to the physical address.
在本发明实施例中, 校验数据可以是一个或多个, 因此校验地址以及 校验地址对应的存储节点也可以是一个或多个。 例如, 当 RAID类型是 RAID 5时, 校验数据是一个; 当 RAID类型是 RAID 6时, 校验数据是两个。  In the embodiment of the present invention, the verification data may be one or more, so the storage node corresponding to the verification address and the verification address may also be one or more. For example, when the RAID type is RAID 5, the check data is one; when the RAID type is RAID 6, the check data is two.
步骤 S407和步骤 S406之间没有先后顺序之分。  There is no order between step S407 and step S406.
在本发明实施例中, 第一存储节点在接收主机发送的写数据请求 A后, 根据 RA I D类型和数据长度将目标数据切分为至少两个切片数据, 计算至少 两个切片数据的校验数据, 将切片数据和校验数据存储在各个存储节点 中, 因此实现了数据冗余, 即使其中第一存储节点发生故障时, 也可以利 用其它存储节点中存储的切片数据和校验数据恢复出发生故障的存储节 点存储的数据, 因此保证了数据可靠性。  In the embodiment of the present invention, after receiving the write data request A sent by the host, the first storage node divides the target data into at least two slice data according to the RA ID type and the data length, and calculates a check of at least two slice data. Data, the slice data and the check data are stored in each storage node, thereby realizing data redundancy, and even if the first storage node fails, the slice data and the check data stored in the other storage nodes can be recovered. The data stored by the failed storage node ensures data reliability.
在上述实施例中还可以包括:  In the above embodiment, the method may further include:
步骤 S408: 接收所述主机发送的读数据请求 A , 所述读数据请求 A包 括所述存储地址和所述数据长度, 所述第一读数据请求用于读取所述目标 数据。  Step S408: Receive a read data request A sent by the host, the read data request A includes the storage address and the data length, and the first read data request is used to read the target data.
步骤 S409: 根据所述存储地址和所述数据长度确定所述目标数据包含 的各个切片数据的数据地址。  Step S409: Determine a data address of each slice data included in the target data according to the storage address and the data length.
具体的, 确定各个切片数据的数据地址的步骤与步骤 S404类似, 这里 不再赘述。  Specifically, the step of determining the data address of each slice data is similar to step S404, and details are not described herein again.
步骤 S410: 根据所述数据地址与存储节点的对应关系确定每个切片数 据对应的存储节点。  Step S410: Determine, according to the correspondence between the data address and the storage node, a storage node corresponding to each slice data.
具体的, 确定每个切片数据对应的存储节点的步骤与步骤 S405类似, 这里不再赘述。  Specifically, the step of determining the storage node corresponding to each slice data is similar to step S405, and details are not described herein again.
步骤 S411 : 向每个切片数据对应的存储节点发送读数据请求 B, 所述读 数据请求 B包括切片数据的数据地址, 使得所述每个切片数据对应的存储 节点根据数据地址与物理地址的映射关系, 从所述物理地址对应的存储空 间中读取所述切片数据并发送给所述第一存储节点。 Step S411: Send a read data request B to the storage node corresponding to each slice data, where the read data request B includes a data address of the slice data, so that the storage corresponding to each slice data is The node reads the slice data from the storage space corresponding to the physical address and sends the slice data to the first storage node according to a mapping relationship between the data address and the physical address.
步骤 S412: 接收每个切片数据对应的存储节点发送的切片数据, 合并 成所述目标数据发送给所述主机。  Step S412: Receive slice data sent by the storage node corresponding to each slice data, and merge the data into the target data and send the data to the host.
当其中第一存储节点在读取切片数据时, 发现该切片数据已经损坏, 则可以发送错误报告给第一存储节点, 第一存储节点可以指示所述网络卷 的其他存储节点读取所述目标数据的未发生损坏的切片数据和校验数据, 以恢复所述发生损坏的切片数据。  When the first storage node reads the slice data and finds that the slice data has been damaged, an error report may be sent to the first storage node, and the first storage node may instruct other storage nodes of the network volume to read the target. The damaged slice data and the check data of the data are not recovered to recover the damaged slice data.
在本发明另一个实施例中, 可以由第一存储节点定期主动检查所述网 络卷所在的各个存储节点中存储的切片数据是否发生损坏, 如果是, 可以 采用上面的方式恢复发生损坏的切片数据。 请参考图 5 , 图 5是本发明实施例一种存储设备 50的结构示意图, 如 图 5所示, 所述存储设备包括:  In another embodiment of the present invention, the first storage node may periodically check whether the slice data stored in each storage node where the network volume is located is damaged. If yes, the damaged slice data may be recovered in the above manner. . Referring to FIG. 5, FIG. 5 is a schematic structural diagram of a storage device 50 according to an embodiment of the present invention. As shown in FIG. 5, the storage device includes:
接收模块 501 , 用于接收管理节点发送的第一网络卷创建请求, 所述 第一网络卷创建请求包括网络卷的信息, 所述网络卷的信息包括 R A I D类 型信息和所述网络卷的大小信息;  The receiving module 501 is configured to receive a first network volume creation request sent by the management node, where the first network volume creation request includes information about a network volume, and the information of the network volume includes RAID type information and size information of the network volume. ;
管理节点可以将第一网络卷创建请求发送给多个存储节点中的任意 第一存储节点, 该存储节点接收到第一网络卷创建请求后可以通过修改属 性设置让自己成为第一存储节点。  The management node may send the first network volume creation request to any of the plurality of storage nodes, and the storage node may make itself the first storage node by modifying the attribute setting after receiving the first network volume creation request.
网络卷的信息可以是 RAID类型信息和网络卷的大小信息, 其中, RAID 类型信息可以是本领域技术人员所熟知的 RAID类型, 例如: 常用的 RAID5 , RAID6等, 也可以是上纠偏码的冗余类型, 例如: Erasure Code 10+2 , 9+3 , 8+4等。 网络卷的大小信息是指所述网络卷所包括的存储空间 的大小。 需要说明的是, 本发明实施例中的存储设备可以视作第一存储节 点。 在本发明另一个实施例中, 网络卷的信息还可以包括存储节点的信 息, 用于指示创建所述网络卷所需的存储节点。 The information of the network volume may be the RAID type information and the size information of the network volume. The RAID type information may be a RAID type well known to those skilled in the art, such as: commonly used RAID5, RAID6, etc., or may be redundant of the upper correction code. Other types, such as: Erasure Code 10+2, 9+3, 8+4, etc. The size information of the network volume refers to the size of the storage space included in the network volume. It should be noted that the storage device in the embodiment of the present invention may be regarded as a first storage node. In another embodiment of the present invention, the information of the network volume may further include information of the storage node for indicating a storage node required to create the network volume.
可选的, 网络卷的信息还可以包括网络卷的标识。  Optionally, the information of the network volume may further include an identifier of the network volume.
确定模块 502 ,用于根据所述 RAID类型信息和所述网络卷的大小信息 确定所述网络卷所需的多个存储节点中的每个存储节点待分配的存储空 间的大小;  a determining module 502, configured to determine, according to the RAID type information and the size information of the network volume, a size of a storage space to be allocated by each of the plurality of storage nodes required by the network volume;
具体的, 确定模块 502可以根据 RAID类型信息和网络卷的大小信息, 确定每个存储节点待分配的存储空间。举例来说, RAID类型信息是" 4+1 " 的 RAID 5 ,其中,四个存储节点用于存储写数据请求中携带的待写入数据, 第一存储节点用于存储所述待写入数据的校验数据。 需要说明的是, 当接 收到写数据请求时, 需要将待写入数据进行切分得到四个切片数据, 所述 四个切片数据分别存储在四个存储节点中。 再如, 网络卷的大小信息是 Specifically, the determining module 502 can determine, according to the RAID type information and the size information of the network volume, the storage space to be allocated by each storage node. For example, the RAID type information is a "4+1" RAID 5, where four storage nodes are used to store data to be written carried in the write data request, and the first storage node is configured to store the data to be written. Check data. It should be noted that, when receiving the write data request, the data to be written needs to be segmented to obtain four slice data, and the four slice data are respectively stored in four storage nodes. For another example, the size information of the network volume is
20M, 则每个存储节点待分配的存储空间是 4M。 20M, the storage space to be allocated for each storage node is 4M.
发送模块 503 , 用于向所述每个存储节点分别发送第二网络卷创建请 求, 所述第二网络卷创建请求包括所述每个存储节点待分配的存储空间的 大小, 使得所述每个存储节点根据所述每个存储节点待分配的存储空间的 大小为所述网络卷分配存储空间;  a sending module 503, configured to separately send a second network volume creation request to each of the storage nodes, where the second network volume creation request includes a size of a storage space to be allocated by each storage node, such that each The storage node allocates storage space to the network volume according to the size of the storage space to be allocated by each storage node;
当第一网络卷创建请求携带的网络卷的信息包括存储节点信息时, 所 述存储节点信息用于指示创建所述网络卷所需的存储节点, 则可以直接通 过存储节点信息从所述存储***包含的存储节点中确定出创建所述网络 卷所需的存储节点。  When the information of the network volume carried by the first network volume creation request includes the storage node information, where the storage node information is used to indicate the storage node required to create the network volume, the storage node may directly pass the storage node information from the storage system. The storage nodes required to create the network volume are determined among the included storage nodes.
在发送模块 503分别每个存储节点发送第二网络卷创建请求后, 接收 到第二网络卷创建请求的存储节点可以扫描自己的存储空间, 划分出 4M 的存储空间提供给所述网络卷。  After the sending module 503 sends a second network volume creation request to each storage node, the storage node that receives the second network volume creation request can scan its storage space and allocate 4M storage space to the network volume.
如果存储空间分配成功, 存储节点将返回所述第二网络卷创建请求的 响应消息, 所述响应消息用于指示存储空间分配成功。 可选的, 所述响应 消息中还可以包含分配的存储空间的物理地址。 If the storage space allocation is successful, the storage node returns a response message of the second network volume creation request, where the response message is used to indicate that the storage space allocation is successful. Optional, the response The message can also contain the physical address of the allocated storage space.
地址指定模块 504 ,用于为每个存储节点分配的存储空间指定每个存储 节点对应的逻辑地址;  An address specifying module 504, configured to specify, for each storage node, a logical address corresponding to each storage node;
具体的, 在各个存储节点返回所述第二网络卷创建请求的响应消息 后, 地址指定模块 504以给所述网络卷指定一段连续的逻辑地址, 由于所述 网络卷的存储空间是分布在多个存储节点上的, 因此每个存储节点的存储 空间对应一段逻辑地址。 也可以是, 为每个存储节点分配的存储空间指定 每个存储节点对应的逻辑地址, 将每个存储节点对应的逻辑地址合并起来 就是所述网络卷的逻辑地址。 需要说明的是, 所述逻辑地址可以包含数据 地址和校验地址, 其中, 数据地址用于存储写数据请求中的待写入数据, 校验地址用于存储待写入数据的校验数据。 举例来说, 数据地址可以是 VB-0 , VB-1 , VB-2 , VB_3、 VB- 4、 VB-5 , 校马全地址可以是 P- 0, P- 1 , P-2, P-3等等。  Specifically, after each storage node returns a response message of the second network volume creation request, the address specifying module 504 specifies a continuous logical address for the network volume, because the storage space of the network volume is distributed. On the storage node, so the storage space of each storage node corresponds to a logical address. It is also possible that the storage space allocated for each storage node specifies a logical address corresponding to each storage node, and the logical addresses corresponding to each storage node are merged to be the logical address of the network volume. It should be noted that the logical address may include a data address and a check address, where the data address is used to store data to be written in the write data request, and the check address is used to store check data of the data to be written. For example, the data address can be VB-0, VB-1, VB-2, VB_3, VB-4, VB-5, and the full address of the school horse can be P-0, P-1, P-2, P- 3 and so on.
进一步地, 以所述网络卷是 " 4+1 " 的 RAI D5为例, 为所述网络卷指 定的逻辑地址可以是 VB-0 , VB-1 , VB-2 , VB- 3 , 校险地址可以是 P_0。  Further, taking the RAI D5 whose network volume is "4+1" as an example, the logical address specified for the network volume may be VB-0, VB-1, VB-2, VB-3, and the school insurance address. It can be P_0.
所述发送模块 503 , 还用于向所述管理节点发送所述第一网络卷创建 请求的响应消息, 所述第一网络卷创建请求的响应消息包括: 所述网络卷 的逻辑地址, 所述网络卷的逻辑地址包括所述每个存储节点对应的逻辑地 址。  The sending module 503 is further configured to send the response message of the first network volume creation request to the management node, where the response message of the first network volume creation request includes: a logical address of the network volume, The logical address of the network volume includes the logical address corresponding to each storage node.
具体的, 第一网络卷创建请求的响应消息中携带的逻辑地址可以是数 据地址, 举例来说, 数据地址可以是 VB_0、 VB_1、 VB-2 , VB_ 3。  Specifically, the logical address carried in the response message of the first network volume creation request may be a data address. For example, the data address may be VB_0, VB_1, VB-2, VB_3.
可选的, 所述第一网络卷创建请求的响应消息还可以包括所述网络卷 的标识, 以便管理节点可以记录并保存所述网络卷的标识与所述网络卷的 RA I D类型信息以及所述网络卷的大小信息等信息的对应关系。需要说明的 是, 这里的网络卷的标识可以是在主机发送给所述存储设备的第一网络卷 创建请求中携带的, 也可以是由所述存储设备生成的。 本发明实施例中, 存储设备在接收管理节点发送的第一网络卷创建请 求后, 确定出每个存储节点待分配的存储空间, 向每个存储节点发送第二 网络卷创建请求使得各存储节点可以根据第二网络卷创建请求分配存储 空间, 存储设备对各存储节点分配存储空间指定逻辑地址, 并将逻辑地址 发送给管理节点, 使得管理节点知道网络卷创建成功, 以及该网络卷的逻 辑地址。 以此, 实现了网络卷的创建。 Optionally, the response message of the first network volume creation request may further include an identifier of the network volume, so that the management node may record and save the identifier of the network volume and the RA ID type information of the network volume and the The correspondence between the information such as the size information of the network volume. It should be noted that the identifier of the network volume herein may be carried in the first network volume creation request sent by the host to the storage device, or may be generated by the storage device. In the embodiment of the present invention, after receiving the first network volume creation request sent by the management node, the storage device determines the storage space to be allocated by each storage node, and sends a second network volume creation request to each storage node to make each storage node. The storage space may be allocated according to the second network volume creation request, and the storage device allocates a storage space designation logical address to each storage node, and sends the logical address to the management node, so that the management node knows that the network volume is successfully created, and the logical address of the network volume . In this way, the creation of a network volume is achieved.
在上述实施例中, 确定模块 502 , 还可以用于根据所述 RAID类型信息 和所述网络卷的大小信息, 确定创建所述网络卷所需的所述多个存储节 点。 可选地, 所述网络卷的信息还包括存储节点信息, 所述存储节点信息 用于指示创建所述网络卷所需的所述多个存储节点, 则确定模块 502 , 还 可以用于根据所述存储节点信息, 确定创建所述网络卷所需的所述多个存 储节点。  In the above embodiment, the determining module 502 is further configured to determine, according to the RAID type information and the size information of the network volume, the plurality of storage nodes required to create the network volume. Optionally, the information about the network volume further includes storage node information, where the storage node information is used to indicate the multiple storage nodes required to create the network volume, and the determining module 502 is further configured to be used according to the Determining storage node information, determining the plurality of storage nodes required to create the network volume.
当第一网络卷创建请求携带的网络卷的信息包括 R A I D类型信息和网 络卷的大小信息, 而没有包括存储节点的信息时, 则所述存储设备可以根 据 RAID类型信息和网络卷的大小信息确定创建所述网络卷所需的存储节 点; 当第一网络卷创建请求携带的网络卷的信息包括存储节点的信息时, 则可以根据存储节点的信息确定创建所述网络卷所需的存储节点。  When the information of the network volume carried by the first network volume creation request includes the RAID type information and the size information of the network volume, and does not include the information of the storage node, the storage device may be determined according to the RAID type information and the size information of the network volume. The storage node required to create the network volume; when the information of the network volume carried by the first network volume creation request includes the information of the storage node, the storage node required to create the network volume may be determined according to the information of the storage node.
举例来说, 所述网络卷的 RAID类型是 "4+1 " 的 RAID 5 , 则所述存储 设备需要从多个存储节点中选出 5个存储节点, 其中, 4个存储节点用于 存储写数据请求中携带的待写入数据, 1个存储节点用于存储所述待写入 数据的校验数据。 需要说明的是, 当接收到写数据请求时, 需要将待写入 数据进行切分得到 4个切片数据, 所述 4个存储节点分别存储 4个切片数 据。 另外, 在本发明实施例中, 可以根据负载均衡的策略, 选择用于创建 网络卷的存储节点。例如,如果所述网络卷的大小信息是 20M,则对于 "4+1 " 的 RAID 5来说, 每个存储节点需要分配的存储空间是 4M。 因此, 在选择 存储节点时, 首先需选择空闲空间大于 4M的存储节点, 其次可以根据存 储节点的繁忙程度来进行选择, 优先选择处理业务请求比较少的存储节 点。 For example, if the RAID type of the network volume is "4+1" RAID 5, the storage device needs to select 5 storage nodes from a plurality of storage nodes, wherein 4 storage nodes are used to store writes. Data to be written carried in the data request, and one storage node is used to store the verification data of the data to be written. It should be noted that, when receiving the write data request, the data to be written needs to be segmented to obtain 4 slice data, and the 4 storage nodes respectively store 4 slice data. In addition, in the embodiment of the present invention, a storage node for creating a network volume may be selected according to a load balancing policy. For example, if the size information of the network volume is 20M, then for the "4+1" RAID 5, the storage space that each storage node needs to allocate is 4M. Therefore, when selecting a storage node, first select a storage node with a free space greater than 4M, and secondly, according to the storage node. The busyness of the storage node is selected, and the storage node with less business requests is preferentially selected.
可选地, 所述发送模块 503 , 还用于将所述每个存储节点对应的逻辑 地址分别发送给所述每个存储节点, 使得所述每个存储节点记录自身的逻 辑地址与分配的存储空间的物理地址之间的映射关系。 所述逻辑地址与分 配的存储空间的物理地址之间的映射关系, 用于所述每个存储节点在写数 据的时候, 可以根据该映射关系将数据写入物理地址对应的存储空间中, 或者在读数据的时候, 可以根据该映射关系从物理地址对应的存储空间中 读取数据。  Optionally, the sending module 503 is further configured to separately send a logical address corresponding to each storage node to each storage node, so that each storage node records its own logical address and allocated storage. The mapping between physical addresses of space. a mapping relationship between the logical address and the physical address of the allocated storage space, when the storage node writes data, the data may be written into the storage space corresponding to the physical address according to the mapping relationship, or When reading data, data can be read from the storage space corresponding to the physical address according to the mapping relationship.
可选地, 所述存储设备还可以包括记录模块 505 , 用于记录并保存所 述每个存储节点对应的逻辑地址与所述每个存储节点的对应关系。  Optionally, the storage device may further include a recording module 505, configured to record and save a correspondence between a logical address corresponding to each storage node and each storage node.
具体的, 所述存储设备在指定了所述网络卷的逻辑地址之后, 可以记 录所述网络卷与所述指定的逻辑地址的对应关系, 以及每个节点对应的逻 辑地址与每个存储节点的对应关系。  Specifically, after the storage device specifies the logical address of the network volume, the storage device may record a correspondence between the network volume and the specified logical address, and a logical address corresponding to each node and each storage node. Correspondence relationship.
可选地, 在上述实施例中, 所述逻辑地址可以包括数据地址, 所述第一 网络卷创建请求的响应消息具体包括: 所述网络卷的数据地址。  Optionally, in the foregoing embodiment, the logical address may include a data address, and the response message of the first network volume creation request specifically includes: a data address of the network volume.
可选地, 在上述实施例中, 所述第二网络卷创建请求的响应消息可以 包括: 分配的存储空间的物理地址。  Optionally, in the foregoing embodiment, the response message of the second network volume creation request may include: a physical address of the allocated storage space.
所述地址指定模块 504 , 具体用于根据所述分配的存储空间的物理地 址, 为每个存储节点分配的存储空间指定每个存储节点对应的逻辑地址。 请参考图 6 , 图 6是本发明实施例一种存储设备的结构示意图, 如图 6所示, 所述存储设备包括: 所述目标数据是所述存储设备接收到的写数据请求中携带的, 存储设 备将接收到的目标数据按照 RAID类型和目标数据的长度将目标数据切分 为至少两个切片数据。 The address specifying module 504 is specifically configured to specify, according to the physical address of the allocated storage space, a logical address corresponding to each storage node for a storage space allocated by each storage node. Referring to FIG. 6, FIG. 6 is a schematic structural diagram of a storage device according to an embodiment of the present invention. As shown in FIG. 6, the storage device includes: the target data is carried in a write data request received by the storage device. The storage device divides the target data into the target data according to the RAID type and the length of the target data. For at least two slices of data.
计算模块 602 , 用于计算所述至少两个切片数据的校验数据, 为所述 校验数据分配校验地址;  The calculating module 602 is configured to calculate check data of the at least two slice data, and allocate a check address to the check data.
具体的, 可以根据 RAID类型计算所述至少两个切片数据的校验数据, 并且根据校验数据分配校验地址。  Specifically, the check data of the at least two slice data may be calculated according to the RAID type, and the check address is allocated according to the check data.
确定模块 603 , 用于确定每个切片数据的数据地址; 根据所述数据地 址与存储节点的对应关系确定每个切片数据对应的存储节点, 以及根据所 述校验地址与存储节点的对应关系确定校验数据对应的存储节点;  a determining module 603, configured to determine a data address of each slice data; determining, according to the correspondence between the data address and the storage node, a storage node corresponding to each slice data, and determining, according to the correspondence between the check address and the storage node, Verifying the storage node corresponding to the data;
在本发明实施例中, 写数据请求中还携带有目标数据的存储地址和数 存储地址和数据长度可以确定出存储所述目标数据的一段连续的逻辑地 址。 在对目标数据进行切分以后, 同样也需要对存储地址进行划分, 得到 每个存储节点的存储切片数据的逻辑地址, 在本发明实施例中, 存储切片 数据的逻辑地址可以称作数据地址。  In the embodiment of the present invention, the write data request further carries the storage address of the target data and the number of storage addresses and the data length to determine a continuous logical address for storing the target data. After the target data is segmented, the storage address is also divided to obtain the logical address of the storage slice data of each storage node. In the embodiment of the present invention, the logical address storing the slice data may be referred to as a data address.
存储设备可以根据事先保存的所述数据地址与存储节点的对应关系 确定每个切片数据对应的存储节点, 以及根据所述校验地址与存储节点的 对应关系确定校验数据对应的存储节点。  The storage device may determine a storage node corresponding to each slice data according to a correspondence between the data address and the storage node saved in advance, and determine a storage node corresponding to the verification data according to the correspondence between the check address and the storage node.
发送模块 604 , 用于向每个切片数据对应的存储节点发送第一写数据 请求, 所述第一写数据请求包括切片数据和数据地址, 使得所述每个切片 数据对应的存储节点根据数据地址与物理地址的映射关系, 将切片数据写 入物理地址对应的存储空间中; 向校验数据对应的存储节点发送第二写数 据请求, 所述第二写数据请求包括校验数据和校验地址, 使得所述校验数 据对应的存储节点根据校验地址与物理地址的映射关系, 将校验数据写入 物理地址对应的存储空间中。  The sending module 604 is configured to send a first write data request to the storage node corresponding to each slice data, where the first write data request includes slice data and a data address, so that the storage node corresponding to each slice data is based on the data address. The mapping relationship with the physical address, the slice data is written into the storage space corresponding to the physical address; the second write data request is sent to the storage node corresponding to the check data, and the second write data request includes the check data and the check address And causing the storage node corresponding to the verification data to write the verification data into the storage space corresponding to the physical address according to the mapping relationship between the verification address and the physical address.
在本发明实施例中, 每个存储节点中可以保存逻辑地址和物理地址之 间的映射关系, 这里的逻辑地址可以是数据地址或校验地址, 再接收到切 片数据以后, 可以根据数据地址和物理地址之间的映射关系, 将切片数据 写入物理地址对应的存储空间中, 根据校验地址和物理地址之间的映射关 系, 将校验数据写入物理地址对应的存储空间中。 In the embodiment of the present invention, a mapping relationship between a logical address and a physical address may be saved in each storage node, where the logical address may be a data address or a check address, and then received After the slice data, the slice data can be written into the storage space corresponding to the physical address according to the mapping relationship between the data address and the physical address, and the verification data is written into the physical according to the mapping relationship between the check address and the physical address. The storage space corresponding to the address.
在本发明实施例中, 存储设备将目标数据切分为至少两个切片数据, 计算至少两个切片数据的校验数据, 将切片数据和校验数据存储在各个存 储节点中, 因此实现了数据冗余, 即使其中一个存储节点发生故障时, 也 可以利用其它存储节点中存储的切片数据和校验数据恢复出发生故障的 存储节点存储的数据, 因此保证了数据可靠性。  In the embodiment of the present invention, the storage device divides the target data into at least two slice data, calculates check data of at least two slice data, and stores the slice data and the check data in each storage node, thereby implementing data. Redundancy, even if one of the storage nodes fails, the slice data and the check data stored in the other storage nodes can be used to recover the data stored by the failed storage node, thus ensuring data reliability.
在上述实施例中, 存储设备还可以包括接收模块 605;  In the above embodiment, the storage device may further include a receiving module 605;
所述接收模块 605 , 用于接收主机发送的第三写数据请求, 所述第三 写数据请求包括网络卷的标识、 数据长度和所述目标数据;  The receiving module 605 is configured to receive a third write data request sent by the host, where the third write data request includes an identifier of the network volume, a data length, and the target data.
根据 R A I D类型和所述数据长度, 切分模块 601可以将目标数据切分 为至少两个切片数据, 所述 RAID类型是根据所述网络卷的标识确定的。  Based on the R A I D type and the data length, the sharding module 601 can slice the target data into at least two slice data, the RAID type being determined according to the identity of the network volume.
可选的, 第三写数据请求还可以包括存储地址;  Optionally, the third write data request may further include a storage address.
所述确定模块 603 , 具体用于根据所述存储地址和所述数据长度确定 每个切片数据的数据地址。  The determining module 603 is specifically configured to determine a data address of each slice data according to the storage address and the data length.
可选的, 所述接收模块 605 , 还用于接收所述主机发送的第一读数据 请求, 所述第一读数据请求包括所述存储地址和所述数据长度, 所述第一 读数据请求用于读取所述目标数据;  Optionally, the receiving module 605 is further configured to receive a first read data request sent by the host, where the first read data request includes the storage address and the data length, and the first read data request Used to read the target data;
所述确定模块 603 , 还用于根据所述存储地址和所述数据长度确定所 述目标数据包含的各个切片数据的数据地址; 根据所述数据地址与存储节 点的对应关系确定每个切片数据对应的存储节点;  The determining module 603 is further configured to determine, according to the storage address and the data length, a data address of each slice data included in the target data, and determine, according to the correspondence between the data address and the storage node, each slice data corresponding to Storage node
所述发送模块 604 , 还用于向每个切片数据对应的存储节点发送第二 读数据请求, 所述第二读数据请求包括切片数据的数据地址, 使得所述每 个切片数据对应的存储节点根据数据地址与物理地址的映射关系, 从所述 物理地址对应的存储空间中读取所述切片数据并发送给所述第一存储节 点. The sending module 604 is further configured to send a second read data request to the storage node corresponding to each slice data, where the second read data request includes a data address of the slice data, so that the storage node corresponding to each slice data Reading the slice data from a storage space corresponding to the physical address and transmitting the data to the first storage section according to a mapping relationship between the data address and the physical address Point.
所述接收模块 605 , 还用于接收每个切片数据对应的存储节点发送的 切片数据, 合并成所述目标数据发送给所述主机。 请参考图 7A, 图 7A是本发明实施例一种存储***的结构示意图, 所述 存储***包括管理节点 701、 存储节点 702; 需要说明的是, 在本发明实施例 中存储节点 702又称存储设备。  The receiving module 605 is further configured to receive the slice data sent by the storage node corresponding to each slice data, and merge the data into the target data and send the data to the host. Referring to FIG. 7A, FIG. 7A is a schematic structural diagram of a storage system according to an embodiment of the present invention. The storage system includes a management node 701 and a storage node 702. It should be noted that, in the embodiment of the present invention, the storage node 702 is also referred to as storage. device.
所述管理节点 701 , 用于向所述多个存储节点中的第一存储节点发送 第一网络卷创建请求, 所述第一网络卷创建请求包括网络卷的信息, 所述 网络卷的信息包括 RAID类型信息和所述网络卷的大小信息。  The management node 701 is configured to send a first network volume creation request to the first storage node of the multiple storage nodes, where the first network volume creation request includes information of a network volume, and the information of the network volume includes RAID type information and size information of the network volume.
所述第一存储节点 702, 用于接收所述管理节点 Ί 01发送的第一网络卷 创建请求, 所述第一网络卷创建请求包括网络卷的信息, 所述网络卷的信 息包括 RAID类型信息和所述网络卷的大小信息; 根据所述 RAID类型信息和 所述网络卷的大小信息确定所述多个存储节点中的每个存储节点 702待分 配的存储空间的大小; 向所述每个存储节点 702分别发送第二网络卷创建 请求, 所述第二网络卷创建请求包括所述每个存储节点待分配的存储空间 的大小, 使得所述每个存储节点根据所述每个存储节点待分配的存储空间 的大小为所述网络卷分配存储空间; 为每个存储节点分配的存储空间指定 每个存储节点对应的逻辑地址; 向所述管理节点 701发送所述第一网络卷 创建请求的响应消息, 所述第一网络卷创建请求的响应消息包括: 所述网 络卷的逻辑地址, 所述网络卷的逻辑地址包括所述每个存储节点对应的逻 辑地址。  The first storage node 702 is configured to receive a first network volume creation request sent by the management node Ί 01, where the first network volume creation request includes information about a network volume, and the information of the network volume includes RAID type information. And size information of the network volume; determining, according to the RAID type information and the size information of the network volume, a size of a storage space to be allocated by each of the plurality of storage nodes; The storage node 702 sends a second network volume creation request, where the second network volume creation request includes a size of the storage space to be allocated by each storage node, so that each storage node is in accordance with each storage node. The size of the allocated storage space allocates storage space for the network volume; the storage space allocated for each storage node specifies a logical address corresponding to each storage node; and the first network volume creation request is sent to the management node 701 The response message of the first network volume creation request includes: a logical address of the network volume, the network The logical address of the volume includes the logical address corresponding to each of the storage nodes.
本发明实施例中, 第一存储节点 702在接收管理节点 701发送的第一 网络卷创建请求后, 确定出每个存储节点待分配的存储空间, 向每个存储 节点 702发送第二网络卷创建请求使得各存储节点可以根据第二网络卷创 建请求分配存储空间, 第一存储节点 702对各存储节点分配存储空间指定 逻辑地址, 并将逻辑地址发送给管理节点, 使得管理节点 701知道网络卷 创建成功, 以及该网络卷的逻辑地址。 以此, 实现了网络卷的创建。 请参考图 7B , 图 7B是本发明实施例一种存储***的结构示意图, 所述 存储***包括主机 703、 存储节点 702; 需要说明的是, 在本发明实施例中存 储节点 702又称存储设备。 In the embodiment of the present invention, after receiving the first network volume creation request sent by the management node 701, the first storage node 702 determines a storage space to be allocated by each storage node, and sends a second network volume creation to each storage node 702. The request is such that each storage node can allocate a storage space according to the second network volume creation request, and the first storage node 702 allocates a storage space designation to each storage node. The logical address, and the logical address is sent to the management node, so that the management node 701 knows that the network volume is successfully created, and the logical address of the network volume. In this way, the creation of a network volume is achieved. Referring to FIG. 7B, FIG. 7B is a schematic structural diagram of a storage system according to an embodiment of the present invention. The storage system includes a host 703 and a storage node 702. It should be noted that, in the embodiment of the present invention, the storage node 702 is also referred to as a storage device. .
所述存储节点 702 , 用于将目标数据切分为至少两个切片数据; 计算所 述至少两个切片数据的校验数据, 为所述校验数据分配校验地址; 确定每 个切片数据的数据地址; 根据所述数据地址与存储节点 702的对应关系确 定每个切片数据对应的存储节点 702 , 以及根据所述校验地址与存储节点 702的对应关系确定校验数据对应的存储节点; 向每个切片数据对应的存 储节点 702发送第一写数据请求, 所述第一写数据请求包括切片数据和数 据地址, 使得所述每个切片数据对应的存储节点 702根据数据地址与物理 地址的映射关系, 将切片数据写入物理地址对应的存储空间中; 向校验数 据对应的存储节点 702发送第二写数据请求, 所述第二写数据请求包括校 验数据和校验地址, 使得所述校验数据对应的存储节点 702根据校验地址 与物理地址的映射关系, 将校验数据写入物理地址对应的存储空间中。  The storage node 702 is configured to divide the target data into at least two pieces of slice data; calculate check data of the at least two pieces of slice data, and allocate a check address for the check data; determine each slice data a storage node 702 corresponding to each slice data according to the correspondence between the data address and the storage node 702, and a storage node corresponding to the verification data according to the correspondence between the check address and the storage node 702; The storage node 702 corresponding to each slice data sends a first write data request, and the first write data request includes slice data and a data address, so that the storage node 702 corresponding to each slice data is mapped according to the data address and the physical address. a relationship, the slice data is written into a storage space corresponding to the physical address; and the second write data request is sent to the storage node 702 corresponding to the check data, where the second write data request includes the check data and the check address, so that the The storage node 702 corresponding to the verification data is based on the mapping relationship between the verification address and the physical address. Test data is written to a corresponding physical address in the memory space.
所述主机 700 , 用于向所述存储设备 702发送第三写数据请求, 所述 第三写数据请求包括网络卷的标识、 数据长度和所述目标数据  The host 700 is configured to send a third write data request to the storage device 702, where the third write data request includes an identifier of the network volume, a data length, and the target data.
在本发明实施例中, 第一存储节点 702将目标数据切分为至少两个切 片数据, 计算至少两个切片数据的校验数据, 将切片数据和校验数据存储 在各个存储节点中, 因此实现了数据冗余, 即使其中一个存储节点发生故 障时, 也可以利用其它存储节点中存储的切片数据和校验数据恢复出发生 故障的存储节点存储的数据, 因此保证了数据可靠性。 请参考图 8 , 本发明实施例提供了一种存储设备 800的示意图。 存储设 备 800可以包括当前技术已知的存储设备, 本发明具体实施例并不对存储设 备 800的具体实现做限定。 存储设备 800包括: In the embodiment of the present invention, the first storage node 702 divides the target data into at least two slice data, calculates check data of at least two slice data, and stores the slice data and the check data in each storage node, so Data redundancy is realized. Even if one of the storage nodes fails, the slice data and the parity data stored in the other storage nodes can be used to recover the data stored by the failed storage node, thereby ensuring data reliability. Referring to FIG. 8 , an embodiment of the present invention provides a schematic diagram of a storage device 800. Storage The standby device 800 may include a storage device that is known in the prior art. The specific embodiment of the present invention does not limit the specific implementation of the storage device 800. Storage device 800 includes:
处理器 (processor)810, 通信接口(Communications Interface) 820, 存者器 (memory)830, 通信总线 840。  A processor 810, a Communications Interface 820, a memory 830, and a communication bus 840.
处理器 810, 通信接口 820, 存储器 830通过通信总线 840完成相互间的 通信。  The processor 810, the communication interface 820, and the memory 830 complete communication with each other via the communication bus 840.
通信接口 820, 用于与网元通信, 比如与主机或者交换机等通信。  The communication interface 820 is configured to communicate with a network element, such as a host or a switch.
处理器 810, 用于执行程序 832。  The processor 810 is configured to execute the program 832.
具体地, 程序 832可以包括程序代码, 所述程序代码包括计算机操作指 令。  In particular, program 832 can include program code, the program code including computer operating instructions.
处理器 810 可能是一个中央处理器 CPU, 或者是特定集成电路 ASIC ( Application Specific Integrated Circuit ) ,或者是被配置成实施本发明实施例 的一个或多个集成电路。  The processor 810 may be a central processing unit CPU, or an Application Specific Integrated Circuit (ASIC), or one or more integrated circuits configured to implement embodiments of the present invention.
存储器 830,用于存放程序 832。存储器 830可能包含高速 RAM存储器, 也可能还包括非易失性存储器( non- volatile memory ) , 例如至少一个磁盘存 储器。  The memory 830 is configured to store the program 832. Memory 830 may include high speed RAM memory and may also include non-volatile memory, such as at least one disk memory.
程序 832具体可以包括:  The program 832 may specifically include:
接收模块 501 , 用于接收管理节点发送的第一网络卷创建请求, 所述 第一网络卷创建请求包括网络卷的信息, 所述网络卷的信息包括 R A I D类 型信息和所述网络卷的大小信息;  The receiving module 501 is configured to receive a first network volume creation request sent by the management node, where the first network volume creation request includes information about a network volume, and the information of the network volume includes RAID type information and size information of the network volume. ;
确定模块 502 ,用于根据所述 RAID类型信息和所述网络卷的大小信息 确定所述网络卷所需的多个存储节点中的每个存储节点待分配的存储空 间;  The determining module 502 is configured to determine, according to the RAID type information and the size information of the network volume, a storage space to be allocated by each of the plurality of storage nodes required by the network volume;
发送模块 503 , 用于向所述每个存储节点分别发送第二网络卷创建请 求, 所述第二网络卷创建请求包括所述每个存储节点待分配的存储空间的 大小, 使得所述每个存储节点根据所述每个存储节点待分配的存储空间的 大小为所述网络卷分配存储空间; a sending module 503, configured to separately send a second network volume creation request to each of the storage nodes, where the second network volume creation request includes a size of a storage space to be allocated by each storage node, such that each a storage node according to the storage space to be allocated by each storage node The size allocates storage space for the network volume;
地址指定模块 504 ,用于为每个存储节点分配的存储空间指定每个存储 节点对应的逻辑地址;  An address specifying module 504, configured to specify, for each storage node, a logical address corresponding to each storage node;
所述发送模块 503 , 还用于向所述管理节点发送所述第一网络卷创建 请求的响应消息, 所述第一网络卷创建请求的响应消息包括: 所述网络卷 的逻辑地址, 所述网络卷的逻辑地址包括所述每个存储节点对应的逻辑地 址。  The sending module 503 is further configured to send the response message of the first network volume creation request to the management node, where the response message of the first network volume creation request includes: a logical address of the network volume, The logical address of the network volume includes the logical address corresponding to each storage node.
程序 832中各模块的具体实现可以参见图 8所示实施例中的相应模块, 在此不赘述。 请参考图 9, 本发明实施例提供了一种存储设备 900的示意图。 存储设 备 900可以包括当前技术已知的存储设备, 本发明具体实施例并不对存储设 备 900的具体实现做限定。 存储设备 900包括:  For the specific implementation of each module in the program 832, reference may be made to the corresponding modules in the embodiment shown in FIG. 8, and details are not described herein. Referring to FIG. 9, an embodiment of the present invention provides a schematic diagram of a storage device 900. The storage device 900 may include storage devices known in the prior art, and the specific embodiment of the present invention does not limit the specific implementation of the storage device 900. Storage device 900 includes:
处理器 (processor)910, 通信接口(Communications Interface)920 , 存者器 (memory)930, 通信总线 940。  A processor 910, a communications interface 920, a memory 930, and a communications bus 940.
处理器 910, 通信接口 920, 存储器 930通过通信总线 940完成相互间的 通信。  The processor 910, the communication interface 920, and the memory 930 complete communication with each other via the communication bus 940.
通信接口 920, 用于与网元通信, 比如与主机或者交换机等通信。  The communication interface 920 is configured to communicate with a network element, such as a host or a switch.
处理器 910, 用于执行程序 932。  The processor 910 is configured to execute the program 932.
具体地, 程序 932可以包括程序代码, 所述程序代码包括计算机操作指 令。  In particular, program 932 can include program code, the program code including computer operating instructions.
处理器 910 可能是一个中央处理器 CPU, 或者是特定集成电路 ASIC ( Application Specific Integrated Circuit ) ,或者是被配置成实施本发明实施例 的一个或多个集成电路。  The processor 910 may be a central processing unit CPU, or an Application Specific Integrated Circuit (ASIC), or one or more integrated circuits configured to implement embodiments of the present invention.
存储器 930,用于存放程序 932。存储器 930可能包含高速 RAM存储器, 也可能还包括非易失性存储器( non- volatile memory ) , 例如至少一个磁盘存 储器。 The memory 930 is configured to store the program 932. The memory 930 may include a high speed RAM memory, and may also include a non-volatile memory, such as at least one disk memory. Reservoir.
程序 932具体可以包括: 计算模块 602 , 用于计算所述至少两个切片数据的校验数据, 为所述 校验数据分配校验地址;  The program 932 may include: a calculation module 602, configured to calculate verification data of the at least two slice data, and allocate a check address to the verification data;
确定模块 603 , 用于确定每个切片数据的数据地址; 根据所述数据地 址与存储节点的对应关系确定每个切片数据对应的存储节点, 以及根据所 述校验地址与存储节点的对应关系确定校验数据对应的存储节点;  a determining module 603, configured to determine a data address of each slice data; determining, according to the correspondence between the data address and the storage node, a storage node corresponding to each slice data, and determining, according to the correspondence between the check address and the storage node, Verifying the storage node corresponding to the data;
发送模块 604 , 用于向每个切片数据对应的存储节点发送第一写数据 请求, 所述第一写数据请求包括切片数据和数据地址, 使得所述每个切片 数据对应的存储节点根据数据地址与物理地址的映射关系, 将切片数据写 入物理地址对应的存储空间中; 向校验数据对应的存储节点发送第二写数 据请求, 所述第二写数据请求包括校验数据和校验地址, 使得所述校验数 据对应的存储节点根据校验地址与物理地址的映射关系, 将校验数据写入 物理地址对应的存储空间中。  The sending module 604 is configured to send a first write data request to the storage node corresponding to each slice data, where the first write data request includes slice data and a data address, so that the storage node corresponding to each slice data is based on the data address. The mapping relationship with the physical address, the slice data is written into the storage space corresponding to the physical address; the second write data request is sent to the storage node corresponding to the check data, and the second write data request includes the check data and the check address And causing the storage node corresponding to the verification data to write the verification data into the storage space corresponding to the physical address according to the mapping relationship between the verification address and the physical address.
程序 932中各模块的具体实现可以参见图 9所示实施例中的相应模块, 在此不赘述。  For the specific implementation of each module in the program 932, reference may be made to the corresponding modules in the embodiment shown in FIG. 9, and details are not described herein.
所属领域的技术人员可以清楚地了解到, 为描述的方便和筒洁, 上述描 述的设备和模块的具体工作过程, 可以参考前述方法实施例中的对应过程描 述, 在此不再赘述。  A person skilled in the art can clearly understand that, for the convenience and the cleaning of the description, the specific working process of the device and the module described above can be referred to the corresponding process description in the foregoing method embodiments, and details are not described herein again.
在本申请所提供的几个实施例中, 应该理解到, 所揭露的设备和方法, 可以通过其它的方式实现。 例如, 以上所描述的装置实施例仅仅是示意性的, 例如, 所述模块的划分, 仅仅为一种逻辑功能划分, 实际实现时可以有另外 的划分方式, 例如多个模块或组件可以结合或者可以集成到另一个设备中, 或一些特征可以忽略, 或不执行。 另一点, 所显示或讨论的相互之间的耦合 或直接耦合或通信连接可以是通过一些通信接口, 装置或模块的间接耦合或 通信连接, 可以是电性, 机械或其它的形式。 In the several embodiments provided by the present application, it should be understood that the disclosed apparatus and method may be implemented in other manners. For example, the device embodiments described above are merely illustrative. For example, the division of the modules is only a logical function division. In actual implementation, there may be another division manner, for example, multiple modules or components may be combined or Can be integrated into another device, or some features can be ignored, or not executed. In addition, the mutual coupling or direct coupling or communication connection shown or discussed may be through some communication interface, indirect coupling of devices or modules or The communication connection can be in electrical, mechanical or other form.
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的, 作 为模块显示的部件可以是或者也可以不是物理子模块,即可以位于一个地方, 或者也可以分布到多个网络子模块上。 可以根据实际的需要选择其中的部分 或者全部, 模块来实现本实施例方案的目的。  The modules described as separate components may or may not be physically separated. The components displayed as modules may or may not be physical sub-modules, that is, may be located in one place, or may be distributed to multiple network sub-modules. on. Some or all of the modules may be selected according to actual needs to achieve the purpose of the solution of the embodiment.
另外,在本发明各个实施例中的各功能模块可以集成在一个处理模块中, 也可以是各个模块单独物理存在, 也可以两个或两个以上模块集成在一个模 块中。  In addition, each functional module in each embodiment of the present invention may be integrated into one processing module, or each module may exist physically separately, or two or more modules may be integrated into one module.
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可 以通过硬件来完成, 也可以通过程序来指令相关的硬件完成, 所述的程序 可以存储于一种计算机可读存储介质中, 上述提到的存储介质可以是只读 存储器, 磁盘或光盘等。  A person skilled in the art may understand that all or part of the steps of implementing the above embodiments may be completed by hardware, or may be instructed by a program to execute related hardware, and the program may be stored in a computer readable storage medium. The storage medium mentioned may be a read only memory, a magnetic disk or an optical disk or the like.
最后应说明的是: 以上各实施例仅用以说明本发明的技术方案, 而非对 其限制; 尽管参照前述各实施例对本发明进行了详细的说明, 本领域的普通 技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改, 或者对其中部分或者全部技术特征进行等同替换; 而这些修改或者替换, 并 不使相应技术方案的本质脱离本发明各实施例技术方案的范围。  Finally, it should be noted that the above embodiments are only for explaining the technical solutions of the present invention, and are not intended to be limiting thereof; although the present invention has been described in detail with reference to the foregoing embodiments, those skilled in the art will understand that The technical solutions described in the foregoing embodiments may be modified, or some or all of the technical features may be equivalently replaced; and the modifications or substitutions do not deviate from the technical solutions of the embodiments of the present invention. range.

Claims

权 利 要 求 书 claims
1、 一种网络卷创建方法, 其特征在于, 所述方法应用于存储***中, 所述存储***包括一个管理节点和多个存储节点, 所述方法包括: 1. A method for creating a network volume, characterized in that the method is applied to a storage system, the storage system includes a management node and multiple storage nodes, the method includes:
所述多个存储节点中的第一存储节点接收所述管理节点发送的第一 网络卷创建请求, 所述第一网络卷创建请求包括网络卷的信息, 所述网络 卷的信息包括 RAID类型信息和所述网络卷的大小信息; The first storage node among the plurality of storage nodes receives a first network volume creation request sent by the management node, the first network volume creation request includes network volume information, and the network volume information includes RAID type information. and size information of the network volume;
根据所述 RAID类型信息和所述网络卷的大小信息确定所述多个存储 节点中的每个存储节点待分配的存储空间的大小; Determine the size of the storage space to be allocated by each storage node in the plurality of storage nodes according to the RAID type information and the size information of the network volume;
向所述每个存储节点分别发送第二网络卷创建请求, 所述第二网络卷 创建请求包括所述每个存储节点待分配的存储空间的大小, 使得所述每个 存储节点根据所述每个存储节点待分配的存储空间的大小为所述网络卷 分配存储空间; Send a second network volume creation request to each storage node, where the second network volume creation request includes the size of the storage space to be allocated by each storage node, so that each storage node can The size of the storage space to be allocated by each storage node is to allocate storage space to the network volume;
为每个存储节点分配的存储空间指定每个存储节点对应的逻辑地址; 向所述管理节点发送所述第一网络卷创建请求的响应消息, 所述第一 网络卷创建请求的响应消息包括: 所述网络卷的逻辑地址, 所述网络卷的 逻辑地址包括所述每个存储节点对应的逻辑地址。 Specify the logical address corresponding to each storage node for the storage space allocated by each storage node; send a response message to the first network volume creation request to the management node, where the response message to the first network volume creation request includes: The logical address of the network volume includes the logical address corresponding to each storage node.
2、 根据权利要求 1所述的方法, 其特征在于, 所述方法还包括: 根据所述 RAID类型信息和所述网络卷的大小信息, 确定创建所述网络 卷所需的所述多个存储节点。 2. The method of claim 1, further comprising: determining the plurality of storages required to create the network volume based on the RAID type information and the size information of the network volume. node.
3、 根据权利要求 1所述的方法, 其特征在于, 所述网络卷的信息还包 括存储节点信息, 所述存储节点信息用于指示创建所述网络卷所需的所述 多个存储节点; 3. The method according to claim 1, characterized in that, the information of the network volume further includes storage node information, and the storage node information is used to indicate the plurality of storage nodes required to create the network volume;
所述方法还包括: 根据所述存储节点信息, 确定创建所述网络卷所需 的所述多个存储节点。 The method further includes: determining the plurality of storage nodes required to create the network volume according to the storage node information.
4、 根据权利要求 1所述的方法, 其特征在于, 还包括: 4. The method according to claim 1, further comprising:
将所述每个存储节点对应的逻辑地址分别发送给所述每个存储节点, 使得所述每个存储节点记录自身的逻辑地址与分配的存储空间的物理地 址之间的映射关系。 Send the logical address corresponding to each storage node to each storage node respectively, Each storage node is caused to record the mapping relationship between its own logical address and the physical address of the allocated storage space.
5、 根据权利要求 3所述的方法, 其特征在于, 所述存储***还包括主 机, 所述方法还包括: 5. The method according to claim 3, wherein the storage system further includes a host, and the method further includes:
向所述主机发送所述网络卷的信息, 以及所述网络卷的逻辑地址。 Send information about the network volume and the logical address of the network volume to the host.
6、 根据权利要求 1所述的方法, 其特征在于, 还包括: 6. The method according to claim 1, further comprising:
记录并保存所述每个存储节点对应的逻辑地址与所述每个存储节点 的对应关系。 Record and save the corresponding relationship between the logical address corresponding to each storage node and each storage node.
7、 根据权利要求 1所述的方法, 其特征在于, 所述逻辑地址包括数据 地址; 7. The method according to claim 1, wherein the logical address includes a data address;
所述第一网络卷创建请求的响应消息具体包括: 所述网络卷的数据地 址。 The response message of the first network volume creation request specifically includes: the data address of the network volume.
8、 根据权利要求 1所述的方法, 其特征在于, 所述第二网络卷创建请 求的响应消息包括: 分配的存储空间的物理地址; 8. The method according to claim 1, wherein the response message of the second network volume creation request includes: the physical address of the allocated storage space;
所述为每个存储节点分配的存储空间指定每个存储节点对应的逻辑 地址具体包括: 根据所述分配的存储空间的物理地址, 为每个存储节点分 配的存储空间指定每个存储节点对应的逻辑地址。 Specifying the logical address corresponding to each storage node for the storage space allocated to each storage node specifically includes: according to the physical address of the allocated storage space, specifying the storage space corresponding to each storage node for the storage space allocated to each storage node. logical address.
9、 一种数据存储方法, 其特征在于, 所述方法应用于存储***中, 所述存储***包括主机和多个存储节点, 所述方法包括: 9. A data storage method, characterized in that the method is applied to a storage system, the storage system includes a host and multiple storage nodes, the method includes:
所述多个存储节点中的第一存储节点将目标数据切分为至少两个切 片数据; The first storage node among the plurality of storage nodes divides the target data into at least two slice data;
计算所述至少两个切片数据的校验数据, 为所述校验数据分配校验地 址; Calculate the verification data of the at least two slice data, and assign a verification address to the verification data;
确定每个切片数据的数据地址; Determine the data address of each slice data;
根据所述数据地址与存储节点的对应关系确定每个切片数据对应的 存储节点, 以及根据所述校验地址与存储节点的对应关系确定校验数据对 应的存储节点; Determine the storage node corresponding to each slice data according to the corresponding relationship between the data address and the storage node, and determine the verification data pair according to the corresponding relationship between the verification address and the storage node. The corresponding storage node;
向每个切片数据对应的存储节点发送第一写数据请求, 所述第一写数 据请求包括切片数据和数据地址, 使得所述每个切片数据对应的存储节点 根据数据地址与物理地址的映射关系, 将切片数据写入物理地址对应的存 储空间中; Send a first write data request to the storage node corresponding to each slice data. The first write data request includes the slice data and the data address, so that the storage node corresponding to each slice data responds to the mapping relationship between the data address and the physical address. , write the slice data into the storage space corresponding to the physical address;
向校验数据对应的存储节点发送第二写数据请求, 所述第二写数据请 求包括校验数据和校验地址, 使得所述校验数据对应的存储节点根据校验 地址与物理地址的映射关系, 将校验数据写入物理地址对应的存储空间 中。 Send a second write data request to the storage node corresponding to the verification data. The second write data request includes the verification data and the verification address, so that the storage node corresponding to the verification data responds to the mapping between the verification address and the physical address. Relationship, write the verification data into the storage space corresponding to the physical address.
10、 根据权利要求 9所述的方法, 其特征在于, 所述方法还包括: 接收所述主机发送的第三写数据请求, 所述第三写数据请求包括网络 卷的标识、 数据长度和所述目标数据; 10. The method according to claim 9, characterized in that, the method further includes: receiving a third write data request sent by the host, the third write data request including the identification of the network volume, the data length and the Describe target data;
所述将目标数据切分为至少两个切片数据具体包括: 根据 R A I D类型和 所述数据长度将目标数据切分为至少两个切片数据, 所述 R A I D类型是根据 所述网络卷的标识确定的。 The dividing the target data into at least two slice data specifically includes: dividing the target data into at least two slice data according to the RAID type and the data length, and the RAID type is determined according to the identification of the network volume. .
11、 根据权利要求 10所述的方法, 其特征在于, 所述第三写数据请求 还包括存储地址; 11. The method according to claim 10, characterized in that the third write data request further includes a storage address;
所述确定每个切片数据的数据地址具体包括: 根据所述存储地址和所 述数据长度确定每个切片数据的数据地址。 Determining the data address of each slice data specifically includes: determining the data address of each slice data according to the storage address and the data length.
12、 根据权利要求 11所述的方法, 其特征在于, 所述方法还包括: 接收所述主机发送的第一读数据请求, 所述第一读数据请求包括所述 存储地址和所述数据长度, 所述第一读数据请求用于读取所述目标数据; 根据所述存储地址和所述数据长度确定所述目标数据包含的各个切 片数据的数据地址; 12. The method according to claim 11, characterized in that, the method further includes: receiving a first read data request sent by the host, the first read data request including the storage address and the data length. , the first read data request is used to read the target data; determine the data address of each slice data contained in the target data according to the storage address and the data length;
根据所述数据地址与存储节点的对应关系确定每个切片数据对应的 存储节点; 向每个切片数据对应的存储节点发送第二读数据请求, 所述第二读数 据请求包括切片数据的数据地址, 使得所述每个切片数据对应的存储节点 根据数据地址与物理地址的映射关系, 从所述物理地址对应的存储空间中 读取所述切片数据并发送给所述第一存储节点; Determine the storage node corresponding to each slice data according to the corresponding relationship between the data address and the storage node; Send a second read data request to the storage node corresponding to each slice data, where the second read data request includes the data address of the slice data, so that the storage node corresponding to each slice data responds to the mapping relationship between the data address and the physical address. , read the slice data from the storage space corresponding to the physical address and send it to the first storage node;
接收每个切片数据对应的存储节点发送的切片数据, 合并成所述目标 数据发送给所述主机。 Receive the slice data sent by the storage node corresponding to each slice data, merge it into the target data and send it to the host.
1 3、 一种存储设备, 其特征在于, 所述存储设备包括: 1 3. A storage device, characterized in that the storage device includes:
接收模块, 用于接收管理节点发送的第一网络卷创建请求, 所述第一 网络卷创建请求包括网络卷的信息, 所述网络卷的信息包括 RAID类型信 息和所述网络卷的大小信息; A receiving module configured to receive a first network volume creation request sent by the management node, where the first network volume creation request includes network volume information, and the network volume information includes RAID type information and size information of the network volume;
确定模块, 用于根据所述 RAID 类型信息和所述网络卷的大小信息确 定所述网络卷所需的多个存储节点中的每个存储节点待分配的存储空间 的大小; Determining module, configured to determine the size of the storage space to be allocated by each of the multiple storage nodes required by the network volume based on the RAID type information and the size information of the network volume;
发送模块, 用于向所述每个存储节点分别发送第二网络卷创建请求, 所述第二网络卷创建请求包括所述每个存储节点待分配的存储空间的大 小, 使得所述每个存储节点根据所述每个存储节点待分配的存储空间的大 小为所述网络卷分配存储空间; A sending module, configured to send a second network volume creation request to each storage node, where the second network volume creation request includes the size of the storage space to be allocated by each storage node, so that each storage node The node allocates storage space to the network volume according to the size of the storage space to be allocated by each storage node;
地址指定模块, 用于为每个存储节点分配的存储空间指定每个存储节 点对应的逻辑地址; The address designation module is used to designate the logical address corresponding to each storage node for the storage space allocated by each storage node;
所述发送模块, 还用于向所述管理节点发送所述第一网络卷创建请求 的响应消息, 所述第一网络卷创建请求的响应消息包括: 所述网络卷的逻 辑地址, 所述网络卷的逻辑地址包括所述每个存储节点对应的逻辑地址。 The sending module is also configured to send a response message to the first network volume creation request to the management node. The response message to the first network volume creation request includes: the logical address of the network volume, the network volume The logical address of the volume includes the logical address corresponding to each storage node.
14、 根据权利要求 1 3所述的存储设备, 其特征在于, 14. The storage device according to claim 13, characterized in that,
所述确定模块, 还用于根据所述 RAI D类型信息和所述网络卷的大小 信息, 确定创建所述网络卷所需的所述多个存储节点。 The determining module is also configured to determine the multiple storage nodes required to create the network volume based on the RAID type information and the size information of the network volume.
15、 根据权利要求 1 3 所述的存储设备, 其特征在于, 所述网络卷的 信息还包括存储节点信息, 所述存储节点信息用于指示创建所述网络卷所 需的所述多个存储节点; 15. The storage device according to claim 13, characterized in that: the network volume The information also includes storage node information, where the storage node information is used to indicate the plurality of storage nodes required to create the network volume;
所述确定模块, 还用于根据所述存储节点信息, 确定创建所述网络卷 所需的所述多个存储节点。 The determining module is also configured to determine the multiple storage nodes required to create the network volume based on the storage node information.
16、 根据权利要求 1 3所述的存储设备, 其特征在于, 16. The storage device according to claim 13, characterized in that,
所述发送模块, 还用于将所述每个存储节点对应的逻辑地址分别发送 给所述每个存储节点, 使得所述每个存储节点记录自身的逻辑地址与分配 的存储空间的物理地址之间的映射关系。 The sending module is also configured to send the logical address corresponding to each storage node to each storage node, so that each storage node records the difference between its own logical address and the physical address of the allocated storage space. mapping relationship between.
17、 根据权利要求 1 3 所述的存储设备, 其特征在于, 还包括记录模 块; 17. The storage device according to claim 13, further comprising a recording module;
所述记录模块, 还用于记录并保存所述每个存储节点对应的逻辑地址 与所述每个存储节点的对应关系。 The recording module is also configured to record and save the corresponding relationship between the logical address corresponding to each storage node and each storage node.
18、 根据权利要求 1 3所述的存储设备, 其特征在于, 所述逻辑地址包 括数据地址; 18. The storage device according to claim 13, wherein the logical address includes a data address;
所述第一网络卷创建请求的响应消息具体包括: 所述网络卷的数据地 址。 The response message of the first network volume creation request specifically includes: the data address of the network volume.
19、 根据权利要求 1 3 所述的存储设备, 其特征在于, 所述第二网络 卷创建请求的响应消息包括: 分配的存储空间的物理地址; 19. The storage device according to claim 13, wherein the response message of the second network volume creation request includes: the physical address of the allocated storage space;
所述地址指定模块, 具体用于根据所述分配的存储空间的物理地址, 为每个存储节点分配的存储空间指定每个存储节点对应的逻辑地址。 The address designation module is specifically configured to designate the logical address corresponding to each storage node for the storage space allocated by each storage node according to the physical address of the allocated storage space.
20、 一种存储设备, 其特征在于, 所述存储设备包括: 20. A storage device, characterized in that the storage device includes:
切分模块, 用于将目标数据切分为至少两个切片数据; The segmentation module is used to segment the target data into at least two sliced data;
计算模块, 用于计算所述至少两个切片数据的校验数据, 为所述校验 数据分配校验地址; A calculation module, used to calculate the verification data of the at least two slice data, and assign a verification address to the verification data;
确定模块, 用于确定每个切片数据的数据地址; 根据所述数据地址与 存储节点的对应关系确定每个切片数据对应的存储节点, 以及根据所述校 验地址与存储节点的对应关系确定校验数据对应的存储节点; 发送模块, 用于向每个切片数据对应的存储节点发送第一写数据请 求, 所述第一写数据请求包括切片数据和数据地址, 使得所述每个切片数 据对应的存储节点根据数据地址与物理地址的映射关系, 将切片数据写入 物理地址对应的存储空间中; 向校验数据对应的存储节点发送第二写数据 请求, 所述第二写数据请求包括校验数据和校验地址, 使得所述校验数据 对应的存储节点根据校验地址与物理地址的映射关系, 将校验数据写入物 理地址对应的存储空间中。 Determining module, used to determine the data address of each slice data; determine the storage node corresponding to each slice data according to the corresponding relationship between the data address and the storage node, and according to the calibration The corresponding relationship between the verification address and the storage node determines the storage node corresponding to the verification data; a sending module, configured to send a first write data request to the storage node corresponding to each slice data, where the first write data request includes slice data and data address, so that the storage node corresponding to each slice data writes the slice data into the storage space corresponding to the physical address according to the mapping relationship between the data address and the physical address; sends a second write data request to the storage node corresponding to the verification data. , the second write data request includes verification data and a verification address, so that the storage node corresponding to the verification data writes the verification data into the storage space corresponding to the physical address according to the mapping relationship between the verification address and the physical address. middle.
21、 根据权利要求 20所述的存储设备, 其特征在于, 所述存储设备还 包括: 接收模块; 21. The storage device according to claim 20, characterized in that the storage device further includes: a receiving module;
所述接收模块, 用于接收主机发送的第三写数据请求, 所述第三写数 据请求包括网络卷的标识、 数据长度和所述目标数据; The receiving module is configured to receive a third write data request sent by the host, where the third write data request includes the identification of the network volume, the data length and the target data;
所述切分模块, 具体用于根据 RAID类型和所述数据长度将目标数据切 分为至少两个切片数据, 所述 R A I D类型是根据所述网络卷的标识确定的。 The segmentation module is specifically configured to segment the target data into at least two sliced data according to the RAID type and the data length. The RAID type is determined according to the identifier of the network volume.
22、 根据权利要求 21所述的存储设备, 其特征在于, 所述第三写数据 请求还包括存储地址; 22. The storage device according to claim 21, wherein the third write data request further includes a storage address;
所述确定模块, 具体用于根据所述存储地址和所述数据长度确定每个 切片数据的数据地址。 The determining module is specifically configured to determine the data address of each slice data according to the storage address and the data length.
23、 根据权利要求 22所述的存储设备, 其特征在于, 23. The storage device according to claim 22, characterized in that,
所述接收模块, 还用于接收所述主机发送的第一读数据请求, 所述第 一读数据请求包括所述存储地址和所述数据长度, 所述第一读数据请求用 于读取所述目标数据; The receiving module is also configured to receive a first read data request sent by the host, where the first read data request includes the storage address and the data length, and the first read data request is used to read all Describe target data;
所述确定模块, 还用于根据所述存储地址和所述数据长度确定所述目 标数据包含的各个切片数据的数据地址; 根据所述数据地址与存储节点的 对应关系确定每个切片数据对应的存储节点; The determination module is also configured to determine the data address of each slice data contained in the target data according to the storage address and the data length; determine the corresponding data address of each slice data according to the corresponding relationship between the data address and the storage node. storage node;
所述发送模块, 还用于向每个切片数据对应的存储节点发送第二读数 据请求, 所述第二读数据请求包括切片数据的数据地址, 使得所述每个切 片数据对应的存储节点根据数据地址与物理地址的映射关系, 从所述物理 地址对应的存储空间中读取所述切片数据并发送给所述第一存储节点; 所述接收模块, 还用于接收每个切片数据对应的存储节点发送的切片 数据, 合并成所述目标数据发送给所述主机。 The sending module is also used to send the second reading to the storage node corresponding to each slice data. According to the request, the second read data request includes the data address of the slice data, so that the storage node corresponding to each slice data reads from the storage space corresponding to the physical address according to the mapping relationship between the data address and the physical address. The slice data is sent to the first storage node; the receiving module is also configured to receive the slice data sent by the storage node corresponding to each slice data, merge it into the target data and send it to the host.
24、一种存储***, 其特征在于, 所述存储***包括如权利要求 1 3-19 任一权利要求所述的存储设备以及管理节点; 24. A storage system, characterized in that, the storage system includes the storage device and management node according to any one of claims 1 to 19;
所述管理节点, 用于向所述多个存储节点中的第一存储节点发送第一 网络卷创建请求, 所述第一网络卷创建请求包括网络卷的信息, 所述网络 卷的信息包括 RAID类型信息和所述网络卷的大小信息。 The management node is configured to send a first network volume creation request to a first storage node among the plurality of storage nodes, where the first network volume creation request includes network volume information, and the network volume information includes RAID Type information and size information of the network volume.
25、一种存储***, 其特征在于, 所述存储***包括如权利要求 20-23 任一权利要求所述的存储设备以及主机; 25. A storage system, characterized in that, the storage system includes the storage device and a host according to any one of claims 20-23;
所述主机, 用于向所述存储设备发送第三写数据请求, 所述第三写数 据请求包括网络卷的标识、 数据长度和所述目标数据。 The host is configured to send a third write data request to the storage device, where the third write data request includes the identification of the network volume, the data length and the target data.
26、 一种存储设备, 其特征在于, 包括: 处理器、 存储器和通信总线; 其中, 所述处理器和所述存储器通过所述通信总线进行通信; 26. A storage device, characterized in that it includes: a processor, a memory and a communication bus; wherein the processor and the memory communicate through the communication bus;
所述存储器用于保存程序; The memory is used to save programs;
所述处理器用于执行所述程序, 以实现: The processor is used to execute the program to implement:
接收管理节点发送的第一网络卷创建请求, 所述第一网络卷创建请求 包括网络卷的信息, 所述网络卷的信息包括 RAID类型信息和所述网络卷的 大小信息; Receive a first network volume creation request sent by the management node, the first network volume creation request includes network volume information, and the network volume information includes RAID type information and size information of the network volume;
根据所述 RAID类型信息和所述网络卷的大小信息确定多个存储节点 中的每个存储节点待分配的存储空间的大小; Determine the size of the storage space to be allocated by each storage node in the plurality of storage nodes according to the RAID type information and the size information of the network volume;
向所述每个存储节点分别发送第二网络卷创建请求, 所述第二网络卷 创建请求包括所述每个存储节点待分配的存储空间的大小, 使得所述每个 存储节点根据所述每个存储节点待分配的存储空间的大小为所述网络卷 分配存储空间; Send a second network volume creation request to each storage node, where the second network volume creation request includes the size of the storage space to be allocated by each storage node, so that each storage node can The size of the storage space to be allocated for each storage node is the network volume. allocate storage space;
为每个存储节点分配的存储空间指定每个存储节点对应的逻辑地址; 向所述管理节点发送所述第一网络卷创建请求的响应消息, 所述第一 网络卷创建请求的响应消息包括: 所述网络卷的逻辑地址, 所述网络卷的 逻辑地址包括所述每个存储节点对应的逻辑地址。 Specify the logical address corresponding to each storage node for the storage space allocated by each storage node; send a response message to the first network volume creation request to the management node, where the response message to the first network volume creation request includes: The logical address of the network volume includes the logical address corresponding to each storage node.
27、 根据权利要求 26所述的存储设备, 其特征在于, 27. The storage device according to claim 26, characterized in that,
所述处理器, 还用于根据所述 RAID类型信息和所述网络卷的大小信 息, 确定创建所述网络卷所需的所述多个存储节点。 The processor is further configured to determine the multiple storage nodes required to create the network volume based on the RAID type information and the size information of the network volume.
28、 根据权利要求 26所述的存储设备, 其特征在于, 所述网络卷的信 息还包括存储节点信息, 所述存储节点信息用于指示创建所述网络卷所需 的所述多个存储节点; 28. The storage device according to claim 26, wherein the information of the network volume further includes storage node information, and the storage node information is used to indicate the plurality of storage nodes required to create the network volume. ;
所述处理器, 还用于根据所述存储节点信息, 确定创建所述网络卷所 需的所述多个存储节点。 The processor is further configured to determine the multiple storage nodes required to create the network volume based on the storage node information.
29、 根据权利要求 26所述的存储设备, 其特征在于, 29. The storage device according to claim 26, characterized in that,
所述处理器, 还用于将所述每个存储节点对应的逻辑地址分别发送给 所述每个存储节点, 使得所述每个存储节点记录自身的逻辑地址与分配的 存储空间的物理地址之间的映射关系。 The processor is further configured to send the logical address corresponding to each storage node to each storage node, so that each storage node records the difference between its own logical address and the physical address of the allocated storage space. mapping relationship between.
30、 根据权利要求 26所述的存储设备, 其特征在于, 30. The storage device according to claim 26, characterized in that,
所述处理器, 还用于记录并保存所述每个存储节点对应的逻辑地址与 所述每个存储节点的对应关系。 The processor is also configured to record and save the corresponding relationship between the logical address corresponding to each storage node and each storage node.
31、 根据权利要求 26所述的存储设备, 其特征在于, 所述逻辑地址包 括数据地址; 31. The storage device according to claim 26, wherein the logical address includes a data address;
所述第一网络卷创建请求的响应消息具体包括: 所述网络卷的数据地 址。 The response message of the first network volume creation request specifically includes: the data address of the network volume.
32、 根据权利要求 26所述的存储设备, 其特征在于, 所述第二网络卷 创建请求的响应消息包括: 分配的存储空间的物理地址; 所述处理器, 具体用于根据所述分配的存储空间的物理地址, 为每个 存储节点分配的存储空间指定每个存储节点对应的逻辑地址。 32. The storage device according to claim 26, wherein the response message to the second network volume creation request includes: a physical address of the allocated storage space; The processor is specifically configured to specify a logical address corresponding to each storage node for the storage space allocated by each storage node according to the physical address of the allocated storage space.
33、 一种存储设备, 其特征在于, 包括: 处理器、 存储器和通信总线; 其中, 所述处理器和所述存储器通过所述通信总线进行通信; 33. A storage device, characterized in that it includes: a processor, a memory and a communication bus; wherein the processor and the memory communicate through the communication bus;
所述存储器用于保存程序; The memory is used to save programs;
所述处理器用于执行所述程序, 以实现: The processor is used to execute the program to implement:
将目标数据切分为至少两个切片数据; Split the target data into at least two sliced data;
计算所述至少两个切片数据的校验数据, 为所述校验数据分配校验地 址; Calculate the verification data of the at least two slice data, and assign a verification address to the verification data;
确定每个切片数据的数据地址; Determine the data address of each slice data;
根据所述数据地址与存储节点的对应关系确定每个切片数据对应的 存储节点, 以及根据所述校验地址与存储节点的对应关系确定校验数据对 应的存储节点; Determine the storage node corresponding to each slice data according to the corresponding relationship between the data address and the storage node, and determine the storage node corresponding to the verification data according to the corresponding relationship between the verification address and the storage node;
向每个切片数据对应的存储节点发送第一写数据请求, 所述第一写数 据请求包括切片数据和数据地址, 使得所述每个切片数据对应的存储节点 根据数据地址与物理地址的映射关系, 将切片数据写入物理地址对应的存 储空间中; Send a first write data request to the storage node corresponding to each slice data. The first write data request includes the slice data and the data address, so that the storage node corresponding to each slice data responds to the mapping relationship between the data address and the physical address. , write the slice data into the storage space corresponding to the physical address;
向校验数据对应的存储节点发送第二写数据请求, 所述第二写数据请 求包括校验数据和校验地址, 使得所述校验数据对应的存储节点根据校验 地址与物理地址的映射关系, 将校验数据写入物理地址对应的存储空间 中。 Send a second write data request to the storage node corresponding to the verification data. The second write data request includes the verification data and the verification address, so that the storage node corresponding to the verification data responds to the mapping between the verification address and the physical address. Relationship, write the verification data into the storage space corresponding to the physical address.
34、 根据权利要求 33所述的存储设备, 其特征在于, 34. The storage device according to claim 33, characterized in that,
所述处理器, 还用于接收所述主机发送的第三写数据请求, 所述第三 写数据请求包括网络卷的标识、 数据长度和所述目标数据; The processor is also configured to receive a third write data request sent by the host, where the third write data request includes the identification of the network volume, the data length and the target data;
所述处理器, 具体用于根据 RAID类型和所述数据长度将目标数据切分 为至少两个切片数据, 所述 R A I D类型是根据所述网络卷的标识确定的。 The processor is specifically configured to divide the target data into at least two sliced data according to the RAID type and the data length, and the RAID type is determined according to the identification of the network volume.
35、 根据权利要求 34所述的存储设备, 其特征在于, 所述第三写数据 请求还包括存储地址; 35. The storage device according to claim 34, wherein the third write data request further includes a storage address;
所述处理器, 具体用于根据所述存储地址和所述数据长度确定每个切 片数据的数据地址。 The processor is specifically configured to determine the data address of each slice data according to the storage address and the data length.
PCT/CN2013/077985 2013-06-26 2013-06-26 Network volume creating method, data storage method, storage device and storage system WO2014205667A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201380000748.5A CN103608784B (en) 2013-06-26 2013-06-26 Method for creating network volumes, data storage method, storage device and storage system
PCT/CN2013/077985 WO2014205667A1 (en) 2013-06-26 2013-06-26 Network volume creating method, data storage method, storage device and storage system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2013/077985 WO2014205667A1 (en) 2013-06-26 2013-06-26 Network volume creating method, data storage method, storage device and storage system

Publications (1)

Publication Number Publication Date
WO2014205667A1 true WO2014205667A1 (en) 2014-12-31

Family

ID=50126068

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2013/077985 WO2014205667A1 (en) 2013-06-26 2013-06-26 Network volume creating method, data storage method, storage device and storage system

Country Status (2)

Country Link
CN (1) CN103608784B (en)
WO (1) WO2014205667A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111367461A (en) * 2018-12-25 2020-07-03 北京兆易创新科技股份有限公司 Storage space management method and device
CN111399764A (en) * 2019-12-25 2020-07-10 杭州海康威视***技术有限公司 Data storage method, data reading device, data storage equipment and data storage medium

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9923969B2 (en) * 2015-08-05 2018-03-20 Futurewei Technologies, Inc. Large-scale storage and retrieval of data with well-bounded life
CN105138281B (en) * 2015-08-05 2018-12-07 华为技术有限公司 A kind of sharing method and device of physical disk
CN107436725B (en) 2016-05-25 2019-12-20 杭州海康威视数字技术股份有限公司 Data writing and reading methods and devices and distributed object storage cluster
CN106325779A (en) * 2016-08-31 2017-01-11 浪潮电子信息产业股份有限公司 Design scheme of SAS Switch/JBOD topology
CN111654519B (en) 2017-09-06 2024-04-30 华为技术有限公司 Method and device for transmitting data processing requests
CN111381766B (en) * 2018-12-28 2022-08-02 杭州海康威视***技术有限公司 Method for dynamically loading disk and cloud storage system
CN109976669B (en) * 2019-03-15 2023-07-28 百度在线网络技术(北京)有限公司 Edge storage method, device and storage medium
CN116893789B (en) * 2023-09-08 2024-01-19 苏州浪潮智能科技有限公司 Data management method, system, device, equipment and computer storage medium

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101291347A (en) * 2008-06-06 2008-10-22 中国科学院计算技术研究所 Network storage system
CN101827121A (en) * 2010-03-12 2010-09-08 成都市华为赛门铁克科技有限公司 Method, service end and system for creating files in RAID (Redundant Array of Independent Disk)
US8327080B1 (en) * 2010-09-28 2012-12-04 Emc Corporation Write-back cache protection

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7287121B2 (en) * 2003-08-27 2007-10-23 Aristos Logic Corporation System and method of establishing and reconfiguring volume profiles in a storage system
US8886910B2 (en) * 2011-09-12 2014-11-11 Microsoft Corporation Storage device drivers and cluster participation

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101291347A (en) * 2008-06-06 2008-10-22 中国科学院计算技术研究所 Network storage system
CN101827121A (en) * 2010-03-12 2010-09-08 成都市华为赛门铁克科技有限公司 Method, service end and system for creating files in RAID (Redundant Array of Independent Disk)
US8327080B1 (en) * 2010-09-28 2012-12-04 Emc Corporation Write-back cache protection

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111367461A (en) * 2018-12-25 2020-07-03 北京兆易创新科技股份有限公司 Storage space management method and device
CN111367461B (en) * 2018-12-25 2024-02-20 兆易创新科技集团股份有限公司 Storage space management method and device
CN111399764A (en) * 2019-12-25 2020-07-10 杭州海康威视***技术有限公司 Data storage method, data reading device, data storage equipment and data storage medium

Also Published As

Publication number Publication date
CN103608784A (en) 2014-02-26
CN103608784B (en) 2015-06-10

Similar Documents

Publication Publication Date Title
WO2014205667A1 (en) Network volume creating method, data storage method, storage device and storage system
US8386709B2 (en) Method and system for protecting against multiple failures in a raid system
US8453036B1 (en) System and method for dynamically resizing a parity declustered group
US20130013880A1 (en) Storage system and its data processing method
US20220357894A1 (en) Physical Disk and Virtual Disk Mapping in Storage Systems
US20210133026A1 (en) Erasure Coded Data Shards Containing Multiple Data Objects
US11397668B2 (en) Data read/write method and apparatus, and storage server
WO2015100627A1 (en) Data processing method and device in distributed file storage system
CN109791522B (en) Data migration method and system and intelligent network card
CN107463342B (en) CDN edge node file storage method and device
US20240012571A1 (en) Multi-tier write allocation
WO2021017782A1 (en) Method for accessing distributed storage system, client, and computer program product
US11416166B2 (en) Distributed function processing with estimate-based scheduler
WO2019000949A1 (en) Metadata storage method and system in distributed storage system, and storage medium
US20210326207A1 (en) Stripe reassembling method in storage system and stripe server
US20190114076A1 (en) Method and Apparatus for Storing Data in Distributed Block Storage System, and Computer Readable Storage Medium
CN104216664A (en) Network volume creating method, data storage method, storage equipment and storage system
US20210318826A1 (en) Data Storage Method and Apparatus in Distributed Storage System, and Computer Program Product
US20150381727A1 (en) Storage functionality rule implementation
US10200462B2 (en) Memory system including plurality of server nodes sharing storage array and operating method of memory system
US11269745B2 (en) Two-node high availability storage system
CN112783698A (en) Method and device for managing metadata in storage system
US20210311654A1 (en) Distributed Storage System and Computer Program Product
US20200401327A1 (en) Dynamic Allocation Of Storage From A Shared Storage Pool Across Different Redundancy Levels
JP2021182309A (en) Cloud server, storage system, and computer system

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: 13888166

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: 13888166

Country of ref document: EP

Kind code of ref document: A1