CN117234433B - Data migration method and device, RAID storage device, storage medium and electronic device - Google Patents

Data migration method and device, RAID storage device, storage medium and electronic device Download PDF

Info

Publication number
CN117234433B
CN117234433B CN202311514241.3A CN202311514241A CN117234433B CN 117234433 B CN117234433 B CN 117234433B CN 202311514241 A CN202311514241 A CN 202311514241A CN 117234433 B CN117234433 B CN 117234433B
Authority
CN
China
Prior art keywords
storage area
determining
migration
expansion
capacity
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.)
Active
Application number
CN202311514241.3A
Other languages
Chinese (zh)
Other versions
CN117234433A (en
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.)
Suzhou Metabrain Intelligent Technology Co Ltd
Original Assignee
Suzhou Metabrain Intelligent Technology 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 Suzhou Metabrain Intelligent Technology Co Ltd filed Critical Suzhou Metabrain Intelligent Technology Co Ltd
Priority to CN202311514241.3A priority Critical patent/CN117234433B/en
Publication of CN117234433A publication Critical patent/CN117234433A/en
Application granted granted Critical
Publication of CN117234433B publication Critical patent/CN117234433B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

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

Abstract

The embodiment of the application provides a data migration method and device, RAID storage equipment, storage media and an electronic device, wherein the data migration method comprises the following steps: determining a first hard disk set included in a disk array, wherein the disk array is divided into a plurality of subarrays, each subarray comprises M storage areas with continuous addresses, each storage area comprises K strips, and M and K are positive integers; under the condition that the first hard disk set is expanded to the second hard disk set, determining a plurality of corresponding expansion storage areas in each subarray after expansion and migration offset corresponding to each expansion storage area; and migrating the data stored in each capacity expansion storage area from a first address in the K strips corresponding to each capacity expansion storage area to a second address in the K strips corresponding to each capacity expansion storage area according to the migration offset corresponding to each capacity expansion storage area, wherein the first address is the current storage address of the stored data in each capacity expansion storage area.

Description

