CN104216660A - Method and device for improving disk array performance - Google Patents

Method and device for improving disk array performance Download PDF

Info

Publication number
CN104216660A
CN104216660A CN201310213470.1A CN201310213470A CN104216660A CN 104216660 A CN104216660 A CN 104216660A CN 201310213470 A CN201310213470 A CN 201310213470A CN 104216660 A CN104216660 A CN 104216660A
Authority
CN
China
Prior art keywords
type
vlun
metadata
capacity
storage
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201310213470.1A
Other languages
Chinese (zh)
Inventor
沈剑刚
李耀辉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201310213470.1A priority Critical patent/CN104216660A/en
Publication of CN104216660A publication Critical patent/CN104216660A/en
Pending legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

The embodiment of the invention discloses a method and device for improving the disk array performance. The method includes the steps of receiving a storage request; determining the data type of to-be-stored data in the storage request; when it is determined that the data are metadata, storing the metadata into VLUN in the first type, wherein the stripe capacity in the VLUN in the first type is smaller than a first preset value; when it is determined that the data are file content data, storing the file content data into VLUN in the second type, wherein the stripe capacity in the VLUN in the second type is larger than a second preset value, and the second preset value is larger than the first preset value. The method and device are suitable for disk array performance optimization.

Description

Method and device for improving performance of disk array
Technical Field
The present invention relates to the field of storage management technologies, and in particular, to a method and an apparatus for improving disk array performance.
Background
RAID (Redundant array of independent Disks) is a structure that improves the availability of data by combining a disk array with a data striping method. Current RAIDs may be divided into several levels, RAID0, RAID1, RAID2, RAID3, RAID4, RAID5, and RAID6, each with its own advantages and disadvantages in storing data. RAID5 is a storage solution that addresses storage performance, data security, and storage cost. RAID5 does not back up the stored data, but instead stores the data and corresponding parity information on the individual disks making up RAID5, and the parity information and corresponding data are stored on different disks, respectively. Thus, when one disk of RAID5 is corrupted, the corresponding data and corresponding parity information of the other disks may be used to recover the corrupted data.
There is a write penalty to RAID5 due to the presence of parity information in RAID 5. That is, two read-write operations are required to modify one data in the disk, the old data and the old verification information are read respectively, and the new data and the new verification information are written respectively, so that the use performance of the disk is reduced in the process. The disk array space of RAID5 is managed according to a stripe (stripe), each stripe occupies multiple disks, and if data of multiple disks of the stripe in which the data is located can be modified when the data in one stripe is modified, only the data of each disk in the stripe needs to be overwritten, that is, a write operation is performed once, and the disk in which the check information is located can obtain new check information by calculation according to new data written in other disks in the stripe.
In order to reduce write loss and improve the performance of a storage device, in the prior art, a plurality of storage devices are used, stripes with different sizes are used on different storage devices, small data such as metadata of a file are stored on the storage device of the small stripe, and large data such as content data of the file are stored on the storage device of the large stripe. On one hand, the writing loss caused by reading and writing check values can be reduced when the metadata is modified; on the other hand, the content data is stored in a large strip, so that the content data can be distributed in one strip as much as possible, the condition that a plurality of strips are involved in reading the content data is avoided, and the performance of the magnetic disk is improved.
However, the prior art has at least the following problems: the cost of multiple storage devices is high, and the content data and metadata of the file are stored in different storage devices, and a single storage device cannot provide complete file data, so that the maintenance is inconvenient.
Disclosure of Invention
The method and the device for improving the performance of the disk array can solve the problem of reduction of the performance of the disk array caused by write loss in the disk array and improve the performance of the disk array with lower equipment cost.
In a first aspect, a method for improving performance of a disk array is provided, including:
receiving a storage request;
determining the data type of the data to be stored in the storage request;
when the data type is determined to be metadata, storing the metadata in a first type of VLUN, wherein the stripe capacity in the first type of VLUN is smaller than a first preset value;
and when the data type is determined to be file content data, storing the file content data in a second type of VLUN, wherein the stripe capacity in the second type of VLUN is greater than a second preset value, and the second preset value is greater than the first preset value.
In a first possible implementation manner, before the receiving the storage request, the method further includes: configuring disk array configuration parameters according to user service requirements; the logical unit number LUN is divided into at least one first type of VLUN and at least one second type of VLUN according to the disk array configuration parameters.
Optionally, when the number of the first type of VLUNs is two or more, the storing the metadata in the first type of VLUNs comprises:
according to the sequence of the sequence number of the first type of VLUN and the sequence of the storage request, storing metadata corresponding to the storage request into the corresponding first type of VLUN according to a polling algorithm; or storing the metadata in the first VLUN of the first type according to the sequence number sequence of the VLUN of the first type; when the storage area of the first type of VLUN is full, the metadata is stored in the next first type of VLUN.
Optionally, when the number of the second type of VLUNs is two or more, the storing the file content data in the second type of VLUNs includes:
according to the sequence of the serial numbers of the second type VLUNs and the sequence of the storage requests, storing the file content data corresponding to the storage requests into the corresponding second type VLUNs according to a polling algorithm; or storing the file content data in the first second type VLUN according to the sequence number of the second type VLUN; when the storage area of the first second type VLUN is full, the file content data is stored in the next second type VLUN.
Further, the method further comprises:
receiving a reading request, wherein the reading request comprises a file name; according to the file name, issuing an input/output (IO) scheduling request to storage equipment, and acquiring the serial number of the first type VLUN where the metadata corresponding to the file name is located on a disk; according to the file name and the sequence number of the first type of VLUN, acquiring an access address of metadata corresponding to the file name in the first type of VLUN; acquiring metadata corresponding to the file name according to the access address of the metadata corresponding to the file name in the VLUN of the first type; analyzing the metadata corresponding to the file name, and acquiring an access address of the file content data corresponding to the file name; and acquiring the file content data corresponding to the file name according to the access address of the file content data corresponding to the file name.
The storage request is specifically a system request; optionally, the method further includes: storing the metadata in a third type of VLUN when the data type is metadata according to the system request, wherein a write penalty in the third type of VLUN is less than a penalty threshold.
With reference to the first possible implementation manner, in a second possible implementation manner, the disk array configuration parameters include: a capacity of a first type of VLUN, a capacity of a second type of VLUN, a starting location of the first type of VLUN, a starting location of the second type of VLUN, a RAID type used by the first type of VLUN, a RAID type used by the second type of VLUN, a stripe capacity in the first type of VLUN, and a stripe capacity in the second type of VLUN; the dividing the LUN into at least one first type of VLUN and at least one second type of VLUN according to the disk array configuration parameters comprises:
determining the starting position of a storage area corresponding to the first type of VLUN and the starting position of a storage area corresponding to the second type of VLUN in a disk corresponding to the LUN according to the starting positions of the first type of VLUN and the second type of VLUN;
according to the capacity of the first type of VLUN and the capacity of the second type of VLUN, dividing a storage area with the capacity equal to that of the first type of VLUN in a disk corresponding to the LUN by taking the initial position of the storage area corresponding to the first type of VLUN as a starting point, and dividing a storage area with the capacity equal to that of the second type of VLUN by taking the initial position of the storage area corresponding to the second type of VLUN as a starting point;
configuring corresponding RAID types in the first type of VLUN and the second type of VLUN according to the RAID type used by the first type of VLUN and the RAID type used by the second type of VLUN;
dividing corresponding stripes in the first type of VLUN according to the stripe capacity in the first type of VLUN; and dividing the corresponding stripes in the second type of VLUN according to the stripe capacity in the second type of VLUN.
In a second aspect, an apparatus for improving performance of a disk array is provided, including:
a receiving unit configured to receive a storage request;
a determining unit configured to determine a data type of the data to be stored in the storage request received by the receiving unit;
a first storage unit configured to store the metadata in a first type of VLUN when the determination unit determines that the data type is metadata, wherein a stripe capacity in the first type of VLUN is smaller than a first preset value;
a second storage unit, configured to, when the determining unit determines that the data type is file content data, store the file content data in a second type of VLUN, where a stripe capacity in the second type of VLUN is greater than a second preset value, and the second preset value is greater than the first preset value.
In a first possible implementation manner, the apparatus further includes:
the parameter configuration unit is used for configuring disk array configuration parameters according to the user service requirements;
and the dividing unit is used for dividing the logic unit number LUN into at least one first type VLUN and at least one second type VLUN according to the disk array configuration parameters configured by the parameter configuration unit.
Optionally, when the number of the first type of VLUNs is two or more, the first storage unit is further configured to:
according to the sequence of the sequence number of the first type of VLUN and the sequence of the storage request, storing metadata corresponding to the storage request into the corresponding first type of VLUN according to a polling algorithm; or,
storing the metadata in a first one of the first type of VLUNs according to the sequence number order of the first type of VLUNs; when the storage area of the first type of VLUN is full, the metadata is stored in the next first type of VLUN.
Optionally, when the number of the second type of VLUNs is two or more, the second storage unit is further configured to:
according to the sequence of the serial numbers of the second type VLUNs and the sequence of the storage requests, storing the file content data corresponding to the storage requests into the corresponding second type VLUNs according to a polling algorithm; or,
storing the file content data in a first second type of VLUN according to the sequence number of the second type of VLUN; when the storage area of the first second type VLUN is full, the file content data is stored in the next second type VLUN.
Further, the receiving unit is further configured to receive a read request, where the read request includes a file name; the apparatus further comprises:
the scheduling unit is used for issuing an input/output (IO) scheduling request to the storage device according to the file name and acquiring the serial number of the first type VLUN where the metadata corresponding to the file name is located on the disk;
an address obtaining unit, configured to obtain, according to the file name and a sequence number of the first type of VLUN, an access address of metadata corresponding to the file name in the first type of VLUN;
the reading unit is used for acquiring the metadata corresponding to the file name according to the access address of the metadata corresponding to the file name in the VLUN of the first type;
the analysis unit is used for analyzing the metadata corresponding to the file name and acquiring an access address of the file content data corresponding to the file name;
the reading unit is further configured to obtain the file content data corresponding to the file name according to the access address of the file content data corresponding to the file name.
The storage request received by the receiving unit is specifically a system request; the first storage unit is further configured to store the metadata in a third type of VLUN when the data type is metadata according to the system request, wherein a write loss in the third type of VLUN is less than a loss threshold.
With reference to the first possible implementation manner, in a second possible implementation manner, the disk array configuration parameters include: a capacity of a first type of VLUN, a capacity of a second type of VLUN, a starting location of the first type of VLUN, a starting location of the second type of VLUN, a RAID type used by the first type of VLUN, a RAID type used by the second type of VLUN, a stripe capacity in the first type of VLUN, and a stripe capacity in the second type of VLUN;
the dividing unit is specifically configured to: determining the starting position of a storage area corresponding to the first type of VLUN and the starting position of a storage area corresponding to the second type of VLUN in a disk corresponding to the LUN according to the starting positions of the first type of VLUN and the second type of VLUN;
according to the capacity of the first type of VLUN and the capacity of the second type of VLUN, dividing a storage area with the capacity equal to that of the first type of VLUN in a disk corresponding to the LUN by taking the initial position of the storage area corresponding to the first type of VLUN as a starting point, and dividing a storage area with the capacity equal to that of the second type of VLUN by taking the initial position of the storage area corresponding to the second type of VLUN as a starting point;
configuring corresponding RAID types in the first type of VLUN and the second type of VLUN according to the RAID type used by the first type of VLUN and the RAID type used by the second type of VLUN;
dividing corresponding stripes in the first type of VLUN according to the stripe capacity in the first type of VLUN; and dividing the corresponding stripes in the second type of VLUN according to the stripe capacity in the second type of VLUN.
Compared with the prior art, the embodiment of the invention firstly receives the storage request; determining the data type of the data to be stored in the storage request; storing the metadata in a first type of VLUN, wherein a stripe capacity in the first type of VLUN is less than a first preset value; and storing the file content data in the second type of VLUN, wherein the stripe capacity in the second type of VLUN is larger than a second preset value, and the second preset value is larger than the first preset value. The LUN is divided into two types of VLUNs, and the stripe capacity of the VLUNs and the RAID type used are configured, so that large data such as file content data are distributed in a storage area corresponding to the VLUN with the larger stripe capacity as much as possible, and small data such as metadata are distributed in a storage area corresponding to the VLUN with the smaller stripe capacity, and write loss is reduced. The problem of disk performance reduction caused by write loss in the disk array is solved. The input and output performance of big data in the disk can be improved, and the write loss caused by small data can be greatly reduced.
Drawings
In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the drawings needed for the embodiments or the prior art descriptions will be briefly described below, and it is obvious that the drawings in the following description are only some embodiments of the present invention, and it is obvious for those skilled in the art to obtain other drawings without creative efforts.
FIG. 1 is a flowchart of a method provided in accordance with an embodiment of the present invention;
FIG. 2 is a flowchart of a method provided in a second embodiment of the present invention;
fig. 3 is a schematic structural diagram of an apparatus according to a third embodiment of the present invention;
fig. 4 is a schematic structural diagram of another apparatus according to a third embodiment of the present invention;
fig. 5 is a schematic structural diagram of a device according to a fourth embodiment of the present invention.
Detailed Description
The technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are only a part of the embodiments of the present invention, and not all of the embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
In order to make the advantages of the technical solutions of the present invention clearer, the present invention is described in detail below with reference to the accompanying drawings and examples.
Example one
The present embodiment provides a method for improving performance of a disk array, as shown in fig. 1, the method includes:
101. a storage request is received.
102. The data type of the data to be stored in the storage request is determined.
The storage process of the disk mainly comprises two types of data: metadata for managing a file system and a disk, and file content data that is data actually stored by a user. The storage space occupied by the metadata is small, and the storage space occupied by the file content data is large.
103. When the data type is determined to be metadata, the metadata is stored in a first type of VLUN (Virtual logical Unit Number), wherein the stripe capacity in the first type of VLUN is smaller than a first preset value.
The first preset value is set according to the service requirement.
104. When the data type is determined to be file content data, the file content data is stored in a second type of VLUN, wherein the stripe capacity in the second type of VLUN is greater than a second preset value.
And the second preset value is greater than the first preset value, and the second preset value is set according to the service requirement. In the first and second types of VLUNs, there is no case where the stripe capacity is between the first and second preset values.
It should be noted that, in this embodiment, a RAID (Redundant Of Independent Disks) type used for a LUN (logical Unit Number) is mainly RAID5, and due to a limitation Of a RAID5 structure, a write loss may exist in the LUN Of the RAID5 type, but if stored data can fill up the entire stripe as much as possible, the write loss can be avoided. For example, a smaller stripe includes 4 disks, where disk 1, disk 2, and disk 3 store file data and disk 4 stores parity data. The storage capacity of 4 disks can intelligently accommodate one byte of data, the disk 1 stores '1', the disk 2 stores '2', the disk 3 stores '3', and then the check information stored in the disk 4 is the logical sum '6' of the other 3 disks. When a user wants to modify the data "2" of the disk 2 to "4", if only the data on the disk 2 is modified, the data "2" and the check value "6" need to be read out first, and then the new data "4" and the new check value "8" need to be written into the disk, which involves 4 times of reading and writing, resulting in writing loss; if there is data to be modified on the disk 1 and the disk 3 at this time, for example, "2" is written to the disk 1 and "5" is written to the disk 3, then it is not necessary to read the check value information any more, because the data of the disk 1, the disk 2 and the disk 3 are all full, and the check value can be updated directly according to the full new data in the disk 1, the disk 2 and the disk 3. This corresponds to a write operation being performed only once on the disk 2 during the process in which the user modifies the data "2" of the disk 2 to "4".
The smaller the stripe, the greater the likelihood that its in-stripe disk will be fully written, and the fewer read and write operations will be performed when updating the data, i.e., the less write loss. For this reason, small data such as metadata can be allocated to small stripes to reduce write loss, while large data such as file content data still has an impact on disk performance if it is allocated to small stripes only by considering the problem of write loss, because if large data is allocated to a first type of VLUN with smaller stripes to occupy multiple small stripes, operations on multiple stripes are involved in modifying the large data, which in turn reduces system efficiency.
Besides, considering the RAID type used in the VLUN, if the first type of VLUN uses RAID1 instead of RAID5, small data such as metadata is preferentially allocated to a storage area corresponding to the VLUN using RAID1 because there is no write loss in RAID 1.
In summary, if RAID5 is used in both types of VLUNs, the stripe capacity in the first type of VLUN needs to be smaller than a preset value x, and the stripe capacity in the second type of VLUN needs to be larger than a preset value y; if RAID1 is used in the first type of VLUN and RAID5 is used in the second type of VLUN, then small data such as metadata is allocated to the first type of VLUN, and file content data is allocated to the second type of VLUN, and the stripe capacity in the second type of VLUN needs to be larger than a preset value y.
Further, before performing step 101, the method further includes:
configuring disk array configuration parameters according to user service requirements;
wherein the disk array configuration parameters at least include: the capacity of the first type of VLUN, the capacity of the second type of VLUN, the starting location of the first type of VLUN, the starting location of the second type of VLUN, the RAID type used by the first type of VLUN, the RAID type used by the second type of VLUN, the stripe capacity in the first type of VLUN, and the stripe capacity in the second type of VLUN.
And dividing the LUN into at least one first type VLUN and at least one second type VLUN according to the configuration parameters of the disk array.
For example, according to the starting location of the first type of VLUN and the starting location of the second type of VLUN, determining the starting location of the storage area corresponding to the first type of VLUN and the starting location of the storage area corresponding to the second type of VLUN in the disk corresponding to the LUN;
according to the capacity of the first type of VLUN and the capacity of the second type of VLUN, dividing a storage area with the capacity equal to that of the first type of VLUN in a disk corresponding to the LUN by taking the initial position of the storage area corresponding to the first type of VLUN as a starting point, and dividing a storage area with the capacity equal to that of the second type of VLUN by taking the initial position of the storage area corresponding to the second type of VLUN as a starting point;
configuring corresponding RAID types in the first type of VLUN and the second type of VLUN according to the RAID type used by the first type of VLUN and the RAID type used by the second type of VLUN;
dividing corresponding stripes in the first type of VLUN according to the stripe capacity in the first type of VLUN;
and dividing the corresponding stripes in the second type of VLUN according to the stripe capacity in the second type of VLUN.
Optionally, when the number of the first type of VLUNs is two or more, the storing the metadata in the first type of VLUNs comprises: according to the sequence of the sequence number of the first type of VLUN and the sequence of the storage request, storing metadata corresponding to the storage request into the corresponding first type of VLUN according to a polling algorithm; or storing the metadata in the first VLUN of the first type according to the sequence number sequence of the VLUN of the first type; when the storage area of the first type of VLUN is full, the metadata is stored in the next first type of VLUN.
Optionally, when the number of the second type of VLUNs is two or more, the storing the file content data in the second type of VLUNs includes: according to the sequence of the serial numbers of the second type VLUNs and the sequence of the storage requests, storing the file content data corresponding to the storage requests into the corresponding second type VLUNs according to a polling algorithm; or storing the file content data in the first second type VLUN according to the sequence number of the second type VLUN; when the storage area of the first second type VLUN is full, the file content data is stored in the next second type VLUN.
The operation flow of the polling algorithm is illustrated as follows: assuming that there are three same types of VLUNs, and VLUNs, when a first storage request arrives, the data corresponding to the first storage request is stored in the VLUNs, and then the data corresponding to a second storage request is stored in the VLUNs, and then the data corresponding to a third storage request is stored in the VLUNs, and when a fourth storage request arrives, the data corresponding to a fourth storage request is stored in the VLUNs again, and so on.
Further, the method further comprises:
receiving a reading request, wherein the reading request comprises a file name; according to the file name, issuing an input/output (IO) scheduling request to storage equipment, and acquiring the serial number of the first type VLUN where the metadata corresponding to the file name is located on a disk; according to the file name and the sequence number of the first type of VLUN, acquiring an access address of metadata corresponding to the file name in the first type of VLUN; acquiring metadata corresponding to the file name according to the access address of the metadata corresponding to the file name in the VLUN of the first type; analyzing the metadata corresponding to the file name, and acquiring an access address of the file content data corresponding to the file name; and acquiring the file content data corresponding to the file name according to the access address of the file content data corresponding to the file name.
The storage request is specifically a system request;
optionally, the method further includes: and when the data type is metadata, storing the metadata in a third type of VLUN according to the system request, wherein the write loss in the third type of VLUN is less than a loss threshold, and the RAID type configured in the third type of VLUN can be RAID1 or other RAID type with less write loss.
It should be noted that after the VLUN is divided into LUNs, the divided VLUNs include only two types, and the two types of VLUNs include, but are not limited to, the following combinations: a first type of VLUN and a second type of VLUN, or a third type of VLUN and a second type of VLUN.
Optionally, when the data type is determined to be file content data, before storing the file content data in the VLUN of the second type, the method further includes:
receiving a user indication; storing the file content data in the first type of VLUN or the second type of VLUN in accordance with the user indication.
Compared with the prior art, the embodiment of the invention firstly receives the storage request; determining the data type of the data to be stored in the storage request; storing the metadata in a first type of VLUN, wherein a stripe capacity in the first type of VLUN is less than a first preset value; and storing the file content data in the second type of VLUN, wherein the stripe capacity in the second type of VLUN is larger than a second preset value, and the second preset value is larger than the first preset value. The LUN is divided into two types of VLUNs, and the stripe capacity of the VLUNs and the RAID type used are configured, so that large data such as file content data are distributed in a storage area corresponding to the VLUN with the larger stripe capacity as much as possible, and small data such as metadata are distributed in a storage area corresponding to the VLUN with the smaller stripe capacity, and write loss is reduced. The problem of disk performance reduction caused by write loss in the disk array is solved. Therefore, the input and output performance of large data in the disk can be improved, and the write loss caused by small data can be greatly reduced.
Example two
The present embodiment provides a method for improving disk array performance, wherein a LUN is divided into two different types of VLUNs, which are respectively identified as VLUN1 and VLUN2, and the divided stripe capacities inside VLUNs 1 and VLUNs 2 are different, RAID types used by VLUNs 1 and VLUNs 2 may be different, metadata is stored in VLUNs 1, and file content data is stored in VLUNs 2, as shown in fig. 2, the method includes:
201. before the system is started, configuring the configuration parameters of the disk array according to the service use condition of a user.
Further, after configuring the configuration parameters of the disk array, the system needs to perform two aspects of configuration, on one hand, perform configuration of the file system to perform IO control on the data, specifically refer to step 202 and step 204; on the other hand, the configuration inside the disk is to partition the disk, specifically refer to step 205-. The configuration of these two aspects is performed simultaneously.
202. The file system is initialized and the system configuration is checked.
203. And reading the configuration parameters of the disk array.
204. And establishing a file system, and establishing a file operation strategy according to the configuration parameters of the disk array.
For example, according to the stripe size of the VLUN, the RAID type used by the VLUN, the access address of the VLUN, and the like in the parameters, the following file operation policy is performed: distributing small data such as metadata to a storage area corresponding to a VLUN with a small write loss, wherein the small write loss can include two cases: one is that the VLUN uses a RAID type with no write loss, e.g., RAID 1; secondly, the capacity of the strip in the VLUN is less than a preset value x; large data such as file content data is allocated to a storage area corresponding to VLUN having a large stripe capacity. The metadata is used for managing a file system and a disk, and the file content data is data really stored by a user. The storage space occupied by the metadata is small, and the storage space occupied by the file content data is large.
The above file operation policy is mainly considered based on the following reasons: when the RAID type used is RAID5, there will be write loss in the LUN of RAID5 type due to the limitation of the RAID5 itself structure, but if the stored data can fill up the entire stripe as much as possible, then write loss can be avoided. For example, a smaller stripe includes 4 disks, where disk 1, disk 2, and disk 3 store file data and disk 4 stores parity data. The storage capacity of 4 disks can intelligently accommodate one byte of data, the disk 1 stores '1', the disk 2 stores '2', the disk 3 stores '3', and then the check information stored in the disk 4 is the logical sum '6' of the other 3 disks. When a user wants to modify the data "2" of the disk 2 to "4", if only the data on the disk 2 is modified, the data "2" and the check value "6" need to be read out first, and then the new data "4" and the new check value "8" need to be written into the disk, which involves 4 times of reading and writing, resulting in writing loss; if there is data to be modified on the disk 1 and the disk 3 at this time, for example, "2" is written to the disk 1 and "5" is written to the disk 3, then it is not necessary to read the check value information any more, because the data of the disk 1, the disk 2 and the disk 3 are all full, and the check value can be updated directly according to the full new data in the disk 1, the disk 2 and the disk 3. This corresponds to a write operation being performed only once on the disk 2 during the process in which the user modifies the data "2" of the disk 2 to "4".
The smaller the stripe, the greater the likelihood that its in-stripe disk will be fully written, and the fewer read and write operations will be performed when updating the data, i.e., the less write loss. For this reason, small data such as metadata can be allocated to small stripes to reduce write loss, while large data such as file content data still has an impact on disk performance if it is allocated to small stripes only by considering the problem of write loss, because if large data is allocated to VLUN with smaller stripes, it occupies multiple small stripes, and then operations on multiple stripes are involved in modifying the large data, which in turn reduces system efficiency.
In summary, the following two schemes are included when the LUN is divided into VLUN1 and VLUN 2: firstly, the sizes of the divided VLUN1 and VLUN2 are different, for example, the size of the band in VLUN1 is smaller than a preset value x, the size of the band in VLUN2 is larger than a preset value y, y is limited to be larger than x, and the sizes of the bands in VLUN1 and VLUN2 are not between x and y; secondly, RAID1 is used in VLUN1, no write loss exists in RAID1, RAID5 is used in VLUN2, and the capacity of a stripe in VLUN2 is larger than a preset value y. Through the above division, when storing data, metadata is stored in VLUN1, and file content data is stored in VLUN 2.
Optionally, when storing data, the data may also be directly stored in VLUN specified by the user according to the user's instruction, for example, if the user wants to store the file content data in VLUN1, an IO request is issued to the system, and the system stores the file content data in VLUN1 according to the IO request.
Furthermore, the file operation strategy can uniformly distribute all metadata to one VLUN, so that the IO operation of the metadata can be converged, and the IO performance is improved. Because the reading and writing of the disk data are firstly carried out in the cache, the data can be written into the disk only when the data in the cache is larger than the size of the stripe. Because the metadata is small, the metadata is stored in a centralized mode, and when the amount of the metadata is accumulated to a certain degree, namely the data amount is larger than the stripe size, the metadata is written into the disk together, so that the IO performance is improved.
205. The storage device is initialized and the system configuration is checked.
206. And reading the configuration parameters of the disk array.
207. VLUN1 and VLUN2 are established, and management data of the disk is established according to the configuration parameters of the disk array.
The management data of the disk comprises: capacity of two types of VLUNs, starting locations of two types of VLUNs, stripe sizes within two types of VLUNs, and RAID types used by two types of VLUNs.
The specific dividing steps can be as follows:
determining the starting position of a storage area corresponding to the first type of VLUN and the starting position of a storage area corresponding to the second type of VLUN in a disk corresponding to the LUN according to the starting positions of the first type of VLUN and the second type of VLUN; according to the capacity of the first type of VLUN and the capacity of the second type of VLUN, dividing a storage area with the capacity equal to that of the first type of VLUN in a disk corresponding to the LUN by taking the initial position of the storage area corresponding to the first type of VLUN as a starting point, and dividing a storage area with the capacity equal to that of the second type of VLUN by taking the initial position of the storage area corresponding to the second type of VLUN as a starting point; configuring corresponding RAID types in the first type of VLUN and the second type of VLUN according to the RAID type used by the first type of VLUN and the RAID type used by the second type of VLUN; dividing corresponding stripes in the first type of VLUN according to the stripe capacity in the first type of VLUN; and dividing the corresponding stripes in the second type of VLUN according to the stripe capacity in the second type of VLUN.
After the above steps are configured, taking the application program writing file as an example, the data allocation process is described in detail through steps 208 to 216. The first step 208-step 210 is the process of opening a file, which is simply creating a new file, mainly writing metadata.
208. Calling a file system interface, opening a file, creating a new file in the file, allocating metadata space for the newly created file, and allocating file content data space.
The allocated metadata space is a storage area corresponding to VLUN1, and the allocated file content data space is a storage area corresponding to VLUN 2.
Optionally, dynamic allocation may be performed when allocating data space.
209. And carrying out IO scheduling through the IO module, converting the operation corresponding to the metadata and the file content data into an IO operation request of the storage equipment, and issuing the IO operation request to the storage equipment.
The IO operation request does not distinguish file content data from metadata, only has access addresses, storage contents, content sizes, and the like corresponding to the data, and the metadata and the file content data have different access addresses.
210. And the storage equipment is matched with the VLUN according to the access address in the IO operation request, and stores the metadata and the file content data.
For example, based on the storage allocation in step 208, the metadata is stored in the storage area corresponding to VLUN1, and the file content data is stored in the storage area corresponding to VLUN 2.
After the steps 208 and 210 are executed, the file content data is written into the created new file, and the steps 211 to 213 are executed.
211. And calling a file system interface, updating metadata, and writing the file content data into the allocated data space.
The updating of the metadata mainly includes the length of the file and the disk space occupied by the file.
212. And carrying out IO scheduling through the IO module, converting the operation corresponding to the metadata and the file content data into an IO operation request of the storage equipment, and issuing the IO operation request to the storage equipment.
The IO operation request does not distinguish file content data from metadata, only has access addresses, storage contents, content sizes, and the like corresponding to the data, and the metadata and the file content data have different access addresses.
213. And the storage equipment is matched with the VLUN according to the access address in the IO operation request, and stores the metadata and the file content data.
After steps 211 and 213 are executed, the written file is closed, and steps 214 to 216 are executed.
214. And calling a file system interface, updating metadata and closing the file.
Wherein, the updated metadata mainly comprises: point in time of file modification.
215. And carrying out IO scheduling through the IO module, converting the operation corresponding to the metadata into an IO operation request of the storage equipment, and sending the IO operation request to the storage equipment.
216. And the storage equipment is matched with the VLUN according to the access address in the IO operation request, and stores the metadata.
It should be noted that, in this embodiment, a LUN is divided into two VLUNs as an example, and a VLUN may be divided into two or more VLUNs according to a policy of the method in an actual operation process according to a user requirement, but no matter the LUN is divided into several VLUNs, each of the VLUNs includes only two types of VLUNs, that is, each type of VLUN may include multiple VLUNs, and the number of VLUNs divided is not limited in this embodiment, and will not be described herein again.
Optionally, when the number of VLUNs of each type of division is greater than or equal to 2, taking the type of VLUN1 as an example, three VLUNs of the same type as VLUN1 are divided, which are respectively defined as VLUN1a, VLUN1b and VLUN1c, and when storing metadata, the following procedure may be referred to: and storing the metadata corresponding to the storage request into the corresponding VLUN according to the sequence of the serial numbers of the VLUNs and the sequence of the storage request and a polling algorithm. Specifically, the polling algorithm is illustrated by the following example, e.g., metadata corresponding to a first IO request is stored in VLUN1a, metadata corresponding to a second IO request is stored in VLUN1b, metadata corresponding to a third IO request is stored in VLUN1c, metadata corresponding to a fourth IO request is stored back in VLUN1a, and so on.
Alternatively, the metadata corresponding to all IO requests may be stored sequentially in VLUN1a, for example, the metadata corresponding to a new IO request may be stored in VLUN1b when VLUN1a is full, the metadata corresponding to a new IO request may be stored in VLUN1c when VLUN1b is full, and so on.
Further, after the data is stored, the process of reading the data by the user is as follows:
receiving a reading request, wherein the reading request comprises a file name; according to the file name, issuing an input/output (IO) scheduling request to storage equipment, and acquiring the serial number of the first type VLUN where the metadata corresponding to the file name is located on a disk; according to the file name and the sequence number of the first type of VLUN, acquiring an access address of metadata corresponding to the file name in the first type of VLUN; acquiring metadata corresponding to the file name according to the access address of the metadata corresponding to the file name in the VLUN of the first type; analyzing the metadata corresponding to the file name, and acquiring an access address of the file content data corresponding to the file name; and acquiring the file content data corresponding to the file name according to the access address of the file content data corresponding to the file name.
Compared with the prior art, the embodiment of the invention configures the configuration parameters of the disk array according to the user service; dividing the LUN into VLUN1 and VLUN2 according to the disk array configuration parameters, wherein VLUN1 and VLUN2 are different types of VLUNs, the write loss in VLUN1 is small, and the VLUN2 is a stripe with large capacity; the file content data is stored in VLUN2 and the metadata is stored in VLUN 1. The LUN is divided into two types of VLUNs, and the stripe capacity of the VLUNs and the RAID type used are configured, so that the write loss caused by storage metadata is reduced, and the problem of disk performance reduction caused by write loss is solved. The input and output performance of big data in the disk can be improved, and the write loss caused by small data can be greatly reduced.
EXAMPLE III
The present embodiment provides an apparatus 30 for improving the performance of a disk array, as shown in fig. 3, the apparatus 30 includes:
a receiving unit 31 for receiving a storage request;
a determining unit 32, configured to determine a data type of the data to be stored in the storage request received by the receiving unit 31;
a first storage unit 33, configured to, when the determination unit 32 determines that the data type is metadata, store the metadata in a first type of VLUN, where a stripe capacity in the first type of VLUN is smaller than a first preset value;
a second storing unit 34, configured to, when the determining unit 32 determines that the data type is file content data, store the file content data in a second type of VLUN, where a stripe capacity in the second type of VLUN is greater than a second preset value, and the second preset value is greater than the first preset value.
Further, as shown in fig. 4, the apparatus 30 further includes:
a parameter configuration unit 35, configured to configure a disk array configuration parameter according to a user service requirement;
a dividing unit 36, configured to divide the LUN into at least one first type VLUN and at least one second type VLUN according to the disk array configuration parameters configured by the parameter configuration unit 35.
The disk array configuration parameters configured by the parameter configuration unit 35 include: a capacity of a first type of VLUN, a capacity of a second type of VLUN, a starting location of the first type of VLUN, a starting location of the second type of VLUN, a RAID type used by the first type of VLUN, a RAID type used by the second type of VLUN, a stripe capacity in the first type of VLUN, and a stripe capacity in the second type of VLUN;
the dividing unit 36 is specifically configured to: determining the starting position of a storage area corresponding to the first type of VLUN and the starting position of a storage area corresponding to the second type of VLUN in a disk corresponding to the LUN according to the starting positions of the first type of VLUN and the second type of VLUN;
according to the capacity of the first type of VLUN and the capacity of the second type of VLUN, dividing a storage area with the capacity equal to that of the first type of VLUN in a disk corresponding to the LUN by taking the initial position of the storage area corresponding to the first type of VLUN as a starting point, and dividing a storage area with the capacity equal to that of the second type of VLUN by taking the initial position of the storage area corresponding to the second type of VLUN as a starting point;
configuring corresponding RAID types in the first type of VLUN and the second type of VLUN according to the RAID type used by the first type of VLUN and the RAID type used by the second type of VLUN;
dividing corresponding stripes in the first type of VLUN according to the stripe capacity in the first type of VLUN; and dividing the corresponding stripes in the second type of VLUN according to the stripe capacity in the second type of VLUN.
Optionally, when the number of the first type of VLUNs is two or more, the first storage unit 33 is further configured to:
according to the sequence of the sequence number of the first type of VLUN and the sequence of the storage request, storing metadata corresponding to the storage request into the corresponding first type of VLUN according to a polling algorithm; or,
storing the metadata in a first one of the first type of VLUNs according to the sequence number order of the first type of VLUNs; when the storage area of the first type of VLUN is full, the metadata is stored in the next first type of VLUN.
Optionally, when the number of the second type VLUNs is two or more, the second storage unit 34 is further configured to:
according to the sequence of the serial numbers of the second type VLUNs and the sequence of the storage requests, storing the file content data corresponding to the storage requests into the corresponding second type VLUNs according to a polling algorithm; or,
storing the file content data in a first second type of VLUN according to the sequence number of the second type of VLUN; when the storage area of the first second type VLUN is full, the file content data is stored in the next second type VLUN.
Further, the receiving unit 31 is further configured to receive a read request, where the read request includes a file name; further, as shown in fig. 4, the apparatus 30 further includes:
the scheduling unit 37 is configured to issue an IO scheduling request to a storage device according to the file name, and obtain, on a disk, a serial number of a VLUN of a first type where metadata corresponding to the file name is located;
an address obtaining unit 38, configured to obtain, according to the file name and the sequence number of the first type of VLUN, an access address of metadata corresponding to the file name in the first type of VLUN;
a reading unit 39, configured to obtain metadata corresponding to the file name according to an access address of the metadata corresponding to the file name in the VLUN of the first type;
an analyzing unit 310, configured to analyze metadata corresponding to the file name, and obtain an access address of file content data corresponding to the file name;
the reading unit 39 is further configured to obtain the file content data corresponding to the file name according to the access address of the file content data corresponding to the file name.
Further, the storage request received by the receiving unit 31 is specifically a system request;
the first storing unit 33 is further configured to store the metadata in a third type of VLUN when the data type is metadata according to the system request, wherein a write loss in the third type of VLUN is less than a loss threshold.
Compared with the prior art, the embodiment of the invention firstly receives the storage request; determining the data type of the data to be stored in the storage request; storing the metadata in a first type of VLUN, wherein a stripe capacity in the first type of VLUN is less than a first preset value; and storing the file content data in the second type of VLUN, wherein the stripe capacity in the second type of VLUN is larger than a second preset value, and the second preset value is larger than the first preset value. The LUN is divided into two types of VLUNs, and the stripe capacity of the VLUNs and the RAID type used are configured, so that large data such as file content data are distributed in a storage area corresponding to the VLUN with the larger stripe capacity as much as possible, and small data such as metadata are distributed in a storage area corresponding to the VLUN with the smaller stripe capacity, and write loss is reduced. The problem of disk performance reduction caused by write loss in the disk array is solved. Therefore, the input and output performance of large data in the disk can be improved, and the write loss caused by small data can be greatly reduced.
Example four
The present embodiment provides an apparatus 40 for improving the performance of a disk array, as shown in fig. 5, the apparatus 40 includes:
a receiver 41 for receiving a storage request;
a processor 42 for determining a data type of data to be stored in the storage request received by the receiver 41;
a memory 43, configured to store the metadata in the first type of VLUN when the processor 42 determines that the data type is metadata, wherein a stripe capacity in the first type of VLUN is smaller than a first preset value; and for storing the file content data in the second type of VLUN when the processor 42 determines that the data type is file content data, wherein the stripe capacity in the second type of VLUN is greater than a second preset value, and the second preset value is greater than the first preset value.
Further, the processor 42 is further configured to: configuring disk array configuration parameters according to user service requirements; and the logical unit number LUN is divided into at least one first type VLUN and at least one second type VLUN according to the disk array configuration parameters configured by the parameter configuration unit.
Wherein the disk array configuration parameters include: a capacity of a first type of VLUN, a capacity of a second type of VLUN, a starting location of the first type of VLUN, a starting location of the second type of VLUN, a RAID type used by the first type of VLUN, a RAID type used by the second type of VLUN, a stripe capacity in the first type of VLUN, and a stripe capacity in the second type of VLUN;
the processor 42 is specifically configured to: determining the starting position of a storage area corresponding to the first type of VLUN and the starting position of a storage area corresponding to the second type of VLUN in a disk corresponding to the LUN according to the starting positions of the first type of VLUN and the second type of VLUN;
according to the capacity of the first type of VLUN and the capacity of the second type of VLUN, dividing a storage area with the capacity equal to that of the first type of VLUN in a disk corresponding to the LUN by taking the initial position of the storage area corresponding to the first type of VLUN as a starting point, and dividing a storage area with the capacity equal to that of the second type of VLUN by taking the initial position of the storage area corresponding to the second type of VLUN as a starting point;
configuring corresponding RAID types in the first type of VLUN and the second type of VLUN according to the RAID type used by the first type of VLUN and the RAID type used by the second type of VLUN;
dividing corresponding stripes in the first type of VLUN according to the stripe capacity in the first type of VLUN; and dividing the corresponding stripes in the second type of VLUN according to the stripe capacity in the second type of VLUN.
Optionally, when the number of VLUNs of the first type is two or more, the memory 43 is further configured to: according to the sequence of the sequence number of the first type of VLUN and the sequence of the storage request, storing metadata corresponding to the storage request into the corresponding first type of VLUN according to a polling algorithm; or storing the metadata in the first VLUN of the first type according to the sequence number sequence of the VLUN of the first type; when the storage area of the first type of VLUN is full, the metadata is stored in the next first type of VLUN.
Optionally, when the number of VLUNs of the second type is two or more, the memory 43 is further configured to: according to the sequence of the serial numbers of the second type VLUNs and the sequence of the storage requests, storing the file content data corresponding to the storage requests into the corresponding second type VLUNs according to a polling algorithm; or storing the file content data in the first second type VLUN according to the sequence number of the second type VLUN; when the storage area of the first second type VLUN is full, the file content data is stored in the next second type VLUN.
Further, the receiver 41 is further configured to receive a read request, where the read request includes a file name; the processor 42 is further configured to issue an IO scheduling request to a storage device according to the file name, and obtain, on a disk, a serial number of a VLUN of a first type where metadata corresponding to the file name is located; the system comprises a file name acquisition unit, a first type VLUN and a second type VLUN, wherein the file name acquisition unit is used for acquiring an access address of metadata corresponding to the file name in the first type VLUN according to the file name and the sequence number of the first type VLUN; the system comprises a first type VLUN and a second type VLUN, wherein the first type VLUN is used for storing metadata corresponding to a file name; the system comprises a file name acquisition module, a file content data acquisition module and a file management module, wherein the file name acquisition module is used for acquiring file content data corresponding to the file name; and the access address is used for acquiring the file content data corresponding to the file name according to the access address of the file content data corresponding to the file name.
Further, the storage request received by the receiver 41 is specifically a system request; the memory 43 is further configured to store the metadata in a third type of VLUN when the data type is metadata according to the system request, wherein a write penalty in the third type of VLUN is less than a penalty threshold.
Compared with the prior art, the embodiment of the invention firstly receives the storage request; determining the data type of the data to be stored in the storage request; storing the metadata in a first type of VLUN, wherein a stripe capacity in the first type of VLUN is less than a first preset value; and storing the file content data in the second type of VLUN, wherein the stripe capacity in the second type of VLUN is larger than a second preset value, and the second preset value is larger than the first preset value. The LUN is divided into two types of VLUNs, and the stripe capacity of the VLUNs and the RAID type used are configured, so that large data such as file content data are distributed in a storage area corresponding to the VLUN with the larger stripe capacity as much as possible, and small data such as metadata are distributed in a storage area corresponding to the VLUN with the smaller stripe capacity, and write loss is reduced. The problem of disk performance reduction caused by write loss in the disk array is solved. Therefore, the input and output performance of large data in the disk can be improved, and the write loss caused by small data can be greatly reduced.
The device for improving the performance of the disk array provided by the embodiment of the present invention can implement the method embodiment provided above, and for specific function implementation, reference is made to the description in the method embodiment, which is not described herein again. The method and the device for improving the performance of the disk array provided by the embodiment of the invention can be suitable for performance optimization of the disk array, but are not limited to this.
It will be understood by those skilled in the art that all or part of the processes of the methods of the embodiments described above can be implemented by a computer program, which can be stored in a computer-readable storage medium, and when executed, can include the processes of the embodiments of the methods described above. The storage medium may be a magnetic disk, an optical disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), or the like.
The above description is only for the specific embodiment of the present invention, but the scope of the present invention is not limited thereto, and any changes or substitutions that can be easily conceived by those skilled in the art within the technical scope of the present invention are included in the scope of the present invention. Therefore, the protection scope of the present invention shall be subject to the protection scope of the claims.

