CN111552437A - Snapshot method and snapshot device applied to distributed storage system - Google Patents
Snapshot method and snapshot device applied to distributed storage system Download PDFInfo
- Publication number
- CN111552437A CN111552437A CN202010319937.0A CN202010319937A CN111552437A CN 111552437 A CN111552437 A CN 111552437A CN 202010319937 A CN202010319937 A CN 202010319937A CN 111552437 A CN111552437 A CN 111552437A
- Authority
- CN
- China
- Prior art keywords
- snapshot
- data
- write
- logical volume
- volume
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 25
- 230000002085 persistent effect Effects 0.000 claims abstract description 4
- 238000012545 processing Methods 0.000 claims description 22
- 238000012217 deletion Methods 0.000 claims description 8
- 230000037430 deletion Effects 0.000 claims description 8
- 230000001419 dependent effect Effects 0.000 claims description 4
- 238000011084 recovery Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 6
- 208000024191 minimally invasive lung adenocarcinoma Diseases 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 230000002159 abnormal effect Effects 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000007717 exclusion Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 239000002360 explosive Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/065—Replication mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0652—Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0662—Virtualisation aspects
- G06F3/0665—Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
The invention relates to a snapshot method and a snapshot device applied to a distributed storage system, wherein the distributed storage system comprises a data access client, an IO routing layer, a storage node data read-write layer and a metadata service cluster, and the snapshot method comprises the following steps: acquiring a snapshot request, wherein the snapshot request comprises a snapshot type parameter, a snapshot TAG and a logical volume UUID; the data access client side with the logic volume is hung to hang a subsequent writing request; allocating a logical volume snapshot ID and persisting logical volume metadata to create a snapshot; restoring the write request, and realizing the snapshot logic of the corresponding logic volume based on the snapshot type parameter; and the IO routing layer realizes read-write access logic of the chained clone volume of the snapshot volume, and the snapshot logic of the corresponding logical volume is executed in the storage node data read-write layer. Compared with the prior art, the method has the advantages of low influence on performance, flexible application scene and the like.
Description
Technical Field
The present invention relates to the field of data protection and the field of distributed storage, and in particular, to a snapshot method and a snapshot apparatus applied to a distributed storage system.
Background
With the explosive growth of data and the development of storage technologies, storage architectures gradually evolve from traditional NAS and SAN to distributed storage architectures, and a relatively mature snapshot technology in traditional storage cannot be completely applied to a distributed environment, and a new snapshot system must be designed and implemented under a distributed storage framework.
The snapshot technology completely stores data of a certain time point of a storage volume in a storage system, and generally includes two modes of Copy-On-Write (COW) and Redirect-On-Write (ROW). Copying while writing refers to creating a snapshot, and then backing up data on the logical volume and executing writing operation on the logical volume according to a writing request of the logical volume; and the redirection during writing means that a new storage unit is allocated for the writing request of the logical volume after the snapshot is created, and the subsequent writing operation is written into the new storage unit. Both of the above two snapshot implementation techniques require extra storage space to store snapshot data and index metadata, and at the same time, the data needs to be stored and restored in a fixed size, for example, 64 KiB. The snapshot logic when processing the read-write operation of the front-end application involves updating the snapshot metadata, and the mutual exclusion updating of the metadata is generally realized through the lock logic. In a distributed environment, data is stored in a multi-copy form or an erasure code form, and the data is scattered and stored on a plurality of physical storage devices by taking a data block with a fixed size as a unit. The front-end write request may be converted into a write operation to multiple copies of data or multiple blocks of data and parity blocks for multiple nodes. For example, in an existing snapshot implementation manner such as a distributed storage system disk snapshot recovery method disclosed in patent application CN109408291A, limitation is easily brought to shared access of multiple machine heads of a logical volume in a distributed environment, and a performance is greatly reduced by implementing shared data service of multiple machine heads by using a distributed lock mechanism. Therefore, a new implementation manner is required for the snapshot technology in the distributed storage system.
Disclosure of Invention
The present invention is directed to overcome the above-mentioned drawbacks of the prior art, and provides a snapshot method and a snapshot apparatus applied to a distributed storage system, which can minimize the performance impact of snapshot logic on a logical volume.
The purpose of the invention can be realized by the following technical scheme:
a snapshot method applied to a distributed storage system including a data access client (BAC), an IO routing layer (IO Router), a storage node data read-write layer (OSD), and a metadata service cluster (MDSCluster), the snapshot method comprising the steps of:
acquiring a snapshot request, wherein the snapshot request comprises a snapshot type parameter, a snapshot TAG and a logical volume UUID;
the data access client side with the logic volume is hung to hang a subsequent writing request;
allocating a logical volume snapshot ID and persisting logical volume metadata to create a snapshot;
restoring the write request, and realizing the snapshot logic of the corresponding logic volume based on the snapshot type parameter;
and the IO routing layer realizes read-write access logic of the chained clone volume of the snapshot volume, and the snapshot logic of the corresponding logical volume is executed in the storage node data read-write layer.
The snapshot request may be obtained through a snapshot management toolset or API.
Further, the type of the snapshot request includes snapshot creation, deletion, rollback, query or consistent snapshot group creation, and the like, and the snapshot group creation may be performed.
Further, the snapshot data of the data object of the logical volume and the data object data are stored in the same physical storage device.
Furthermore, the snapshot information of the logical volume is stored in a metadata object of the logical volume in a bitmap form, the association information of the chained clone volume and the upper layer logical volume is stored in the metadata object of the chained clone volume, the auxiliary information of the snapshot is stored in the metadata service cluster, and the snapshot metadata information of the data object is stored in the metadata area of the data object of the storage device.
Further, the logical volume for creating the snapshot supports multiple data access clients to perform IO read and write simultaneously.
Further, the snapshot types include copy-on-write and redirect-on-write,
when the snapshot type is copy-on-write, a snapshot ID of the last copy-on-write operation is recorded in a metadata space of the data object, the snapshot data object is obtained according to the snapshot ID, a snapshot read-write chain access structure is formed,
when the snapshot type is the redirection during writing, the metadata of the logical volume data object comprises a snapshot ID of the last redirection operation during writing and effective data bitmap information, the snapshot data object comprises effective data bitmap information, if the effective data bitmap information in the snapshot data object can not cover all data of the read request, the preorder snapshot object is read until all effective data are read,
the snapshot object data is read only.
Furthermore, when the snapshot type is write-time redirection, the front-end data access pressure is dynamically monitored, when the front-end data access pressure is lower than a set value, the valid data of the pre-sequence snapshot object is automatically read, the valid data of the post-sequence snapshot object and the valid data of the logical volume data object are supplemented, and the access delay of the write request is reduced.
Further, when the data access client suspends the subsequent write request, if the command of recovering the write request is not received within the set time, the write request is automatically recovered, and the snapshot is set as an invalid snapshot.
Further, when the snapshot is deleted, whether the dependent chain clone volume exists in the snapshot to be deleted is judged, and if yes, the deletion fails.
Furthermore, when the snapshot is deleted, if the snapshot type is the redirection during writing, the bitmap of the metadata of the subsequent snapshot object is checked before the snapshot object is recovered, if all valid data is not contained, the valid data is supplemented to the subsequent snapshot object before the snapshot object is recovered, and the snapshot object deletion operation is executed after the dependency relationship is removed.
Further, when the distributed storage is abnormal, so that a copy fault exists for data recovery, the snapshot data object of the logical volume data object is preferentially recovered, and then the logical volume data object is recovered, so that the chained access request of the snapshot data is ensured.
The invention also provides a snapshot device applied to a distributed storage system, the distributed storage system comprises a data access client, an IO routing layer, a storage node data read-write layer and a metadata service cluster, the snapshot device comprises a chain type clone volume IO processing module arranged in the IO routing layer and a snapshot IO processing module arranged in the storage node data read-write layer, wherein,
the chained clone volume IO processing module realizes read-write logic of the chained clone volume created based on the snapshot point of the logical volume, and the snapshot IO processing module is used for executing snapshot read-write operation of front-end application IO based on the snapshot type after the snapshot is created, and supports two modes of COW and ROW.
Compared with the prior art, the invention has the following beneficial effects:
1. the invention is suitable for a distributed storage environment, supports two snapshot technologies of copy-on-write and redirection-on-write to adapt to different application scenes, and can reduce the influence of snapshot logic on the performance of the logical volume to the minimum.
2. The invention provides a storage snapshot function based on the logical volume for the distributed storage system by realizing the snapshot in the IO routing layer and the OSD layer.
3. According to the invention, the snapshot data of the data object of the logical volume and the data object data are stored in the same physical storage device, and copy-on-write and redirection of all the logical volumes are generated in the OSD, so that the cross-physical device and cross-physical node of snapshot logic are avoided, performance loss caused by cross-device and cross-node snapshot operation is avoided, and meanwhile, the complexity of snapshot logic processing of abnormal scenes such as node abnormality and the like possibly occurring in distributed storage is reduced.
4. The logical volume for creating the snapshot supports a plurality of data access clients to simultaneously perform IO read-write, and lock logic is not needed to be adopted among the data access clients to realize concurrent control of copying during snapshot write, so that the performance loss of the logical volume after the snapshot is started is reduced.
5. For the type of redirection snapshot during writing, the invention dynamically monitors the front-end data access pressure, automatically reads the valid data of the preorder snapshot object when the front-end data access pressure is low, supplements the valid data of the postorder snapshot object and the logical volume data object, and reduces the access delay of the writing request.
6. When the snapshot is deleted, the invention firstly judges that the snapshot has the dependent chain clone volume, and releases the storage space when the snapshot and all the pre-snapshots are deleted, thereby effectively improving the reliability when the data is deleted.
Drawings
FIG. 1 is a schematic diagram of a distributed storage system for use with the present invention;
FIG. 2 is a schematic diagram of a distributed snapshot creation process of the present invention;
FIG. 3 is a schematic diagram of a distributed COW snapshot implementation logic of the present invention;
FIG. 4 is a diagram illustrating distributed ROW snapshot implementation logic of the present invention.
Detailed Description
The invention is described in detail below with reference to the figures and specific embodiments. The present embodiment is implemented on the premise of the technical solution of the present invention, and a detailed implementation manner and a specific operation process are given, but the scope of the present invention is not limited to the following embodiments.
Example 1
The embodiment provides a snapshot device applied to a distributed storage system, which is used for realizing storage snapshot based on a logical volume, providing historical data protection and backup functions for data of the distributed storage system, and effectively reducing the limitation on shared access and the influence on the performance of shared data service.
As shown in fig. 1, the distributed storage system applied to the snapshot apparatus of the present invention includes a data (block storage) access client (BAC), an IO routing layer (IO Router), a storage node data read-write layer (OSD), and a metadata service cluster (MDSCluster), where a read-write request of a front-end application is forwarded to the IO routing layer for processing via the BAC, and a read-write request of an IO routing layer that constructs multiple copies is sent to the OSD via an IO link to complete a real IO read-write operation. An IO routing layer (IO Router) and a storage node data read-write layer (OSD) form a storage service node, and a plurality of storage service nodes form a storage service cluster. The snapshot device comprises a chained clone volume read-write module, a snapshot realization module, a chained clone volume IO processing module and a snapshot IO processing module, wherein the chained clone volume IO processing module is arranged in the IO routing layer, and the snapshot IO processing module is arranged in the storage node data read-write layer; the snapshot IO processing module is used for receiving the logical volume snapshot information of the metadata service cluster after creating the snapshot and executing snapshot read-write operation of the front-end application IO according to the snapshot type, so as to realize specific snapshot data processing logic and support two modes of COW and ROW.
The snapshot can be performed with relevant operations according to the needs of the storage system administrator, where the operations include creation, deletion, creation of a snapclone volume, and the like of the snapshot.
The process of creating the snapshot by the snapshot device applied to the distributed storage system comprises the following steps:
1) the metadata service cluster receives a snapshot creation request, wherein the creation request comprises a logical volume UUID, a snapshot type and a snapshot TAG;
2) the metadata service cluster informs all data access clients to suspend all subsequent write requests;
after informing all data access clients (interface layers) to suspend all subsequent write requests of corresponding logical volumes, the metadata service cluster waits for all current write requests to be completed, and if a snapshot is executed on a consistency snapshot group, the subsequent write requests of all logical volumes in the group are suspended;
3) the metadata service cluster allocates a new snapshot ID for the snapshot and updates and persists the metadata object of the logical volume;
the metadata service cluster generates a snapshot (group) ID, synchronizes the latest snapshot (group) ID to all distributed storage service nodes, updates the metadata of the logical volume, and increases the snapshot (group) ID atoms progressively without repeated use; 4) the metadata service cluster synchronizes the latest logical volume snapshot ID to all storage service nodes, and all the storage service nodes inform the metadata cluster that the latest logical volume snapshot ID is received;
5) the metadata service cluster notifies all data access clients to resume write request processing and synchronizes the latest snapshot ID.
In fig. 2, the metadata service cluster receives a snapshot creation request for the logical volume from the CLI/API, searches for all BACs that have acquired the mount of the logical volume, and notifies all BACs that have mounted the logical volume to suspend subsequent write requests; and after the logical volume snapshot ID is distributed and persisted, notifying all storage service nodes, returning to a request end after the completion, completing snapshot creation, and notifying all BACs to restore the subsequent write request processing. And all subsequent snapshot read-write logics are processed according to the latest snapshot ID.
The COW snapshot processing logic is as follows:
1) the data access client reads and writes requests to the logical volume, wherein the requests comprise the snapshot type and the snapshot ID of the logical volume;
2) OSD checking copy data object to execute COW snapshot ID last time, if snapshot ID is consistent with latest snapshot ID of write request, directly executing write operation, otherwise executing COW operation;
3) OSD executes COW operation, firstly, a data object write lock is obtained, and multiple COW operations triggered by a write request of the same data object are avoided; allocating a snapshot object storage space, copying data object data to a snapshot object, and updating snapshot object metadata;
4) and the OSD executes the write operation on the data object and returns the processing result to the IO routing layer.
Fig. 3 is a schematic diagram of a distributed COW snapshot implementation logic of this embodiment. Taking a logical volume with a volume ID of 0x8641 as an example, at time T0, the data object and object ID are 0x0864100000000001, and one snapshot point is created at each of times T1, T2, T3, and T4. There are one write request to the data object after time T3 and one write request after time T4, respectively.
At time T0, volume 0x8641 does not create any snapshot, and directly converts the volume into a write request for a data object with ID 0x0864100000000001 according to the write offset and length of the write request;
after time T3, receiving a write request for the same data object again, querying metadata of the data object, where LastSnapid is 0, no COW operation is performed, executing COW operation, reading data of the data object 0x0864100000000001, saving the data in the newly created data area of the snapshot object 0x0864100030000001, updating metadata SnapRange of the snapshot object to 1-3, and indicating that the data of the snapshot data object is shared by snapshots 1, 2, and 3; updating the metadata LastSnapID of the data object 0x0864100000000001 to be 3, wherein the LastSnapID represents the snapshot ID of the last execution of the COW operation; the COW operation is complete and the write request is written to data object 0x 0864100000000001.
After time T4, the write request is received again, at this time, the snapshot ID is updated to 4, the LastSnapID in the data object 0x0864100000000001 is still 3, the SnapID is inconsistent with the LastSnapID, the COW operation is performed, after completion, the new snapshot data is stored in the snapshot object 0x0864100040000001, the new snapshot object metadata SnapRange is 4-4, and meanwhile, the logical volume data object 0x0864100000000001 metadata LastSnapID is updated to 4.
And if the snapshot data at a certain snapshot moment needs to be read, finding the data corresponding to the snapshot ID through the chained access data object and the metadata of the snapshot data object for reading. The data of the snapshot data object is read-only.
ROW snapshot processing flow:
1) the data access client reads and writes requests to the logical volume, wherein the requests comprise the snapshot type and the snapshot ID of the logical volume;
2) for the write request, OSD checks the snapshot ID of last ROW execution of the copy original data object, if the snapshot ID is consistent with the latest snapshot ID of the write request, the write operation is redirected to the latest storage position for execution, and the effective data bitmap of the original data object b is updated after the execution is finished; if the data objects are inconsistent, distributing new storage data objects, redirecting the write operation to the new storage data objects, updating the metadata of the original data objects, and updating the latest storage position index;
3) for the read request, the OSD searches the effective data bitmap of the latest original data object, if the effective data covers all data blocks needed by the read request, the read request is redirected to the latest storage position to be executed, and if the effective data only covers part of the effective data or does not cover any effective data, the latest storage is read.
Fig. 4 is a schematic diagram of a distributed ROW snapshot implementation logic of this embodiment.
At time T0, to create any snapshot for the logical volume, the volume write request writes to data object 0x0864100000000001 based on the write offset and data length.
After time T3, a write request is received, data object 0x0864100000000001 metadata is queried, LastSnapID is 0, ROW is triggered, data object 0x0864100040000001 is newly created, write request data is written to the latest data object, metadata SnapRange is set to [4-0xFFFF ], the data belongs to all subsequent snapshots with snapshot ID of 3, bitmap records the position and length of actually written data, original data object 0x0864100000000001 becomes read-only, updated metadata LastSnapID is 3, SnapRange is [1-3], data representing the data object is shared by snapshots 1, 2, 3, and the write request returns write success.
At time T4, a write request is received again, the metadata of the data object 0x0864100000000001 is queried, the LastSnapID is 3, the calculation successor data object is 0x0864100040000001, the SnapRange of the data object is 4-0xFFFF, and the current logical volume snapshot ID is 4, which are not matched, a new data object 0x0864100050000001 is created again, the write request data is written into the data object, and the SnapRange (5-0xFFFF) and valid data bitmap (0 xfffff 0000) of the corresponding metadata are updated. The metadata SnapRange of the data object 0x0864100040000001 is updated to [4-4], the data object becomes read-only, and the write request returns a write success.
The snapshot deletion includes the following steps:
4-1) the metadata service cluster receives the snapshot deleting request, updates the metadata of the logical volume, marks the snapshot deletion, and informs all storage service nodes, if the snapshot has a dependent chained clone volume, the snapshot deletion fails;
4-2) the OSD layer snapshot logic receives the snapshot deleting message, if the snapshot and all the pre-snapshots are deleted, all the deleted snapshot objects are recovered in all the physical storage devices, and the storage space occupied by the snapshot data is released.
Example 2
The embodiment provides a snapshot method applied to a distributed storage system, which comprises the following steps: acquiring a snapshot request, wherein the snapshot request comprises a snapshot type parameter, a snapshot TAG and a logical volume UUID; the data access client side with the logic volume is hung to hang a subsequent writing request; allocating a logical volume snapshot ID and persisting logical volume metadata to create a snapshot; and recovering the write request, and realizing the snapshot logic of the corresponding logic volume based on the snapshot type parameter. And the IO routing layer realizes the read-write access logic of the chained clone volume of the snapshot volume, and the snapshot logic of the corresponding logical volume is executed in the storage node data read-write layer.
The foregoing detailed description of the preferred embodiments of the invention has been presented. It should be understood that numerous modifications and variations could be devised by those skilled in the art in light of the present teachings without departing from the inventive concepts. Therefore, the technical solutions that can be obtained by a person skilled in the art through logic analysis, reasoning or limited experiments based on the prior art according to the concept of the present invention should be within the protection scope determined by the present invention.
Claims (10)
1. A snapshot method applied to a distributed storage system is characterized in that the distributed storage system comprises a data access client, an IO routing layer, a storage node data read-write layer and a metadata service cluster, and the snapshot method comprises the following steps:
acquiring a snapshot request, wherein the snapshot request comprises a snapshot type parameter, a snapshot TAG and a logical volume UUID;
the data access client side with the logic volume is hung to hang a subsequent writing request;
allocating a logical volume snapshot ID and persisting logical volume metadata to create a snapshot;
restoring the write request, and realizing the snapshot logic of the corresponding logic volume based on the snapshot type parameter;
and the IO routing layer realizes read-write access logic of the chained clone volume of the snapshot volume, and the snapshot logic of the corresponding logical volume is executed in the storage node data read-write layer.
2. The snapshot method applied to the distributed storage system according to claim 1, wherein the snapshot data of the data object of the logical volume and the data object data are stored in the same physical storage device.
3. The snapshot method applied to the distributed storage system according to claim 1, wherein the snapshot information of the logical volume is stored in a metadata object of the logical volume in a bitmap form, the association information of the chained clone volume and the upper layer logical volume is stored in the metadata object of the chained clone volume, the attachment information of the snapshot is stored in the metadata service cluster, and the snapshot metadata information of the data object is stored in a metadata area of the data object of the storage device.
4. The snapshot method applied to the distributed storage system according to claim 1, wherein the logical volume for creating the snapshot supports a plurality of data access clients to perform IO read and write simultaneously.
5. The snapshot method applied to the distributed storage system according to claim 1, wherein the snapshot type includes copy-on-write and redirect-on-write,
when the snapshot type is copy-on-write, a snapshot ID of the last copy-on-write operation is recorded in a metadata space of the data object, the snapshot data object is obtained according to the snapshot ID, a snapshot read-write chain access structure is formed,
when the snapshot type is redirection during writing, the metadata of the logical volume data object comprises a snapshot ID of last execution of redirection during writing and effective data bitmap information, the snapshot data object comprises effective data bitmap information, and if the effective data bitmap information in the snapshot data object cannot cover all data of the read request, the pre-order snapshot object is read until all effective data are read.
6. The snapshot method applied to the distributed storage system according to claim 5, wherein when the snapshot type is redirection during write, the front end data access pressure is dynamically monitored, and when the front end data access pressure is lower than a set value, the valid data of the preceding snapshot object is automatically read, and the valid data of the following snapshot object and the valid data of the logical volume data object are filled.
7. The snapshot method applied to the distributed storage system according to claim 1, wherein when the data access client suspends the subsequent write request, if the command for resuming the write request is not received within a set time, the write request is automatically resumed, and the snapshot is set as an invalid snapshot.
8. The snapshot method applied to the distributed storage system according to claim 1, wherein when a snapshot is deleted, it is determined whether a dependent chained clone volume exists in the snapshot to be deleted, and if so, the deletion fails.
9. The snapshot method applied to the distributed storage system according to claim 1, wherein when the distributed storage exception causes a copy failure to perform data recovery, the snapshot data object of the logical volume data object is preferentially recovered, and then the logical volume data object is recovered.
10. A snapshot device applied to a distributed storage system, wherein the distributed storage system comprises a data access client, an IO routing layer, a storage node data read-write layer and a metadata service cluster, the snapshot device comprises a chained clone volume IO processing module arranged in the IO routing layer and a snapshot IO processing module arranged in the storage node data read-write layer, wherein,
the chained clone volume IO processing module realizes read-write logic of the chained clone volume created based on the snapshot point of the logical volume, and the snapshot IO processing module is used for executing snapshot read-write operation of front-end application IO based on the snapshot type after the snapshot is created.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010319937.0A CN111552437B (en) | 2020-04-22 | 2020-04-22 | Snapshot method and snapshot device applied to distributed storage system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010319937.0A CN111552437B (en) | 2020-04-22 | 2020-04-22 | Snapshot method and snapshot device applied to distributed storage system |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111552437A true CN111552437A (en) | 2020-08-18 |
CN111552437B CN111552437B (en) | 2024-03-15 |
Family
ID=72002492
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010319937.0A Active CN111552437B (en) | 2020-04-22 | 2020-04-22 | Snapshot method and snapshot device applied to distributed storage system |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111552437B (en) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113489784A (en) * | 2021-07-05 | 2021-10-08 | 深圳市杉岩数据技术有限公司 | Distributed storage asymmetric logic unit access multipath implementation method and system |
CN113568788A (en) * | 2021-09-26 | 2021-10-29 | 成都云祺科技有限公司 | Snapshot method, system and storage medium for Linux non-logical volume block device |
CN113721861A (en) * | 2021-11-01 | 2021-11-30 | 深圳市杉岩数据技术有限公司 | Fixed-length block-based data storage implementation method and computer-readable storage medium |
CN113721849A (en) * | 2021-08-23 | 2021-11-30 | 深圳市杉岩数据技术有限公司 | Data replication and unloading method based on distributed storage and terminal equipment |
CN114116312A (en) * | 2021-11-25 | 2022-03-01 | 北京大道云行科技有限公司 | ROW snapshot design method and system based on distributed block storage |
CN114115722A (en) * | 2021-10-15 | 2022-03-01 | 阿里云计算有限公司 | Logical volume construction method, device, apparatus, readable storage medium, and program product |
CN114564321A (en) * | 2022-02-28 | 2022-05-31 | 苏州浪潮智能科技有限公司 | Snapshot creating method and system and computer readable storage medium |
CN117473117A (en) * | 2023-12-27 | 2024-01-30 | 江西云眼视界科技股份有限公司 | Video cyclic storage method, system and computer |
CN118069432A (en) * | 2024-04-19 | 2024-05-24 | 济南浪潮数据技术有限公司 | Method, device, equipment and storage medium for snapshot rollback of distributed block storage volume |
Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1896960A (en) * | 2005-07-12 | 2007-01-17 | 中国科学院计算技术研究所 | Fast photographic system and method |
CN102868727A (en) * | 2012-08-23 | 2013-01-09 | 广东电子工业研究院有限公司 | Method for realizing high availability of logical volume |
TW201318382A (en) * | 2011-06-10 | 2013-05-01 | Interdigital Patent Holdings | Method and apparatus for performing neighbor discovery |
CN103942011A (en) * | 2014-03-04 | 2014-07-23 | 中国科学院计算技术研究所 | Differential snapshot system and use method thereof |
CN105843704A (en) * | 2016-03-15 | 2016-08-10 | 上海爱数信息技术股份有限公司 | Data protection method and system capable of combining with snapshot function based on distributed block storage |
CN106055431A (en) * | 2016-05-30 | 2016-10-26 | 河海大学 | Data backup and recovery method and data backup and recovery device based on snapshot online rollback |
US20170235763A1 (en) * | 2016-02-12 | 2017-08-17 | Nutanix, Inc. | Virtualized file server splitting and merging |
CN107291391A (en) * | 2017-06-21 | 2017-10-24 | 郑州云海信息技术有限公司 | A kind of data processing method and system for distributed memory system |
CN107798130A (en) * | 2017-11-17 | 2018-03-13 | 广西广播电视信息网络股份有限公司 | A kind of Snapshot Method of distributed storage |
WO2018119998A1 (en) * | 2016-12-30 | 2018-07-05 | 华为技术有限公司 | Snapshot rollback method, apparatus, storage controller, and system |
CN109327539A (en) * | 2018-11-15 | 2019-02-12 | 上海天玑数据技术有限公司 | A kind of distributed block storage system and its data routing method |
CN109408291A (en) * | 2018-10-31 | 2019-03-01 | 郑州云海信息技术有限公司 | A kind of distributed memory system disk snapshot restoration methods, device and electronic equipment |
US20190073270A1 (en) * | 2017-09-05 | 2019-03-07 | Robin Systems, Inc. | Creating Snapshots Of A Storage Volume In A Distributed Storage System |
CN110032474A (en) * | 2019-04-12 | 2019-07-19 | 苏州浪潮智能科技有限公司 | A kind of snapshot, which occupies, holds method for determination of amount, system and associated component |
CN110058822A (en) * | 2019-04-26 | 2019-07-26 | 北京计算机技术及应用研究所 | A kind of disk array transverse direction expanding method |
CN110502187A (en) * | 2019-07-09 | 2019-11-26 | 华为技术有限公司 | A kind of snapshot rollback method and device |
CN110554834A (en) * | 2018-06-01 | 2019-12-10 | 阿里巴巴集团控股有限公司 | File system data access method and file system |
-
2020
- 2020-04-22 CN CN202010319937.0A patent/CN111552437B/en active Active
Patent Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1896960A (en) * | 2005-07-12 | 2007-01-17 | 中国科学院计算技术研究所 | Fast photographic system and method |
TW201318382A (en) * | 2011-06-10 | 2013-05-01 | Interdigital Patent Holdings | Method and apparatus for performing neighbor discovery |
CN102868727A (en) * | 2012-08-23 | 2013-01-09 | 广东电子工业研究院有限公司 | Method for realizing high availability of logical volume |
CN103942011A (en) * | 2014-03-04 | 2014-07-23 | 中国科学院计算技术研究所 | Differential snapshot system and use method thereof |
US20170235763A1 (en) * | 2016-02-12 | 2017-08-17 | Nutanix, Inc. | Virtualized file server splitting and merging |
CN105843704A (en) * | 2016-03-15 | 2016-08-10 | 上海爱数信息技术股份有限公司 | Data protection method and system capable of combining with snapshot function based on distributed block storage |
CN106055431A (en) * | 2016-05-30 | 2016-10-26 | 河海大学 | Data backup and recovery method and data backup and recovery device based on snapshot online rollback |
WO2018119998A1 (en) * | 2016-12-30 | 2018-07-05 | 华为技术有限公司 | Snapshot rollback method, apparatus, storage controller, and system |
CN107291391A (en) * | 2017-06-21 | 2017-10-24 | 郑州云海信息技术有限公司 | A kind of data processing method and system for distributed memory system |
US20190073270A1 (en) * | 2017-09-05 | 2019-03-07 | Robin Systems, Inc. | Creating Snapshots Of A Storage Volume In A Distributed Storage System |
CN107798130A (en) * | 2017-11-17 | 2018-03-13 | 广西广播电视信息网络股份有限公司 | A kind of Snapshot Method of distributed storage |
CN110554834A (en) * | 2018-06-01 | 2019-12-10 | 阿里巴巴集团控股有限公司 | File system data access method and file system |
CN109408291A (en) * | 2018-10-31 | 2019-03-01 | 郑州云海信息技术有限公司 | A kind of distributed memory system disk snapshot restoration methods, device and electronic equipment |
CN109327539A (en) * | 2018-11-15 | 2019-02-12 | 上海天玑数据技术有限公司 | A kind of distributed block storage system and its data routing method |
CN110032474A (en) * | 2019-04-12 | 2019-07-19 | 苏州浪潮智能科技有限公司 | A kind of snapshot, which occupies, holds method for determination of amount, system and associated component |
CN110058822A (en) * | 2019-04-26 | 2019-07-26 | 北京计算机技术及应用研究所 | A kind of disk array transverse direction expanding method |
CN110502187A (en) * | 2019-07-09 | 2019-11-26 | 华为技术有限公司 | A kind of snapshot rollback method and device |
Non-Patent Citations (2)
Title |
---|
MAYSAM YABANDEH等: "A critique of snapshot isolation", pages 155 - 168 * |
张权;胡晓勤;: "一种基于Linux标准分区的快照方法", no. 07 * |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113489784A (en) * | 2021-07-05 | 2021-10-08 | 深圳市杉岩数据技术有限公司 | Distributed storage asymmetric logic unit access multipath implementation method and system |
CN113489784B (en) * | 2021-07-05 | 2024-05-17 | 深圳市杉岩数据技术有限公司 | Method and system for realizing multipath access of asymmetric logic unit of distributed storage |
CN113721849B (en) * | 2021-08-23 | 2024-04-12 | 深圳市杉岩数据技术有限公司 | Data copying and unloading method based on distributed storage and terminal equipment |
CN113721849A (en) * | 2021-08-23 | 2021-11-30 | 深圳市杉岩数据技术有限公司 | Data replication and unloading method based on distributed storage and terminal equipment |
CN113568788A (en) * | 2021-09-26 | 2021-10-29 | 成都云祺科技有限公司 | Snapshot method, system and storage medium for Linux non-logical volume block device |
CN113568788B (en) * | 2021-09-26 | 2021-11-30 | 成都云祺科技有限公司 | Snapshot method, system and storage medium for Linux non-logical volume block device |
CN114115722A (en) * | 2021-10-15 | 2022-03-01 | 阿里云计算有限公司 | Logical volume construction method, device, apparatus, readable storage medium, and program product |
CN113721861A (en) * | 2021-11-01 | 2021-11-30 | 深圳市杉岩数据技术有限公司 | Fixed-length block-based data storage implementation method and computer-readable storage medium |
CN113721861B (en) * | 2021-11-01 | 2022-02-08 | 深圳市杉岩数据技术有限公司 | Fixed-length block-based data storage implementation method and computer-readable storage medium |
CN114116312A (en) * | 2021-11-25 | 2022-03-01 | 北京大道云行科技有限公司 | ROW snapshot design method and system based on distributed block storage |
CN114564321A (en) * | 2022-02-28 | 2022-05-31 | 苏州浪潮智能科技有限公司 | Snapshot creating method and system and computer readable storage medium |
CN117473117A (en) * | 2023-12-27 | 2024-01-30 | 江西云眼视界科技股份有限公司 | Video cyclic storage method, system and computer |
CN118069432A (en) * | 2024-04-19 | 2024-05-24 | 济南浪潮数据技术有限公司 | Method, device, equipment and storage medium for snapshot rollback of distributed block storage volume |
CN118069432B (en) * | 2024-04-19 | 2024-07-05 | 济南浪潮数据技术有限公司 | Method, device, equipment and storage medium for snapshot rollback of distributed block storage volume |
Also Published As
Publication number | Publication date |
---|---|
CN111552437B (en) | 2024-03-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111552437A (en) | Snapshot method and snapshot device applied to distributed storage system | |
US11461202B2 (en) | Remote data replication method and system | |
US10909004B1 (en) | Online system checkpoint recovery orchestration | |
US9563684B1 (en) | Replication cookie | |
US10409493B1 (en) | Online system checkpoint alert and handling | |
WO2019128820A1 (en) | Systems and methods for database management using append-only storage devices | |
US8639731B2 (en) | Apparatus for managing plural versions of a root node for an object of a file system | |
US6678809B1 (en) | Write-ahead log in directory management for concurrent I/O access for block storage | |
US8689047B2 (en) | Virtual disk replication using log files | |
KR100983300B1 (en) | Recovery from failures within data processing systems | |
US9946655B2 (en) | Storage system and storage control method | |
US10664358B1 (en) | Ensure volume consistency for online system checkpoint | |
JP2007226347A (en) | Computer system, management device for computer system, and data recovery management method | |
US10977143B2 (en) | Mirrored write ahead logs for data storage system | |
US10983709B2 (en) | Methods for improving journal performance in storage networks and devices thereof | |
US11614879B2 (en) | Technique for replicating oplog index among nodes of a cluster | |
CN109558213A (en) | The method and apparatus for managing the virtual machine snapshot of OpenStack platform | |
US11003542B1 (en) | Online consistent system checkpoint | |
JPH10326220A (en) | File system and file managing method | |
WO2017054643A1 (en) | Data recovery method and file server | |
US20240134575A1 (en) | Storage system and storage control method | |
US12086035B2 (en) | Recovery mechanism with selective ordering and concurrent operations | |
US20230325286A1 (en) | Efficient file recovery from tiered cloud snapshots | |
CN117992467A (en) | Data processing system, method and device and related equipment | |
CN118012669A (en) | File metadata recovery system and method for distributed file system |
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 | ||
CB03 | Change of inventor or designer information | ||
CB03 | Change of inventor or designer information |
Inventor after: Tong Feiwen Inventor after: Kang Liang Inventor after: Su Yujun Inventor after: Ye Lei Inventor after: Sun Hongbiao Inventor before: Tong Wenfei Inventor before: Kang Liang Inventor before: Su Yujun Inventor before: Ye Lei Inventor before: Sun Hongbiao |
|
GR01 | Patent grant | ||
GR01 | Patent grant |