Data migration method and device, RAID storage device, storage medium and electronic device
Technical Field
The embodiment of the application relates to the field of computers, in particular to a data migration method and device, RAID storage equipment, storage media and an electronic device.
Background
RAID (Redundant Array of Independent Disks ) is a storage technology that improves storage performance and reliability by increasing the ability to check redundancy. RAID is created by combining multiple storage drive components (e.g., disk drives and/or solid state drives) into one logical unit, and then distributing the data across the drives using various techniques.
With the explosive growth of user data and the advent of new applications, RAID arrays are widely used for various storage services due to their high I/O parallelism and data reliability, and RAID systems often require greater storage capacity and better I/O performance. To meet this need, there are two solutions in the prior art: one solution is to reserve additional resources, such as storage, bandwidth, etc. In the initial deployment of RAID systems for future use, however, it is very difficult to accurately predict the needs of future applications, and such a solution may result in a significant amount of wasted resources. Another solution is to add new disks to the system in order to increase storage capacity and bandwidth if necessary, a process commonly referred to as RAID array expansion.
Presently included are RAID levels 0, 1, 5, 6, 10, 50, 60, which use stripes, mirroring, and parity to ensure data reliability and to concurrently process I/O through multiple disk drives in the array to improve the I/O performance of the RAID array. The RAID5 adds a P check block in the disk array, and can recover the data of a failed disk through the P check block. Subsequently, RAID6 adds a Q-check partition to the disk array, and the two blocks of failed disk data in the array can be recovered by checking P, Q the check partition. In the prior art, RAID5 arrays are most used because they can recover a block of failed disk data and the I/O read/write performance and disk utilization are higher than RAID6 arrays.
Currently, users create volumes on RAID arrays for hosts to use as block devices, and when there is insufficient storage space for a volume to support user data requirements, expansion of the volume is required. When the volume is expanded, if the RAID array to which the current volume belongs also has available capacity, the available space can be directly distributed from the RAID array; when the RAID array has no available capacity, the RAID array needs to be expanded by adding a hard disk mode, and then the volume needs to be expanded.
In the prior art, in the scheme of adding a hard disk capacity expansion RAID array, stripes are fixed on each horizontal row of the RAID array, the RAID array needs to perform a large amount of data migration in the capacity expansion process, namely, a large amount of data is required to be migrated from one hard disk to another hard disk, the data migration needs to read migrated data from an original hard disk into a memory and then write the migrated data into another hard disk from the memory, and then check blocks are recalculated by taking the stripes as units and written into the hard disk.
Aiming at the problems that in the prior art, in the process of data migration after capacity expansion of a disk array, data migration is needed to be carried out across stripes, and the calculated amount is increased due to the need of checking data, the method has not been solved effectively.
Disclosure of Invention
The embodiment of the application provides a data migration method and device, RAID storage equipment, storage media and an electronic device, which at least solve the problem that in the prior art, in the process of data migration after capacity expansion of a disk array, data migration is required to be performed across stripes, and data is required to be checked to increase the calculated amount.
According to one embodiment of the present application, there is provided a data migration method including: determining a first hard disk set included in a disk array, wherein the disk array is divided into a plurality of subarrays, each subarray comprises M storage areas with continuous addresses, each storage area comprises K strips, and M and K are positive integers; under the condition that the first hard disk set is expanded to the second hard disk set, determining a plurality of corresponding expansion storage areas in each subarray after expansion and migration offset corresponding to each expansion storage area; and migrating the data stored in each capacity-expansion storage area from a first address in K strips corresponding to each capacity-expansion storage area to a second address in K strips corresponding to each capacity-expansion storage area according to the migration offset corresponding to each capacity-expansion storage area, wherein the first address is the current storage address of the stored data in each capacity-expansion storage area.
In an exemplary embodiment, determining a corresponding plurality of expanded storage areas in each subarray after expansion includes: determining a first storage area number of the plurality of capacity-expansion storage areas and a storage area difference value of the M under the condition that the M is not equal to the number of hard disks of the first hard disk set including hard disks; determining all storage area addresses corresponding to the subarray addresses of each subarray after capacity expansion from a preset chart, wherein the preset chart stores: the corresponding relation between the expanded subarray address and the storage area addresses of all the storage areas allowed to be used by the expanded subarray address; determining a plurality of storage area addresses from all the storage area addresses, wherein the number of the storage area addresses is consistent with the storage area difference value; and determining the storage areas corresponding to the storage area addresses as the expansion storage areas.
In an exemplary embodiment, determining a corresponding plurality of expanded storage areas in each subarray after expansion includes: acquiring the number of hard disks of the second hard disk set including hard disks under the condition that the M is equal to the number of hard disks of the first hard disk set including hard disks; determining the difference value between the number of the hard disks comprising the hard disks in the second hard disk set and the number of the hard disks comprising the hard disks in the first hard disk set as the number of second storage areas needing to be increased in the capacity-expanded storage areas in each subarray; a first storage area that increases the number of the second storage areas after a last storage area of the M storage areas; and determining the first storage area and the M storage areas as the plurality of expansion storage areas.
In one exemplary embodiment, determining the migration offset for each of the flash memory areas includes: determining migration offset values corresponding to the plurality of capacity-expansion storage areas respectively according to a preset mode to obtain a plurality of migration offset values; and determining the migration offset corresponding to each capacity-expansion storage area from the migration offsets.
In an exemplary embodiment, determining migration offsets corresponding to the plurality of capacity-expansion storage areas respectively according to a preset manner, to obtain a plurality of migration offsets includes: determining a first value from a preset range under the condition that the migration offset values respectively corresponding to the plurality of capacity expansion storage areas are required to be set to be the same, wherein the minimum value of the preset range is larger than a target value, and the maximum value of the preset range is smaller than or equal to the number of hard disks comprising hard disks in the first hard disk set; and determining the offset values of the migration offsets to be the first value.
In an exemplary embodiment, determining migration offsets corresponding to the plurality of capacity-expansion storage areas respectively according to a preset manner, to obtain a plurality of migration offsets includes: determining a plurality of second storage areas with the same migration offset from the plurality of expansion storage areas and a plurality of third storage areas with different migration offsets from the plurality of expansion storage areas under the condition that the migration offset values corresponding to the plurality of expansion storage areas respectively need to be set to be partially the same; determining a second value from a preset range, wherein the minimum value of the preset range is larger than or equal to a target value, and the maximum value of the preset range is smaller than or equal to the number of hard disks comprising the hard disks in the first hard disk set; determining migration values of migration offsets of the plurality of second storage areas as the second values, and determining migration values of migration offsets of the plurality of third storage areas as third values randomly determined from the preset range, wherein the third values are other values except the second values in the preset range.
In an exemplary embodiment, determining migration offsets corresponding to the plurality of capacity-expansion storage areas respectively according to a preset manner, to obtain a plurality of migration offsets includes: determining a target storage area from the plurality of capacity expansion storage areas and the same offset accumulated value of every two adjacent capacity expansion storage areas in the plurality of capacity expansion storage areas under the condition that the migration offset values respectively corresponding to the plurality of capacity expansion storage areas are required to be set to be completely different; and determining the migration offsets of the expansion storage areas according to the target storage area and the offset accumulated value.
In an exemplary embodiment, in determining the migration offsets of the flash storage areas according to the target storage area and the offset accumulated value, the method further includes: determining the storage area arrangement sequence of the plurality of expansion storage areas in a subarray where the plurality of expansion storage areas are located; determining a fourth storage area adjacent to the target storage area according to the storage area arrangement sequence under the condition that the migration offset of the target storage area is determined from a preset range, wherein the minimum value of the preset range is larger than or equal to a target value, and the maximum value of the preset range is smaller than or equal to the number of hard disks comprising hard disks in the first hard disk set; determining a migration offset of the fourth storage area according to the migration offset of the target storage area and the offset accumulated value, wherein the migration offsets comprise: and the migration offset of the target storage area and the migration offset of the fourth storage area.
In an exemplary embodiment, according to the migration offset corresponding to each flash memory area, migrating the data stored in each flash memory area from a first address in K stripes corresponding to each flash memory area to a second address in K stripes corresponding to each flash memory area, where the migration offset includes: determining data stored in each capacity expansion storage area by a target hard disk to be subjected to data migration in the hard disks included in the first hard disk set according to the migration offset corresponding to each capacity expansion storage area; and migrating the stored data in each capacity-expansion storage area from the first address to the second address according to the migration offset corresponding to each capacity-expansion storage area.
In an exemplary embodiment, according to the migration offset corresponding to each flash memory area, migrating the data stored in each flash memory area from a first address in K stripes corresponding to each flash memory area to a second address in K stripes corresponding to each flash memory area, where the migration offset includes: determining the maximum addresses of K stripes of each expansion storage area under the condition that the stored data comprises data of at least two hard disks; determining the sum of the current address of the data of any hard disk in the at least two hard disks in each capacity-expansion storage area and the migration offset; controlling data migration of any hard disk from the first address to the second address under the condition that the maximum address is larger than the sum value; and controlling the data of any hard disk to stop data migration under the condition that the maximum address is smaller than the sum value.
In an exemplary embodiment, after migrating the data stored in each of the capacity-expansion storage areas from a first address in K stripes corresponding to each of the capacity-expansion storage areas to a second address in K stripes corresponding to each of the capacity-expansion storage areas according to the migration offset corresponding to each of the capacity-expansion storage areas, the method further includes: receiving a writing request sent by a host device, wherein the writing request carries a first blocking position to be written in the disk array; responding to the write request under the condition that no data is currently stored in the first block position; and refusing to respond to the write request under the condition that the stored data exists in the first blocking position currently.
In one exemplary embodiment, responding to the write request includes: determining whether a write operation of the host device is successfully received within a preset time period; allowing the first block location to be used by other host devices if the write operation is not received within the preset time period; and under the condition that the writing operation is received in the preset time period, writing the data corresponding to the writing operation into the first block position.
In an exemplary embodiment, after migrating the data stored in each of the capacity-expansion storage areas from a first address in K stripes corresponding to each of the capacity-expansion storage areas to a second address in K stripes corresponding to each of the capacity-expansion storage areas according to the migration offset corresponding to each of the capacity-expansion storage areas, the method further includes: receiving a read request sent by a host device, wherein the read request carries a second block position to be read in the disk array; refusing to respond to the read request if no data is currently stored in the second block location; and responding to the read request in the condition that the stored data exists in the second block position.
In an exemplary embodiment, after migrating the data stored in each of the capacity-expansion storage areas from a first address in K stripes corresponding to each of the capacity-expansion storage areas to a second address in K stripes corresponding to each of the capacity-expansion storage areas according to the migration offset corresponding to each of the capacity-expansion storage areas, the method further includes: carrying out integrity check on the data at the second address under the condition that the stored data is migrated to the second address; determining target data that fails the integrity check; the target data is migrated again from the first address to the second address.
In an exemplary embodiment, before determining the corresponding plurality of expanded storage areas in each subarray after expansion and the migration offset corresponding to each expanded storage area, the method further includes: responding to a capacity expansion request sent by a system where the disk array is located; analyzing the number of the hard disks required from the capacity expansion request; and determining the number of the hard disks corresponding to the second hard disk set according to the number of the hard disks comprising the first hard disk set and the number of the hard disks required.
In an exemplary embodiment, before determining the corresponding plurality of expanded storage areas in each subarray after expansion and the migration offset corresponding to each expanded storage area, the method further includes: receiving a data storage request sent by a data storage party; analyzing the number of hard disks needed by the data storage party from the data storage request; and under the condition that the number of the hard disks needed by the data storage party is larger than that of the first hard disk set comprising the hard disks, determining the number of the hard disks corresponding to the second hard disk set according to the number of the hard disks comprising the hard disks of the first hard disk set and the number of the hard disks needed by the data storage party.
In an exemplary embodiment, determining, according to the number of hard disks in the first hard disk set including hard disks and the number of hard disks required by the data storage party, the number of hard disks corresponding to the second hard disk set includes: acquiring an idle state of a hard disk included in a first hard disk set included in the first hard disk set; and under the condition that the idle states of the hard disks included in the first hard disk set are not idle, determining the sum of the number of the hard disks included in the first hard disk set and the number of the hard disks needed by the data storage party as the number of the hard disks corresponding to the second hard disk set.
In an exemplary embodiment, determining, according to the number of hard disks in the first hard disk set including hard disks and the number of hard disks required by the data storage party, the number of hard disks corresponding to the second hard disk set includes: acquiring an idle state of a hard disk included in a first hard disk set included in the first hard disk set; and determining the difference value between the number of the hard disks required by the data storage party and the P, and determining the sum value of the difference value and the number of the hard disks, which are included in the first hard disk set, as the number of the hard disks corresponding to the second hard disk set when the idle state of the hard disks, which are included in the first hard disk set, indicates that only P hard disks in the hard disks, which are included in the first hard disk set, are idle.
According to another embodiment of the present application, there is provided a data migration apparatus including: the first determining module is used for determining a first hard disk set included in the disk array, wherein the disk array is divided into a plurality of subarrays, each subarray comprises M storage areas with continuous addresses, each storage area comprises K strips, and M and K are positive integers; the second determining module is used for determining a plurality of corresponding expansion storage areas in each subarray after expansion and migration offset corresponding to each expansion storage area under the condition that the first hard disk set is expanded to the second hard disk set; and the migration module is used for migrating the data stored in each capacity expansion storage area from a first address in K strips corresponding to each capacity expansion storage area to a second address in K strips corresponding to each capacity expansion storage area according to the migration offset corresponding to each capacity expansion storage area, wherein the first address is the current storage address of the stored data in each capacity expansion storage area. According to yet another embodiment of the present application, there is also provided a RAID storage device including the above-described data storage apparatus.
According to a further embodiment of the present application, there is also provided a computer readable storage medium having stored therein a computer program, wherein the computer program is arranged to perform the steps of any of the method embodiments described above when run.
According to a further embodiment of the present application, there is also provided an electronic device comprising a memory having stored therein a computer program and a processor arranged to run the computer program to perform the steps of any of the method embodiments described above.
By the method, the disk array comprising the first hard disk set is divided into a plurality of subarrays, and each subarray comprises M storage areas with continuous addresses and K strips; expanding the first hard disk set to a second hard disk set, determining a plurality of expansion storage areas corresponding to each subarray after expanding, and determining migration offset corresponding to the expansion storage areas; and migrating the K strips corresponding to the data stored in each capacity-expansion storage area from the current storage address of each capacity-expansion storage area in the K strips corresponding to each capacity-expansion storage area to a second address according to the migration offset corresponding to each capacity-expansion storage area. Therefore, the problem that in the prior art, in the process of data migration after capacity expansion of the disk array, data migration is needed to be carried out across stripes, and data needs to be checked to increase the calculated amount can be solved.
Drawings
Fig. 1 is a hardware block diagram of a computer terminal of a data migration method according to an embodiment of the present application;
FIG. 2 is a flow chart of a data migration method according to an embodiment of the present application;
FIG. 3 is a prior art RAID5 array expansion schematic;
FIG. 4 is a schematic diagram of a RAID5 array of three member disks according to embodiments of the present application;
FIG. 5 is a threshold block diagram after adding a disk according to an embodiment of the present application;
FIG. 6 is a schematic diagram of data chunk and P-check chunk migration within a stripe, according to an embodiment of the present application;
FIG. 7 is a schematic diagram of a write I/O flow to a foreground host during a capacity expansion process according to an embodiment of the present application;
fig. 8 is a block diagram of a data migration apparatus according to an embodiment of the present application.
Detailed Description
Embodiments of the present application will be described in detail below with reference to the accompanying drawings in conjunction with the embodiments.
It should be noted that the terms "first," "second," and the like in the description and claims of the present application and the above figures are used for distinguishing between similar objects and not necessarily for describing a particular sequential or chronological order.
The method embodiments provided in the embodiments of the present application may be performed in a mobile terminal, a computer terminal or similar computing device. Taking a computer terminal as an example, fig. 1 is a block diagram of a hardware structure of a computer terminal of a data migration method according to an embodiment of the present application. As shown in fig. 1, the computer terminal may include one or more (only one is shown in fig. 1) processors 102 (the processor 102 may include, but is not limited to, a microprocessor MCU or a processing device such as a programmable logic device FPGA) and a memory 104 for storing data, wherein the computer terminal may further include a transmission device 106 for communication functions and an input-output device 108. It will be appreciated by those skilled in the art that the configuration shown in fig. 1 is merely illustrative and is not intended to limit the configuration of the computer terminal described above. For example, the computer terminal may also include more or fewer components than shown in FIG. 1, or have a different configuration than shown in FIG. 1.
The memory 104 may be used to store a computer program, for example, a software program of application software and a module, such as a computer program corresponding to a load resource allocation method in the embodiment of the present application, and the processor 102 executes the computer program stored in the memory 104, thereby performing various functional applications and data processing, that is, implementing the method described above. Memory 104 may include high-speed random access memory, and may also include non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some examples, the memory 104 may further include memory remotely located relative to the processor 102, which may be connected to the computer terminal via a network. Examples of such networks include, but are not limited to, the internet, intranets, local area networks, mobile communication networks, and combinations thereof.
The transmission device 106 is used to receive or transmit data via a network. Specific examples of the network described above may include a wireless network provided by a communication provider of a computer terminal. In one example, the transmission device 106 includes a network adapter (Network Interface Controller, simply referred to as NIC) that can connect to other network devices through a base station to communicate with the internet. In one example, the transmission device 106 may be a Radio Frequency (RF) module, which is configured to communicate with the internet wirelessly.
Fig. 2 is a flowchart of a data migration method according to an embodiment of the present application, applied to the above-mentioned computer terminal, as shown in fig. 2, the flowchart includes the following steps:
step S202, determining a first hard disk set included in a disk array, wherein the disk array is divided into a plurality of subarrays, each subarray comprises M storage areas with continuous addresses, each storage area comprises K strips, and M and K are positive integers;
step S204, under the condition that the first hard disk set is expanded to the second hard disk set, determining a plurality of corresponding expansion storage areas in each subarray after expansion and migration offset corresponding to each expansion storage area;
step S206, migrating the data stored in each expansion storage area from a first address in K stripes corresponding to each expansion storage area to a second address in K stripes corresponding to each expansion storage area according to the migration offset corresponding to each expansion storage area, where the first address is a current storage address of the stored data in each expansion storage area.
It will be appreciated that after the storage areas are divided for the disk array, each storage area has a complete configuration of the disk array, i.e., each storage area is relatively independent, i.e., each storage area may be individually allocated to a different application or user. Therefore, during the migration of the data in the stripes in each expanded storage area, the data between the stripes in different areas is not affected. I.e. the data of the respective stripe in each expanded storage area may not be migrated to another storage area.
Dividing a disk array comprising a first hard disk set into a plurality of subarrays, wherein each subarray comprises M storage areas with continuous addresses and K strips; expanding the first hard disk set to a second hard disk set, determining a plurality of expansion storage areas corresponding to each subarray after expanding, and determining migration offset corresponding to the expansion storage areas; and migrating the K strips corresponding to the data stored in each capacity-expansion storage area from the current storage address to the second address in the K strips corresponding to each capacity-expansion storage area according to the migration offset corresponding to each capacity-expansion storage area. The method solves the problem that in the prior art, in the process of data migration after capacity expansion of the disk array, data migration is needed to be carried out across stripes, and the calculated amount is increased because data is needed to be checked.
Optionally, the step S202 may be further implemented as follows:
1) Determining a plurality of corresponding capacity expansion storage areas in each subarray after capacity expansion, wherein the method comprises the following steps: determining a first storage area number of the plurality of capacity-expansion storage areas and a storage area difference value of the M under the condition that the M is not equal to the number of hard disks of the first hard disk set including hard disks; determining all storage area addresses corresponding to the subarray addresses of each subarray after capacity expansion from a preset chart, wherein the preset chart stores: the corresponding relation between the expanded subarray address and the storage area addresses of all the storage areas allowed to be used by the expanded subarray address; determining a plurality of storage area addresses from all the storage area addresses, wherein the number of the storage area addresses is consistent with the storage area difference value; and determining the storage areas corresponding to the storage area addresses as the expansion storage areas.
It will be appreciated that, in the case where the number of storage areas of the storage areas included in each sub-array before capacity expansion is greater than or less than the number of hard disks of the first hard disk set including hard disks, the difference between the first number of storage areas of the plurality of capacity expansion storage areas and M may be determined, that is, the number of storage areas of the storage areas added in each sub-array after capacity expansion is determined.
Further, a preset chart is obtained, and the corresponding relation between each expanded subarray address and the storage area addresses of all the storage areas allowed to be used is stored in the preset chart. That is, the address of each sub-array has a correspondence with the address of the memory area that can be contained in each sub-array. The address of each subarray after capacity expansion can be obtained from a preset chart, and all storage area addresses corresponding to the subarray addresses of each subarray after capacity expansion can be determined from the corresponding relation.
Further, a plurality of storage area addresses of which the number is identical to the storage area difference value may be determined from all the storage area addresses, and the plurality of storage areas corresponding to the plurality of storage area addresses may be a plurality of expansion storage areas added for each subarray after expansion. In this embodiment of the present invention, the original M storage areas and the increased multiple expansion storage areas may together form multiple expanded storage areas.
2) Determining a plurality of corresponding capacity expansion storage areas in each subarray after capacity expansion, wherein the method comprises the following steps: acquiring the number of hard disks of the second hard disk set including hard disks under the condition that the M is equal to the number of hard disks of the first hard disk set including hard disks; determining the difference value between the number of the hard disks comprising the hard disks in the second hard disk set and the number of the hard disks comprising the hard disks in the first hard disk set as the number of second storage areas needing to be increased in the capacity-expanded storage areas in each subarray; a first storage area that increases the number of the second storage areas after a last storage area of the M storage areas; and determining the first storage area and the M storage areas as the plurality of expansion storage areas.
According to the above scheme, when the number of storage areas of the storage areas included in each subarray before capacity expansion is equal to the number of hard disks included in the first hard disk set, the number of second storage areas of the storage areas to be increased in each subarray after capacity expansion=the number of hard disks included in the second hard disk set minus the number of hard disks included in the first hard disk set, and the number of second storage areas of the storage areas to be increased in each subarray after capacity expansion is determined. That is, in the case where m=the number of hard disks in the first hard disk set includes the number of hard disks, the number of hard disks increased in the disk array is the number of storage areas increased in each sub-array after capacity expansion, that is, the number of hard disks after capacity expansion is still equal to the number of storage areas in each sub-array after capacity expansion.
Optionally, determining the migration offset corresponding to each capacity-expansion storage area includes: determining migration offset values corresponding to the plurality of capacity-expansion storage areas respectively according to a preset mode to obtain a plurality of migration offset values; and determining the migration offset corresponding to each capacity-expansion storage area from the migration offsets. It is understood that the migration offsets of the plurality of expansion regions may be the same or different. And determining a plurality of migration offsets according to a preset mode, and further determining the migration offset corresponding to each of the plurality of areas.
Optionally, determining migration offsets corresponding to the plurality of capacity-expansion storage areas respectively according to a preset manner to obtain a plurality of migration offsets, including: determining a first value from a preset range under the condition that the migration offset values respectively corresponding to the plurality of capacity expansion storage areas are required to be set to be the same, wherein the minimum value of the preset range is larger than a target value, and the maximum value of the preset range is smaller than or equal to the number of hard disks comprising hard disks in the first hard disk set; and determining the offset values of the migration offsets to be the first value.
It is understood that, in the case where the values of the migration offsets corresponding to the plurality of capacity-expanding storage areas are set to be the same, the specific value of the migration offset is determined. Specific: the first value may be determined within a preset range, and the first value may be determined as a specific value of the preset offset, where the preset range may be: 0< first value +.first set of hard disks includes the number of hard disks, that is, the target value may be 0.
Further, the manner of determining the first value within a preset range of 0< first value +.: the random extraction method and the like are not particularly limited herein.
Optionally, determining migration offsets corresponding to the plurality of capacity-expansion storage areas respectively according to a preset manner to obtain a plurality of migration offsets, including: determining a plurality of second storage areas with the same migration offset from the plurality of expansion storage areas and a plurality of third storage areas with different migration offsets from the plurality of expansion storage areas under the condition that the migration offset values corresponding to the plurality of expansion storage areas respectively need to be set to be partially the same; determining a second value from a preset range, wherein the minimum value of the preset range is larger than or equal to a target value, and the maximum value of the preset range is smaller than or equal to the number of hard disks comprising the hard disks in the first hard disk set; determining migration values of migration offsets of the plurality of second storage areas as the second values, and determining migration values of migration offsets of the plurality of third storage areas as third values randomly determined from the preset range, wherein the third values are other values except the second values in the preset range.
According to the above-mentioned scheme, in the case where the values of migration offsets corresponding to the plurality of capacity expansion areas are set to be partially identical, the plurality of second storage areas corresponding to the same migration offset may be determined first, and the method for determining the migration offsets corresponding to the plurality of second storage areas is not particularly limited, that is, the second value of the migration offset may be determined from a preset range, where the preset range is to satisfy that 0.ltoreq.second value.ltoreq.first hard disk set includes the number of hard disks, that is, the target value may be 0.
Further, a plurality of third storage areas with different migration offsets between every two of the plurality of expansion areas are also determined, and a plurality of different migration offsets corresponding to the plurality of third storage areas are determined within a preset range, that is, a third value is determined, and it should be noted that any one value of the third values is not equal to the second value, and the preset range may be: 0< first value +.first set of hard disks includes the number of hard disks of the hard disks.
And finally, determining the second value and the third value as migration offsets corresponding to the expansion areas respectively.
Optionally, determining migration offsets corresponding to the plurality of capacity-expansion storage areas respectively according to a preset manner to obtain a plurality of migration offsets, including: determining a target storage area from the plurality of capacity expansion storage areas and the same offset accumulated value of every two adjacent capacity expansion storage areas in the plurality of capacity expansion storage areas under the condition that the migration offset values respectively corresponding to the plurality of capacity expansion storage areas are required to be set to be completely different; and determining the migration offsets of the expansion storage areas according to the target storage area and the offset accumulated value.
It is to be understood that, in the case where the values of the migration offsets corresponding to the plurality of capacity expansion areas are set to be completely different, the target area may be determined in the plurality of capacity expansion areas, and the same offset accumulated value of the capacity expansion areas adjacent to each two addresses in the plurality of capacity expansion areas, for example: the target area, and the same offset accumulated value of the expansion area adjacent to the target area, may be determined.
Further, the migration offsets of the capacity expansion areas are determined according to the offset accumulated value and the target area.
For example, the offset accumulated value is determined to be an offset accumulated value of one address unit, and after the target area position is determined, the position of the expansion area adjacent to one direction of the target area is the sum of the target area position and the offset accumulated value of one address unit.
Optionally, in determining the migration offsets of the expansion storage areas according to the target storage area and the offset accumulated value, the method further includes: determining the storage area arrangement sequence of the plurality of expansion storage areas in a subarray where the plurality of expansion storage areas are located; determining a fourth storage area adjacent to the target storage area according to the storage area arrangement sequence under the condition that the migration offset of the target storage area is determined from a preset range, wherein the minimum value of the preset range is larger than or equal to a target value, and the maximum value of the preset range is smaller than or equal to the number of hard disks comprising hard disks in the first hard disk set; determining a migration offset of the fourth storage area according to the migration offset of the target storage area and the offset accumulated value, wherein the migration offsets comprise: and the migration offset of the target storage area and the migration offset of the fourth storage area.
In the above-mentioned scheme, in the process of determining the migration offsets of the expansion storage areas, the arrangement order of the areas in the subarray where the expansion storage areas are located is determined, the fourth storage area adjacent to the target area is determined according to the arrangement order, and further, the migration offset of the fourth storage area is determined according to the migration offset of the target storage area and the offset accumulated value.
Migrating the data stored in each capacity expansion storage area from a first address in K stripes corresponding to each capacity expansion storage area to a second address in K stripes corresponding to each capacity expansion storage area according to the migration offset corresponding to each capacity expansion storage area, including: determining data stored in each capacity expansion storage area by a target hard disk to be subjected to data migration in the hard disks included in the first hard disk set according to migration offset corresponding to each capacity expansion storage area; and migrating the stored data in each capacity-expansion storage area from the first address to the second address according to the migration offset corresponding to each capacity-expansion storage area.
It will be appreciated that, because there may be a partition in each storage area that does not contain data, and there may also be a partition that contains data, when migrating stored data from a first address to a second address, the data to be migrated in each expanded storage area is determined first, and then when migrating stored data from the first address to the second address according to the migration offset corresponding to each expanded storage area.
Optionally, migrating the data stored in each expansion storage area from a first address in K stripes corresponding to each expansion storage area to a second address in K stripes corresponding to each expansion storage area according to the migration offset corresponding to each expansion storage area, including: determining the maximum addresses of K stripes of each expansion storage area under the condition that the stored data comprises data of at least two hard disks; determining the sum of the current address of the data of any hard disk in the at least two hard disks in each capacity-expansion storage area and the migration offset; controlling data migration of any hard disk from the first address to the second address under the condition that the maximum address is larger than the sum value; and controlling the data of any hard disk to stop data migration under the condition that the maximum address is smaller than the sum value.
It can be appreciated that when migrating data from the first address to the second address, a maximum address of K stripes of each flash memory area may be determined, and the current address of the data of any one of the at least two hard disks in each flash memory area is compared with the sum of migration offsets and the maximum address to determine whether the data of any hard disk stops data migration.
Optionally, after migrating the data stored in each expansion storage area from a first address in K stripes corresponding to each expansion storage area to a second address in K stripes corresponding to each expansion storage area according to the migration offset corresponding to each expansion storage area, the method further includes: receiving a writing request sent by a host device, wherein the writing request carries a first blocking position to be written in the disk array; responding to the write request under the condition that no data is currently stored in the first block position; and refusing to respond to the write request under the condition that the stored data exists in the first blocking position currently.
It can be understood that after the expansion and migration of the data in the disk array are completed, new data can be written in the disk array, specifically: first, a write request sent by a host device is received, and a first block location corresponding to new data to be written can be determined according to the write request. Further, to determine whether the first block location in the disk array currently has stored data, the response to the write request is denied if the stored data currently exists, and the response to the write request is made if the stored data currently does not exist.
Optionally, responding to the write request includes: determining whether a write operation of the host device is successfully received within a preset time period; allowing the first block location to be used by other host devices if the write operation is not received within the preset time period; and under the condition that the writing operation is received in the preset time period, writing the data corresponding to the writing operation into the first block position.
It will be appreciated that in the case where a write request can be received accordingly, it may be determined whether a write operation has been received within a preset time period, if no write operation has been received within the preset time period. Namely, the data corresponding to the current host equipment is not written, and the current first block position can be received and used by other host equipment; and when the write operation is received within the preset time period, the data corresponding to the current host device can be written into the first block position.
Optionally, after migrating the data stored in each expansion storage area from a first address in K stripes corresponding to each expansion storage area to a second address in K stripes corresponding to each expansion storage area according to the migration offset corresponding to each expansion storage area, the method further includes: receiving a read request sent by a host device, wherein the read request carries a second block position to be read in the disk array; refusing to respond to the read request if no data is currently stored in the second block location; and responding to the read request in the condition that the stored data exists in the second block position.
It can be understood that after the expansion and migration of the data in the disk array are completed, new data can be read in the disk array, specifically: the method comprises the steps of firstly, receiving a read request sent by a host device, determining a first block position corresponding to new data to be read through the read request, further determining whether the first block position in a disk array currently has stored data or not, responding to the read request when the stored data currently exists, and refusing to respond to the read request when the stored data currently does not exist.
Optionally, after migrating the data stored in each expansion storage area from a first address in K stripes corresponding to each expansion storage area to a second address in K stripes corresponding to each expansion storage area according to the migration offset corresponding to each expansion storage area, the method further includes: carrying out integrity check on the data at the second address under the condition that the stored data is migrated to the second address; determining target data that fails the integrity check; the target data is migrated again from the first address to the second address.
According to the above scheme, after data migration is performed by the technical scheme defined in the application, the integrity of the data at the second address can be checked to check the integrity of the data, however, the embodiment of the invention does not need to perform block verification, so that the calculation amount is reduced.
Optionally, before determining the corresponding plurality of capacity-expansion storage areas in each subarray after capacity expansion and the migration offset corresponding to each capacity-expansion storage area, the method further includes: responding to a capacity expansion request sent by a system where the disk array is located; analyzing the number of the hard disks required from the capacity expansion request; and determining the number of the hard disks corresponding to the second hard disk set according to the number of the hard disks comprising the first hard disk set and the number of the hard disks required.
Optionally, before determining the corresponding plurality of capacity-expansion storage areas in each subarray after capacity expansion and the migration offset corresponding to each capacity-expansion storage area, the method further includes: receiving a data storage request sent by a data storage party; analyzing the number of hard disks needed by the data storage party from the data storage request; and under the condition that the number of the hard disks needed by the data storage party is larger than that of the first hard disk set comprising the hard disks, determining the number of the hard disks corresponding to the second hard disk set according to the number of the hard disks comprising the hard disks of the first hard disk set and the number of the hard disks needed by the data storage party.
Optionally, determining the number of hard disks corresponding to the second hard disk set according to the number of hard disks including hard disks in the first hard disk set and the number of hard disks required by the data storage party includes: acquiring an idle state of a hard disk included in a first hard disk set included in the first hard disk set; and under the condition that the idle states of the hard disks included in the first hard disk set are not idle, determining the sum of the number of the hard disks included in the first hard disk set and the number of the hard disks needed by the data storage party as the number of the hard disks corresponding to the second hard disk set.
Optionally, determining the number of hard disks corresponding to the second hard disk set according to the number of hard disks including hard disks in the first hard disk set and the number of hard disks required by the data storage party includes: acquiring an idle state of a hard disk included in the first hard disk set; and determining the difference value between the number of the hard disks required by the data storage party and the P, and determining the sum value of the difference value and the number of the hard disks, which are included in the first hard disk set, as the number of the hard disks corresponding to the second hard disk set when the idle state of the hard disks, which are included in the first hard disk set, indicates that only P hard disks in the hard disks, which are included in the first hard disk set, are idle.
It may be understood that before determining the corresponding multiple capacity expansion storage areas and the migration amounts of the offsets in each subarray after capacity expansion, the number of hard disks needed by the data storage party needs to be determined, that is, the data storage request carrying the number of hard disks needed by the data storage party is received, further, in the case that the number of hard disks needed by the data storage party is greater than the number of hard disks including hard disks in the first hard disk set, the idle states of the hard disks included in the first hard disk set are obtained, which may be divided into two cases: 1) Under the condition that the idle states of the hard disks included in the first hard disk set are not idle, the number of the hard disks corresponding to the second hard disk set = the number of the hard disks included in the first hard disk set + the number of the hard disks needed by the data storage party; 2) In the case that the idle states of the hard disks included in the first hard disk set indicate that P hard disks included in the first hard disk set are in the idle states: the number of hard disks corresponding to the second hard disk set=the first hard disk set includes the number of hard disks + (the number of hard disks required by the data storage side-P).
From the description of the above embodiments, it will be clear to a person skilled in the art that the method according to the above embodiments may be implemented by means of software plus the necessary general hardware platform, but of course also by means of hardware, but in many cases the former is a preferred embodiment. Based on such understanding, the technical solution of the present application may be embodied essentially or in a part contributing to the prior art in the form of a software product stored in a storage medium (such as ROM/RAM, magnetic disk, optical disk), comprising several instructions for causing a terminal device (which may be a mobile phone, a computer, a server, or a network device, etc.) to perform the method described in the embodiments of the present application.
In order to better understand the process of the data migration method, the implementation flow of the data migration method is described below in conjunction with the optional embodiment, but is not limited to the technical solution of the embodiment of the present application.
In the prior art, the working principle of RAID array capacity expansion is shown in figure 3. FIG. 3 is a schematic diagram of RAID5 array expansion in the prior art, as shown in FIG. 3, a RAID5 array composed of three hard disks is added with one hard disk to expand capacity, and a large amount of data migration is required, for example, B1 data blocks in hard disk 0 need to be migrated to corresponding cross-row partitions of Stripe0 of hard disk 2, and then Ap' check blocks of Stripe0 are recalculated and written into the added corresponding partitions of hard disk 3. B2 data blocks in the hard disk 2 need to be migrated to the corresponding partition of the Stripe1 Stripe row of the hard disk 0, C1 data blocks in the hard disk 1 need to be migrated to the corresponding partition of the Stripe1 Stripe row of the hard disk 1, C2 data blocks in the hard disk 2 need to be migrated to the corresponding partition of the Stripe1 Stripe row of the added hard disk 3, and then the Bp' check blocks are obtained by the exclusive OR operation of the B2, C1 and C2 data blocks again by using the Stripe1 Stripe row as a unit and written into the corresponding partition of the hard disk 2.
It can be seen that the following problems exist in the capacity expansion technical scheme of RAID5 in the prior art:
1. in the RAID5 capacity expansion process, the blocks in the stripe are redistributed, so that the data migration of the data blocks among the hard disks in the array is performed.
2. After the data migration in the data block is completed, the background task of recalculating the check data in the check block is still needed, so that the CPU overhead of the system is increased, the RAID5 array expansion process is very time-consuming, the user experience is reduced, and meanwhile, the risk of inconsistent stripes exists under the condition of processing the foreground emergency I/O task.
Based on this, the embodiment of the application provides a new capacity expansion method for data block migration in a RAID5 array stripe. Data chunk migration occurs only within the stripe, meaning that the coding relationship between the data chunks remains unchanged. Therefore, the P check block does not need to be recalculated after the data block is migrated, so that the calculation cost for calculating the P check block can be reduced, and the I/O read-write performance is improved.
FIG. 4 is a schematic diagram of a RAID5 array made up of three member disks according to an embodiment of the present application, where as shown in FIG. 4, the embodiment of the present application proposes to split the RAID5 array into a plurality of consecutive and circular zones, where the number of stripes included in a zone is equal to the number of member disks of the RAID array. In the embodiment of the application, the RAID5 array is divided into a plurality of continuous and circulating areas, and the number of the stripes contained in the areas is equal to the number of the member disks of the RAID array.
FIG. 4 is a block diagram of a RAID5 array of three member disks with each zone containing three stripes according to the embodiments described above. Therefore, in the case where the number of member disks of the RAID5 array before capacity expansion is 3, each 3 stripes constitute one area. When expanding a RAID5 array, for example: the number of added disks is n, and the number of original member disks is k, so the subarray contains the number of k+n areas, and therefore the number of stripes contained in the subarray is k (k+n).
Further, in the RAID5 array formed by three member disks as shown in FIG. 4, when the host user adds two disks to expand the RAID5 array, the sub-array 0 comprises 3+2 areas, i.e. the sub-array 0 comprises five areas of region_0, region_1, region_2, region_3 and region_4. According to the formula of k x (k+n), it follows that sub-array 0 contains 15 stripes of strip 0, strip 1, strip 2, strip 3. The subsequent subarray 1, subarray 2, etc. are in a cyclic relationship as is the geometric distribution of subarray 0.
Further, embodiments of the present application may support the addition of any number of disks and multiple sequential expansions, such as: fig. 5 is a threshold block diagram after adding a disk according to an embodiment of the present application, as shown in fig. 5, three hard disks are added, that is, three hard disks are expanded (note that in the case of adding three hard disks, only five regions of region_0-region_4 included in the sub-array 0 are shown in fig. 5, and in this embodiment, six regions of region_0-region_5 should be included in the sub-array 0). The embodiment of the application defines that when the capacity is expanded, a threshold is set in the area, and optionally, the number of disks contained in the threshold is equal to the number of added disks.
FIG. 6 is a schematic diagram of migration of data blocks and P-check blocks in a stripe according to an embodiment of the present application, as shown in FIG. 6 (note that only five regions, region_0-region_4, contained in the sub-array 0 are shown in FIG. 6, and six regions, region_0-region_5, should be contained in the sub-array 0 in the embodiment), no old blocks are contained in the threshold 0, and no block migration is performed; the threshold 1 comprises a hard disk partition, and migration of 1 offset position (corresponding to migration offset) is carried out on the partition contained in the threshold 1; and so on, performing migration of 2 offset positions on the blocks of the two hard disks contained in the threshold 2; 3 migration of offset positions is carried out on the blocks of the three hard disks contained in the threshold 3; and 4 migration of offset positions is carried out on the blocks of the two hard disks contained in the threshold 4. The migration of several offset positions is performed by a first threshold which is sequentially accumulated, for example: the threshold 0 does not migrate, the threshold 1 accumulates 1 on the basis of the threshold 0 to obtain migration of 1 offset position, the threshold 2 accumulates 1 on the basis of the threshold 1 to obtain migration of 2 offset positions, the threshold 3 accumulates 1 on the basis of the threshold 2 to obtain migration of 3 offset positions, and the threshold 4 accumulates 1 on the basis of the threshold 3 to obtain migration of 4 offset positions. And the same applies to the subsequent subarrays to carry out the block migration by the algorithm with the same rule until the block migration of one subarray is completed. As shown in fig. 5 above, the threshold comprises three disk widths (because the number of added disks is 3), the threshold is as shown in the gray box of fig. 5 above, and the data block migration in the stripe is performed after the threshold setting is completed.
In fig. 6, in the capacity expansion process of the RAID5 array, a host user needs to continuously send out a request for access to data from and write to the I/O of the foreground host, and only needs to write the I/O of the foreground host into the block position that is vacated after the block migration, and then needs to recalculate the P-check block.
According to the analysis, the data blocks and the P check blocks are only migrated in the stripe, and the P check blocks are obtained without performing exclusive OR operation on a plurality of data blocks in the stripe, so that the calculation cost is reduced, and the capacity expansion efficiency of the RAID5 array is improved. Furthermore, the technical scheme provided by the embodiment of the application reduces the data migration of the data block and reduces the CPU overhead of the storage system.
Fig. 7 is a schematic diagram of a write I/O procedure of a foreground host in the capacity expansion process according to an embodiment of the present application, as shown in fig. 7 (note that, in fig. 7, only five regions, region_0-region_4, included in the sub-array 0 are shown, and in this embodiment, the sub-array 0 should include six regions, region_0-region_5), during the execution of the capacity expansion process of the RAID5 array, that is, during the execution of the block migration process, when the I/O task of the foreground host is received, uniform data distribution can be implemented, so as to balance the loads between all the disks (old and newly added disks). Under the condition that a host user continuously sends out the I/O read-write data access request of the foreground host, the minimum data block migration is realized, and the influence on the performance of the storage system in the RAID5 array capacity expansion process can be reduced. Meanwhile, the P check block is not needed to be recalculated in the capacity expansion process. It should be noted that, in the embodiment shown in fig. 7, after the I/O write task of the foreground host is dropped, a new P-check partition is obtained by performing a joint exclusive or operation according to each data partition in the stripe.
In summary, in the embodiment of the present application, first, in the process of executing data block migration, unified data distribution is implemented, so that loads between all disks (old and newly added disks) are balanced; and secondly, when a host user continuously sends out the I/O read-write data access request of the foreground host, the minimized data block migration can be realized, and the influence on the performance of the storage system in the RAID5 array capacity expansion process is reduced. Then, in the RAID5 array capacity expansion process used by the invention, the migration of the data blocks does not cause the recalculation and modification of the P check blocks, so that no additional I/O and calculation cost is needed. Finally, while maintaining the above properties, the embodiment of the invention supports adding any number of disks and continuously expanding multiple times, thereby meeting the dynamic requirements in an actual system.
The embodiment also provides a data migration device, which is used for implementing the foregoing embodiments and preferred embodiments, and is not described in detail. As used below, the term "module" may be a combination of software and/or hardware that implements a predetermined function. While the means described in the following embodiments are preferably implemented in software, implementation in hardware, or a combination of software and hardware, is also possible and contemplated.
Fig. 8 is a block diagram of a data migration apparatus according to an embodiment of the present application, as shown in fig. 8, the apparatus includes:
a first determining module 82, configured to determine a first hard disk set included in a disk array, where the disk array is divided into a plurality of subarrays, each subarray includes M storage areas with continuous addresses, each storage area includes K stripes, and M and K are positive integers;
a second determining module 84, configured to determine, when the first hard disk set is expanded to the second hard disk set, a plurality of expanded storage areas corresponding to each subarray after expansion, and migration offset corresponding to each expanded storage area;
each flash memory area migration module 86 is configured to migrate, according to a migration offset corresponding to each flash memory area, data stored in each flash memory area from a first address in K stripes corresponding to each flash memory area to a second address in K stripes corresponding to each flash memory area, where the first address is a current storage address of the stored data in each flash memory area.
By the device, the disk array comprising the first hard disk set is divided into a plurality of subarrays, and each subarray comprises M storage areas with continuous addresses and K strips; expanding the first hard disk set to a second hard disk set, determining a plurality of expansion storage areas corresponding to each subarray after expanding, and determining migration offset corresponding to the expansion storage areas; and migrating the K strips corresponding to the data stored in each capacity-expansion storage area from the current storage address of each capacity-expansion storage area in the K strips corresponding to each capacity-expansion storage area to a second address according to the migration offset corresponding to each capacity-expansion storage area. Therefore, the problem that in the prior art, in the process of data migration after capacity expansion of the disk array, data migration is needed to be carried out across stripes, and data needs to be checked to increase the calculated amount can be solved.
In an exemplary embodiment, the second determining module 84 is further configured to determine, if the M is not equal to the number of hard disks in the first set of hard disks including hard disks, a first number of storage areas of the plurality of expansion storage areas and a storage area difference value of the M; determining all storage area addresses corresponding to the subarray addresses of each subarray after capacity expansion from a preset chart, wherein the preset chart stores: the corresponding relation between the expanded subarray address and the storage area addresses of all the storage areas allowed to be used by the expanded subarray address; determining a plurality of storage area addresses from all the storage area addresses, wherein the number of the storage area addresses is consistent with the storage area difference value; and determining the storage areas corresponding to the storage area addresses as the expansion storage areas.
In an exemplary embodiment, the second determining module 84 is further configured to obtain the number of hard disks of the second set of hard disks including the hard disk if the M is equal to the number of hard disks of the first set of hard disks including the hard disk; determining the difference value between the number of the hard disks comprising the hard disks in the second hard disk set and the number of the hard disks comprising the hard disks in the first hard disk set as the number of second storage areas needing to be increased in the capacity-expanded storage areas in each subarray; a first storage area that increases the number of the second storage areas after a last storage area of the M storage areas; and determining the first storage area and the M storage areas as the plurality of expansion storage areas.
In an exemplary embodiment, the second determining module 84 is further configured to determine migration offsets corresponding to the plurality of capacity-expansion storage areas respectively according to a preset manner, so as to obtain a plurality of migration offsets; and determining the migration offset corresponding to each capacity-expansion storage area from the migration offsets.
In an exemplary embodiment, the second determining module 84 is further configured to determine, if the values of migration offsets corresponding to the plurality of capacity expansion storage areas respectively need to be set to be the same, a first value from a preset range, where a minimum value of the preset range is greater than a target value, and a maximum value of the preset range is less than or equal to a number of hard disks of the first hard disk set including hard disks; and determining the offset values of the migration offsets to be the first value.
In an exemplary embodiment, the second determining module 84 is further configured to determine, when the values of migration offsets corresponding to the plurality of capacity-expansion storage areas respectively need to be set to be partially the same, a plurality of second storage areas with the same migration offset from the plurality of capacity-expansion storage areas, and a plurality of third storage areas with migration offsets different from each other from the plurality of capacity-expansion storage areas; determining a second value from a preset range, wherein the minimum value of the preset range is larger than or equal to a target value, and the maximum value of the preset range is smaller than or equal to K; determining migration values of migration offsets of the plurality of second storage areas as the second values, and determining migration values of migration offsets of the plurality of third storage areas as third values randomly determined from the preset range, wherein the third values are other values except the second values in the preset range.
In an exemplary embodiment, the second determining module 84 is further configured to determine, if the values of migration offsets corresponding to the plurality of capacity-expansion storage areas respectively need to be set to be completely different, a target storage area from the plurality of capacity-expansion storage areas, and the same offset accumulated value of capacity-expansion storage areas adjacent to each two addresses in the plurality of capacity-expansion storage areas; and determining the migration offsets of the expansion storage areas according to the target storage area and the offset accumulated value.
In an exemplary embodiment, the second determining module 84 is further configured to determine a storage area arrangement sequence of the plurality of capacity expansion storage areas in a subarray where the plurality of capacity expansion storage areas are located; determining a fourth storage area adjacent to the target storage area according to the storage area arrangement sequence under the condition that the migration offset of the target storage area is determined from a preset range, wherein the minimum value of the preset range is larger than or equal to a target value, and the maximum value of the preset range is smaller than or equal to the number of hard disks comprising hard disks in the first hard disk set; determining a migration offset of the fourth storage area according to the migration offset of the target storage area and the offset accumulated value, wherein the migration offsets comprise: and the migration offset of the target storage area and the migration offset of the fourth storage area.
In an exemplary embodiment, the migration module 86 of each capacity expansion storage area is further configured to determine, according to the migration offset corresponding to each capacity expansion storage area, data stored in each capacity expansion storage area by a target hard disk to be subjected to data migration in the hard disks included in the first hard disk set; and migrating the stored data in each capacity-expansion storage area from the first address to the second address according to the migration offset corresponding to each capacity-expansion storage area.
In an exemplary embodiment, the migration module 86 of each of the capacity expansion storage areas is further configured to determine, in a case where the stored data includes data of at least two hard disks, a maximum address of K stripes of each of the capacity expansion storage areas; determining the sum of the current address of the data of any hard disk in the at least two hard disks in each capacity-expansion storage area and the migration offset; controlling data migration of any hard disk from the first address to the second address under the condition that the maximum address is larger than the sum value; and controlling the data of any hard disk to stop data migration under the condition that the maximum address is smaller than the sum value.
In an exemplary embodiment, the apparatus further comprises: the first receiving module is used for receiving a writing request sent by a host device, wherein the writing request carries a first blocking position to be written in the disk array; responding to the write request under the condition that no data is currently stored in the first block position; and refusing to respond to the write request under the condition that the stored data exists in the first blocking position currently.
In an exemplary embodiment, the first receiving module is further configured to determine whether the write operation of the host device is successfully received within a preset period of time; allowing the first block location to be used by other host devices if the write operation is not received within the preset time period; and under the condition that the writing operation is received in the preset time period, writing the data corresponding to the writing operation into the first block position.
In an exemplary embodiment, the apparatus further comprises: the second receiving module is used for receiving a reading request sent by the host device, wherein the reading request carries a second block position to be subjected to reading operation in the disk array; refusing to respond to the read request if no data is currently stored in the second block location; and responding to the read request in the condition that the stored data exists in the second block position.
In an exemplary embodiment, the apparatus further comprises: the verification module is used for carrying out integrity verification on the data at the second address under the condition that the stored data is migrated to the second address; determining target data that fails the integrity check; the target data is migrated again from the first address to the second address.
In an exemplary embodiment, the apparatus further comprises: the response module is used for responding to the capacity expansion request sent by the system where the disk array is located; analyzing the number of the hard disks required from the capacity expansion request; and determining the number of the hard disks corresponding to the second hard disk set according to the number of the hard disks comprising the first hard disk set and the number of the hard disks required.
In an exemplary embodiment, the apparatus further comprises: the third receiving module is used for receiving a data storage request sent by the data storage party; analyzing the number of hard disks needed by the data storage party from the data storage request; and under the condition that the number of the hard disks needed by the data storage party is larger than that of the first hard disk set comprising the hard disks, determining the number of the hard disks corresponding to the second hard disk set according to the number of the hard disks comprising the hard disks of the first hard disk set and the number of the hard disks needed by the data storage party.
In an exemplary embodiment, the third receiving module is further configured to obtain an idle state of a hard disk included in the first hard disk set; and under the condition that the idle states of the hard disks included in the first hard disk set are not idle, determining the sum of the number of the hard disks included in the first hard disk set and the number of the hard disks needed by the data storage party as the number of the hard disks corresponding to the second hard disk set.
In an exemplary embodiment, the third receiving module is further configured to obtain an idle state of a hard disk included in a first hard disk set included in the first hard disk set; and determining the difference value between the number of the hard disks required by the data storage party and the P, and determining the sum value of the difference value and the number of the hard disks, which are included in the first hard disk set, as the number of the hard disks corresponding to the second hard disk set when the idle state of the hard disks, which are included in the first hard disk set, indicates that only P hard disks in the hard disks, which are included in the first hard disk set, are idle.
The embodiment of the application also provides RAID storage equipment, which comprises the data storage device.
Embodiments of the present application also provide a computer readable storage medium having a computer program stored therein, wherein the computer program is arranged to perform the steps of any of the method embodiments described above when run.
In one exemplary embodiment, the computer readable storage medium may include, but is not limited to: a usb disk, a Read-Only Memory (ROM), a random access Memory (Random Access Memory, RAM), a removable hard disk, a magnetic disk, or an optical disk, or other various media capable of storing a computer program.
Embodiments of the present application also provide an electronic device comprising a memory having stored therein a computer program and a processor arranged to run the computer program to perform the steps of any of the method embodiments described above.
In an exemplary embodiment, the electronic device may further include a transmission device connected to the processor, and an input/output device connected to the processor.
Specific examples in this embodiment may refer to the examples described in the foregoing embodiments and the exemplary implementation, and this embodiment is not described herein.
It will be appreciated by those skilled in the art that the modules or steps of the application described above may be implemented in a general purpose computing device, they may be concentrated on a single computing device, or distributed across a network of computing devices, they may be implemented in program code executable by computing devices, so that they may be stored in a storage device for execution by computing devices, and in some cases, the steps shown or described may be performed in a different order than that shown or described herein, or they may be separately fabricated into individual integrated circuit modules, or multiple modules or steps of them may be fabricated into a single integrated circuit module. Thus, the present application is not limited to any specific combination of hardware and software.
The foregoing description is only of the preferred embodiments of the present application and is not intended to limit the same, but rather, various modifications and variations may be made by those skilled in the art. Any modification, equivalent replacement, improvement, etc. made within the principles of the present application should be included in the protection scope of the present application.

