CN111552437A - Snapshot method and snapshot device applied to distributed storage system - Google Patents

Snapshot method and snapshot device applied to distributed storage system Download PDF

Info

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
Application number
CN202010319937.0A
Other languages
Chinese (zh)
Other versions
CN111552437B (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.)
Shanghai Phegda Technology Co ltd
SHANGHAI DRAGONNET TECHNOLOGY CO LTD
Original Assignee
Shanghai Phegda Technology Co ltd
SHANGHAI DRAGONNET 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 Shanghai Phegda Technology Co ltd, SHANGHAI DRAGONNET TECHNOLOGY CO LTD filed Critical Shanghai Phegda Technology Co ltd
Priority to CN202010319937.0A priority Critical patent/CN111552437B/en
Publication of CN111552437A publication Critical patent/CN111552437A/en
Application granted granted Critical
Publication of CN111552437B publication Critical patent/CN111552437B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0665Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]

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

Snapshot method and snapshot device applied to distributed storage system
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.
CN202010319937.0A 2020-04-22 2020-04-22 Snapshot method and snapshot device applied to distributed storage system Active CN111552437B (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (17)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Title
MAYSAM YABANDEH等: "A critique of snapshot isolation", pages 155 - 168 *
张权;胡晓勤;: "一种基于Linux标准分区的快照方法", no. 07 *

Cited By (14)

* Cited by examiner, † Cited by third party
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