Claims (14)

1. A method for improving performance of a disk array, comprising:
receiving a storage request;
determining the data type of the data to be stored in the storage request;
when the data type is determined to be metadata, storing the metadata in a first type of Virtual Logical Unit Number (VLUN), wherein the stripe capacity in the first type of VLUN is less than a first preset value;
and when the data type is determined to be file content data, storing the file content data in a second type of VLUN, wherein the stripe capacity in the second type of VLUN is greater than a second preset value, and the second preset value is greater than the first preset value.
2. The method of claim 1, wherein prior to said receiving a storage request, said method further comprises:
configuring disk array configuration parameters according to user service requirements;
the logical unit number LUN is divided into at least one first type of VLUN and at least one second type of VLUN according to the disk array configuration parameters.
3. The method of claim 2, wherein the disk array configuration parameters comprise: a capacity of a first type of VLUN, a capacity of a second type of VLUN, a starting location of the first type of VLUN, a starting location of the second type of VLUN, a RAID type used by the first type of VLUN, a RAID type used by the second type of VLUN, a stripe capacity in the first type of VLUN, and a stripe capacity in the second type of VLUN;
the dividing the LUN into at least one first type of VLUN and at least one second type of VLUN according to the disk array configuration parameters comprises:
determining the starting position of a storage area corresponding to the first type of VLUN and the starting position of a storage area corresponding to the second type of VLUN in a disk corresponding to the LUN according to the starting positions of the first type of VLUN and the second type of VLUN;
according to the capacity of the first type of VLUN and the capacity of the second type of VLUN, dividing a storage area with the capacity equal to that of the first type of VLUN in a disk corresponding to the LUN by taking the initial position of the storage area corresponding to the first type of VLUN as a starting point, and dividing a storage area with the capacity equal to that of the second type of VLUN by taking the initial position of the storage area corresponding to the second type of VLUN as a starting point;
configuring corresponding RAID types in the first type of VLUN and the second type of VLUN according to the RAID type used by the first type of VLUN and the RAID type used by the second type of VLUN;
dividing corresponding stripes in the first type of VLUN according to the stripe capacity in the first type of VLUN;
and dividing the corresponding stripes in the second type of VLUN according to the stripe capacity in the second type of VLUN.
4. The method of claim 1, wherein storing the metadata in the first type of VLUNs comprises, when the number of the first type of VLUNs is two or more:
according to the sequence of the sequence number of the first type of VLUN and the sequence of the storage request, storing metadata corresponding to the storage request into the corresponding first type of VLUN according to a polling algorithm; or,
storing the metadata in a first one of the first type of VLUNs according to the sequence number order of the first type of VLUNs; when the storage area of the first type of VLUN is full, the metadata is stored in the next first type of VLUN.
5. The method of claim 1, wherein when the number of second type VLUNs is two or more, the storing the file content data in the second type VLUNs comprises:
according to the sequence of the serial numbers of the second type VLUNs and the sequence of the storage requests, storing the file content data corresponding to the storage requests into the corresponding second type VLUNs according to a polling algorithm; or,
storing the file content data in a first second type of VLUN according to the sequence number of the second type of VLUN; when the storage area of the first second type VLUN is full, the file content data is stored in the next second type VLUN.
6. The method of claim 1, further comprising:
receiving a reading request, wherein the reading request comprises a file name;
according to the file name, issuing an input/output (IO) scheduling request to storage equipment, and acquiring the serial number of the first type VLUN where the metadata corresponding to the file name is located on a disk;
according to the file name and the sequence number of the first type of VLUN, acquiring an access address of metadata corresponding to the file name in the first type of VLUN;
acquiring metadata corresponding to the file name according to the access address of the metadata corresponding to the file name in the VLUN of the first type;
analyzing the metadata corresponding to the file name, and acquiring an access address of the file content data corresponding to the file name;
and acquiring the file content data corresponding to the file name according to the access address of the file content data corresponding to the file name.
7. The method according to claim 1, wherein the storage request is in particular a system request; the method further comprises the following steps: storing the metadata in a third type of VLUN when the data type is metadata according to the system request, wherein a write penalty in the third type of VLUN is less than a penalty threshold.
8. An apparatus for improving performance of a disk array, comprising:
a receiving unit configured to receive a storage request;
a determining unit configured to determine a data type of the data to be stored in the storage request received by the receiving unit;
a first storage unit configured to store the metadata in a first type of virtual logical unit number VLUN when the determination unit determines that the data type is the metadata, wherein a stripe capacity in the first type of VLUN is smaller than a first preset value;
a second storage unit, configured to, when the determining unit determines that the data type is file content data, store the file content data in a second type of VLUN, where a stripe capacity in the second type of VLUN is greater than a second preset value, and the second preset value is greater than the first preset value.
9. The apparatus of claim 8, further comprising:
the parameter configuration unit is used for configuring disk array configuration parameters according to the user service requirements;
and the dividing unit is used for dividing the logic unit number LUN into at least one first type VLUN and at least one second type VLUN according to the disk array configuration parameters configured by the parameter configuration unit.
10. The apparatus of claim 9, wherein the disk array configuration parameters comprise: a capacity of a first type of VLUN, a capacity of a second type of VLUN, a starting location of the first type of VLUN, a starting location of the second type of VLUN, a RAID type used by the first type of VLUN, a RAID type used by the second type of VLUN, a stripe capacity in the first type of VLUN, and a stripe capacity in the second type of VLUN;
the dividing unit is specifically configured to: determining the starting position of a storage area corresponding to the first type of VLUN and the starting position of a storage area corresponding to the second type of VLUN in a disk corresponding to the LUN according to the starting positions of the first type of VLUN and the second type of VLUN;
according to the capacity of the first type of VLUN and the capacity of the second type of VLUN, dividing a storage area with the capacity equal to that of the first type of VLUN in a disk corresponding to the LUN by taking the initial position of the storage area corresponding to the first type of VLUN as a starting point, and dividing a storage area with the capacity equal to that of the second type of VLUN by taking the initial position of the storage area corresponding to the second type of VLUN as a starting point;
configuring corresponding RAID types in the first type of VLUN and the second type of VLUN according to the RAID type used by the first type of VLUN and the RAID type used by the second type of VLUN;
dividing corresponding stripes in the first type of VLUN according to the stripe capacity in the first type of VLUN;
and dividing the corresponding stripes in the second type of VLUN according to the stripe capacity in the second type of VLUN.
11. The apparatus of claim 8, wherein when the number of VLUNs of the first type is two or more, the first storage unit is further configured to:
according to the sequence of the sequence number of the first type of VLUN and the sequence of the storage request, storing metadata corresponding to the storage request into the corresponding first type of VLUN according to a polling algorithm; or,
storing the metadata in a first one of the first type of VLUNs according to the sequence number order of the first type of VLUNs; when the storage area of the first type of VLUN is full, the metadata is stored in the next first type of VLUN.
12. The apparatus of claim 8, wherein when the number of VLUNs of the second type is two or more, the second storage unit is further configured to:
according to the sequence of the serial numbers of the second type VLUNs and the sequence of the storage requests, storing the file content data corresponding to the storage requests into the corresponding second type VLUNs according to a polling algorithm; or,
storing the file content data in a first second type of VLUN according to the sequence number of the second type of VLUN; when the storage area of the first second type VLUN is full, the file content data is stored in the next second type VLUN.
13. The apparatus according to claim 8, wherein the receiving unit is further configured to receive a read request, the read request including a file name; the apparatus further comprises:
the scheduling unit is used for issuing an input/output (IO) scheduling request to the storage device according to the file name and acquiring the serial number of the first type VLUN where the metadata corresponding to the file name is located on the disk;
an address obtaining unit, configured to obtain, according to the file name and a sequence number of the first type of VLUN, an access address of metadata corresponding to the file name in the first type of VLUN;
the reading unit is used for acquiring the metadata corresponding to the file name according to the access address of the metadata corresponding to the file name in the VLUN of the first type;
the analysis unit is used for analyzing the metadata corresponding to the file name and acquiring an access address of the file content data corresponding to the file name;
the reading unit is further configured to obtain the file content data corresponding to the file name according to the access address of the file content data corresponding to the file name.
14. The apparatus according to claim 8, wherein the storage request received by the receiving unit is specifically a system request; the first storage unit is further configured to store the metadata in a third type of VLUN when the data type is metadata according to the system request, wherein a write loss in the third type of VLUN is less than a loss threshold.
CN201310213470.1A 2013-05-30 2013-05-30 Method and device for improving disk array performance Pending CN104216660A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310213470.1A CN104216660A (en) 2013-05-30 2013-05-30 Method and device for improving disk array performance

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310213470.1A CN104216660A (en) 2013-05-30 2013-05-30 Method and device for improving disk array performance