Claims (21)

1. A data migration method is characterized in that,
Comprising the following steps:
determining a first hard disk set included in a disk array, wherein the disk array is divided into a plurality of subarrays, each subarray comprises M storage areas with continuous addresses, each storage area comprises K strips, and M and K are positive integers;
under the condition that the first hard disk set is expanded to the second hard disk set, determining a plurality of corresponding expansion storage areas in each subarray after expansion and migration offset corresponding to each expansion storage area;
migrating the data stored in each capacity-expansion storage area from a first address in K strips corresponding to each capacity-expansion storage area to a second address in K strips corresponding to each capacity-expansion storage area according to the migration offset corresponding to each capacity-expansion storage area, wherein the first address is the current storage address of the stored data in each capacity-expansion storage area;
the method for determining the corresponding multiple capacity expansion storage areas in each subarray after capacity expansion comprises the following steps:
determining a first storage area number of the plurality of capacity-expansion storage areas and a storage area difference value of the M under the condition that the M is not equal to the number of hard disks of the first hard disk set including hard disks;
Determining all storage area addresses corresponding to the subarray addresses of each subarray after capacity expansion from a preset chart, wherein the preset chart stores: the corresponding relation between the expanded subarray address and the storage area addresses of all the storage areas allowed to be used by the expanded subarray address;
determining a plurality of storage area addresses from all the storage area addresses, wherein the number of the storage area addresses is consistent with the storage area difference value;
and determining the storage areas corresponding to the storage area addresses as the expansion storage areas.
2. The method of claim 1, wherein the step of determining the position of the substrate comprises,
determining a plurality of corresponding capacity expansion storage areas in each subarray after capacity expansion, wherein the method comprises the following steps:
acquiring the number of hard disks of the second hard disk set including hard disks under the condition that the M is equal to the number of hard disks of the first hard disk set including hard disks;
determining the difference value between the number of the hard disks comprising the hard disks in the second hard disk set and the number of the hard disks comprising the hard disks in the first hard disk set as the number of second storage areas needing to be increased in the capacity-expanded storage areas in each subarray;
A first storage area that increases the number of the second storage areas after a last storage area of the M storage areas;
and determining the first storage area and the M storage areas as the plurality of expansion storage areas.
3. The method of claim 1, wherein the step of determining the position of the substrate comprises,
determining a migration offset corresponding to each dilatation storage area includes:
determining migration offset values corresponding to the plurality of capacity-expansion storage areas respectively according to a preset mode to obtain a plurality of migration offset values;
and determining the migration offset corresponding to each capacity-expansion storage area from the migration offsets.
4. The method of claim 3, wherein the step of,
determining migration offsets corresponding to the plurality of capacity-expansion storage areas respectively according to a preset mode to obtain a plurality of migration offsets, wherein the method comprises the following steps:
determining a first value from a preset range under the condition that the migration offset values respectively corresponding to the plurality of capacity expansion storage areas are required to be set to be the same, wherein the minimum value of the preset range is larger than a target value, and the maximum value of the preset range is smaller than or equal to the number of hard disks comprising hard disks in the first hard disk set;
And determining the offset values of the migration offsets to be the first value.
5. The method of claim 4, wherein the step of determining the position of the first electrode is performed,
determining migration offsets corresponding to the plurality of capacity-expansion storage areas respectively according to a preset mode to obtain a plurality of migration offsets, wherein the method comprises the following steps:
determining a plurality of second storage areas with the same migration offset from the plurality of expansion storage areas and a plurality of third storage areas with different migration offsets from the plurality of expansion storage areas under the condition that the migration offset values corresponding to the plurality of expansion storage areas respectively need to be set to be partially the same;
determining a second value from a preset range, wherein the minimum value of the preset range is larger than or equal to a target value, and the maximum value of the preset range is smaller than or equal to the number of hard disks comprising the hard disks in the first hard disk set;
determining migration values of migration offsets of the plurality of second storage areas as the second values, and determining migration values of migration offsets of the plurality of third storage areas as third values randomly determined from the preset range, wherein the third values are other values except the second values in the preset range.
6. The method of claim 4, wherein the step of determining the position of the first electrode is performed,
determining migration offsets corresponding to the plurality of capacity-expansion storage areas respectively according to a preset mode to obtain a plurality of migration offsets, wherein the method comprises the following steps:
determining a target storage area from the plurality of capacity expansion storage areas and the same offset accumulated value of every two adjacent capacity expansion storage areas in the plurality of capacity expansion storage areas under the condition that the migration offset values respectively corresponding to the plurality of capacity expansion storage areas are required to be set to be completely different;
and determining the migration offsets of the expansion storage areas according to the target storage area and the offset accumulated value.
7. The method of claim 6, wherein the step of providing the first layer comprises,
in determining the migration offsets of the expansion storage areas according to the target storage area and the offset accumulated value, the method further includes:
determining the storage area arrangement sequence of the plurality of expansion storage areas in a subarray where the plurality of expansion storage areas are located;
determining a fourth storage area adjacent to the target storage area according to the storage area arrangement sequence under the condition that the migration offset of the target storage area is determined from a preset range, wherein the minimum value of the preset range is larger than or equal to a target value, and the maximum value of the preset range is smaller than or equal to the number of hard disks comprising hard disks in the first hard disk set;
Determining a migration offset of the fourth storage area according to the migration offset of the target storage area and the offset accumulated value, wherein the migration offsets comprise: and the migration offset of the target storage area and the migration offset of the fourth storage area.
8. The method of claim 1, wherein the step of determining the position of the substrate comprises,
migrating the data stored in each capacity expansion storage area from a first address in K stripes corresponding to each capacity expansion storage area to a second address in K stripes corresponding to each capacity expansion storage area according to the migration offset corresponding to each capacity expansion storage area, including:
determining data stored in each capacity expansion storage area by a target hard disk to be subjected to data migration in the hard disks included in the first hard disk set according to the migration offset corresponding to each capacity expansion storage area;
and migrating the stored data in each capacity-expansion storage area from the first address to the second address according to the migration offset corresponding to each capacity-expansion storage area.
9. The method of claim 8, wherein the step of determining the position of the first electrode is performed,
Migrating the data stored in each capacity expansion storage area from a first address in K stripes corresponding to each capacity expansion storage area to a second address in K stripes corresponding to each capacity expansion storage area according to the migration offset corresponding to each capacity expansion storage area, including:
determining the maximum addresses of K stripes of each expansion storage area under the condition that the stored data comprises data of at least two hard disks;
determining the sum of the current address of the data of any hard disk in the at least two hard disks in each capacity-expansion storage area and the migration offset;
controlling data migration of any hard disk from the first address to the second address under the condition that the maximum address is larger than the sum value;
and controlling the data of any hard disk to stop data migration under the condition that the maximum address is smaller than the sum value.
10. The method of claim 1, wherein the step of determining the position of the substrate comprises,
after migrating the data stored in each expansion storage area from a first address in K stripes corresponding to each expansion storage area to a second address in K stripes corresponding to each expansion storage area according to the migration offset corresponding to each expansion storage area, the method further includes:
Receiving a writing request sent by a host device, wherein the writing request carries a first blocking position to be written in the disk array;
responding to the write request under the condition that no data is currently stored in the first block position;
and refusing to respond to the write request under the condition that the stored data exists in the first blocking position currently.
11. The method of claim 10, wherein the step of determining the position of the first electrode is performed,
responding to the write request, comprising:
determining whether a write operation of the host device is successfully received within a preset time period;
allowing the first block location to be used by other host devices if the write operation is not received within the preset time period;
and under the condition that the writing operation is received in the preset time period, writing the data corresponding to the writing operation into the first block position.
12. The method of claim 1, wherein the step of determining the position of the substrate comprises,
after migrating the data stored in each expansion storage area from a first address in K stripes corresponding to each expansion storage area to a second address in K stripes corresponding to each expansion storage area according to the migration offset corresponding to each expansion storage area, the method further includes:
Receiving a read request sent by a host device, wherein the read request carries a second block position to be read in the disk array;
refusing to respond to the read request if no data is currently stored in the second block location;
and responding to the read request in the condition that the stored data exists in the second block position.
13. The method of claim 1, wherein the step of determining the position of the substrate comprises,
after migrating the data stored in each expansion storage area from a first address in K stripes corresponding to each expansion storage area to a second address in K stripes corresponding to each expansion storage area according to the migration offset corresponding to each expansion storage area, the method further includes:
carrying out integrity check on the data at the second address under the condition that the stored data is migrated to the second address;
determining target data that fails the integrity check;
the target data is migrated again from the first address to the second address.
14. The method of claim 1, wherein the step of determining the position of the substrate comprises,
before determining the corresponding plurality of capacity-expansion storage areas in each subarray after capacity expansion and the migration offset corresponding to each capacity-expansion storage area, the method further comprises:
Responding to a capacity expansion request sent by a system where the disk array is located;
analyzing the number of the hard disks required from the capacity expansion request;
and determining the number of the hard disks corresponding to the second hard disk set according to the number of the hard disks comprising the first hard disk set and the number of the hard disks required.
15. The method of claim 1, wherein the step of determining the position of the substrate comprises,
before determining the corresponding plurality of capacity-expansion storage areas in each subarray after capacity expansion and the migration offset corresponding to each capacity-expansion storage area, the method further comprises:
receiving a data storage request sent by a data storage party;
analyzing the number of hard disks needed by the data storage party from the data storage request;
and under the condition that the number of the hard disks needed by the data storage party is larger than that of the first hard disk set comprising the hard disks, determining the number of the hard disks corresponding to the second hard disk set according to the number of the hard disks comprising the hard disks of the first hard disk set and the number of the hard disks needed by the data storage party.
16. The method of claim 15, wherein the step of determining the position of the probe is performed,
determining the number of hard disks corresponding to the second hard disk set according to the number of hard disks comprising the first hard disk set and the number of hard disks required by the data storage party, including:
Acquiring an idle state of a hard disk included in a first hard disk set included in the first hard disk set;
and under the condition that the idle states of the hard disks included in the first hard disk set are not idle, determining the sum of the number of the hard disks included in the first hard disk set and the number of the hard disks needed by the data storage party as the number of the hard disks corresponding to the second hard disk set.
17. The method of claim 15, wherein the step of determining the position of the probe is performed,
determining the number of hard disks corresponding to the second hard disk set according to the number of hard disks comprising the first hard disk set and the number of hard disks required by the data storage party, including:
acquiring an idle state of a hard disk included in a first hard disk set included in the first hard disk set;
and determining the difference value between the number of the hard disks required by the data storage party and the P, and determining the sum value of the difference value and the number of the hard disks, which are included in the first hard disk set, as the number of the hard disks corresponding to the second hard disk set when the idle state of the hard disks, which are included in the first hard disk set, indicates that only P hard disks in the hard disks, which are included in the first hard disk set, are idle.
18. A data migration apparatus, characterized in that,
comprising the following steps:
the first determining module is used for determining a first hard disk set included in the disk array, wherein the disk array is divided into a plurality of subarrays, each subarray comprises M storage areas with continuous addresses, each storage area comprises K strips, and M and K are positive integers;
the second determining module is used for determining a plurality of corresponding expansion storage areas in each subarray after expansion and migration offset corresponding to each expansion storage area under the condition that the first hard disk set is expanded to the second hard disk set;
each capacity expansion storage area migration module is configured to migrate, according to a migration offset corresponding to each capacity expansion storage area, data stored in each capacity expansion storage area from a first address in K stripes corresponding to each capacity expansion storage area to a second address in K stripes corresponding to each capacity expansion storage area, where the first address is a current storage address of the stored data in each capacity expansion storage area;
the second determining module is further configured to determine, when the M is not equal to the number of hard disks in the first hard disk set including hard disks, a first storage area number of the plurality of capacity expansion storage areas and a storage area difference value of the M; determining all storage area addresses corresponding to the subarray addresses of each subarray after capacity expansion from a preset chart, wherein the preset chart stores: the corresponding relation between the expanded subarray address and the storage area addresses of all the storage areas allowed to be used by the expanded subarray address; determining a plurality of storage area addresses from all the storage area addresses, wherein the number of the storage area addresses is consistent with the storage area difference value; and determining the storage areas corresponding to the storage area addresses as the expansion storage areas.
19. A RAID storage device comprising the data storage apparatus of claim 18.
20. A computer-readable storage medium comprising,
the computer readable storage medium has stored therein a computer program, wherein the computer program when executed by a processor realizes the steps of the method as claimed in any of claims 1 to 17.
21. An electronic device comprising a memory, a processor and a computer program stored on the memory and executable on the processor, characterized in that,
the processor, when executing the computer program, implements the steps of the method as claimed in any one of claims 1 to 17.
CN202311514241.3A 2023-11-14 2023-11-14 Data migration method and device, RAID storage device, storage medium and electronic device Active CN117234433B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311514241.3A CN117234433B (en) 2023-11-14 2023-11-14 Data migration method and device, RAID storage device, storage medium and electronic device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311514241.3A CN117234433B (en) 2023-11-14 2023-11-14 Data migration method and device, RAID storage device, storage medium and electronic device

