WO2018119998A1 - 一种快照回滚方法、装置、存储控制器和系统 - Google Patents

一种快照回滚方法、装置、存储控制器和系统 Download PDF

Info

Publication number
WO2018119998A1
WO2018119998A1 PCT/CN2016/113421 CN2016113421W WO2018119998A1 WO 2018119998 A1 WO2018119998 A1 WO 2018119998A1 CN 2016113421 W CN2016113421 W CN 2016113421W WO 2018119998 A1 WO2018119998 A1 WO 2018119998A1
Authority
WO
WIPO (PCT)
Prior art keywords
snapshot
version number
target
source data
rollback
Prior art date
Application number
PCT/CN2016/113421
Other languages
English (en)
French (fr)
Inventor
陆丞
Original Assignee
华为技术有限公司
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 华为技术有限公司 filed Critical 华为技术有限公司
Priority to CN201680003118.7A priority Critical patent/CN108604201B/zh
Priority to PCT/CN2016/113421 priority patent/WO2018119998A1/zh
Publication of WO2018119998A1 publication Critical patent/WO2018119998A1/zh

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

Definitions

  • the present invention relates to the field of storage, and more particularly to the field of snapshot technology.
  • Storage media is damaged (only snapshots based on split mirror technology can recover data).
  • Figure 1 shows the whole process of data backup and recovery using snapshots. (1) Periodically generate snapshots of business data every hour. Only snapshots are additionally saved for snapshot data, so the amount of data is small. (2) After discovering that the data at 5 pm was infected by the virus, use the most recent snapshot (the snapshot of version 3) to roll back the data and restore the data before being infected by the virus, thereby evading the virus. Damage caused by infection.
  • the present invention provides an embodiment of a snapshot rollback method, which may be executed by a controller, where the method includes: the storage controller receives a rollback request, where the rollback request includes a target snapshot ID; the storing Obtaining, by the controller, a version number of the source data of the target snapshot, and obtaining a version number of the target snapshot identified by the target snapshot ID, where the target snapshot is a snapshot of the source data; establishing the source data
  • the pointing relationship between the version number and the version number of the target snapshot can also be referred to as a "redirect" relationship. This scheme can achieve fast rollback, and there is no data replication during the rollback process, which saves system resources.
  • the rollback request further carries a data ID
  • the obtaining the version number of the source data of the target snapshot specifically includes: obtaining a version of the source data of the target snapshot according to the data ID. number.
  • the target snapshot can be found using the data ID. In some cases, such as when the source data is a file system and there is only one file system in the storage system, the data ID may not be carried. Therefore, carrying the data ID is optional.
  • the method further includes: the storage controller receiving a first read request, the first read request including a first target address; and the source data according to the first target address Obtaining data requested by the first read request; when the requested data is not included in the source data, acquiring from the target snapshot according to a pointing relationship.
  • This scenario describes how to read data by address.
  • the method further includes: the storage controller receiving a write request, the write request including a write address and data that needs to be updated; finding a target block according to the write address; Write an address to write the data that needs to be updated to the target block.
  • This scenario describes how to write data by address.
  • the method further includes: the storage controller obtaining a version of the source data
  • the number includes: the storage controller searches the source data according to the target snapshot ID; and the storage controller obtains a version number of the source data according to the found source data.
  • the method before the rollback operation is started, the method further includes: the storage controller updating the version number of the source data.
  • the update of the version number can show that the source data is rolled back.
  • the version number update operation can also be performed after the rollback.
  • the version number of the source data points before receiving the rollback request, establishing: the version number of the source data points to the pointing relationship of the version number of the most recently generated snapshot; between the multiple snapshots, the version number of each snapshot points upward
  • the version number of a generated snapshot points to the relationship.
  • the embodiment of the present invention establishes a pointing relationship between a file system and a snapshot, and between snapshots. Using a version number to describe this pointing relationship is an optional way.
  • the source data is a file system or a logical unit number LUN.
  • the present invention provides an embodiment of a snapshot rollback device.
  • the method of the first aspect or the first aspect may be implemented, and has the corresponding technical effect. It will not be explained here.
  • the present invention provides a memory controller including a processor and an interface for receiving a rollback request and forwarding the rollback request to a processor for execution (eg, by running a program)
  • a memory controller including a processor and an interface for receiving a rollback request and forwarding the rollback request to a processor for execution (eg, by running a program)
  • the present invention provides a snapshot rollback system, comprising the snapshot rollback device of the second aspect or the second aspect, and further comprising a storage medium, wherein the storage medium is configured to store the target snapshot and the File system.
  • a snapshot rollback system comprising the snapshot rollback device of the second aspect or the second aspect, and further comprising a storage medium, wherein the storage medium is configured to store the target snapshot and the File system.
  • the present disclosure provides a snapshot rollback system, including the snapshot rollback device of the second aspect or the second aspect, and a storage medium, where the storage medium is used to store the target snapshot and the File system.
  • a snapshot rollback system including the snapshot rollback device of the second aspect or the second aspect, and a storage medium, where the storage medium is used to store the target snapshot and the File system.
  • FIG. 1 illustrates a process of backing up and restoring data using snapshots in the prior art
  • FIG. 2 is a schematic diagram of an embodiment of a redirection relationship of the present invention
  • FIG. 3 is a schematic diagram of another embodiment of a redirection relationship of the present invention.
  • FIG. 4 is a schematic diagram of another embodiment of a redirection relationship of the present invention.
  • FIG. 5 is a schematic diagram of another embodiment of a redirection relationship according to the present invention.
  • FIG. 6 is a flowchart of an embodiment of a snapshot rollback method of the present invention.
  • FIG. 7 is a structural topology diagram of an embodiment of a snapshot device of the present invention.
  • Figure 8 is a block diagram showing the structure of an embodiment of the memory controller of the present invention.
  • Snapshot technology is a common technology in the storage field. Snapshot is an image of data at a certain moment. Using snapshots to protect data can improve data reliability.
  • the data that is created as a snapshot is called source data.
  • source data There are many types of source data, such as file system, logical unit number (English: Logical Unit Number, LUN), some or all of the data, for the sake of brevity, the file system is taken as an example.
  • LUN Logical Unit Number
  • the newly generated snapshot can save the difference data between the current source data and the previous snapshot. Through snapshots, you can recover the contents of the file system at the time of snapshot. The process of restoring data using snapshots is called rollback.
  • Each snapshot of the file system has a version number, and the file system itself has a version number.
  • the version number reflects the order in which snapshots are generated. Different versions of snapshots and file systems can be distinguished using the version number.
  • a common version number rule is: the version number includes the value. The later the snapshot is generated, the larger the value in the version number, the larger the version number of the file system.
  • the version number may also be a letter or other symbols, as long as the different snapshots can be distinguished within the protection scope of the embodiment.
  • the snapshots of the file systems described in the embodiments of the present invention are all based on the same file system. For the sake of simplicity of description, the snapshots of the file system are simply referred to as snapshots. Since the snapshot is generated by performing a "snapshot operation" on the file system, in other words, the file system is the data source of the snapshot, the file system is also called the source file system.
  • a pointing relationship between a file system and snapshots of different versions is established.
  • the pointing relationship includes a pointing relationship between a version number of the file system and a version number of the snapshot, and a pointing relationship between the version number of the snapshot at a certain moment and the version number of the previous snapshot. If the pointing relationship is that the file system points to a snapshot, content that is not readable from the file system can be read from its redirected snapshot. If the pointing relationship is that the snapshot points to the snapshot, according to the pointing relationship, the content that cannot be read from a snapshot can be read from the snapshot it points to. In other words, using the pointing relationship, an access request for data that cannot be obtained in the file system can be jumped to the target snapshot pointed to.
  • the file system can be pointed to the target snapshot. If the file system is accessed, if the requested data is not found in the file system, the data can be retrieved from the target snapshot, thereby rolling back the file system to The effect of the target snapshot. After the rollback, you can access the contents of the file system at the moment you are rolled back. For example, at 11:00, the file system rolls back to 10:00, and you can access the contents of the file system at 10:00. Since only the pointing relationship is established, no data copy occurs. Therefore, the embodiment of the present invention can implement snapshot rollback without requiring data copying. The data of other snapshots is not affected by the rollback, and no snapshots are deleted or modified, and other snapshots can still be accessed normally.
  • the embodiment can establish the pointing relationship between the snapshots in advance and the pointing relationship between the file system and the snapshot.
  • the pointing relationship between snapshots can be determined by the generation time of the snapshot.
  • the generation time of the snapshot is determined by the numerical value of the version number, and then the pointing relationship includes a file system represented by a larger version number and a snapshot represented by a smaller version number.
  • the snapshot represented by the smaller version number refers to a snapshot represented by a smaller version number adjacent to the adjacent value.
  • version number path A series of continuous pointing relationships, which we call the version number path.
  • version number path there is a version number path called version number path 0.
  • version number path In the version number path, according to the version number from large to small, the relationship is: file system of version number 3 -> snapshot of version number 2 -> snapshot of version number 1. This series of pointing relationships is described by version number path 0.
  • the version number 3 is the version number of the file system
  • the version number 2 and version number 1 are the version numbers of the snapshot.
  • a pointing relationship between the file system and the snapshot being rolled back is established.
  • it is also possible to update the version number of the file system for example, by adding 1 to the version number of the original file system. Referring to FIG. 3, on the basis of FIG. 2, when the current file system is rolled back to the snapshot 1, the pointing relationship between the current version file system and the snapshot 1 is established. Also, give the file system a new version number. For example, the original file system version number is 3, the original current version number is incremented by 1, and the current file system version number is updated to 4.
  • snapshot 2 is still preserved in the storage system.
  • both snapshot 2 and the file system point to snapshot 1.
  • two version number paths of version number path 0 and version number path 1 are formed.
  • the version number of the file system is updated each time a new snapshot is created. For example, add 1 to the version number of the file system; the version number of the file system before the update is the version number of the newly created snapshot. Referring to FIG. 4, if on the basis of FIG. 3, snapshot 3 and snapshot 4 are created again. There are a total of five version numbers, four of which are used to mark the snapshot; one version number is updated based on the original file system version number and is used to mark the file system.
  • Each rollback operation generates a pointing relationship between the file system and the snapshot; therefore, each time the rollback operation, a new version number path is generated.
  • the version number path formed between the existing snapshots remains unchanged.
  • FIG 5 in accordance with the above rules, and so on, when the file system is rolled back to snapshot 3. Then generate a version number path again, in the newly generated version number path, the file system points to snapshot 3.
  • the pointing relationship between the original version number path 0 and the snapshot number in the version number path 1 remains unchanged. Therefore, there are three version number paths: version number path 0 (snapshot 2 -> snapshot 1), version number path 1 (snapshot 5 -> snapshot 4), version number path 2 (file system -> snapshot 4 ).
  • FIG. 6 a topological diagram of an embodiment of a memory system of the present invention is shown.
  • the storage controller 11 and the hard disk 12 are connected to form a storage system to provide a data storage service for the host 13.
  • the storage controller 11 manages the hard disk 12 and provides a storage interface for the host 13.
  • the hard disk 12 provides storage space for storing snapshots and file systems.
  • the hard disk 12 may be other storage media such as a solid state hard disk or the like.
  • the controller 11 and the hard disk 12 are two mutually independent devices.
  • the hard disk can also be integrated inside the storage controller 11, so that the storage controller 11 forms a complete storage system.
  • the storage medium is set inside or outside the storage controller as long as it can provide storage space.
  • a flowchart of an embodiment of the snapshot rollback method of the present invention the various steps of the method being executable by the controller. Specifically, the following steps are included.
  • the controller establishes a pointing relationship between the snapshots and a pointing relationship between the file system and the snapshot.
  • the pointing relationship between snapshots can be determined by the chronological order in which the snapshots are generated, and each snapshot points to the previous generated snapshot. It can be understood that the earliest generated snapshot does not point to other snapshots.
  • the file system points to the latest snapshot generated. Form a chain structure.
  • the snapshot that is pointed to is the next level of snapshot that points to his file system/snapshot.
  • the pointing relationship describes the direction in which the content in the file system is obtained. According to the pointing relationship, the content that can't be read from the file system/snapshot can be obtained from the snapshot it points to; if it still can't be read, try to get it from the next snapshot; until it needs to be read Take the content.
  • the content that needs to be read can be read in units of blocks.
  • the above pointing relationship can be described by the version number.
  • the specific method is to establish a pointing relationship between the version numbers of the snapshots, and a pointing relationship between the file system version number and the snapshot version number.
  • This step 21 is a preset step and is performed before the rollback operation. Therefore, this step is not required for the rollback process.
  • the storage controller receives a rollback request sent by the host, where the rollback request carries a data ID of the file system and a target snapshot ID.
  • the rollback request is used to request that the file system be rolled back to the data of the snapshot version generation time represented by the target snapshot ID.
  • the data ID is used to uniquely identify the source data.
  • the data ID is a LUN ID.
  • the data ID is an ID of the file system.
  • the data ID is optional. In some cases, such as when there is only one file system in the system, the file system and the snapshot of the file system can be found without the data ID.
  • Each snapshot corresponds to a snapshot ID.
  • the target snapshot ID is the ID of the snapshot that needs to be rolled back.
  • the rollback request may also be issued by the host, such as internally by the storage controller.
  • the storage controller obtains a version number of the file system, and obtains a version number of the target snapshot corresponding to the target snapshot ID.
  • the file system and the version number of the file system can be obtained.
  • a snapshot of each version, as well as a version number of each version of the snapshot can also be obtained.
  • the version number of the target snapshot corresponding to the target snapshot ID can be obtained.
  • the acquisition of these two version numbers is in no particular order in chronological order. Can be obtained at the same time, or one can be obtained first, and the other one can be obtained.
  • the storage controller updates the version number of the file system.
  • Both the version number of the file system and the version number of the snapshot can be numbers.
  • An update method is to add 1 to the version number of the current version object as the version number of the new current version object.
  • One of the effects of the version number update is that the file system can be displayed as being rolled back.
  • the version number may not be updated, and the original version number of the file system may be kept unchanged. In other words, this step is optional.
  • the storage controller initiates a rollback operation, the rollback operation comprising: establishing a pointing relationship from the file system to the target snapshot.
  • This pointing relationship can be described by a pointing relationship between the version number of the file system and the version number of the target snapshot.
  • the above steps 22-25 are the rollback process, and the following step 26 describes the above-mentioned rollback operation. How to read data in the file system.
  • the storage controller receives a first read request sent by the host, where the first read request carries a data ID of the file system and a first target address. First read request for requesting reading of the file system The first target data in the system. The storage controller obtains the first target data according to the pointing relationship, and returns the data to the host.
  • the first target address may be described in conjunction with a logical block address (LBA) and a data length.
  • LBA logical block address
  • the logical block address describes the starting position of the first target data in the storage device, and the data length describes the size of the first target data.
  • the first target address may also be jointly described by the first address and the end address.
  • the storage controller obtains the ID of the block in which the first target data is located (for example, the address of the block) according to the first target address. Reading and writing of content at block granularity.
  • the first target data is in one block or in a plurality of consecutive blocks.
  • the file system is found using the file system ID, and the block ID is used to find a block to be read from the file system.
  • first look up from the file system if the block is not found in the file system, it will be searched from the next level snapshot according to the pointing relationship; if it is still not found, then from the next level Look in the level snapshot until you get the block location you need to read.
  • the first target data is obtained from the found block and returned to the host.
  • the LBA of the block is recorded, and the LBA can be stored in the memory for the controller to read.
  • the LBA is recorded in such a manner that the LBA and physical address (PBA) mapping relationship of the block is recorded in the controller. Therefore, when reading the data in the block, according to the LBA carrying the block in the read request, it can be found whether there is a corresponding block in the file system or a certain snapshot.
  • the default is access to the file system.
  • the pointing relationship describes the direction in which the content in the file system is obtained. Therefore, according to the pointing relationship described by the pointing relationship, starting from the file system, the requested block is obtained step by step. Let us take one of the blocks as an example and name this block the first target block.
  • the first target block is obtained from the file system, it is directly returned to the host; if the file system does not obtain the a first target block, searching for the first target block from a snapshot pointed to by the file system, and returning to the host if found; otherwise, searching for the target block from a snapshot pointed to by the snapshot pointed to by the file system, if If it is found, it is returned to the host; otherwise, it continues to try to obtain the target block in the next level of snapshot; in this loop, until the target block is found.
  • the first target block is read out, and the content belonging to the first target data in the first target block is returned to the host.
  • the block is a component of a snapshot and file system.
  • Step 26 can be performed at any time after step 21 as long as there is a pointing relationship between the file system and any of the snapshots in the storage system.
  • step 26 can be performed after step 25.
  • the storage controller acquires data requested by the first read request from the source data according to the first target address, and the portion that is not acquired from the source data is in accordance with the pointing relationship. Obtained in the target snapshot. For the part that is not acquired in the target snapshot, it is obtained from the snapshot pointed to by the target snapshot according to the pointing relationship. According to the snapshot pointing relationship, it is searched step by step until all the data requested by the first target address is obtained.
  • step 26 how the storage controller issues a read request to the host is described.
  • the storage controller is processed in a similar manner to step 26, for example, the write request carries the file system ID and the write address for writing the data.
  • the write request additionally carries the data that needs to be updated to the file system.
  • the memory controller uses the write request to carry the write address to find the location of the target block in the file system, and then writes the target content to the target block.
  • the storage controller receives a second read request sent by the host, where the second read request carries a snapshot ID and a second target address.
  • the storage controller obtains the second target data according to the pointing relationship, and returns the data to the host.
  • Step 27 is based on the pointing relationship between the snapshots established in step 21, and can be executed at any time after step 21.
  • the difference from step 26 is that the first target data requested by the first read request in step 26 is data of the file system, and in step 27, the second target data requested by the second read request is read. Is the data in the snapshot.
  • the controller obtains the ID of the block where the second target data is located according to the first target address (for example, a block address).
  • the second target data may be in one block or distributed in multiple blocks.
  • Use the snapshot ID to find the snapshot represented by the snapshot ID. Name a block involved in the second target data as a second block, and the reading process is similar to step 26: using the block ID to search for a second target block from the snapshot; if not, according to the pointing relationship The second target block is searched in the next level snapshot; until the second target block is obtained.
  • the portion of the second target block that belongs to the second target data is returned to the host.
  • step 26 Since the specific process is similar to step 26, only the target being read is changed from the file system to the snapshot, so reference can be made to step 26, which will not be described in detail herein.
  • Step 27 describes how to read the snapshot data, which can be performed separately, during the execution of steps 22-26, or after step 26.
  • the present invention further provides an embodiment of a snapshot rollback device, which can apply the snapshot rollback method described above.
  • the snapshot rollback device 3 includes an accepting module 31, a version number processing touch 32, a rollback module 33, and a reading module 34.
  • the snapshot rollback device can be hardware, such as a storage controller. It can also be software, such as a program running in a storage controller, or a combination of software and hardware. Since the snapshot rollback method embodiment corresponding to the snapshot rollback device embodiment has been described in more detail, only the functions of each module will be briefly described below.
  • the receiving module 31 is configured to receive a rollback request, where the rollback request includes a target snapshot ID.
  • the version number processing module 32 is configured to communicate with the receiving module 31, to obtain a version number of the source data of the target snapshot, and obtain a version number of the target snapshot corresponding to the target snapshot ID, where the target snapshot is A snapshot of the source data.
  • the rollback module 33 is in communication with the version number processing module 32, and is configured to establish a pointing relationship of a version number of the source data to a version number of the target snapshot.
  • the source data is a file system or a logical unit number LUN.
  • the rollback request further carries a data ID, where the version number processing module obtains the version number of the source data of the target snapshot, specifically: the version number processing module obtains the target snapshot according to the data ID.
  • the version number of the source data is not limited to: the version number processing module obtains the target snapshot according to the data ID.
  • the present invention further provides an embodiment of the data: the receiving module is further configured to receive a first read request, where the first read request includes a first target address; and the rollback device further includes a read module 34.
  • the receiving module is further configured to receive a first read request, where the first read request includes a first target address; and the rollback device further includes a read module 34.
  • the first read request includes a first target address
  • the rollback device further includes a read module 34.
  • the version number processing module obtains the version number of the source data, where the version number processing module searches the source data according to the target snapshot ID; and the version number processing module is configured according to the source.
  • the data obtains the version number of the source data.
  • there may be other schemes to obtain the version number of the source data such as carrying the version number of the source data directly in the rollback request.
  • the pointing relationship between the version number of the source data and the version number of the target snapshot is: an access request for data that cannot be obtained in the file system is jumped to be obtained from the target snapshot pointed to.
  • the optional version number processing module is further configured to: update the version number of the source data before starting the rollback operation. For example, add 1 to the version number of the source data as the new source data version number.
  • the version number processing module is further configured to: establish a pointing relationship when the rollback device is initialized, where the pointing relationship includes: a version number of the source data points to a pointing relationship of a version number of a recently generated snapshot; Between snapshots, the version number of each snapshot points to the relative relationship of the version number of the last generated snapshot.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Retry When Errors Occur (AREA)

Abstract

揭露一种快照回滚方法、装置、存储控制器和系统,在快照回滚方法中,存储控制器接收包括目标快照ID的回滚请求;获得所述目标快照的源数据的版本号,以及获得所述目标快照ID所识别的目标快照的版本号,其中,所述目标快照是所述源数据的快照;建立所述源数据的版本号与所述目标快照的版本号的指向关系。使用该技术可以实现快照的快速回滚。

Description

一种快照回滚方法、装置、存储控制器和系统 技术领域
本发明有关于存储领域,尤其是有关于快照技术领域。
背景技术
近年来,随着信息科学和技术的不断发展以及因特网的广泛应用,产生的数据量以令人难以置信的速度迅猛增长,业务的进步也对数据处理技术在可用性、可靠性、可扩展性等方面提出了更高的要求。一方面,数据保护、数据备份、数据并行利用(如测试、报表生成、数据分析等)的需求显得越来越重要;另一方面,联机商业模式要求系统不停的运转,停机则意味着业务的停顿和商业机会的丢失。由此,为了提高数据的可靠性,数据快照技术应运而生。
使用数据快照技术,可以在几乎瞬间获得完全可用的卷数据的即时时刻的一致性映像(即快照),并占用较少的存储空间。当存储设备发生应用故障或者文件损坏时可以进行快速的数据恢复,将数据恢复某个可用的时间点的状态(即快照回滚),从而实现在线数据备份与恢复。
使用快照备份可以在以下场景中迅速恢复数据:
(1)病毒感染。
(2)人为误操作。
(3)恶意篡改。
(4)系统宕机造成的数据损坏。
(5)应用程序BUG造成的数据损坏。
(6)存储系统BUG造成的数据损坏。
(7)存储介质损坏(只有基于split mirror技术的快照能够恢复数据)。
图1以病毒感染为例介绍了利用快照进行数据备份及恢复的整个过程:(1)每一个小时周期性地对业务数据生成快照,快照时仅对差异数据进行额外保存,因此数据量少;(2)发现下午5点的数据被病毒感染的问题以后,利用最近一次的快照(版本号3的快照)对数据进行回滚(roll back),把数据恢复到被病毒感染之前,从而规避病毒感染带来的损害。
图1的例子中,假设当前时间是下午6点,那么文件系统的当前版本就是 下午6点的数据。如果此时主机请求把文件系统回滚到下午4点的状态,也就是回滚到快照1,其具体操作是把快照1的数据复制到当前文件系统,然后删除快照1的内容。这个回滚的过程涉及大量的数据复制,因此对系统运算资源造成大量消耗。
发明内容
第一方面,本发明提供一种快照回滚方法的实施例,可以由控制器执行,方法包括:存储控制器接收回滚请求,其中,所述回滚请求中包括目标快照ID;所述存储控制器获得所述目标快照的源数据的版本号,以及获得所述目标快照ID所识别的目标快照的版本号,其中,所述目标快照是所述源数据的快照;建立所述源数据的版本号与所述目标快照的版本号的指向关系。这种指向关系也可以称为“重定向”关系。使用该方案可以实现快速回滚,并且回滚过程中不存在数据复制,节约了系统资源。
在一种可能的设计中,所述回滚请求中进一步携带数据ID,所述获得所述目标快照的源数据的版本号具体包括:根据所述数据ID获得所述目标快照的源数据的版本号。使用数据ID可以找到目标快照。在一些情况下,例如源数据是文件系统,并且存储系统中只有一个文件系统时,可以不携带数据ID。因此,携带数据ID是可选的。
在一种可能的设计中,所述方法还包括:所述存储控制器接收第一读请求,所述第一读请求包括第一目标地址;按照所述第一目标地址,从所述源数据中获取第一读请求所请求的数据;当所述源数据中未包含所述请求的数据时,按照指向关系从所述目标快照中获取。该方案描述了如何按照地址读取数据。
在一种可能的设计中,所述方法还包括:所述存储控制器接收写请求,所述写请求包括写入地址和需要更新的数据;按照所述写入地址找到目标块;按照所述写入地址,把所述需要更新的数据写入所述目标块。该方案描述了如何按照地址写入数据。
在一种可能的设计中,所述方法还包括:所述存储控制器获得源数据的版 本号,具体包括:所述存储控制器根据所述目标快照ID查找所述源数据;所述存储控制器根据查找到的所述源数据获得所述源数据的版本号。
在一种可能的设计中,启动回滚操作之前,进一步包括:所述存储控制器对源数据的版本号进行更新。版本号的更新可以显示出源数据是经过回滚操作的。该版本号更新的操作也可以在回滚之后执行。
在一种可能的设计中,在接收回滚请求之前,建立:所述源数据的版本号指向最近生成的快照的版本号的指向关系;多个快照之间,每个快照的版本号指向上一次生成的快照的版本号指向关系。本发明实施例建立的是文件系统和快照之间,以及快照之间的指向关系。使用版本号来描述这个指向关系,是一种可选的方式。
在一种可能的设计中,所述源数据是文件系统或者逻辑单元号LUN。
第二方面,本发明提供一种快照回滚装置的实施例。可以执行第一方面或者第一方面各可能设计的方法,并拥有相应的技术效果。在此不再另行说明。
第三方面,本发明提供存储控制器,包括处理器和接口,所述接口用于接收回滚请求并把所述回滚请求转发给处理器,所述处理器用于(例如通过运行程序)执行第一方面或者第一方面各可能设计的方法,并拥有相应的技术效果。在此不再另行说明。
第四方面,本发明提供一种快照回滚系统,包括第二方面或者或者第二方面各可能设计的快照回滚装置,还包括存储介质,所述存储介质用于存储所述目标快照和所述文件系统。拥有第二方面或者或者第二方面各可能设计的技术效果。在此不再另行说明。
第五方面,本发明提供一种快照回滚系统,包括第二方面或者或者第二方面各可能设计的快照回滚装置,还包括存储介质,所述存储介质用于存储所述目标快照和所述文件系统。拥有第二方面或者或者第二方面各可能设计的技术效果。在此不再另行说明。
附图说明
图1介绍了现有技术中,利用快照进行数据备份及恢复的过程;
图2是本发明重定向关系实施例示意图;
图3是本发明另一重定向关系实施例示意图;
图4是本发明另一重定向关系实施例示意图;
图5是本发明另一重定向关系实施例示意图;
图6是本发明本发明快照回滚方法的实施例的流程图;
图7是本发明本发明快照装置的实施例结构拓扑图;
图8是本发明本发明存储控制器的实施例结构示意图。
具体实施方式
快照技术是存储领域常见技术,快照是数据在某个时刻的映像,使用快照对数据进行保护可以提高数据的可靠性。
被创建快照的数据称为源数据。源数据有多种类型,例如:文件系统、逻辑单元号(英文:Logical Unit Number,LUN)中存储的部分或全部数据等,为了简洁,后文以文件系统为例进行介绍。对于存储系统收到的写请求,如果写请求中携带的是新数据,可以写入源数据中;如果写请求中携带的数据和快照记录的数据相比没有变化的内容,则可以不写入。在创建快照后,新生成的快照可以保存当前的源数据和前一次快照之间的差异数据。通过快照,可以恢复出快照时刻的文件系统的内容,使用快照恢复数据的过程称为回滚。
文件系统的每个快照拥有一个版本号,文件系统自身也有一个版本号。版本号可以反映出快照生成的先后顺序。使用版本号可以把不同版本的快照以及文件系统进行区分。一种常见的版本号规则是:版本号包括数值,生成时间越晚的快照、其版本号中的数值越大,文件系统的版本号的数值最大。另外,版本号也可以是字母或者其他符号,只要能够区分不同快照都在本实施例的保护范围之内。本发明各实施例中所描述的文件系统的快照都是基于同一个文件系统而言的,为了描述简便,后文把文件系统的快照简称为快照。由于快照是对文件系统执行“快照操作”生成的,换句话说,文件系统是快照的数据源,因此文件系统也称为源文件系统。
本发明实施例中,建立文件系统以及不同版本的快照之间的指向关系。所述指向关系包括文件系统的版本号与快照的版本号之间的指向关系,以及某个时刻的快照的版本号与之前的快照的版本号之间的指向关系。如果指向关系是文件系统指向快照,从文件系统中读取不到的内容,可以从它的重定向快照中读取。如果指向关系是快照指向快照,按照指向关系,从一个快照中读取不到的内容,可以从它指向的快照中读取。换句话说,使用所述指向关系,可以把对在所述文件系统中无法获得数据的访问请求,跳转到指向到的目标快照中获取。
通过设置指向关系,可以把文件系统指向目标快照,对于文件系统的访问,如果在文件系统中没有找到所请求的数据,可以转而从目标快照中获取数据,从而实现了把文件系统回滚到目标快照的效果。回滚后,可以访问被回滚到的时刻的文件系统的内容。例如在11:00时,文件系统回滚到10:00时刻,则可以访问到10:00时文件系统的内容。由于只是建立指向关系,没有数据拷贝发生。因此,本发明实施例可以实现不需要数据拷贝即实现快照回滚。其他快照的数据不受回滚影响,而且没有快照被删除或者修改,其他快照仍然可以被正常访问。
在回滚前,本实施例可以提前建立快照之间的指向关系,以及文件系统和快照之间的指向关系。快照之间的指向关系可以由快照的生成时间确定。在一种实施方式中,快照的生成时间由版本号的数值大小确定,那么,所述指向关系包括由数值较大的版本号代表的文件系统指向相邻的数值较小的版本号代表的快照,以及所述数值较小的版本号代表的快照指向相邻的数值更小的版本号代表的快照。
一系列连续的指向关系,我们称之为版本号路径。参见图2,图中有一个版本号路径,称为版本号路径0。在版本号路径中,按照版本号从大到小,指向关系是:版本号3的文件系统-->版本号2的快照-->版本号1的快照。这一系列的指向关系由版本号路径0进行描述。其中版本号3是文件系统的版本号,版本号2和版本号1都是快照的版本号。
如果进行回滚操作,则建立文件系统和被回滚的快照之间的指向关系。并且,还可以给文件系统的版本号进行更新,更新方案例如是对原来的文件系统的版本号加1。参见图3,在图2的基础上,对当前的文件系统回滚到快照1,则建立当前版本文件系统和快照1之间的指向关系。并且,给文件系统赋予新的版本号。例如原来的文件系统的版本号为3,对原来的当前版本号加1,当前的文件系统的版本号更新为4。
经过回滚操作后,在存储系统中快照2仍然得以保留。在重指向关系中,快照2和文件系统均指向了快照1。于是形成了版本号路径0和版本号路径1两个版本号路径。
如果继续创建新的快照,每创建一个新的快照,就对文件系统的版本号进行更新。例如对文件系统的版本号加1;更新前的文件系统的版本号作为新创建的快照的版本号。参见图4,如果在图3的基础上,再次创建快照3和快照4。则一共存在5个版本号,其中4个版本号用于标记快照;1个版本号在原文件系统版本号基础上更新获得,用于标记文件系统。
每次回滚操作,会生成一个文件系统到快照之间的指向关系;因此,每次回滚操作,会产生一个新的版本号路径。而已有的快照之间形成的版本号路径保持不变。参见图5,按照上述规则以此类推,当把文件系统回滚到快照3。则再次生成一个版本号路径,在新生成的版本号路径中,文件系统指向快照3。原来的版本号路径0和版本号路径1中的快照之间的指向关系保持不变。因此,一共有3个版本号路径:版本号路径0(快照2-->快照1),版本号路径1(快照5-->快照4),版本号路径2(文件系统-->快照4)。
参见图6,是本发明存储系统实施例的拓扑图。存储控制器11和硬盘12连接,共同组成存储系统,为主机13提供数据存储服务。存储控制器11对硬盘12进行管理,并为主机13提供存储接口。硬盘12提供存储空间,可以用于存储快照和文件系统,在其他实施例中,硬盘12可以是其他存储介质,例如固态硬盘等。
在图6中控制器11和硬盘12是两个相互独立的设备。在其他实施例中, 存储控制器11内部也可以集成硬盘,从而由存储控制器11形成一个完整的存储系统。换句话说,存储介质设置在存储控制器内部或者外部都可以的,只要能够提供存储空间即可。
本发明快照回滚方法实施例的流程图,该方法的各个步骤可以由控制器执行。具体而言,包括如下步骤。
21,控制器建立快照之间的指向关系,以及文件系统和快照之间的指向关系。
快照之间的指向关系可以由生成快照的时间先后顺序确定,每个快照指向前一个生成的快照。可以理解的是,最早生成的快照不指向其他快照。文件系统指向最晚生成的快照。形成一个链式的结构。被指向的快照是指向他的文件系统/快照的下一级快照。
指向关系描述了文件系统中内容的获取方向。按照指向关系,从文件系统/快照中读取不到的内容,可以尝试从其指向的快照中获得;如果仍然读取不到,则尝试从再下一级快照中获取;直到获取到需要读取内容。需要读取的内容可以是以块(block)为单位被读取。
上述指向关系可以由版本号进行描述。其具体做法是:建立快照的版本号之间的指向关系,以及文件系统版本号和快照版本号之间的指向关系。
本步骤21是一个预设的步骤,在回滚操作之前执行。因此,对回滚流程而言,这个步骤不是必须的。
22,存储控制器接收主机发出的回滚请求,所述回滚请求中携带文件系统的数据ID和目标快照ID。回滚请求用于请求把文件系统回滚到目标快照ID所代表的快照版本生成时刻的数据。
数据ID用于唯一标识源数据,例如当所述源数据是LUN时,数据ID则是LUN ID;或者,所述源数据是文件系统时,所述数据ID是所述文件系统的ID,用于唯一标识所述文件系统。由同一个文件系统生成出的多个快照拥有不同的快照ID,然而这些快照与所述文件系统的共用同一个数据ID。因此,数据ID和快照ID二者相结合可以定位到一个唯一的快照。
数据ID是可选的,在一些情况下,例如系统中只有一个文件系统时,不需要数据ID就可以找到文件系统以及这个文件系统的快照。每个快照对应一个快照ID。目标快照ID是需要被回滚到的快照的ID。
在其他实施例中,回滚请求也可以不是主机发出,例如由存储控制器内部产生。
23,所述存储控制器获得文件系统的版本号,以及获得所述目标快照ID所对应的目标快照的版本号。
由所述数据ID,可以获得文件系统以及文件系统的版本号。由所述数据ID,还可以获得各个版本的快照,以及各个版本的快照的版本号。
由目标快照ID,可以获得目标快照ID所对应的目标快照的版本号。
这两个版本号的获取在时间顺序上不分先后。可以同时获得,也可以任意一个先获得,另外一个后获得。
24,所述存储控制器对文件系统的版本号进行更新。
文件系统的版本号和快照的版本号均可以是数字。一种更新方法是,对当前版本对象的版本号加1,作为新的当前版本对象的版本号。
对版本号更新的效果之一,是可以显示文件系统是经过回滚操作的。
在其他实施例中,也可以不更新版本号,保持文件系统原版本号不变。换句话说,本步骤是可选的。
25,所述存储控制器启动回滚操作,所述回滚操作包括:建立从所述文件系统指向所述目标快照的指向关系。
这个指向关系可以用所述文件系统的版本号和目标快照的版本号之间的指向关系进行描述。
此外,文件系统指向其他快照的指向关系可以取消。
上述步骤22-25是回滚流程,下面的步骤26介绍经过上述回滚操作后。如何读取文件系统中的数据。
26,所述存储控制器接收主机发送的第一读请求,所述第一读请求中携带文件系统的数据ID以及第一目标地址。第一读请求用于请求读出所述文件系 统中的第一目标数据。所述存储控制器按照指向关系,获得第一目标数据,返回给所述主机。
第一目标地址可以是逻辑块地址(logic block address,LBA)和数据长度共同进行描述。其中逻辑块地址描述了第一目标数据在存储设备中的起始位置,数据长度描述了第一目标数据的大小。
此外,第一目标地址也可以由首地址和结束地址共同描述。存储控制器根据第一目标地址,获得第一目标数据所在的块的ID(例如是块的地址)。以块为粒度进行内容的读写。所述第一目标数据在一个块中,或者在连续的多个块中。使用文件系统ID找到文件系统,使用所述块ID从所述文件系统中查找需要读取的块。
在启动完回滚操作后,如果有新的数据写入,会被写入经过回滚操作的所述文件系统。因此,首先从所述文件系统中查找块。
对于任意一个块而言,先从从所述文件系统中查找;如果没有在文件系统中找到这个块,则按照指向关系依次从下一级快照中查找;如果仍然没有找到,则从再下一级快照中查找,直至获得需要读取的块位置。从找到的块中获得第一目标数据并返回给主机。
需要说明的是,在存储文件系统或者快照到存储介质中时,对于在存储有效数据的块,会记录块的LBA,LBA可以存放在内存中供控制器读取。例如以在控制器中记录块的LBA和物理地址(PBA)映射关系的方式记录LBA。因此,在读取块中的数据时,根据读请求中携带块的LBA,可以查找到文件系统或者某个快照中是否有对应的块。
可选的,如果在对文件系统内容的访问请求中,不携带文件系统ID,缺省为对文件系统的访问。
如前所述,指向关系描述了文件系统中内容的获取方向。因此可以按照指向关系所描述的指向关系,从文件系统开始,逐级尝试获得所请求的块。我们以其中一个块为例进行描述,把这个块命名为第一目标块。则:如果从文件系统中获得所述第一目标块,则直接返回给主机;如果文件系统中没有获得所述 第一目标块,从文件系统指向的快照找查找所述第一目标块,如果查找到则返回给所述主机;否则,从文件系统指向的快照所指向的快照中查找所述目标块,如果查找到就返回给所述主机;否则,继续尝试在再下一级快照中获得所述目标块;依此循环,直至找到所述目标块为止。读出所述第一目标块,把第一目标块中属于第一目标数据的内容返回给主机。所述块是快照和文件系统的组成单元。
步骤26可以在步骤21之后的任意时刻执行,只要存储系统中存在文件系统和任一快照之间的指向关系即可。
在一种实施方式中,步骤26可以在步骤25之后执行。在这种情况下,存储控制器按照所述第一目标地址,从所述源数据中获取第一读请求所请求的数据,从所述源数据中未能获取的部分,按照指向关系从所述目标快照中获取。对于在目标快照中未能获取的部分,按照指向关系从所述目标快照指向的快照中获取。按照快照指向关系,依此逐级查找,直至获得第一目标地址所请求的所有数据。
步骤26中,介绍了存储控制器对主机发出的读请求如何处理。对于主机发出的写请求,存储控制器的处理方式和步骤26类似,例如写请求中携带文件系统ID以及用于写入数据的写入地址。区别仅在于:写请求中额外携带了需要更新到文件系的统数据。存储控制器使用写请求携带写入地址在文件系统中找到目标块的位置,然后把目标内容写入目标块。
27,所述存储控制器接收主机发送的第二读请求,所述第二读请求中携带快照ID以及第二目标地址。所述存储控制器按照指向关系,获得第二目标数据,返回给所述主机。
步骤27以步骤21建立的快照之间的指向关系作为基础,可以在步骤21之后任意时刻执行。和步骤26不同之处在于,步骤26中的第一读请求所请求读取的第一目标数据是文件系统的数据,而步骤27中,第二读请求所请求读取的第二目标数据的是快照中的数据。
控制器根据第一目标地址,获得第二目标数据所在的块的ID(例如是块的 地址)。第二目标数据可能在一个块中,也可以分布在多个块中。使用快照ID找到快照ID代表的快照。把第二目标数据涉及的一个块命名为第二块,其读取过程和步骤26类似:使用所述块ID从所述快照中查找第二目标块;如果没有查找到,按照指向关系依次从下一级快照中查找所述第二目标块;直至获得所述第二目标块。把第二目标块中属于第二目标数据的部分返回给主机。
由于具体过程和步骤26类似,只是被读的目标从文件系统变成了快照,因此可以参考步骤26,此处不再详述。
步骤27介绍了如何读取快照数据,可以单独执行,也可以在执行步骤22-26期间执行,也可以在步骤26之后执行。
参见图8,本发明还提供一种快照回滚装置的实施例,可以应用上述的快照回滚方法。快照回滚装置3包括:接受模块31、版本号处理摸32、回滚模块33以及读取模块34。快照回滚装置可以是硬件,例如是存储控制器。也可以是软件,例如运行在存储控制器中的程序,还可以是软件和硬件的结合。由于和快照回滚装置实施例对应的快照回滚方法实施例已经做了比较详细的介绍,因此下面仅简单描述其各模块的功能。
接收模块31,用于接收回滚请求,所述回滚请求中包括目标快照ID。版本号处理模块32,和接收模块31通信,用于获得所述目标快照的源数据的版本号,以及获得所述目标快照ID所对应的目标快照的版本号,其中,所述目标快照是所述源数据的快照。回滚模块33,和所述版本号处理模块32通信,用于建立所述源数据的版本号指向所述目标快照的版本号的指向关系。所述源数据是文件系统或者逻辑单元号LUN。
可选的,所述回滚请求中进一步携带数据ID,所述版本号处理模块获得所述目标快照的源数据的版本号具体包括:版本号处理模块根据所述数据ID获得所述目标快照的源数据的版本号。
可选的,本发明还提供度数据的实施例:所述接收模块,还用于接收第一读请求,所述第一读请求包括第一目标地址;所述回滚装置还包括读取模块34,用于按照所述第一目标地址,从所述源数据中获取第一读请求所请求的数据, 从所述源数据中未能获取的部分,按照指向关系从所述目标快照中获取。
可选的,所述版本号处理模块获得源数据的版本号具体为:所述版本号处理模块根据所述目标快照ID查找所述源数据;所述版本号处理模块根据查找到的所述源数据获得所述源数据的版本号。在其他实施例中,还可以有其他方案获得源数据的版本号,例如直接在回滚请求中携带源数据的版本号。
所述源数据的版本号与所述目标快照的版本号的指向关系是:把对在所述文件系统中无法获得数据的访问请求,跳转到从指向到的所述目标快照中获取。
可选的所述版本号处理模块还用于:在启动回滚操作之前,对源数据的版本号进行更新。例如对源数据的版本号加1,作为新的源数据版本号。
所述版本号处理模块,还用于:在所述回滚装置初始化时建立指向关系,所述指向关系包括:所述源数据的版本号指向最近生成的快照的版本号的指向关系;以及多个快照之间,每个快照的版本号指向上一次生成的快照的版本号的指向关系。

Claims (18)

  1. 一种快照回滚方法,其特征在于,包括:
    存储控制器接收回滚请求,所述回滚请求中包括目标快照ID;
    所述存储控制器获得所述目标快照的源数据的版本号,以及获得所述目标快照ID所识别的目标快照的版本号,其中,所述目标快照是所述源数据的快照;
    所述存储控制器建立所述源数据的版本号与所述目标快照的版本号的指向关系。
  2. 根据权利要求1所述的方法,其特征在于,所述回滚请求中进一步携带数据ID,所述获得所述目标快照的源数据的版本号具体包括:
    根据所述数据ID获得所述目标快照的源数据的版本号。
  3. 根据权利要求1所述的方法,其特征在于,其中,所述方法还包括:
    所述存储控制器接收第一读请求,所述第一读请求包括第一目标地址;
    按照所述第一目标地址,从所述源数据中获取第一读请求所请求的数据;
    当所述源数据中未包含所述请求的数据时,按照指向关系从所述目标快照中获取。
  4. 根据权利要求1所述的方法,其特征在于,其中,所述方法还包括:
    所述存储控制器接收写请求,所述写请求包括写入地址和需要更新的数据;
    按照所述写入地址找到目标块;
    按照所述写入地址,把所述需要更新的数据写入所述目标块。
  5. 根据权利要求1所述的方法,其特征在于,所述存储控制器获得源数据的版本号,具体包括:
    所述存储控制器根据所述目标快照ID查找所述源数据;
    所述存储控制器根据查找到的所述源数据获得所述源数据的版本号。
  6. 根据权利要求1所述的方法,其特征在于,启动回滚操作之前,进一步包括:
    所述存储控制器对源数据的版本号进行更新。
  7. 根据权利要求1所述的方法,其特征在于,所述方法之前,还包括:
    建立指向关系,所述指向关系包括:
    所述源数据的版本号指向最近生成的快照的版本号的指向关系;以及
    多个快照之间,每个快照的版本号指向上一次生成的快照的版本号指向关系。
  8. 根据权利要求1-7中任一项所述的方法,其特征在于:
    所述源数据是文件系统或者逻辑单元号LUN。
  9. 一种快照回滚装置,其特征在于,包括:
    接收模块,用于接收回滚请求,所述回滚请求中包括目标快照ID;
    版本号处理模块,用于获得所述目标快照的源数据的版本号,以及获得所述目标快照ID所对应的目标快照的版本号,其中,所述目标快照是所述源数据的快照;
    回滚模块,用于用于建立所述源数据的版本号指向所述目标快照的版本号的指向关系。
  10. 根据权利要求9所述的快照回滚装置,其特征在于,所述回滚请求中进一步携带数据ID,所述版本号处理模块获得所述目标快照的源数据的版本号具体包括:
    版本号处理模块根据所述数据ID获得所述目标快照的源数据的版本号。
  11. 根据权利要求9所述的快照回滚装置,其特征在于,其中:
    所述接收模块,还用于接收第一读请求,所述第一读请求包括第一目标地址;
    所述回滚装置还包括读取模块,用于按照所述第一目标地址,从所述 源数据中获取第一读请求所请求的数据,从所述源数据中未能获取的部分,按照指向关系从所述目标快照中获取。
  12. 根据权利要求9所述的快照回滚装置,其特征在于,所述版本号处理模块获得源数据的版本号,具体包括:
    所述版本号处理模块根据所述目标快照ID查找所述源数据;
    所述版本号处理模块根据查找到的所述源数据获得所述源数据的版本号。
  13. 根据权利要求9所述的快照回滚装置,其中,所述版本号处理模块还用于:
    在启动回滚操作之前,对源数据的版本号进行更新。
  14. 根据权利要求9所述的快照回滚装置,其特征在于,所述版本号处理模块,还用于:
    在所述回滚装置初始化时建立指向关系,所述指向关系包括:
    所述源数据的版本号指向最近生成的快照的版本号的指向关系;以及
    多个快照之间,每个快照的版本号指向上一次生成的快照的版本号的指向关系。
  15. 根据权利要求9-14中任一项所述的快照回滚装置,其特征在于:
    所述源数据是文件系统或者逻辑单元号LUN。
  16. 一种存储系统,包括权利要求9-14任一所述的快照回滚装置,还包括存储介质,用于存储所述目标快照和所述文件系统。
  17. 一种存储控制器,包括处理器和接口,所述接口用于接收回滚请求并把所述回滚请求转发给处理器,所述处理器用于执行下面操作:
    接收回滚请求,所述回滚请求中包括目标快照ID;
    获得所述目标快照的源数据的版本号,以及按照所述回滚请求中携带的目标快照ID所识别的目标快照的版本号,其中,所述目标快照是所述源数据的快照;
    建立所述源数据的版本号指向所述目标快照的版本号的指向关系。
  18. 一种存储系统,包括权利要求17所述的快照回滚装置,还包括存储介质,用于存储所述目标快照和所述文件系统。
PCT/CN2016/113421 2016-12-30 2016-12-30 一种快照回滚方法、装置、存储控制器和系统 WO2018119998A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201680003118.7A CN108604201B (zh) 2016-12-30 2016-12-30 一种快照回滚方法、装置、存储控制器和系统
PCT/CN2016/113421 WO2018119998A1 (zh) 2016-12-30 2016-12-30 一种快照回滚方法、装置、存储控制器和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2016/113421 WO2018119998A1 (zh) 2016-12-30 2016-12-30 一种快照回滚方法、装置、存储控制器和系统

Publications (1)

Publication Number Publication Date
WO2018119998A1 true WO2018119998A1 (zh) 2018-07-05

Family

ID=62706584

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2016/113421 WO2018119998A1 (zh) 2016-12-30 2016-12-30 一种快照回滚方法、装置、存储控制器和系统

Country Status (2)

Country Link
CN (1) CN108604201B (zh)
WO (1) WO2018119998A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109408294A (zh) * 2018-11-13 2019-03-01 郑州云海信息技术有限公司 一种快照回滚方法、装置、设备及存储介质
CN111552437A (zh) * 2020-04-22 2020-08-18 上海天玑科技股份有限公司 一种应用于分布式存储系统的快照方法及快照装置
CN111625262A (zh) * 2020-05-28 2020-09-04 广东浪潮大数据研究有限公司 一种工作负载资源的回滚方法、系统、设备及存储介质

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110515543B (zh) * 2019-08-02 2021-02-19 星辰天合(北京)数据科技有限公司 基于对象存储桶的快照方法、装置和系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060143412A1 (en) * 2004-12-28 2006-06-29 Philippe Armangau Snapshot copy facility maintaining read performance and write performance
CN102012853A (zh) * 2011-01-14 2011-04-13 南开大学 一种零拷贝快照方法
CN104268036A (zh) * 2014-10-13 2015-01-07 浪潮电子信息产业股份有限公司 一种基于零拷贝的快照卷读方法
CN105095016A (zh) * 2014-05-16 2015-11-25 北京云巢动脉科技有限公司 一种磁盘快照回滚方法及装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102023863B (zh) * 2010-12-13 2015-07-22 中兴通讯股份有限公司 版本切换方法及装置
CN104407935B (zh) * 2014-11-07 2018-05-18 华为数字技术(成都)有限公司 快照回滚方法和存储设备
AU2014415350B2 (en) * 2014-12-27 2019-02-21 Huawei Technologies Co., Ltd. Data processing method, apparatus and system
CN105808449B (zh) * 2014-12-31 2018-11-27 中国电信股份有限公司 一种用于虚拟机的虚拟存储映像版本管理方法和系统
US10185637B2 (en) * 2015-02-16 2019-01-22 International Business Machines Corporation Preserving management services with distributed metadata through the disaster recovery life cycle
CN105528464B (zh) * 2016-01-28 2019-03-26 北京宇航系统工程研究所 一种自动判断关联数据技术状态一致性的版本管理系统
CN105938457B (zh) * 2016-03-31 2018-10-02 华为技术有限公司 数据的过滤方法、装置及数据读取系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060143412A1 (en) * 2004-12-28 2006-06-29 Philippe Armangau Snapshot copy facility maintaining read performance and write performance
CN102012853A (zh) * 2011-01-14 2011-04-13 南开大学 一种零拷贝快照方法
CN105095016A (zh) * 2014-05-16 2015-11-25 北京云巢动脉科技有限公司 一种磁盘快照回滚方法及装置
CN104268036A (zh) * 2014-10-13 2015-01-07 浪潮电子信息产业股份有限公司 一种基于零拷贝的快照卷读方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109408294A (zh) * 2018-11-13 2019-03-01 郑州云海信息技术有限公司 一种快照回滚方法、装置、设备及存储介质
CN111552437A (zh) * 2020-04-22 2020-08-18 上海天玑科技股份有限公司 一种应用于分布式存储系统的快照方法及快照装置
CN111552437B (zh) * 2020-04-22 2024-03-15 上海天玑科技股份有限公司 一种应用于分布式存储系统的快照方法及快照装置
CN111625262A (zh) * 2020-05-28 2020-09-04 广东浪潮大数据研究有限公司 一种工作负载资源的回滚方法、系统、设备及存储介质
CN111625262B (zh) * 2020-05-28 2023-08-22 广东浪潮大数据研究有限公司 一种工作负载资源的回滚方法、系统、设备及存储介质

