[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

CN110018987B - Snapshot creating method, device and system - Google Patents

Snapshot creating method, device and system Download PDF

Info

Publication number
CN110018987B
CN110018987B CN201711092728.1A CN201711092728A CN110018987B CN 110018987 B CN110018987 B CN 110018987B CN 201711092728 A CN201711092728 A CN 201711092728A CN 110018987 B CN110018987 B CN 110018987B
Authority
CN
China
Prior art keywords
storage device
storage
data
snapshot
partition
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201711092728.1A
Other languages
Chinese (zh)
Other versions
CN110018987A (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.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201711092728.1A priority Critical patent/CN110018987B/en
Priority to PCT/CN2018/113728 priority patent/WO2019091341A1/en
Publication of CN110018987A publication Critical patent/CN110018987A/en
Application granted granted Critical
Publication of CN110018987B publication Critical patent/CN110018987B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • G06F16/128Details of file system snapshots on the file-level, e.g. snapshot creation, administration, deletion
    • 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/0608Saving storage space on 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/0634Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
    • 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
    • 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/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0688Non-volatile semiconductor memory arrays

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

The embodiment of the application provides a snapshot creating method, a snapshot creating device and a snapshot creating system. In the embodiment of the application, for a first storage device needing to create a snapshot, a second storage device, the performance matching degree of which meets the set requirement with that of the first storage device, is used as a bridge between the first storage device and a third storage device, so that the snapshot is created for the first storage device on the third storage device, the purpose of storing the snapshot of the first storage device on the third storage device is achieved, the space advantage of the third storage device is fully utilized, the number of the snapshots is not limited any more, the storage space occupied by the snapshot on the first storage device can be saved, and the space utilization rate of the first storage device is improved.

Description

Snapshot creating method, device and system
Technical Field
The present application relates to the field of storage technologies, and in particular, to a snapshot creation method, apparatus, and system.
Background
The disk snapshot is mainly used for backup and disaster recovery. At different time points, a user can create a plurality of snapshots on a disk to form a snapshot chain. If the disk data needs to be restored, the disk data can be rolled back, and the data on the disk can be restored to the content of any snapshot in the snapshot chain.
In the prior art, disk snapshots are typically stored locally on the disk. With the increasing number of snapshots, more and more storage space is needed, but the storage space of the disk is limited. If the utilization rate of the storage space of the disk is required to be ensured, the number of snapshots is required to be limited; if the number of snapshots is to be guaranteed, more storage space on the disk needs to be sacrificed. Therefore, the existing snapshot technology faces the contradiction between the utilization rate of the storage space and the number of snapshots, and a technical scheme is needed to solve the contradiction between the utilization rate of the storage space and the number of the snapshots.
Disclosure of Invention
Various aspects of the present application provide a snapshot creating method, apparatus and system, so as to provide a new snapshot creating method, which can not only improve the utilization rate of the storage device, but also meet the requirement of the storage device on the number of snapshots, and solve the problems in the snapshot technology.
The embodiment of the application provides a snapshot creating method, which comprises the following steps:
acquiring basic data needing to create a snapshot on first storage equipment and position information of the basic data on the first storage equipment;
synchronizing the basic data and the position information of the basic data on the first storage device to a second storage device, wherein the performance matching degree of the second storage device and the first storage device meets the set requirement;
sending a snapshot creation instruction to the second storage device to instruct the second storage device to create a snapshot of the base data on a third storage device. An embodiment of the present application further provides a snapshot creating method, including:
receiving basic data synchronized by first storage equipment and position information of the basic data on the first storage equipment; the basic data is data needing to create a snapshot on the first storage device;
receiving a snapshot creating instruction sent by the first storage device, wherein the snapshot creating instruction is used for indicating that a snapshot is created on a third storage device for the basic data;
creating a snapshot of the base data on the third storage device based on the base data and location information of the base data on the first storage device.
An embodiment of the present application further provides a storage device, implemented as a first storage device, including: a memory, a processor, and a communications component;
the memory comprises a program storage area and a data storage area, wherein the program storage area is used for storing programs, and the data storage area is used for storing data;
the processor, coupled to the memory, to execute the program to:
acquiring basic data needing to create a snapshot and position information of the basic data in the data storage area from the data storage area;
synchronizing the basic data and the position information of the basic data in the data storage area to a second storage device, wherein the performance matching degree of the second storage device and the storage device meets the set requirement;
sending, by the communication component, a snapshot creation instruction to the second storage device to instruct the second storage device to create a snapshot of the base data on a third storage device;
the communication component is configured to send the snapshot creation instruction to the second storage device.
An embodiment of the present application further provides a storage device, including: a memory, a processor, and a communication component;
the communication component is used for receiving basic data synchronized by a first storage device and position information of the basic data on the first storage device; the basic data is data needing to create a snapshot on the first storage device; the performance matching degree of the storage equipment and the first storage equipment meets the set requirement;
the communication component is further configured to receive a snapshot creating instruction sent by the first storage device, where the snapshot creating instruction is used to instruct to create a snapshot for the basic data on a third storage device;
the memory comprises a program storage area and a data storage area, wherein the program storage area is used for storing a program, and the data storage area is used for storing the basic data and the position information of the basic data on the first storage device;
the processor, coupled to the memory, to execute the program to:
creating a snapshot of the base data on the third storage device based on the base data and location information of the base data on the first storage device.
An embodiment of the present application further provides a storage system, including: the first storage device, the second storage device and the third storage device are connected in sequence; the performance matching degree of the second storage equipment and the first storage equipment meets the set requirement;
the first storage device is configured to acquire basic data that needs to create a snapshot on the first storage device and location information of the basic data on the first storage device, and synchronize the basic data and the location information of the basic data on the first storage device to the second storage device; and sending a snapshot creation instruction to the second storage device to instruct the second storage device to create a snapshot of the base data on the third storage device;
the second storage device is configured to receive the basic data and the location information of the basic data on the first storage device, receive the snapshot creation instruction, and create a snapshot of the basic data on the third storage device based on the basic data and the location information of the basic data on the first storage device.
In the embodiment of the application, for a first storage device which needs to create a snapshot, a second storage device whose performance matching degree meets a set requirement is used as a bridge between the first storage device and a third storage device, so that the snapshot can be created for the first storage device on the third storage device, the purpose of storing the snapshot of the first storage device on the third storage device is achieved, the space advantage of the third storage device is fully utilized, the number of the snapshots is not limited any more, the storage space occupied by the snapshot on the first storage device can be saved, and the space utilization rate of the first storage device is improved.
Drawings
The accompanying drawings, which are included to provide a further understanding of the application and are incorporated in and constitute a part of this application, illustrate embodiment(s) of the application and together with the description serve to explain the application and not to limit the application. In the drawings:
FIG. 1 is a schematic structural diagram of a storage system according to an exemplary embodiment of the present application;
FIG. 2a is a schematic diagram illustrating a process for creating a snapshot in a storage system according to an exemplary embodiment of the present application;
FIG. 2b is a block diagram illustrating an implementation of a partition state table according to an exemplary embodiment of the present application;
FIG. 2c is a schematic diagram illustrating a process for performing a write operation in a memory system according to an exemplary embodiment of the present application;
FIG. 2d is a process diagram illustrating a rollback operation in a storage system according to an exemplary embodiment of the present application;
fig. 3 is a flowchart illustrating a snapshot creation method according to another exemplary embodiment of the present application;
FIG. 4 is a flowchart illustrating a snapshot creation method according to another exemplary embodiment of the present application;
fig. 5a is a schematic structural diagram of a snapshot creation apparatus according to another exemplary embodiment of the present application;
FIG. 5b is a schematic structural diagram of a memory device according to yet another exemplary embodiment of the present application;
fig. 6a is a schematic structural diagram of another snapshot creation apparatus according to another exemplary embodiment of the present application;
fig. 6b is a schematic structural diagram of another storage device according to another exemplary embodiment of the present application.
Detailed Description
To make the objects, technical solutions and advantages of the present application more clear, the technical solutions of the present application will be clearly and completely described below with reference to specific embodiments of the present application and the accompanying drawings. It should be apparent that the described embodiments are only a few embodiments of the present application, and not all embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present application.
Aiming at the problem of contradiction between storage space utilization rate and snapshot quantity faced by the prior snapshot technology, the embodiment of the application provides a solution, and the general principle is as follows: for a first storage device needing to create a snapshot, a second storage device with the performance matching degree meeting the set requirement with the first storage device is used as a bridge between the first storage device and a third storage device, and then the snapshot is created for the first storage device on the third storage device, so that the purpose of storing the snapshot of the first storage device on the third storage device is achieved, the space advantage of the third storage device is fully utilized, the number of the snapshots is not limited any more, the storage space occupied by the snapshots on the first storage device can be saved, and the space utilization rate of the first storage device is improved.
The technical solutions provided by the embodiments of the present application are described in detail below with reference to the accompanying drawings.
Fig. 1 is a schematic structural diagram of a storage system according to an exemplary embodiment of the present application. As shown in fig. 1, the system includes: a first storage device, a second storage device, and a third storage device. The first storage device is connected with the second storage device, and the second storage device is connected with the third storage device.
The first storage device may be any device that has certain storage capability and needs to create a snapshot, and may be, for example, a server, a desktop computer, a personal computer, a mobile phone, a tablet computer, a database, or the like. The server may be a conventional server, a cloud host, a virtual center, or the like.
The first storage device mainly includes: a processing unit and a storage medium. The processing unit is primarily responsible for the control logic of the first storage device. The storage medium is mainly responsible for storing various data. For example, the storage medium may be any one or more of a Solid State Disk (SSD) disk, a phase change memory (PRAM), a Static Random Access Memory (SRAM), a Dynamic Random Access Memory (DRAM), other types of Random Access Memory (RAM), a flash memory, and the like. Wherein the number of processing units and storage media depends on the configuration and type of the first storage device. In addition to the processing unit and the storage medium, the first storage device may also include some basic configurations, such as a power supply, a fan, a system bus, a network card chip, and the like.
Wherein creating a snapshot for the first storage device may be a process of creating a snapshot for a certain storage medium or media of the first storage device. For example, several snapshots may be created for a storage medium of a first storage device at different points in time, forming a snapshot chain of the storage medium.
The data stored in the storage medium of the first storage device may be different according to different application scenarios. For example, in some application scenarios, the storage medium of the first storage device is implemented as a disk of a virtual machine, and is used to store data of the virtual machine, such as an operating system required by the running of the virtual machine, log data generated during the running of the virtual machine, a running result of the virtual machine, some intermediate data, and the like. By creating the snapshot for the disk of the virtual machine, when the physical machine where the virtual machine is located fails or the virtual machine itself fails, the virtual machine can be quickly restored to a certain snapshot state, and various losses caused by the failure are reduced.
In this embodiment, the main purpose of the third storage device is to provide additional storage space for the first storage device to store the snapshot of the first storage device. The third storage device is not limited in any way in this embodiment. The third storage device may be any device with certain storage capabilities, for example, a server, a desktop computer, a personal computer, a mobile phone, a tablet computer, a database, etc. Wherein, the performance of the third storage device, the type of the storage medium and the size of the storage space can be determined according to the specific application requirements. Like the first storage device, the third storage device may also include a processing unit, a storage medium, and some basic configurations, which are not described in detail. For ease of illustration, the storage media portion of the third storage device is primarily shown in FIG. 1. The third storage device differs from the first storage device in that: the type, performance, number of internal components may vary.
Optionally, considering that the snapshot is used less frequently and the requirement on the read-write speed is not high, the third storage device may select some storage media with low speed, low cost, but large space, which may reduce the snapshot storage cost. For example, the third storage device may be any one or more of Serial ATA (SATA) and magnetic tape.
In this embodiment, the main functions of the first storage device and the third storage device are different, which reflects that the performance of the first storage device and the third storage device may be different to some extent. For example, considering that the usage frequency of the original data is relatively high, the first storage device may support a real-time high-throughput read-write request, and thus a high-speed storage medium, such as an SSD disk, may be selected. The snapshot is relatively low in use frequency, and the requirement on the read-write speed is not high, so that the third storage device can select some low-speed storage media, such as SATA disks. For the third storage device, selecting a low-speed storage medium has the advantages of low price, large storage space and the like. Of course, the first storage device selects the high-speed storage medium and the third storage device selects the low-speed storage medium, but the present invention is not limited thereto. For example, the first storage device may select a low-speed storage medium, while the third storage device selects a medium-speed storage medium, or even a high-speed storage medium, depending on the application requirements.
Based on the performance difference between the first storage device and the third storage device, the performance of the first storage device and/or the third storage device may be affected if a snapshot is created for the first storage device directly on the third storage device. Here, the influence on the first storage device is mainly considered. For example, in the case where the third storage device selects a low-speed storage medium and the first storage device selects a high-speed storage medium, the read-write efficiency of the first storage device may be reduced because the read-write speed of the third storage device needs to be matched.
In this embodiment, a second storage device, the performance of which is matched with that of the first storage device, is added between the first storage device and the third storage device, and if the first storage device directly writes or reads data into or from the second storage device, the influence on the performance of the first storage device is small, so that a series of problems caused by performance differences between the first storage device and the third storage device can be solved by using the second storage device as a bridge between the first storage device and the third storage device, and a snapshot of the first storage device can be stored in the third storage device. And the snapshot of the first storage device is stored on the third storage device, so that the space advantage of the third storage device can be fully utilized, the number of snapshots is not limited any more, the storage space occupied by the snapshot on the first storage device can be saved, and the space utilization rate of the first storage device is improved.
Wherein, like the first storage device, the second storage device may also include a processing unit, a storage medium, and some basic configurations, which are not described in detail. The second storage device differs from the first storage device in that: the type, performance, number of internal components may vary. In order to ensure that the matching degree between the second storage device and the first storage device meets the setting requirement, when the second storage device is selected, the second storage device can be selected according to the setting requirement and in combination with the performance index of the first storage device. For example, assuming that the first storage device selects a high-speed storage medium, the second storage device may select a medium-speed storage medium, for example, a mixed storage medium of a SATA hard disk and an SSD hard disk may be selected.
The requirements for the performance matching degree between the second storage device and the first storage device may be different according to different application scenarios and application requirements. For example, the overall performance matching degree between the second storage device and the first storage device may be required to be greater than the overall matching degree threshold, or the matching degree of a certain performance between the second storage device and the first storage device may also be required to be greater than the matching degree threshold of the certain performance, and the like. The performance related to the performance matching degree may include a read-write speed of the storage device, a size of the storage space, a price, and the like.
Based on the storage system architecture shown in fig. 1, a process of creating a snapshot for a first storage device in the present storage system is described. It should be noted that the control logic in the following process is mainly performed by the processing unit of the corresponding storage device.
For the first storage device, when a snapshot needs to be created, basic data of the first storage device, which needs to create the snapshot, and position information of the basic data on the first storage device can be acquired; synchronizing the basic data and the position information of the basic data on the first storage device to the second storage device; a snapshot creation instruction is then sent to the second storage device to instruct the second storage device to create a snapshot of the underlying data on a third storage device.
For the second storage device, the base data synchronized by the first storage device and the position information of the base data on the first storage device may be received, and a snapshot creating instruction sent by the first storage device is received, where the snapshot creating instruction is used to instruct the second storage device to create a snapshot for the base data on a third storage device; and further creating a snapshot of the base data on the third storage device based on the base data and the location information of the base data on the first storage device.
In some embodiments, the operation of creating a snapshot for the first storage device may be triggered by a user or some event. Based on the above, in response to the snapshot creation triggering operation, the operation of acquiring the basic data on the first storage device, which needs to create the snapshot, and the location information of the basic data on the first storage device and the subsequent operations may be performed, so as to create the snapshot for the first storage device.
In other embodiments, a snapshot may be adaptively created for the first storage device based on the operating state of the first storage device. Based on this, the working state of the first storage device can be monitored, and when it is monitored that no write operation exists on the first storage device, the operation of obtaining the basic data of the first storage device, which needs to create the snapshot, and the position information of the basic data on the first storage device and the subsequent operation are executed, so as to create the snapshot for the first storage device. The method does not affect the normal work of the first storage device, and can create the snapshot for the first storage device in time, thereby being beneficial to improving the snapshot creation efficiency.
In still other embodiments, the two approaches described above may be combined. For example, when it is monitored that there is no write operation on the first storage device, an operation of acquiring basic data on the first storage device, which need to create a snapshot, and location information of the basic data on the first storage device and synchronizing the acquired basic data and the location information of the basic data on the first storage device to the second storage device is performed. When a snapshot creation triggering operation is received, acquiring basic data which are left on a first storage device and need to be created into a snapshot and position information of the basic data on the first storage device, synchronizing the basic data and the position information of the basic data on the first storage device to a second storage device, and sending a snapshot creation instruction to the second storage device to instruct the second storage device to create a snapshot on a third storage device for all the basic data acquired during the snapshot creation.
In some embodiments, an image file of a first storage device may be created on a second storage device. Based on the above, the basic data and the position information of the basic data on the first storage device can be synchronized into the image file of the first storage device on the second storage device. For example, the split-mirror technology may be adopted to synchronize the basic data and the location information of the basic data on the first storage device into the image file of the first storage device on the second storage device. The influence on the read-write operation of the first storage disk can be reduced by adopting the mirror image technology.
The basic data of the first storage device that needs to create the snapshot may be different according to the implementation form of the first storage device and the snapshot mechanism adopted. For example, it may be the full amount of data at a certain time on the first storage device; or may be incremental data at a certain time.
In the following embodiments, the technical solution of the present application is described in detail by taking an incremental backup mechanism as an example.
In some embodiments, the first storage device includes a plurality of storage partitions. The size and number of the storage partitions are not limited. Preferably, the memory partitions are of the same size, e.g., all 2M, 3M, or 5M, etc. The emphasis here refers to the storage medium in the first storage device having multiple storage partitions, which may be referred to as blocks (blocks), for example. Based on this, creating a snapshot for the first storage device may be a process of creating snapshots of multiple storage partitions.
The first storage device may determine, from the plurality of storage partitions, a storage partition in which data has changed since a last snapshot creation operation; for ease of description and distinction, the storage partition in which data has changed since the last snapshot creation operation is referred to simply as the target storage partition. Then, the first storage device acquires the data in the target storage partition as basic data, and acquires the label of the target storage partition as the position information of the basic data on the first storage device. Wherein, the position of the target storage partition on the first storage device can be determined according to the label of the target storage partition and the size of the target storage partition. Then, the first storage device synchronizes the data in the target storage partition and the label of the target storage partition to an image file of the first storage device on the second storage device. Alternatively, as shown in fig. 1, the processing unit of the first storage device may create a thread, for example, the thread a shown in fig. 1, and synchronize the data in the target storage partition and the label of the target storage partition into the image file of the first storage device on the second storage device by the thread a.
The second storage device receives the data in the target storage partition synchronized by the first storage device and the label of the target storage partition. After the first storage device synchronizes the data in the target storage partition and the label of the target storage partition to the second storage device, sending a snapshot creation instruction to the second storage device to instruct the second storage device to create a snapshot on the third storage device for the target storage partition. And the second storage device receives a snapshot creating instruction sent by the first storage device, and creates a snapshot on the third storage device based on the data in the target storage partition and the label of the target storage partition according to the snapshot creating instruction.
Optionally, the second storage device may store the data in the target storage partition into an image file of the first storage device on the second storage device according to the label of the target storage partition. Further optionally, the second storage device may configure the first storage device with a plurality of image files, for example 3, to improve availability.
Fig. 2a shows a schematic process diagram of a process in which a first storage device synchronizes a target storage partition to a second storage device and the second storage device creates a snapshot on a third storage device by using an incremental snapshot mechanism. Each snapshot creation operation produces a new snapshot, and different snapshots are distinguished by a snapshot identification. Referring to fig. 2a, the target storage partitions are block-1 and block-N, and the second storage device needs to allocate an identifier, for example, a snapshot-id2, to the snapshot to which the target storage partition belongs; establishing a mapping relation between the label of the target storage partition and the identification of the snapshot to which the target storage partition belongs, namely block-1: snapshot-id2 and block-N: snapshot-id2; and backing up the data in the target storage partition and the mapping relation to a third storage device.
Optionally, the mapping relationship between the label of the target storage partition and the identity of the snapshot to which the target storage partition belongs may be stored on the third storage device through a mapping table, but is not limited thereto.
Further, in other embodiments, the first storage device maintains the data state of the storage partitions via a storage partition state table. In the present embodiment, the data states of the memory partition are divided into a writing state, a holding state, and an invalid state according to the requirements, but are not limited to these three states. The rewriting state refers to that data in the storage partition is changed since the last snapshot creation operation, which means that a snapshot needs to be created as incremental data in an incremental snapshot mechanism; the keeping state refers to that data in the storage partition is not changed since the last snapshot creation operation; the invalid state means that the data in the storage partition is invalid and cannot be used. As shown in fig. 2b, an implementation form of the partition state table is stored, but is not limited thereto. Alternatively, the storage partition state table may be a bitmap (bitmap) file. In FIG. 2b, status-0 indicates an invalid state, status-1 indicates a holding state, and status-2 indicates a rewriting state. The representation of the three states is not limited to that shown in fig. 2 b.
Based on the storage partition state table, when a snapshot needs to be created, the first storage device may read the data state of each of the plurality of storage partitions from the storage partition state table; then, acquiring a storage partition with the data state being a rewriting state as a target storage partition; and further synchronizing the data in the target storage partition and the label of the target storage partition to the second storage device, and sending a snapshot creation instruction to the second storage device to instruct the second storage device to create a snapshot on the third storage device for the target storage partition.
Further, in order to maintain the latest data state of each storage partition in the storage partition state table, the first storage device may modify the data state of the target storage partition from the rewritten state to the maintained state after synchronizing the data in the target storage partition and the label of the target storage partition to the second storage device.
In the above embodiment, the first storage device maintains the state of each storage partition through the storage partition state table, and can conveniently identify the target storage partition used for providing the basic data in the snapshot creation process, which is beneficial to improving the snapshot creation efficiency.
In some embodiments, during use of the first storage device, a user may initiate a write operation to the first storage device. During a write operation, it is preferable that no snapshot creation operation be performed during the write operation because the data within the memory partition is being overwritten. Similarly, during snapshot creation, the data state of each storage partition needs to be kept unchanged, so that no write operation is preferably performed during snapshot creation. It is an optimal implementation that the write operation and the snapshot creation operation do not execute at the same time, but not limited thereto. With the increasing processing capacity of storage devices, the write operation and the snapshot creation operation can be executed at the same time. There is a relationship between the write operation and the snapshot creation operation, such as relating to the data state of the storage partition.
In the embodiments of the present application, the description is made taking an example in which the write operation is performed before or after the snapshot creation operation. Referring to fig. 2c, the process of the write operation includes: the method comprises the steps that a first storage device receives a write instruction, wherein the write instruction carries a label of a storage partition to be written; acquiring the data state of the storage partition to be written from the storage partition state table according to the label of the storage partition to be written; and executing write operation on the memory partition to be written according to the data state of the memory partition to be written.
Further, in combination with the three data states of the memory partition, the performing the write operation on the memory partition to be written according to the data state of the memory partition to be written may include the following cases:
case 1: the data state of the to-be-written storage partition is a holding state, and the data state of the to-be-written storage partition is influenced by executing the write data on the to-be-written storage partition, so that the data state of the to-be-written storage partition is modified into a rewriting state, the write operation is executed in the to-be-written storage partition, and a basis is provided for snapshot creation operation based on the data state.
Case 2: the data state of the to-be-written storage partition is a rewriting state, which indicates that the data in the to-be-written storage partition has changed and is changed only once, and the data state of the to-be-written storage partition is not influenced, so that the writing operation can be directly executed in the to-be-written storage partition.
Case 3: the data state of the to-be-written storage partition is an invalid state, which means that the to-be-written storage partition is not suitable for write operation, the write operation needs to be executed after the data in the to-be-written storage partition is updated to valid data, the to-be-written storage partition can be recovered by using snapshot data of the to-be-written storage partition, that is, the data in the to-be-written storage partition is updated to the snapshot data of the to-be-written storage partition on the third storage device, after the update operation is completed, the data state of the to-be-written storage partition is modified to an overwriting state, and the write operation is executed in the to-be-written storage partition.
The case 3 may be regarded as a manner of obtaining snapshot data from the third storage device triggered by a write operation during the snapshot rollback process. When the write operation needs to be executed and the data state of the to-be-written storage partition is in an invalid state, the first storage device may send a data obtaining instruction to the second storage device, where the data obtaining instruction carries a label of the to-be-written storage partition, so as to instruct the second storage device to obtain snapshot data of the to-be-written storage partition in a certain snapshot from the third storage device and return the snapshot data. Wherein, a snapshot is a snapshot to be rolled back according to the snapshot roll-back requirement. And the second storage equipment receives a data acquisition instruction of the first storage equipment, acquires the snapshot to which the to-be-written storage partition belongs according to the mapping relation between the identification of each snapshot stored on the third storage equipment and the label of the storage partition contained in each snapshot, further acquires the snapshot data of the to-be-written storage partition in the snapshot to which the to-be-written storage partition belongs, and returns the snapshot data to the first storage equipment.
In some embodiments, during use of the first storage device, a user may initiate a snapshot rollback operation. Generally, a snapshot rollback operation may be initiated when the first storage device fails, or when a rollback to a previous state is required. For example, taking the first storage device as a disk of the virtual machine as an example, when the virtual machine is subjected to live migration, the disk corresponding to the virtual machine also needs to be subjected to live migration, and a snapshot is created for a data state before the virtual machine is subjected to live migration. After the virtual machine is migrated to the destination end in a hot mode, the disk is allocated to the virtual machine again at the destination end, and the virtual machine is restored to the data state before migration through snapshot rollback operation, so that the virtual machine can continue to work. The logical relationship between the snapshot rollback operation and the snapshot creation operation is similar to the logical relationship between the write operation and the snapshot creation operation, and is not described again.
In the embodiments of the present application, the snapshot rollback operation is performed before or after the snapshot creation operation. Referring to fig. 2d, the snapshot rollback procedure includes: the first storage device sends a rollback instruction to the second storage device, wherein the rollback instruction carries an identifier of the snapshot to be rolled back, so that the second storage device can determine the storage partition to be rolled back. And the second storage equipment receives a rollback instruction sent by the first storage equipment, and analyzes the identifier of the snapshot to be rolled back from the rollback instruction. The second storage device acquires the label of the storage partition corresponding to the snapshot to be rolled back from the third storage device according to the identifier of the snapshot to be rolled back; and then analyzing according to the identification of the current snapshot of each storage partition in the plurality of storage partitions of the first storage device and the identification number of the storage partition corresponding to the snapshot to be rolled back, acquiring the storage partition of which the identification of the current snapshot is different from the identification of the snapshot to be rolled back from the plurality of storage partitions as the storage partition to be rolled back, and returning the identification number of the storage partition to be rolled back to the first storage device so that the first storage device can execute the rolling back operation of the storage partition to be rolled back. Optionally, the second storage device may add the reference number of the to-be-rolled-back storage partition to the to-be-rolled-back storage partition list, and return the to-be-rolled-back storage partition list to the first storage device.
And after the first storage device sends the rollback instruction to the second storage device, waiting for the second storage device to return the label of the to-be-rolled-back storage partition. After receiving the label of the to-be-rolled-back storage partition returned by the second storage device, the first storage device may modify the data state of the to-be-rolled-back storage partition into an invalid state according to the label of the to-be-rolled-back storage partition returned by the second storage device, which means that the data of the storage partitions need to be rolled back; and then replacing the data in the storage partition to be rolled back with snapshot data of the storage partition to be rolled back in the snapshot to be rolled back.
It should be noted that, during the snapshot rollback process, besides the memory partition to be rolled back, the memory partition in the rewritten state may be acquired, the data state of the memory partition in the rewritten state is modified to the invalid state, and the data in the memory partitions is replaced with the snapshot data of the memory partitions in the snapshot to be rolled back.
In the rollback process, data in the to-be-rolled-back storage partition needs to be replaced with snapshot data of the to-be-rolled-back storage partition in the to-be-rolled-back snapshot, which needs to acquire the to-be-rolled-back snapshot from the third storage device. In the embodiments of the present application, two triggering manners are used to trigger an operation of obtaining a snapshot to be rolled back from a third storage device.
One is a front-end triggering mode, e.g., triggered by a write operation to a memory partition in an invalid state. The process of acquiring the snapshot to be rolled back from the third storage device triggered by the write operation comprises the following steps: when a write instruction for the to-be-rolled-back storage partition is received, sending a data acquisition instruction to the second storage device to instruct the second storage device to acquire snapshot data of the to-be-rolled-back storage partition in the to-be-rolled-back snapshot from the third storage device; receiving snapshot data, in the snapshot to be rolled back, of the storage partition to be rolled back returned by the second storage device; and replacing the data in the memory partition to be rolled back with snapshot data of the memory partition to be rolled back in the snapshot to be rolled back. For the second storage device, a data obtaining instruction may be received, and snapshot data of the to-be-rolled-back storage partition in the to-be-rolled-back snapshot may be obtained from the third storage device and returned.
The other is a back-end triggering mode, for example, a lazy loading (Lazyoad) mode may be used, or a periodic loading mode may be used. As shown in fig. 1, the processing unit of the first storage device may create another thread, for example, thread b, and be triggered by thread b at the back end to obtain the snapshot to be rolled back from the third storage device. Optionally, when the Lazyoad approach is adopted, the thread b may be a Lazyoad thread. The process of acquiring the snapshot to be rolled back from the third storage device triggered by the Lazyoad thread includes: according to a mechanism of a Lazyoad mode, sending a data acquisition instruction to a second storage device to instruct the second storage device to acquire snapshot data of the to-be-rolled-back storage partition in the to-be-rolled-back snapshot from a third storage device; receiving snapshot data of the to-be-rolled-back storage partition in the to-be-rolled-back snapshot returned by the second storage device; and replacing the data in the memory partition to be rolled back with snapshot data of the memory partition to be rolled back in the snapshot to be rolled back. For the second storage device, a data obtaining instruction may be received, and snapshot data of the to-be-rolled-back storage partition in the to-be-rolled-back snapshot may be obtained from the third storage device and returned.
In some embodiments of the present application, an incremental snapshot mechanism is adopted, the first storage device only needs to synchronize data in a storage area where data changes since the last snapshot creation operation to the second storage device, so as to reduce the data transmission amount, and the second storage device adopts the incremental snapshot mechanism to store the data to the third storage device, so that the snapshot data copy amount and the replication time can be reduced.
In some application scenarios, in order to meet business requirements, an expensive high-speed storage medium needs to be used, and the architecture of the storage system provided in the embodiment of the present application may be used in a situation where the cost is limited, and a snapshot of the high-speed storage medium is stored on a storage medium with a lower cost at a remote end by using an intermediate medium-speed storage medium as a bridge, so that the cost of snapshot data is greatly saved, and the read-write speed of the high-speed storage medium is not affected.
It should be noted that, in fig. 2a to 2d, block-1, block-2, block-3, block-N, and the like are used to indicate different memory partitions in a matching manner, and this way of indication is illustrative and not limited thereto. In addition, the number of memory partitions is not limited to that shown in FIGS. 2 a-2 d.
Based on the storage system shown in fig. 1, the following embodiments of the present application provide several snapshot creation flows from the perspective of the first storage device and the second storage device, respectively.
Fig. 3 is a flowchart illustrating a snapshot creation method according to another exemplary embodiment of the present application. The method is described from the perspective of a first storage device, as shown in FIG. 3, the method comprising:
301. acquiring basic data needing to create a snapshot on the first storage device and position information of the basic data on the first storage device.
302. And synchronizing the basic data and the position information of the basic data on the first storage equipment to the second storage equipment, wherein the performance matching degree of the second storage equipment and the first storage equipment meets the set requirement.
303. And sending snapshot creating instructions to the second storage device to instruct the second storage device to create a snapshot of the underlying data on the third storage device.
In this embodiment, for a first storage device, when a snapshot needs to be created, basic data that needs to create the snapshot on the first storage device and location information of the basic data on the first storage device may be acquired; synchronizing the basic data and the position information of the basic data on the first storage device to the second storage device; a snapshot creation instruction is then sent to the second storage device to instruct the second storage device to create a snapshot of the underlying data on a third storage device.
In this embodiment, the second storage device with performance similar to that of the first storage device is used as a bridge between the first storage device and the third storage device, so that a series of problems caused by performance differences between the first storage device and the third storage device are solved, and it is realistic to store the snapshot of the first storage device on the third storage device. And under the cooperation of the second storage device, the snapshot of the first storage device is stored on the third storage device, so that the space advantage of the third storage device can be fully utilized, the number of snapshots is not limited any more, the storage space occupied by the snapshot on the first storage device can be saved, and the space utilization rate of the first storage device can be improved.
In some embodiments, one implementation of step 301 above includes: when no writing operation on the first storage equipment is monitored, executing the operation of acquiring the basic data and the position information of the basic data on the first storage equipment; and/or, in response to the snapshot creation triggering operation, performing an operation of acquiring the basic data and the position information of the basic data on the first storage device.
In some embodiments, one implementation of step 302 above includes: and synchronizing the basic data and the position information of the basic data on the first storage device into an image file of the first storage device on the second storage device.
In some embodiments, the first storage device includes a plurality of storage partitions. From the perspective of the basic data implementation form, another embodiment of the foregoing step 301 includes: determining a target storage partition of the plurality of storage partitions, wherein the data changes since the last snapshot creation operation; and acquiring the data in the target storage partition and the label of the target storage partition as the position information of the basic data and the basic data on the first storage device respectively.
Further, the first storage device may maintain the data state of each storage partition through the storage partition state table. Based on this, the determining, from the plurality of storage partitions, a target storage partition in which data has changed since a last snapshot creation operation includes: reading the data state of each of the plurality of memory partitions from the memory partition state table; and acquiring the memory partition with the data state in the rewriting state as a target memory partition.
Further, after synchronizing the base data and the location information of the base data on the first storage device to the second storage device, the data state of the target storage partition may be modified from the overwritten state to the preserved state.
In some embodiments, in addition to creating a snapshot for a storage partition on the first storage device, a write operation may be performed to the storage partition on the first storage device. From the perspective of the first storage device, a process of a write operation includes: receiving a write instruction, wherein the write instruction carries a label of a storage partition to be written; acquiring the data state of the storage partition to be written from the storage partition state table according to the label of the storage partition to be written; and executing write operation on the memory partition to be written according to the data state of the memory partition to be written.
Further, in combination with the enumerated data states of the memory partitions, the executing of the write operation on the memory partition to be written according to the data state of the memory partition to be written includes the following situations:
if the data state of the storage partition to be written is a holding state, modifying the data state of the storage partition with the data state of the storage partition to be written into a rewriting state, and executing writing operation in the storage partition to be written;
if the data state of the memory partition to be written is the rewriting state, executing the writing operation in the memory partition to be written;
and if the data state of the storage partition to be written is an invalid state, updating the data in the storage partition to be written into snapshot data of the storage partition to be written on a third storage device, modifying the data state of the storage partition to be written into a rewriting state, and executing writing operation in the storage partition to be written.
In some embodiments, a rollback operation may be initiated in addition to creating a snapshot for a storage partition on the first storage device. From the perspective of the first storage device, a flow of snapshot rollback comprises: sending a rollback instruction to the second storage device, wherein the rollback instruction carries an identifier of the snapshot to be rolled back, so that the second storage device can determine the storage partition to be rolled back; according to the label of the to-be-rolled back storage partition returned by the second storage device, modifying the data state of the to-be-rolled back storage partition into an invalid state; and replacing the data in the memory partition to be rolled back with snapshot data of the memory partition to be rolled back in the snapshot to be rolled back.
Further, the above-mentioned manner of replacing the data in the to-be-rolled-back storage partition with the snapshot data of the to-be-rolled-back storage partition in the to-be-rolled-back snapshot includes: when a write instruction is received or a data acquisition cycle is reached, sending a data acquisition instruction to the second storage device to instruct the second storage device to acquire snapshot data of the to-be-rolled-back storage partition in the to-be-rolled-back snapshot from the third storage device; receiving snapshot data of the to-be-rolled-back storage partition in the to-be-rolled-back snapshot returned by the second storage device; and replacing the data in the storage partition to be rolled back with snapshot data of the storage partition to be rolled back in the snapshot to be rolled back.
Fig. 4 is a flowchart illustrating a snapshot creating method according to another exemplary embodiment of the present application. The method is described from the perspective of a second storage device, as shown in fig. 4, the method comprising:
401. receiving basic data synchronized by the first storage device and position information of the basic data on the first storage device; the underlying data is the data on the first storage device that is needed to create the snapshot.
402. And receiving a snapshot creating instruction sent by the first storage device, wherein the snapshot creating instruction is used for instructing to create a snapshot for the basic data on the third storage device.
403. Based on the base data and the location information of the base data on the first storage device, a snapshot of the base data is created on a third storage device.
In this embodiment, the second storage device is used as a bridge between the first storage device and the third storage device, which solves a series of problems caused by performance differences between the first storage device and the third storage device, and makes it practical to store the snapshot of the first storage device on the third storage device. And the second storage device creates a snapshot for the basic data synchronized by the first storage device on the third storage device according to the instruction of the first storage device, so that the purpose of storing the snapshot of the first storage device on the third storage device is achieved, the space advantage of the third storage device can be fully utilized, the number of the snapshots is not limited any more, the storage space occupied by the snapshot on the first storage device can be saved, and the space utilization rate of the first storage device is improved.
In some embodiments, the first storage device includes a plurality of storage partitions. The first storage device may determine, from the plurality of storage partitions, a target storage partition for which data has changed since a last snapshot creation operation; and sending the data in the target storage partition and the label of the target storage partition to the second storage device. For the second storage device, receiving the basic data sent by the first storage device and the location information of the basic data on the first storage device may be: and receiving data in a target storage partition and the label of the target storage partition sent by the first storage device, wherein the target storage partition is a storage partition of which the data is changed since the snapshot creating operation last time in the plurality of storage partitions.
In some embodiments, the second storage device may create an image file for the first storage device. Based on this, after the second storage device receives the data in the target storage partition and the label of the target storage partition sent by the first storage device, the data in the target storage partition and the label of the target storage partition may be stored in an image file of the first storage device in the local.
In some embodiments, one implementation of step 430 includes: allocating an identifier for the snapshot to which the target storage partition belongs; establishing a mapping relation between the label of the target storage partition and the identifier of the snapshot to which the target storage partition belongs; and backing up the data in the target storage partition and the mapping relation to a third storage device.
In some embodiments, a rollback operation may be initiated in addition to creating a snapshot for a storage partition on the first storage device. From the perspective of the second storage device, a flow of snapshot rollback comprises: acquiring a label of a storage partition corresponding to the snapshot to be rolled back from the third storage device according to the identifier of the snapshot to be rolled back; acquiring a storage partition of which the identifier of the current snapshot is different from the identifier of the snapshot to be rolled back from a plurality of storage partitions as the storage partition to be rolled back; and returning the label of the memory partition to be rolled back to the first memory device so that the first memory device can execute the rolling back operation of the memory partition to be rolled back.
It should be noted that the execution subjects of the steps of the methods provided in the above embodiments may be the same device, or different devices may be used as the execution subjects of the methods. For example, the execution subject of steps 301 to 303 may be device a; for another example, the execution subject of steps 301 and 302 may be device a, and the execution subject of step 303 may be device B; and so on.
In addition, in some of the flows described in the above embodiments and the drawings, a plurality of operations occurring in a specific order are included, but it should be clearly understood that these operations may be executed out of order or in parallel as they appear herein, and the sequence numbers of the operations, such as 301, 302, etc., are merely used to distinguish various operations, and the sequence numbers themselves do not represent any execution order. Additionally, the flows may include more or fewer operations, and the operations may be performed sequentially or in parallel. It should be noted that, the descriptions of "first", "second", etc. in this document are used for distinguishing different messages, devices, modules, etc., and do not represent a sequential order, nor limit the types of "first" and "second" to be different.
Fig. 5a is a schematic structural diagram of a snapshot creation apparatus according to yet another exemplary embodiment of the present application. As shown in fig. 5a, the snapshot creation means includes: an acquisition module 51, a synchronization module 52 and a transmission module 53.
The obtaining module 51 is configured to obtain basic data that needs to create a snapshot on the first storage device and location information of the basic data on the first storage device.
And a synchronization module 52, configured to synchronize the basic data and the location information of the basic data on the first storage device to a second storage device, where a performance matching degree between the second storage device and the first storage device meets a set requirement.
A sending module 53, configured to send a snapshot creating instruction to the second storage device to instruct the second storage device to create a snapshot of the basic data on the third storage device.
In an optional embodiment, when the obtaining module 51 obtains the basic data and the location information of the basic data on the first storage device, it is specifically configured to:
when no write operation on the first storage device is monitored, executing the operation of acquiring basic data and the position information of the basic data on the first storage device; and/or
And responding to the snapshot creation triggering operation, and executing the operation of acquiring the basic data and the position information of the basic data on the first storage device.
In an optional embodiment, when synchronizing the basic data and the location information of the basic data on the first storage device to the second storage device, the synchronization module 52 is specifically configured to: and synchronizing the basic data and the position information of the basic data on the first storage device into an image file of the first storage device on the second storage device.
In an alternative embodiment, the first storage device includes a plurality of storage partitions. When acquiring the basic data and the location information of the basic data on the first storage device, the acquiring module 51 is specifically configured to:
determining a target storage partition with changed data from a plurality of storage partitions after last snapshot creation operation;
and acquiring the data in the target storage partition and the label of the target storage partition as basic data and position information of the basic data on the first storage device respectively.
Further, when the obtaining module 51 obtains the target storage partition, it is specifically configured to: reading a data state of each of the plurality of memory partitions from the memory partition state table; and acquiring the memory partition with the data state in the rewriting state as a target memory partition.
Accordingly, the synchronization module 52, after synchronizing the basic data and the location information of the basic data on the first storage device to the second storage device, is further configured to: and modifying the data state of the target storage partition from the rewriting state to a maintaining state.
In an optional embodiment, the snapshot creating apparatus further includes a write operation module. Wherein the write operation module is configured to:
receiving a write instruction, wherein the write instruction carries a label of a storage partition to be written;
acquiring the data state of the to-be-written storage partition from a storage partition state table according to the label of the to-be-written storage partition;
and executing write operation on the memory partition to be written according to the data state of the memory partition to be written.
Further, based on the data state of the to-be-written storage partition, when the obtaining module 51 performs a write operation on the to-be-written storage partition, the obtaining module is specifically configured to:
if the data state of the storage partition to be written is a holding state, modifying the data state with the storage partitions into a rewriting state, and executing write operation in the storage partition to be written;
if the data state of the memory partition to be written is the rewriting state, executing the writing operation in the memory partition to be written;
and if the data state of the storage partition to be written is an invalid state, updating the data in the storage partition to be written into snapshot data of the storage partition to be written on a third storage device, modifying the data state of the storage partition to be written into a rewriting state, and executing writing operation in the storage partition to be written.
In an optional embodiment, the snapshot creation apparatus further includes a rollback module. Wherein, the rollback module is used for:
sending a rollback instruction to the second storage device, wherein the rollback instruction carries an identifier of the snapshot to be rolled back, so that the second storage device can determine the storage partition to be rolled back;
according to the label of the to-be-rolled back storage partition returned by the second storage device, modifying the data state of the to-be-rolled back storage partition into an invalid state;
and replacing the data in the storage partition to be rolled back with snapshot data of the storage partition to be rolled back in the snapshot to be rolled back.
Further, when the rollback module replaces the data in the to-be-rolled-back storage partition with the snapshot data of the to-be-rolled-back storage partition in the to-be-rolled-back snapshot, the rollback module is specifically configured to:
receiving snapshot data, in the snapshot to be rolled back, of the to-be-rolled back storage partition returned by the second storage device;
and replacing the data in the storage partition to be rolled back with snapshot data of the storage partition to be rolled back in the snapshot to be rolled back.
The snapshot creating apparatus provided in this embodiment may be configured to execute the process in the snapshot method embodiment, and the working principle of the snapshot creating apparatus is not described again, which is described in detail in the method embodiment.
Optionally, the snapshot creating apparatus may be implemented in a first storage device; alternatively, it may be implemented separately from the first storage device, but connected to the first storage device.
The snapshot creating apparatus provided in this embodiment can obtain, when a first storage device needs to create a snapshot, basic data that needs to create the snapshot on the first storage device and location information of the basic data on the first storage device; synchronizing the basic data and the position information of the basic data on the first storage device to the second storage device; a snapshot creation instruction is then sent to the second storage device to instruct the second storage device to create a snapshot of the underlying data on a third storage device.
Having described the internal functions and structure of the fast creation apparatus, as shown in fig. 5b, in practice, the snapshot creation apparatus may be implemented as a storage device, and the storage device may be implemented as a first storage device, including: memory 500, processor 501, and communications component 502.
The memory 500 includes a program storage area for storing a program and a data storage area for storing data.
A processor 501, coupled to the memory 500, for executing the above-described programs for:
acquiring basic data needing to create a snapshot and position information of the basic data in a data storage area from the data storage area;
synchronizing the basic data and the position information of the basic data in the data storage area to a second storage device, wherein the performance matching degree of the second storage device and the storage device meets the set requirement;
sending a snapshot creation instruction to the second storage device through the communication component 502 to instruct the second storage device to create a snapshot of the underlying data on the third storage device;
a communication component 502 for sending the snapshot creation instruction to a second storage device.
In an optional embodiment, when acquiring the basic data that needs to create the snapshot and the location information of the basic data in the data storage area, the processor 501 is specifically configured to:
when no writing operation in the data storage area is monitored, the operation of acquiring the basic data and the position information of the basic data in the data storage area is executed; and/or
And in response to the snapshot creation triggering operation, performing an operation of acquiring the basic data and the position information of the basic data in the data storage area.
In an optional embodiment, when synchronizing the basic data and the location information of the basic data in the data storage area to the second storage device, the processor 501 is specifically configured to: and synchronizing the basic data and the position information of the basic data in the data storage area to an image file of the data storage area on the second storage device.
In an alternative embodiment, the data storage area comprises a plurality of storage partitions. Based on this, when acquiring the basic data that needs to create the snapshot in the data storage area and the location information of the basic data in the data storage area, the processor 501 is specifically configured to: determining a target storage partition of the plurality of storage partitions, wherein the data changes since the last snapshot creation operation; and acquiring the data in the target storage partition and the label of the target storage partition as basic data and the position information of the basic data in the data storage area respectively.
Further, when the processor 501 obtains the target storage partition, it is specifically configured to: reading the data state of each of the plurality of memory partitions from the memory partition state table; and acquiring the memory partition with the data state in the rewriting state as a target memory partition.
Accordingly, the processor 501, after synchronizing the basic data and the location information of the basic data in the data storage area to the second storage device, is further configured to: and modifying the data state of the target storage partition from the rewriting state to a maintaining state.
In an alternative embodiment, the communication component 502 is further configured to: and receiving a write instruction, wherein the write instruction carries the label of the storage partition to be written. Accordingly, the processor 501 is further configured to: acquiring the data state of the to-be-written storage partition from a storage partition state table according to the label of the to-be-written storage partition; and executing write operation on the to-be-written storage partition according to the data state of the to-be-written storage partition.
Further, based on the data state of the to-be-written storage partition, when the processor 501 executes a write operation on the to-be-written storage partition, the processor is specifically configured to:
if the data state of the storage partition to be written is a holding state, modifying the data state of the storage partition with the data state of the storage partition to be written into a rewriting state, and executing writing operation in the storage partition to be written;
if the data state of the memory partition to be written is the rewriting state, executing the writing operation in the memory partition to be written;
and if the data state of the storage partition to be written is an invalid state, updating the data in the storage partition to be written into snapshot data of the storage partition to be written on a third storage device, modifying the data state of the storage partition to be written into a rewriting state, and executing writing operation in the storage partition to be written.
In an alternative embodiment, the communication component 502 is further configured to: and sending a rollback instruction to the second storage device, wherein the rollback instruction carries the identifier of the snapshot to be rolled back, so that the second storage device can determine the storage partition to be rolled back. Correspondingly, the processor 501 is further configured to modify the data state of the to-be-rolled-back storage partition into an invalid state according to the identifier of the to-be-rolled-back storage partition returned by the second storage device; and replacing the data in the storage partition to be rolled back with snapshot data of the storage partition to be rolled back in the snapshot to be rolled back.
Further, when the processor 501 replaces the data in the partition to be rolled back with the snapshot data of the partition to be rolled back in the snapshot to be rolled back, the processor is specifically configured to: receiving snapshot data, in the snapshot to be rolled back, of the to-be-rolled-back storage partition returned by the second storage device through the communication component 502; and replacing the data in the storage partition to be rolled back with snapshot data of the storage partition to be rolled back in the snapshot to be rolled back. Accordingly, the communication component 502 is further operable to: and receiving snapshot data of the to-be-rolled-back storage partition in the to-be-rolled-back snapshot, which is returned by the second storage device.
Further, as shown in fig. 5b, the storage device further includes: a display 503, a power component 504, an audio component 505, and other components. Only some of the components are schematically shown in fig. 5b and it is not meant that the storage device comprises only the components shown in fig. 5 b.
Accordingly, an embodiment of the present application further provides a computer-readable storage medium storing a computer program, where the computer program can implement:
acquiring basic data needing to create a snapshot on first storage equipment and position information of the basic data on the first storage equipment;
synchronizing the basic data and the position information of the basic data on the first storage device to a second storage device, wherein the performance matching degree of the second storage device and the first storage device meets the set requirement;
and sending snapshot creating instructions to the second storage device to instruct the second storage device to create a snapshot of the underlying data on the third storage device.
Fig. 6a is a schematic structural diagram of another snapshot creation apparatus according to another exemplary embodiment of the present application. As shown in fig. 6a, includes: a receiving module 61 and a creating module 62.
A receiving module 61, configured to receive basic data synchronized by a first storage device and location information of the basic data on the first storage device; wherein the underlying data is data on the first storage device that is needed to create a snapshot.
The receiving module 61 is further configured to receive a snapshot creating instruction sent by the first storage device, where the snapshot creating instruction is used to instruct to create a snapshot for the base data on the third storage device.
A creating module 62 for creating a snapshot of the base data on the third storage device based on the base data and location information of the base data on the first storage device.
In an alternative embodiment, the first storage device includes a plurality of storage partitions. Based on this, when receiving the basic data sent by the first storage device and the location information of the basic data on the first storage device, 61 is specifically configured to: and receiving data in a target storage partition sent by the first storage device and the label of the target storage partition, wherein the target storage partition is a storage partition of which the data is changed since the last snapshot creation operation in the plurality of storage partitions.
Accordingly, when creating the snapshot of the basic data on the third storage device, the creating module 62 is specifically configured to: allocating an identifier for the snapshot to which the target storage partition belongs; establishing a mapping relation between the label of the target storage partition and the identifier of the snapshot to which the target storage partition belongs; and backing up the data in the target storage partition and the mapping relation to a third storage device.
In an optional embodiment, the snapshot creating apparatus further includes: and rolling back the module. Wherein the rollback module is configured to:
receiving a rollback instruction sent by a first storage device, wherein the rollback instruction carries an identifier of a snapshot to be rolled back;
acquiring a label of a storage partition corresponding to the snapshot to be rolled back from the third storage device according to the identifier of the snapshot to be rolled back;
acquiring a storage partition of which the identifier of the current snapshot is different from that of the snapshot to be rolled back from a plurality of storage partitions as the storage partition to be rolled back;
and returning the label of the memory partition to be rolled back to the first memory device so that the first memory device can execute the rolling back operation of the memory partition to be rolled back.
In an alternative embodiment, the creating module 62 is further configured to, before creating the snapshot of the underlying data on the third storage device: and storing the data in the target storage partition and the label of the target storage partition into an image file of the first storage device in the local area.
The snapshot creating apparatus provided in this embodiment may be configured to execute the process in the snapshot method embodiment, and the working principle of the snapshot creating apparatus is not described again, which is described in detail in the method embodiment.
Optionally, the snapshot creating apparatus may be implemented in a second storage device; alternatively, it may be implemented separately from the second storage device, but connected to the second storage device.
The snapshot creating apparatus provided in this embodiment may be used as a bridge between the first storage device and the third storage device, and solves a series of problems caused by performance differences between the first storage device and the third storage device, so that it is practical to store a snapshot of the first storage device on the third storage device. And the second storage device creates snapshots for the basic data synchronized by the first storage device on the third storage device according to the instruction of the first storage device, so that the purpose of storing the snapshots of the first storage device on the third storage device is achieved, the space advantage of the third storage device can be fully utilized, the number of the snapshots is not limited any more, the storage space occupied by the snapshots on the first storage device can be saved, and the space utilization rate of the first storage device is improved.
Having described the internal functions and structure of the fast creation apparatus, as shown in fig. 6b, in practice, the snapshot creation apparatus may be implemented as a storage device, and the storage device may be implemented as a second storage device, including: memory 600, processor 601, and communication component 602.
A communication component 602, configured to receive basic data synchronized by a first storage device and location information of the basic data on the first storage device; the basic data is data needing to create a snapshot on the first storage device; the performance matching degree of the storage equipment and the first storage equipment meets the set requirement;
a communication component 602, further configured to receive a snapshot creation instruction sent by the first storage device, where the snapshot creation instruction is used to instruct to create a snapshot for the base data on the third storage device;
the memory 600 includes a program storage area for storing a program and a data storage area for storing basic data and location information of the basic data on the first storage device.
A processor 601, coupled to the memory 600, for executing the above-described programs for: based on the base data and the location information of the base data on the first storage device, a snapshot of the base data is created on a third storage device.
In an alternative embodiment, the communication component 602 is specifically configured to: and receiving data in a target storage partition and the label of the target storage partition, which are sent by the first storage device, wherein the target storage partition is a storage partition in which data changes since the last snapshot creation operation in the plurality of storage partitions.
Accordingly, when creating the snapshot of the basic data on the third storage device, the processor 601 is specifically configured to: allocating an identifier for the snapshot to which the target storage partition belongs; establishing a mapping relation between the label of the target storage partition and the identifier of the snapshot to which the target storage partition belongs; and backing up the data in the target storage partition and the mapping relation to a third storage device.
Further, the communication component 602 can be further configured to: and receiving a rollback instruction sent by the first storage device, wherein the rollback instruction carries an identifier of the snapshot to be rolled back, and acquiring a label of a storage partition corresponding to the snapshot to be rolled back from the third storage device according to the identifier of the snapshot to be rolled back. Correspondingly, the processor 601 is further configured to obtain, from the multiple storage partitions, a storage partition, of which the identifier of the snapshot currently belonging to is different from the identifier of the snapshot to be rolled back, as the storage partition to be rolled back. The communication component 602 is further configured to return the identifier of the to-be-rolled-back storage partition to the first storage device, so that the first storage device can perform a roll-back operation on the to-be-rolled-back storage partition.
In an alternative embodiment, before creating the snapshot of the underlying data on the third storage device, the processor 601 is further configured to: and storing the data in the target storage partition and the label of the target storage partition into an image file of the first storage device in the local.
Further, as shown in fig. 6b, the storage device further includes: a display 603, a power component 604, an audio component 605, and the like. Only some of the components are schematically shown in fig. 6b and it is not intended that the storage device comprises only the components shown in fig. 6 b.
Accordingly, an embodiment of the present application further provides a computer-readable storage medium storing a computer program, where the computer program can implement:
receiving basic data synchronized by first storage equipment and position information of the basic data on the first storage equipment; the basic data is data needing to create a snapshot on the first storage device;
receiving a snapshot creating instruction sent by the first storage device, wherein the snapshot creating instruction is used for indicating that a snapshot is created on a third storage device for the basic data;
creating a snapshot of the base data on the third storage device based on the base data and location information of the base data on the first storage device.
The communication components in fig. 5b and 6b may be configured to facilitate communication between the device to which the communication component belongs and other devices in a wired or wireless manner. The device to which the communication component belongs may access a wireless network based on a communication standard, such as WiFi,2G or 3G, or a combination thereof. In an exemplary embodiment, the communication component receives a broadcast signal or broadcast related information from an external broadcast management system via a broadcast channel. In one exemplary embodiment, the communication component further includes a Near Field Communication (NFC) module to facilitate short-range communications. For example, the NFC module may be implemented based on Radio Frequency Identification (RFID) technology, infrared data association (IrDA) technology, ultra Wideband (UWB) technology, bluetooth (BT) technology, and other technologies.
The displays in fig. 5b and 6b may include a screen, which may include a Liquid Crystal Display (LCD) and a Touch Panel (TP). If the screen includes a touch panel, the screen may be implemented as a touch screen to receive an input signal from a user. The touch panel includes one or more touch sensors to sense touch, slide, and gestures on the touch panel. The touch sensor may not only sense the boundary of a touch or slide action, but also detect the duration and pressure associated with the touch or slide operation.
The power supply components in fig. 5b and 6b provide power to the various components of the device to which the power supply component belongs. The power components may include a power management system, one or more power supplies, and other components associated with generating, managing, and distributing power for the devices to which the power components belong.
The audio components in fig. 5b and 6b are configured to output and/or input audio signals. For example, the audio component includes a Microphone (MIC) configured to receive an external audio signal when the device to which the audio component belongs is in an operating mode, such as a call mode, a recording mode, and a voice recognition mode. The received audio signal may further be stored in a memory or transmitted via a communication component. In some embodiments, the audio assembly further comprises a speaker for outputting audio signals.
As will be appreciated by one skilled in the art, embodiments of the present invention may be provided as a method, system, or computer program product. Accordingly, the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the present invention may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, and the like) having computer-usable program code embodied therein.
The present invention is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each flow and/or block of the flowchart illustrations and/or block diagrams, and combinations of flows and/or blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
In a typical configuration, a computing device includes one or more processors (CPUs), input/output interfaces, network interfaces, and memory.
The memory may include forms of volatile memory in a computer readable medium, random Access Memory (RAM) and/or non-volatile memory, such as Read Only Memory (ROM) or flash memory (flash RAM). Memory is an example of a computer-readable medium.
Computer-readable media, including both permanent and non-permanent, removable and non-removable media, may implement the information storage by any method or technology. The information may be computer readable instructions, data structures, modules of a program, or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static Random Access Memory (SRAM), dynamic Random Access Memory (DRAM), other types of Random Access Memory (RAM), read Only Memory (ROM), electrically Erasable Programmable Read Only Memory (EEPROM), flash memory or other memory technology, compact disc read only memory (CD-ROM), digital Versatile Discs (DVD) or other optical storage, magnetic cassettes, magnetic tape magnetic disk storage or other magnetic storage devices, or any other non-transmission medium that can be used to store information that can be accessed by a computing device. As defined herein, a computer readable medium does not include a transitory computer readable medium such as a modulated data signal and a carrier wave.
It should also be noted that the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrases "comprising a," "8230," "8230," or "comprising" does not exclude the presence of other like elements in a process, method, article, or apparatus comprising the element.
The above description is only an example of the present application and is not intended to limit the present application. Various modifications and changes may occur to those skilled in the art. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present application should be included in the scope of the claims of the present application.

Claims (19)

1. A snapshot creation method, comprising:
acquiring basic data needing to create a snapshot on first storage equipment and position information of the basic data on the first storage equipment;
synchronizing the basic data and the position information of the basic data on the first storage device to a second storage device, wherein the performance matching degree of the second storage device and the first storage device meets the set requirement;
sending a snapshot creation instruction to the second storage device to instruct the second storage device to create a snapshot of the base data on a third storage device.
2. The method according to claim 1, wherein the obtaining the basic data that needs to create the snapshot on the first storage device and the location information of the basic data on the first storage device comprises:
when it is monitored that no writing operation exists on the first storage device, executing an operation of acquiring the basic data and the position information of the basic data on the first storage device; and/or
And responding to a snapshot creation triggering operation, and executing the operation of acquiring the basic data and the position information of the basic data on the first storage device.
3. The method of claim 1, wherein synchronizing the base data and the location information of the base data on the first storage device to a second storage device comprises:
and synchronizing the basic data and the position information of the basic data on the first storage device into an image file of the first storage device on the second storage device.
4. The method of claim 1, wherein the first storage device comprises a plurality of storage partitions; the obtaining of the basic data that needs to create the snapshot on the first storage device and the location information of the basic data on the first storage device includes:
determining a target storage partition from the plurality of storage partitions for which data has changed since a last snapshot creation operation;
and acquiring data in the target storage partition and the label of the target storage partition as the position information of the basic data and the basic data on the first storage device respectively.
5. The method of claim 4, wherein determining a target storage partition from the plurality of storage partitions for which data has changed since a last snapshot creation operation comprises:
reading a data state of each of the plurality of memory partitions from a memory partition state table;
and acquiring the storage partition with the data state in the rewriting state as the target storage partition.
6. The method of claim 5, wherein after synchronizing the base data and the location information of the base data on the first storage device to a second storage device, the method further comprises:
and modifying the data state of the target storage partition from a rewriting state to a maintaining state.
7. The method of claim 5, further comprising:
receiving a write instruction, wherein the write instruction carries a label of a storage partition to be written;
acquiring the data state of the to-be-written storage partition from the storage partition state table according to the label of the to-be-written storage partition;
and executing write operation on the to-be-written storage partition according to the data state of the to-be-written storage partition.
8. The method according to claim 7, wherein the performing a write operation on the memory partition to be written according to the data state of the memory partition to be written comprises:
if the data state of the to-be-written storage partition is a holding state, modifying the data state of the to-be-written storage partition into a rewriting state, and executing writing operation in the to-be-written storage partition;
if the data state of the to-be-written storage partition is a rewriting state, executing write operation in the to-be-written storage partition;
and if the data state of the to-be-written storage partition is an invalid state, updating the data in the to-be-written storage partition into snapshot data of the to-be-written storage partition on the third storage device, modifying the data state of the to-be-written storage partition into an overwriting state, and executing writing operation in the to-be-written storage partition.
9. The method of claim 5, further comprising:
sending a rollback instruction to the second storage device, wherein the rollback instruction carries an identifier of the snapshot to be rolled back, so that the second storage device determines a storage partition to be rolled back;
according to the label of the storage partition to be rolled back returned by the second storage device, modifying the data state of the storage partition to be rolled back into an invalid state;
and replacing the data in the to-be-rolled-back storage partition with snapshot data of the to-be-rolled-back storage partition in the to-be-rolled-back snapshot.
10. The method of claim 9, wherein replacing the data in the to-be-rolled-back storage partition with snapshot data of the to-be-rolled-back storage partition in the to-be-rolled-back snapshot comprises:
when a write instruction is received or a data acquisition cycle is reached, sending a data acquisition instruction to the second storage device to instruct the second storage device to acquire snapshot data of the to-be-rolled-back storage partition in the to-be-rolled-back snapshot from the third storage device;
receiving snapshot data, in the snapshot to be rolled back, of the to-be-rolled back storage partition returned by the second storage device;
and replacing the data in the to-be-rolled-back storage partition with snapshot data of the to-be-rolled-back storage partition in the to-be-rolled-back snapshot.
11. A snapshot creation method, comprising:
receiving basic data synchronized by first storage equipment and position information of the basic data on the first storage equipment; the basic data is data needing to create a snapshot on the first storage device;
receiving a snapshot creating instruction sent by the first storage device, wherein the snapshot creating instruction is used for indicating that a snapshot is created on a third storage device for the basic data;
creating a snapshot of the base data on the third storage device based on the base data and location information of the base data on the first storage device.
12. The method of claim 11, wherein the first storage device comprises a plurality of storage partitions;
the receiving the basic data sent by the first storage device and the location information of the basic data on the first storage device includes:
and receiving data in a target storage partition and the label of the target storage partition, which are sent by the first storage device, wherein the target storage partition is a storage partition in which data changes since a last snapshot creation operation in the plurality of storage partitions.
13. The method of claim 12, wherein creating the snapshot of the base data on the third storage device based on the base data and location information of the base data on the first storage device comprises:
distributing an identifier for the snapshot to which the target storage partition belongs;
establishing a mapping relation between the label of the target storage partition and the identification of the snapshot to which the target storage partition belongs;
and backing up the data in the target storage partition and the mapping relation to the third storage equipment.
14. The method of claim 13, further comprising:
receiving a rollback instruction sent by the first storage device, wherein the rollback instruction carries an identifier of a snapshot to be rolled back;
acquiring a label of a storage partition corresponding to the snapshot to be rolled back from the third storage device according to the identifier of the snapshot to be rolled back;
acquiring a storage partition of which the identifier of the current snapshot is different from the identifier of the snapshot to be rolled back from the plurality of storage partitions as the storage partition to be rolled back;
and returning the label of the to-be-rolled-back storage partition to the first storage device so that the first storage device can execute the rolling operation of the to-be-rolled-back storage partition.
15. The method of any of claims 12-14, wherein prior to creating the snapshot of the base data on the third storage device, the method further comprises:
and storing the data in the target storage partition and the label of the target storage partition into a local image file of the first storage device.
16. A storage device, implemented as a first storage device, comprising a memory, a processor, and a communication component;
the memory comprises a program storage area and a data storage area, wherein the program storage area is used for storing programs, and the data storage area is used for storing data;
the processor, coupled to the memory, to execute the program to:
acquiring basic data needing to create a snapshot and position information of the basic data in the data storage area from the data storage area;
synchronizing the basic data and the position information of the basic data in the data storage area to a second storage device, wherein the performance matching degree of the second storage device and the storage device meets the set requirement;
sending, by the communication component, a snapshot creation instruction to the second storage device to instruct the second storage device to create a snapshot of the base data on a third storage device;
the communication component is configured to send the snapshot creation instruction to the second storage device.
17. A storage device, comprising: a memory, a processor, and a communications component;
the communication component is used for receiving basic data synchronized by a first storage device and position information of the basic data on the first storage device; the basic data is data needing to create a snapshot on the first storage device; the performance matching degree of the storage equipment and the first storage equipment meets the set requirement;
the communication component is further configured to receive a snapshot creating instruction sent by the first storage device, where the snapshot creating instruction is used to instruct to create a snapshot for the basic data on a third storage device;
the memory comprises a program storage area and a data storage area, wherein the program storage area is used for storing a program, and the data storage area is used for storing the basic data and the position information of the basic data on the first storage device;
the processor, coupled to the memory, to execute the program to:
creating a snapshot of the base data on the third storage device based on the base data and location information of the base data on the first storage device.
18. A storage system, comprising: the first storage device, the second storage device and the third storage device are connected in sequence; the performance matching degree of the second storage equipment and the first storage equipment meets the set requirement;
the first storage device is configured to acquire basic data that needs to create a snapshot on the first storage device and location information of the basic data on the first storage device, and synchronize the basic data and the location information of the basic data on the first storage device to the second storage device; and sending a snapshot creation instruction to the second storage device to instruct the second storage device to create a snapshot of the base data on the third storage device;
the second storage device is configured to receive the basic data and the location information of the basic data on the first storage device, receive the snapshot creation instruction, and create a snapshot of the basic data on the third storage device based on the basic data and the location information of the basic data on the first storage device.
19. The system of claim 18, wherein the storage medium in the first storage device is a solid state disk; the storage medium in the second storage device is a mixed storage medium of a solid state disk and a serial port hard disk; and the storage medium in the third storage device is a serial hard disk.
CN201711092728.1A 2017-11-08 2017-11-08 Snapshot creating method, device and system Active CN110018987B (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201711092728.1A CN110018987B (en) 2017-11-08 2017-11-08 Snapshot creating method, device and system
PCT/CN2018/113728 WO2019091341A1 (en) 2017-11-08 2018-11-02 Snapshot creation method, apparatus, and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711092728.1A CN110018987B (en) 2017-11-08 2017-11-08 Snapshot creating method, device and system

Publications (2)

Publication Number Publication Date
CN110018987A CN110018987A (en) 2019-07-16
CN110018987B true CN110018987B (en) 2023-03-21

Family

ID=66438199

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711092728.1A Active CN110018987B (en) 2017-11-08 2017-11-08 Snapshot creating method, device and system

Country Status (2)

Country Link
CN (1) CN110018987B (en)
WO (1) WO2019091341A1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114764484A (en) * 2021-01-13 2022-07-19 武汉斗鱼网络科技有限公司 Lazy loading implementation method and device, electronic equipment and storage medium
CN115981574B (en) * 2023-03-10 2023-08-04 阿里巴巴(中国)有限公司 Snapshot storage method, system, equipment and storage medium

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102576322A (en) * 2009-08-21 2012-07-11 赛门铁克公司 Proxy backup of virtual disk image files on NAS devices
CN103034566A (en) * 2012-12-06 2013-04-10 华为技术有限公司 Method and device for restoring virtual machine
CN106126370A (en) * 2016-06-15 2016-11-16 上海爱数信息技术股份有限公司 Based on the Server free backup method and the system that store increment bitmap between snapshot
CN106681862A (en) * 2016-12-15 2017-05-17 华为技术有限公司 Method and apparatus for incremental recovery of data

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1331063C (en) * 2003-06-10 2007-08-08 联想(北京)有限公司 On-line data backup method based on data volume snapshot
JP4942418B2 (en) * 2006-08-04 2012-05-30 株式会社日立製作所 Computer system and snapshot creation method thereof
JP2012058863A (en) * 2010-09-07 2012-03-22 Nec Corp Disk device and method and program for data duplication to disk device
US9727257B2 (en) * 2015-02-05 2017-08-08 Red Hat, Inc. Maintaining relative references when unlinking volumes from a volume chain

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102576322A (en) * 2009-08-21 2012-07-11 赛门铁克公司 Proxy backup of virtual disk image files on NAS devices
CN103034566A (en) * 2012-12-06 2013-04-10 华为技术有限公司 Method and device for restoring virtual machine
CN106126370A (en) * 2016-06-15 2016-11-16 上海爱数信息技术股份有限公司 Based on the Server free backup method and the system that store increment bitmap between snapshot
CN106681862A (en) * 2016-12-15 2017-05-17 华为技术有限公司 Method and apparatus for incremental recovery of data

Also Published As

Publication number Publication date
CN110018987A (en) 2019-07-16
WO2019091341A1 (en) 2019-05-16

Similar Documents

Publication Publication Date Title
US12117911B2 (en) Remote data replication method and system
US20060047926A1 (en) Managing multiple snapshot copies of data
US20150113218A1 (en) Distributed Data Processing Method and Apparatus
US20130282676A1 (en) Garbage collection-driven block thinning
CN107861691B (en) Load balancing method and device of multi-control storage system
US20130262388A1 (en) Database backup to highest-used page
CN112000426B (en) Data processing method and device
CN109542329B (en) Log writing method, storage management equipment and system
US10353780B1 (en) Incremental backup in a distributed block storage environment
CN109753379B (en) Snapshot data backup and deletion method, device and system
CN110018987B (en) Snapshot creating method, device and system
US20180307684A1 (en) Method and Device for Reading and Writing Video Data in NAS Device
CN111158858B (en) Cloning method and device of virtual machine and computer readable storage medium
CN114328018B (en) Snapshot creation method, computing device and storage medium
CN113434470B (en) Data distribution method and device and electronic equipment
CN113641446A (en) Memory snapshot creating method, device and equipment and readable storage medium
CN113127438B (en) Method, apparatus, server and medium for storing data
KR102277731B1 (en) Method for operating storage system and storage controller
US10235089B2 (en) Storage control device, method and storage system to backup data using allocation information
CN110531925B (en) Data reading method and device, electronic equipment and machine-readable storage medium
CN115934002B (en) Solid state disk access method, solid state disk, storage system and cloud server
CN110018986B (en) Abnormal snapshot identification method and device
CN114328007B (en) Container backup and restoration method, device and medium thereof
CN110018985B (en) Snapshot deleting method, device and system
CN111399774B (en) Data processing method and device based on snapshot under distributed storage 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
GR01 Patent grant
GR01 Patent grant