Publications (1)

Publication Number Publication Date
CN104216660A true CN104216660A (en) 2014-12-17

Family

ID=52098208

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310213470.1A Pending CN104216660A (en) 2013-05-30 2013-05-30 Method and device for improving disk array performance

Country Status (1)

Country Link
CN (1) CN104216660A (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104571963A (en) * 2014-12-31 2015-04-29 曙光信息产业股份有限公司 Method and device for processing RAID (Redundant Array of Independent Disks) metadata
WO2016141785A1 (en) * 2015-03-11 2016-09-15 中兴通讯股份有限公司 Processing method and apparatus for high-performance redundant array of inexpensive disks (raid) mechanism
CN106325760A (en) * 2015-06-24 2017-01-11 伊姆西公司 Method and equipment for managing memory array configuration
CN110119251A (en) * 2019-05-14 2019-08-13 北京杰思安全科技有限公司 A kind of buffer control method and system based on disk big flow
WO2020097781A1 (en) * 2018-11-13 2020-05-22 华为技术有限公司 Method for managing performance of logical disk, and storage array
CN113220242A (en) * 2017-04-17 2021-08-06 伊姆西Ip控股有限责任公司 Storage management method, apparatus and computer readable medium

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101526886A (en) * 2009-04-27 2009-09-09 杭州华三通信技术有限公司 Data operating method of redundant arrays of independent disk and device
CN102024059A (en) * 2010-12-31 2011-04-20 成都市华为赛门铁克科技有限公司 Method and device for protecting redundant array of independent disk in file system
CN102117297A (en) * 2009-12-31 2011-07-06 华为技术有限公司 Streaming media file processing method, device and system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101526886A (en) * 2009-04-27 2009-09-09 杭州华三通信技术有限公司 Data operating method of redundant arrays of independent disk and device
CN102117297A (en) * 2009-12-31 2011-07-06 华为技术有限公司 Streaming media file processing method, device and system
CN102024059A (en) * 2010-12-31 2011-04-20 成都市华为赛门铁克科技有限公司 Method and device for protecting redundant array of independent disk in file system
US20130103902A1 (en) * 2010-12-31 2013-04-25 Huawei Technologies Co., Ltd. Method and apparatus for implementing protection of redundant array of independent disks in file system

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104571963A (en) * 2014-12-31 2015-04-29 曙光信息产业股份有限公司 Method and device for processing RAID (Redundant Array of Independent Disks) metadata
WO2016141785A1 (en) * 2015-03-11 2016-09-15 中兴通讯股份有限公司 Processing method and apparatus for high-performance redundant array of inexpensive disks (raid) mechanism
US10921994B2 (en) 2015-06-24 2021-02-16 EMC IP Holding Company LLC Managing storage array configuration
CN106325760A (en) * 2015-06-24 2017-01-11 伊姆西公司 Method and equipment for managing memory array configuration
CN106325760B (en) * 2015-06-24 2019-05-07 伊姆西公司 The method and apparatus for managing storage array configuration
US10437485B2 (en) 2015-06-24 2019-10-08 EMC IP Holding Company LLC Managing storage array configuration
CN113220242A (en) * 2017-04-17 2021-08-06 伊姆西Ip控股有限责任公司 Storage management method, apparatus and computer readable medium
CN113220242B (en) * 2017-04-17 2023-10-24 伊姆西Ip控股有限责任公司 Storage management method, apparatus, and computer readable medium
WO2020097781A1 (en) * 2018-11-13 2020-05-22 华为技术有限公司 Method for managing performance of logical disk, and storage array
CN112997137A (en) * 2018-11-13 2021-06-18 华为技术有限公司 Method for managing performance of logical disk and storage array
CN112997137B (en) * 2018-11-13 2023-06-20 华为技术有限公司 Method for managing performance of logic disk and storage array
CN110119251A (en) * 2019-05-14 2019-08-13 北京杰思安全科技有限公司 A kind of buffer control method and system based on disk big flow
CN110119251B (en) * 2019-05-14 2023-01-03 北京杰思安全科技有限公司 Buffer control method and system based on disk large flow

Similar Documents

Publication Publication Date Title
US11797191B2 (en) Systems and methods for storing data in SSD
US11243706B2 (en) Fragment management method and fragment management apparatus
US20180173632A1 (en) Storage device and method for controlling storage device
CN109542342B (en) Metadata management and data reconstruction method, equipment and storage medium
US8832371B2 (en) Storage system with multiple flash memory packages and data control method therefor
US9122629B2 (en) Elastic cache with single parity
CN101587425B (en) Method and device for increasing magnetic disc redundant array redundancy
US20080016121A1 (en) Method, an apparatus and a system for managing a snapshot storage pool
CN104216660A (en) Method and device for improving disk array performance
EP1798636A2 (en) Storage system and capacity allocation method therefor
US20110202705A1 (en) Method and apparatus to manage object based tier
US20130290626A1 (en) Melthods and systems for instantaneous online capacity expansion
US20100306466A1 (en) Method for improving disk availability and disk array controller
US8825950B2 (en) Redundant array of inexpensive disks (RAID) system configured to reduce rebuild time and to prevent data sprawl
CN105988727B (en) Storage method and storage device based on RAID
US10592365B2 (en) Method and apparatus for managing storage system
US20120260035A1 (en) Zero rebuild extensions for raid
CN108733316A (en) Method for managing storage system and manager
US20170277450A1 (en) Lockless parity management in a distributed data storage system
CN108037894B (en) Disk space management method and device
CN109582213A (en) Data reconstruction method and device, data-storage system
CN102799533A (en) Method and apparatus for shielding damaged sector of disk
EP4185963B1 (en) Zone hints for zoned namespace storage devices
KR20110088524A (en) Identification and containment of performance hot-spots in virtual volumes
CN109324762A (en) A kind of construction method of storage system, device, equipment and storage medium

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20141217