Also Published As

Publication number Publication date
CN108604201A (zh) 2018-09-28
CN108604201B (zh) 2022-02-25

Similar Documents

Publication Publication Date Title
JP6309103B2 (ja) スナップショットおよびクローンの複製
US9361185B1 (en) Capturing post-snapshot quiescence writes in a branching image backup chain
US9311190B1 (en) Capturing post-snapshot quiescence writes in a linear image backup chain
JP6031629B1 (ja) イメージバックアップにおけるスナップショット後静止書き込みの捕捉
US10120595B2 (en) Optimizing backup of whitelisted files
WO2016041384A1 (zh) 重复数据删除方法和装置
WO2018119998A1 (zh) 一种快照回滚方法、装置、存储控制器和系统
US10474537B2 (en) Utilizing an incremental backup in a decremental backup system
JP2007226347A (ja) 計算機システム、計算機システムの管理装置、及びデータのリカバリー管理方法
US11599554B2 (en) Synchronizing changes to stale components of a distributed object using synchronization bitmaps
US9904482B1 (en) Method and system to protect applications configured on cluster-shared volumes seamlessly
US9152507B1 (en) Pruning unwanted file content from an image backup
JP2006268139A (ja) データ複製装置、方法及びプログラム並びに記憶システム
JP6133396B2 (ja) 計算機システム、サーバ、及び、データ管理方法
US20210182160A1 (en) System and method for generating file system and block-based incremental backups using enhanced dependencies and file system information of data blocks
US8914325B2 (en) Change tracking for multiphase deduplication
US20170293529A1 (en) Cataloging file system-level changes to a source storage between image backups of the source storage
US8732135B1 (en) Restoring a backup from a deduplication vault storage
US20190332487A1 (en) Generic metadata tags with namespace-specific semantics in a storage appliance
US11514002B2 (en) Indexing splitter for any pit replication
US11010332B2 (en) Set-based mutual exclusion using object metadata tags in a storage appliance
US10372683B1 (en) Method to determine a base file relationship between a current generation of files and a last replicated generation of files
US10423494B2 (en) Trimming unused blocks from a versioned image backup of a source storage that is stored in a sparse storage
US11531644B2 (en) Fractional consistent global snapshots of a distributed namespace
US11593230B2 (en) Efficient mechanism for data protection against cloud region failure or site disasters and recovery time objective (RTO) improvement for backup applications

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16925746

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16925746

Country of ref document: EP

Kind code of ref document: A1