Publications (2)

Publication Number Publication Date
CN117234433A CN117234433A (en) 2023-12-15
CN117234433B true CN117234433B (en) 2024-02-20

Family

ID=89091595

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311514241.3A Active CN117234433B (en) 2023-11-14 2023-11-14 Data migration method and device, RAID storage device, storage medium and electronic device

Country Status (1)

Country Link
CN (1) CN117234433B (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108255413A (en) * 2016-12-29 2018-07-06 华为技术有限公司 Method, the storage system of Data Migration after a kind of storage system dilatation
CN112130768A (en) * 2020-09-18 2020-12-25 苏州浪潮智能科技有限公司 Disk array online capacity expansion method and device and computer readable storage medium
CN113849124A (en) * 2021-08-27 2021-12-28 苏州浪潮智能科技有限公司 Disk array capacity expansion method and device
CN115576500A (en) * 2022-12-06 2023-01-06 苏州浪潮智能科技有限公司 RAID array capacity expansion method and related device

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108255413A (en) * 2016-12-29 2018-07-06 华为技术有限公司 Method, the storage system of Data Migration after a kind of storage system dilatation
CN112130768A (en) * 2020-09-18 2020-12-25 苏州浪潮智能科技有限公司 Disk array online capacity expansion method and device and computer readable storage medium
CN113849124A (en) * 2021-08-27 2021-12-28 苏州浪潮智能科技有限公司 Disk array capacity expansion method and device
CN115576500A (en) * 2022-12-06 2023-01-06 苏州浪潮智能科技有限公司 RAID array capacity expansion method and related device

Also Published As

Publication number Publication date
CN117234433A (en) 2023-12-15

Similar Documents

Publication Publication Date Title
CN107943421B (en) Partition division method and device based on distributed storage system
CN108780386B (en) Data storage method, device and system
CN107807794B (en) Data storage method and device
EP3101530B1 (en) Data distribution method, data storage method, related apparatus, and system
CN110413201B (en) Method, apparatus and computer program product for managing a storage system
US10365968B2 (en) Apportioning namespace ranges in accordance with dispersed storage unit capacity
US10558383B2 (en) Storage system
US10852966B1 (en) System and method for creating mapped RAID group during expansion of extent pool
WO2021008197A1 (en) Resource allocation method, storage device, and storage system
CN110213326B (en) Method, system, equipment and storage medium for capacity expansion of metadata node cluster
US10664392B2 (en) Method and device for managing storage system
CN112748867B (en) Method, electronic device and computer program product for storage management
US20210326207A1 (en) Stripe reassembling method in storage system and stripe server
US20220253356A1 (en) Redundant data calculation method and apparatus
CN115576500B (en) RAID array capacity expansion method and related device
CN115657960B (en) Disk array initialization method, device, equipment and readable storage medium
CN112732168B (en) Method, apparatus and computer program product for managing a storage system
CN109840051B (en) Data storage method and device of storage system
EP3859506B1 (en) Node expansion method in storage system and storage system
US11119703B2 (en) Utilizing a set of virtual storage units distributed across physical storage units
CN117234433B (en) Data migration method and device, RAID storage device, storage medium and electronic device
US20210216403A1 (en) Dynamically adjusting redundancy levels of storage stripes
CN113918083A (en) Stripe management method, storage system, stripe management apparatus, and storage medium
WO2020083106A1 (en) Node expansion method in storage system and storage system
CN111399755A (en) Data storage management method and device

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant