WO2016101266A1 - 一种基于写重定向的存储服务器确定增量数据的方法及装置 - Google Patents
一种基于写重定向的存储服务器确定增量数据的方法及装置 Download PDFInfo
- Publication number
- WO2016101266A1 WO2016101266A1 PCT/CN2014/095141 CN2014095141W WO2016101266A1 WO 2016101266 A1 WO2016101266 A1 WO 2016101266A1 CN 2014095141 W CN2014095141 W CN 2014095141W WO 2016101266 A1 WO2016101266 A1 WO 2016101266A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- storage server
- logical address
- data
- data block
- backup
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
Definitions
- the present invention relates to the field of information technology, and in particular, to a method and apparatus for determining incremental data by a storage server based on write redirection.
- Data backup is an important means to achieve data reliability. It can restore data from the backup end when the source data is lost.
- the commonly used data backup method is incremental backup.
- the incremental backup is to back up only the newly added data after the last backup.
- the new data here is also called incremental data.
- incremental data In the process of using an incremental backup, you need to obtain incremental data between this backup and the last backup.
- incremental data In the file system, incremental data is determined, usually using snapshot technology.
- the file system includes a superblock, an inode, and a data block.
- the super block is used to record the metadata of the file system, including the number of inodes, the inodes that have been used, the allocated data blocks, and the addresses of the allocated data blocks.
- one index node is allocated for each file, and the access authority of the file, the size of the file, and the starting logical address of the data block storing the data are recorded in the index node.
- the index nodes are m, and m is a positive integer.
- Data blocks are used to store data.
- the starting logical address of the data block is a linear address
- the file system allocates data blocks for the data in order from the initial address according to the writing order of the data.
- the starting logical address of the allocated data block is linearly incremented in sequence. For example, the starting logical address of the data block starts from 0, in the order of 0, 1, 2, 3, 4, 5, 6...n, and the starting logical address of the data block linearly with the writing of data in the file system. Infinitely increased.
- the data stored in the data block is actually stored on the physical hard disk.
- a file system When a file system accesses a file, it first accesses the index node allocated for the file, thereby determining the starting logical address of the data block storing the data of the file, and accessing according to the starting logical address of the data block.
- the data stored in the data block includes the metadata of the file and the data constituting the file.
- file 1 is the first file to be written, and the file system is allocated as the data block for storing the data of file 1.
- the starting logical addresses of the allocated data blocks are 0, 1, respectively. Since the data of the file 2 also needs to be stored, the file system is allocated as the data block of the data storing the file 2, and the data block whose starting logical address is 2 is divided into the data block of the data of the storage file 2, and only the next one will be used.
- a data block with a logical address of 3 is assigned to file 1.
- the starting logical addresses of the data blocks storing the data of the file 1 are 0, 1, and 3, respectively, and the starting logical addresses of the data blocks storing the data of the file 2 are 2, 4, and 6, respectively, and the data blocks of the data of the file 3 are stored.
- the starting logical addresses are 5, 7, 8, and 9, respectively.
- the starting logical address of the data block allocated by the file system for storing the data of the file is linearly increased.
- Snapshot is a fully available copy of a specified data set, which includes an image of the data at a certain point in time (the point in time when the copy begins). For details, see the Storage Networking Industry Association (SNIA). Definition.
- a snapshot of a file system is a state in the file system that represents an image of the data in the file system at some point in time. Creating a snapshot for a file system is also known as a snapshot of the generated file system.
- time T 1 is a snapshot of the file system S 1.
- Time T 1 the data block of the file system has been assigned to a data block to data block 0 9.
- metadata of the data block to data block 0 9 comprising generation number indicates the generation number S 1 to the current snapshot in time after the data blocks allocated to the last snapshot. For example, when S 1 is the first snapshot, the generation number in the metadata of the data block 0 to the data block 9 is 1.
- the file system for the file 3 is assigned in blocks 10 and 11, wherein the start logical address of the data block 10 is 10
- the starting logical address of the data block 11 is 11.
- a snapshot S 2 of the file system is generated.
- the status data block to data block 0 9 were not changed after time T 1, the data block to data block 0 is generated 9 1.
- the data block 10 and data block 11 after time T 1 is a data block 3 newly allocated file, therefore, the generation number of metadata block 10 and data block 11 is 2, data representing the blocks 10 and 11 as T Assigned after 1 time to T 2 time.
- the generation numbers in the metadata of the data blocks 5, 7, 8, 9, 10, and 11 are read, and the generation numbers of the data blocks 10 and 11 are determined to be different from the generation numbers of the data blocks 5, 7, 8, 9, and 10, thereby It is determined that the data blocks 10 and 11 are newly allocated data blocks from the time T 1 to the time T 2 , and the data stored in the data blocks 10 and 11 is incremental data. It can be seen that the process of determining the incremental data in the file system by the snapshot technology in the prior art is too complicated. In the block storage device, the snapshot is used for incremental data backup. The specific operation mode is similar to the file system using the snapshot for incremental data backup. Therefore, the above problem also exists.
- an embodiment of the present invention provides a method for determining incremental data by a storage server based on write redirection, including:
- T n + 1 in time snapshot of the first object S n + metadata storage server 1 records the cutoff time T n + 1 to a maximum start logical address of a data block allocated to the first object Z ;
- S n and S n+1 represent two adjacent snapshots, T n ⁇ T n+1 , n is a non-negative integer, a M ⁇ a Z ; M and Z are non-negative integers, and M ⁇ Z;
- the method further includes:
- the method further includes:
- the method further includes:
- the data in the data block of the start logical address a vr and the state of the data in the data block whose start logical address is a r are backed up to the backup storage server.
- an embodiment of the present invention provides a storage server based on write redirection, including:
- a recording unit, the metadata for the first time T n S n snapshot of the object recorded in the storage server cutoff time T n is the maximum start logical address of the data block allocated to the first object a M; the first an object file system or the logic unit; recorded in the metadata snapshot of the first object of the time point T n + 1 S n + 1 stored in the server is turned off to the time T n + 1 is assigned the first object
- a determining unit configured to determine, according to a Z and a M , each starting logical address a r of the P data blocks allocated by the storage server for the first object after the time T n to T n+1 ;
- a r a M + (rM) * A
- the logical address space occupied by each data block is equal in size
- A is the logical address space occupied by the data block
- r is an integer
- P ZM .
- the determination unit is further configured as P data blocks a r determined in the start logical address of the data block stored valid data from start logical address of a vr ;among them,
- the backup unit further comprising; means for backing up the backup data start logical address of a r P data blocks to the backup storage in the server.
- a backup unit is further included; the backup unit is configured to back up data and start data in a data block whose starting logical address is a vr logical address status data in the data blocks a r a backup to the storage server.
- an embodiment of the present invention provides a storage server based on write redirection, where the storage server includes a processor and a memory, and the processor executes executable instructions in the memory to execute:
- T n + 1 in time snapshot of the first object S n + metadata recording storage server to a cutoff time T n + 1 is the first object of data blocks allocated a maximum start logical address Z ;
- S n and S n+1 represent two adjacent snapshots, T n ⁇ T n+1 , n is a non-negative integer, a M ⁇ a Z ; M and Z are non-negative integers, and M ⁇ Z;
- the executing the executable instructions in the memory by the processor is further performed:
- the executing the executable instructions in the memory by the processor is further performed:
- the executing the executable instruction in the memory by the processor is further performed:
- the data in the data block of the start logical address a vr and the state of the data in the data block whose start logical address is a r are backed up to the backup storage server.
- an embodiment of the present invention provides a non-transitory computer readable storage medium containing computer executable instructions for performing the following steps when a processor of a storage server instructs the computer executable instructions:
- T n + 1 in time snapshot of the first object S n + metadata recording storage server to a cutoff time T n + 1 is the first object of data blocks allocated a maximum start logical address Z ;
- S n and S n+1 represent two adjacent snapshots, T n ⁇ T n+1 , n is a non-negative integer, a M ⁇ a Z ; M and Z are non-negative integers, and M ⁇ Z;
- the method when the processor of the storage server instructs the computer executable instruction, the method further performs the following steps:
- the method when the processor of the storage server instructs the computer executable instruction, the method further performs the following steps:
- the method when the processor of the storage server instructs the computer executable instruction, the method further performs the following steps:
- the data in the data block of the start logical address a vr and the state of the data in the data block whose start logical address is a r are backed up to the backup storage server.
- an embodiment of the present invention provides a method for backing up data, where the method is applied to a backup system, where the backup system includes a source storage server based on write redirection and a backup storage server based on write redirection; snapshot of the source storage server is created for the first time for the object T n S n, S n and the metadata recorded in the source storage server is turned off to the time point T n the first object is a data block allocated
- the maximum starting logical address is a S, M ;
- the backup storage server stores a snapshot S n , and the maximum starting logical address of the data block of the metadata record of the S n stored by the backup storage server is a B, M ; Where a B, M is the maximum starting logical address of the data block allocated by the backup storage server for storing the data of the S n ;
- the method includes:
- the backup storage server receives data in P data blocks whose starting logical address is a S, r sent by the source storage server; wherein the starting logical address is a S, and the data block of r is after T n time a data block allocated by the source storage server to the first object at a time Tn +1; the source storage server recorded in the metadata of the snapshot S n+1 of the first object is up to T n+1
- the backup storage server stores the data in the data block whose starting logical address is a S, r into the data block whose starting logical address is a B, r .
- an embodiment of the present invention provides a method for backing up data, where the method is applied to a backup system, where the backup system includes a source storage server based on write redirection and a backup storage server for write redirection; the maximum data block of said source storage server creates a snapshot of the first object to the time T n is S n, the source storage server S n and metadata recorded in the ending time point T n the first object is allocated
- the starting logical address is a S, M ;
- the backup storage server stores a snapshot S n , and the maximum starting logical address of the data block of the metadata record of the S n stored by the backup storage server is a B, M ;
- a B, M is the maximum backup storage server start logical block data S n allocated storage address;
- the method includes:
- the backup storage server receives the data in the data block whose starting logical address is a S, vr and the data in the P data blocks whose starting logical address is a S, r sent by the source storage server;
- the data block whose starting logical address is a S, r is the data block allocated by the source storage server for the first object after the time T n to the time T n+1 ;
- the starting logical address is a S, vr
- the data block is a starting logical address of the data block storing the valid data determined by the source storage server from the data block whose starting logical address is a S, r ;
- the maximum starting logical address of the data block allocated by the source storage server for the first object in the metadata of the snapshot S n+1 of the first object at time T n+1 is a S, Z ;
- a S , r a S, M + (rM) * A; wherein each data block occupies the same logical address space, A is the logical address
- the backup storage server stores the data in the data block whose starting logical address is a S, vr into the data block whose starting logical address is a B, vr .
- an embodiment of the present invention provides a method for recovering data, where the method is applied to a backup system, where the backup system includes a source storage server based on write redirection and a backup storage server for write redirection; the maximum data block of said source storage server creates a snapshot of the first object to the time T n is S n, the source storage server S n and metadata recorded in the ending time point T n the first object is allocated
- the starting logical address is a S, Dx ;
- the backup storage server stores the snapshot S n , and the maximum starting logical address of the data block of the metadata record of the S n stored by the backup storage server is a B, Dx ;
- a B, Dx is the maximum backup storage server start logical block data S n allocated storage address;
- the backup storage server receives a data recovery request sent by the source storage server; the data recovery request carries an identifier of the snapshot S F created by the source storage server for the first object at a time T F and a time at the T P S P to identify the snapshot of the first object created; wherein, S F represents the latest snapshot time of the first object source currently available to the storage server; S P denotes the source storage server is to be restored to T P a snapshot of the first object at a time; wherein, T F ⁇ T P , P ⁇ W;
- Maximum start logical block address of the data server determines the backup storage server stores said first object according to the identifier of the snapshot backup metadata S F S F records a snapshot of a B, DE; and
- the snapshot S P maximum start logical address of the data block identifier of the metadata records, determining the first object is stored in the server of the backup snapshot S F is a B, DH;
- the backup storage server sends data in a data block whose starting logical address is a B, Dr to the source storage server.
- an embodiment of the present invention provides a method for restoring data, where the method is applied to a backup system, where the backup system includes a source storage server based on write redirection and a backup storage server for write redirection; the maximum data block of said source storage server creates a snapshot of the first object to the time T n is S n, the source storage server S n and metadata recorded in the ending time point T n the first object is allocated
- the starting logical address is a S, Dx ;
- the backup storage server stores a snapshot S n , and the maximum starting logical address of the data block of the metadata record of the S n stored by the backup storage server is a B, Dx ;
- a B, Dx is the maximum backup storage server start logical block data S n allocated storage address;
- the backup storage server receives a data recovery request sent by the source storage server; the data recovery request carries an identifier of the snapshot S F created by the source storage server for the first object at a time T F and a time at the T P S P to identify the snapshot of the first object created; wherein, S F represents the latest snapshot time of the first object source currently available to the storage server; S P denotes the source storage server is to be restored to T P a snapshot of the first object at a time; wherein, T F ⁇ T P , P ⁇ W;
- Maximum start logical block address of the data server determines the backup storage server stores said first object according to the identifier of the snapshot backup metadata S F S F records a snapshot of a B, DE; and
- the snapshot S P maximum start logical address of the data block identifier of the metadata records, determining the first object is stored in the server of the backup snapshot S F is a B, DH;
- the backup storage server according to the start logical address of the data block is a B, Dr obtain the source storage server start logical address is a A, state data Dr in the block of data;
- the backup storage server determines, according to the state of the data in the data block of the starting logical address a A, Dr , that the starting logical address is a B, the starting logical address a B of the data block to be restored in the data block of Dr , vDr ;
- the backup storage server sends data in a data block whose starting logical address is a B, vDr to the source storage server.
- the backup storage server according to the start logical address of the data block is a B
- Dr obtain the source storage server start logical address is a A
- Dr data The status of the data in the block, including:
- the backup storage server sends, to the source storage server , a state of data in a data block whose starting logical address is a B, Dr ;
- the backup storage server determines, according to the state of the data in the data block of the starting logical address a A, Dr , that the starting logical address is a B, and the starting logical address of the data block to be restored in the data block of Dr is a B , vDr includes:
- the backup storage server determines a starting logical address a B, vDr of the data block to be restored according to the starting logical address a A, vDr information.
- an embodiment of the present invention provides a backup storage server based on write redirection, where the backup storage server is applied to a backup system, where the backup system includes a source storage server and a backup storage server based on write redirection.
- the backup storage server includes:
- a receiving unit configured to receive data in P data blocks whose starting logical address is a S, r sent by the source storage server; wherein, the starting logical address is a S, and the data block of r is after T n time a data block allocated by the source storage server to the first object at a time Tn +1; the source storage server recorded in the metadata of the snapshot S n+1 of the first object is up to T n+1
- An allocation unit for allocating data blocks with a starting logical address a b, r for data in a data block starting logical address a S, r ; wherein a B, r a B, M + (rM) * A;
- the writing unit is configured to store data in the data block whose starting logical address is a S, r into the data block whose starting logical address is a B, r .
- an embodiment of the present invention provides a backup storage server based on write redirection, where the backup storage server is applied to a backup system, where the backup system includes a source storage server and a backup storage server based on write redirection.
- the backup storage server includes:
- a receiving unit configured to receive, by the source storage server , data in a data block whose starting logical address is a S, vr and data in a P data block whose starting logical address is a S, r ;
- the data block whose starting logical address is a S, r is the data block allocated by the source storage server for the first object after the time T n to the time T n+1 ; the starting logical address is a S, vr
- the data block is a starting logical address of the data block storing the valid data determined by the source storage server from the data block whose starting logical address is a S, r ;
- the maximum starting logical address of the data block allocated by the source storage server for the first object in the metadata of the snapshot S n+1 of the first object at time T n+1 is a S, Z ;
- a S , r a S, M + (rM) * A; wherein each data block occupies the same logical address space, A is the
- An allocation unit for allocating data blocks with a starting logical address a b, r for data in a data block starting logical address a S, r ; wherein a B, r a B, M + (rM) * A;
- the writing unit is configured to store data in the data block whose starting logical address is a S, vr into the data block whose starting logical address is a B, vr .
- a receiving unit configured to receive a data recovery request sent by the source storage server; the data recovery request carries an identifier of the snapshot S F created by the source storage server for the first object at a time T F and a time at the T P S P to identify the snapshot of the first object created; wherein, S F represents the latest snapshot time of the first object source currently available to the storage server; S P denotes the source storage server is to be restored to T P a snapshot of the first object at a time; wherein, T F ⁇ T P , P ⁇ W;
- Determination means according to the maximum start logical address of the data block identification metadata records a snapshot of the server S F is determined by the backup objects stored first snapshot S F is a B, DE; and
- the logical address space occupied by each data block is equal in size, and A is a logical address space occupied by the data block;
- a sending unit configured to send data in the data block whose starting logical address is a B, Dr to the source storage server.
- an embodiment of the present invention provides a backup storage server based on write redirection, where the backup storage server is applied to a backup system, where the backup system includes a source storage server for write redirection and the backup storage server.
- a receiving unit configured to receive a data recovery request sent by the source storage server; the data recovery request carries an identifier of the snapshot S F created by the source storage server for the first object at a time T F and a time at the T P S P to identify the snapshot of the first object created; wherein, S F represents the latest snapshot time of the first object source currently available to the storage server; S P denotes the source storage server is to be restored to T P a snapshot of the first object at a time; wherein, T F ⁇ T P , P ⁇ W;
- Determination means according to the maximum start logical address of the data block identification metadata records a snapshot of the server S F is determined by the backup objects stored first snapshot S F is a B, DE; and
- the snapshot S P maximum start logical address of the data block identifier of the metadata records, determining the first object is stored in the server of the backup snapshot S F is a B, DH; according to a B, DE, and a B, DH determine a starting The logical address is a B, the data block of Dr , DE ⁇ Dr ⁇ DH, DE ⁇ DH ⁇ M; and a B, Dr a B, DE + (Dr-DE) * A; wherein each data block occupies The logical address space is equal in size, and A is the logical address space occupied by the data block;
- An acquiring unit configured to acquire, according to a starting logical address a B , Dr of the data block, a state of data in a data block whose starting logical address is a A, Dr in the source storage server;
- the determining unit is further configured to determine, according to the state of the data in the data block whose starting logical address is a A, Dr , the starting logical address is a B, the starting logical address of the data block to be restored in the data block of Dr. B, vDr ;
- a sending unit configured to send data in the data block whose starting logical address is a B, vDr to the source storage server.
- the acquiring unit is specifically configured to:
- the determining unit determines, according to the state of the data in the data block of the starting logical address a A, Dr , that the starting logical address is a B, the starting logical address a B of the data block to be restored in the data block of Dr , vDr includes:
- the vDr information determines the starting logical address a B, vDr of the data block that needs to be recovered.
- the backup storage server includes a processor and a memory, the processor executing executable instructions in the memory to perform:
- the data in the data block whose starting logical address is a S, r is stored in the data block whose starting logical address is a B, r .
- the backup storage server includes a processor and a memory, the processor executing executable instructions in the memory to perform:
- the data in the data block whose starting logical address is a S, vr is stored in the data block whose starting logical address is a B, vr .
- the backup storage server includes a processor and a memory, the processor executing executable instructions in the memory to perform:
- recovery request carries the data storage server identifies the source S F snapshots created for the first time and the object T F T P at the time for the first An identifier of the snapshot S P created by the object; wherein, S F represents a snapshot of the first object at the latest moment currently available to the source storage server; and S P represents the first time that the source storage server is to be restored to the time T P a snapshot of the object; where T F ⁇ T P , P ⁇ W;
- the maximum start logical address of the data block identification metadata records a snapshot of the server S F is determined by the backup objects stored first snapshot S F is a B, DE; and S P based on the identification of the snapshot, is determined by maximum start logical address of the data block of metadata records the backup server said stored first snapshot of the object S F is a B, DH;
- the data in the data block whose starting logical address is a B, Dr is sent to the source storage server.
- the backup storage server includes a processor and a memory, the processor executing executable instructions in the memory to perform:
- recovery request carries the data storage server identifies the source S F snapshots created for the first time and the object T F T P at the time for the first An identifier of the snapshot S P created by the object; wherein, S F represents a snapshot of the first object at the latest moment currently available to the source storage server; and S P represents the first time that the source storage server is to be restored to the time T P a snapshot of the object; where T F ⁇ T P , P ⁇ W;
- the maximum start logical address of the data block identification metadata records a snapshot of the server S F is determined by the backup objects stored first snapshot S F is a B, DE; and S P based on the identification of the snapshot, is determined by The maximum starting logical address a B, DH of the data block of the metadata record of the snapshot S F of the first object stored by the backup server;
- the start logical address of the data block is a B, Dr obtain the source storage server start logical address is a A, state data Dr in the block of data;
- the starting logical address is a B, the starting logical address a B, vDr of the data block to be restored in the data block of Dr ;
- the data in the data block starting logical address a B, vDr is sent to the source storage server.
- the data in the data block whose starting logical address is a A, Dr in the source storage server is obtained according to the starting logical address a B, Dr of the data block.
- the status includes:
- the starting logical address is a B
- the starting logical address a B, vDr of the data block to be restored in the data block of Dr includes:
- the vDr information determines the starting logical address a B, vDr of the data block to be recovered.
- Said source storage server is configured to send a request to restore the backup data storage server; data recovery request carries the identifier of the source S F snapshot storage server created for the first time and the object T F T P in An identifier of the snapshot S P created for the first object at a time; wherein, S F represents a snapshot of the first object at the latest moment currently available to the source storage server; and S P represents that the source storage server is to be restored to the T a snapshot of the first object at time P ; wherein, T F ⁇ T P , P ⁇ W;
- the backup storage server is configured to receive the data recovery request sent by the source storage server;
- the backup storage server according to the maximum logical data blocks starting metadata record identifier of the snapshot server S F is determined by the backup objects stored first snapshot S F address a B, DE; and The snapshots maximum start logical address of the data block S P metadata record identifier, determining that the first server stores said backup target snapshot S F is a B, DH;
- the source storage server is configured to receive data in a data block starting with a logical address of a B, Dr for data recovery.
- Said source storage server is configured to send a request to restore the backup data storage server; data recovery request carries the identifier of the source S F snapshot storage server created for the first time and the object T F T P in An identifier of the snapshot S P created for the first object at a time; wherein, S F represents a snapshot of the first object at the latest moment currently available to the source storage server; and S P represents that the source storage server is to be restored to the T a snapshot of the first object at time P ; wherein, T F ⁇ T P , P ⁇ W;
- the backup server is further configured to store the start logical address of the data block is a B, Dr obtain the source storage server start logical address is a A, state data Dr in the block of data; depending on the starting logical address For the state of the data in the data block of a A, Dr , the starting logical address is a B, the starting logical address a B, vDr of the data block to be restored in the data block of Dr ; Transmitting data in a data block whose starting logical address is a B, vDr to the source storage server;
- the source storage server is further configured to receive data in a data block starting with a logical address of a B, vDr for data recovery.
- the backup storage server acquires a starting logical address of the source storage server as a A, Dr according to a starting logical address a B, Dr of the data block.
- the status of the data in the data block including:
- the backup storage server sends, to the source storage server , a state of data in a data block starting with a logical address of a B, Dr ; receiving a data block in which the source storage server starts with a logical address of a A, Dr a state of the data; wherein the starting logical address is a A, and the state of the data in the data block of Dr includes the starting logical address a A, vDr information of the data block to be restored;
- the backup storage server determines, according to the state of the data in the data block of the starting logical address a A, Dr , that the starting logical address is a B, and the starting logical address of the data block to be restored in the data block of Dr is a B , vDr includes:
- the backup storage server determines a starting logical address a B, vDr of the data block to be restored according to the starting logical address a A, vDr information.
- the metadata storage storage server of the snapshot S n+1 of the first object at the time T n+1 expires to T n+ maximum start logical address of the data block 1 is the first time the object is assigned a Z
- the first object in S snapshot time T n n metadata records stored in the server off time T n is the first data object is assigned
- the maximum starting logical address a M of the block can determine the data block allocated by the storage server for the first object after the time T n to the time T n+1 . It is simpler to implement than the prior art.
- FIG. 1 is a schematic structural diagram of a file system
- Figure 2 is a schematic view of a snapshot of the file system at time T 1;
- FIG. 3 is a schematic diagram of a snapshot of a file system at time T 2 ;
- FIG. 5 is a schematic diagram of modifying a file system data block
- FIG. 6 is a schematic diagram of a snapshot of a file system at time T 1 ;
- Figure 7 is a schematic diagram of modification after T 1 time
- Figure 8 is a schematic diagram of modification after T 1 time
- FIG. 9 is a schematic diagram of a method for determining incremental data
- FIG. 10 is a schematic diagram of a backup scenario
- Figure 11 is a state diagram of a file server
- Figure 12a is a schematic diagram of a data backup method
- Figure 12b is a schematic diagram of a data backup method
- Figure 13a is a schematic diagram showing the state of the file system of file server A and file server B;
- Figure 13b is a schematic diagram of the state of the file system
- Figure 14a is a schematic diagram of the state of the file server A
- Figure 14b is a schematic diagram of the state of the file server A
- Figure 15a is a schematic diagram of a data recovery method
- Figure 15b is a schematic diagram of a data recovery method
- 16 is a schematic structural diagram of a storage server based on write redirection according to an embodiment of the present invention.
- FIG. 17 is a schematic structural diagram of a backup storage server based on write redirection according to an embodiment of the present invention.
- FIG. 18 is a schematic structural diagram of a backup storage server based on write redirection according to an embodiment of the present invention.
- FIG. 19 is a schematic structural diagram of a backup storage server based on write redirection according to an embodiment of the present invention.
- the file server when the file system has data to be written, the file server allocates a data block for the newly written data of the file system.
- the data block storing the data does not actually store the data, and the data is to be stored on the physical medium.
- the data block of the data is stored, or the data in the data block, or the data block is stored.
- the above description of the data means the same meaning.
- the file server allocates data blocks for data in the file system, it is allocated in the order of the starting logical address of the data block. In the file system, the starting logical address of the data block is linearly increased.
- the so-called linear increase means that the starting logical addresses of two adjacent data blocks differ by one A, and the logical address space occupied by each data block is equal in size.
- the data blocks allocated by the file server for the file system are described, and the parts such as the super block and the index node are omitted.
- the data stored in the data block is deleted in the file system, if the data in the data block whose starting logical address is 9 (hereinafter referred to as data block 9) is deleted, the actual operation does not actually delete the data block 9. The data does not delete the already allocated data block 9.
- the file system is usually based on the Redirection on Write (ROW) mechanism, as shown in FIG. 5, that is, when the data in the already allocated data block 9 is modified and written, the newly written data does not cover the data block 9 In the data, the newly written data is redirected to the newly allocated data block n+1 whose starting logical address is n+1.
- the starting logical address of the data block allocated by the file server for newly written data in the file system increases linearly in the order of writing. Therefore, the starting logical address of the data block has a time attribute in addition to the starting logical address for recording the written data, that is, the order in which the data is written.
- the starting logical addresses of the data blocks storing the data of file 3 are 6 and 7, respectively.
- the cutoff time T 1 to time T 1 represents the same meaning time
- embodiments of the present invention used in the "To" have the same meaning.
- the time T 1 the start logical address of the first modified write, i.e., data blocks of the data storage file 3 3 modified write data block 7.
- the file system creates file 4 and assigns index 4 to file 4.
- Data blocks starting with logical addresses 9, 10, and 11 are recorded as data blocks 9, 10, and 11, respectively.
- the state of the file system is still as shown in FIG. 7, and the file server performs a snapshot operation on the file system to obtain a snapshot S 2 .
- the file 1 and the file 2 are not changed after the time T 1 to the time T 2 , and the newly allocated data blocks of the file system are the data block 8, the data block 9, the data block 10, and the data block 11, respectively.
- the starting logical address of the data block 8 is 8, the starting logical address of the data block 9 is 9, the starting logical address of the data block 10 is 10, and the starting logical address of the data block 11 is 11.
- the starting logical addresses of the newly allocated data blocks up to time T 2 are a 8 , a 9 , a 10 and a 11 .
- a time point T 8 block data storage file 3 is a 6-modify-write, write mechanism based on the modification, data
- the file system creates file 4, which is the index node 4 assigned to file 4.
- Data blocks starting with logical addresses 9, 10, and 11 are recorded as data blocks 9, 10, and 11, respectively.
- the file server performs a snapshot operation on the file system at time T 2 to obtain a snapshot S 2 .
- the file system deletes the data stored in the data block 8.
- the state of the data in the tag data block 8 is deleted, but the data block 8 is still retained.
- the start logical address of the newly allocated data block is still a 8, a 9, a 10 and a 11.
- the start logical address of the data block is newly allocated data block where the data are valid, respectively a 9, a 10 and a 11.
- the state of the data in the data block specifically by the start logical address state table to record the state of the data in each data block.
- an embodiment of the present invention provides a method for determining incremental data in a file system based on write redirection, as shown in FIG.
- S recorded in the metadata of the file system snapshot time n, T n in the file server to the cutoff time T n is the maximum start logical address of the data blocks in the file system is assigned a M;
- Snapshot S n at time T n + 1 + the file system metadata of the record to the file server 1 is OFF T n + 1 time to the file system data blocks allocated a maximum start logical address Z ;
- S n and S n+1 represent two adjacent snapshots, T n ⁇ T n+1 , n is a non-negative integer, a M ⁇ a Z ; M and Z are non-negative integers, and M ⁇ Z;
- the embodiment of the present invention utilizes the linear increment characteristic of the starting logical address of the data block allocated by the file server for the data in the file system, and the metadata record of the snapshot S n+1 of the file system at time T n+1 said file server off time T n + 1 to the data block of the file system is assigned a maximum start logical address of a Z, as well as the snapshot file system T n S n-time metadata record to the file server off the maximum initial logical block T n is the time for the file system assigned address a M, can be determined after a time T n to T n + 1 time, the file server is newly allocated data blocks of the file system .
- the embodiment of the present invention can directly determine the newly allocated data block by using the metadata record of the snapshot, which is simpler to implement than the prior art.
- T n and T n+1 respectively represent times when two adjacent snapshot operations are performed on the file system, but T n and T n+1 are not limited to indicate that the period of the snapshot operation on the file system is T.
- T after a time to the time T 2 represents (T 1, T 2], indicating that no time T 1, but containing T 2; after T n time to T n + 1 indicating the time (T n , T n+1 ], indicating that T n time is not included, but T n+1 is included .
- T n and T n+1 only represent two different time points, and similarly, The nth time and the n+1th time are expressed.
- the snapshots S n and S n+1 are only snapshots representing two different time points, and can also be represented by the nth and n+1th snapshots.
- the starting logical addresses a Z and a M of the data block are used to indicate the specific value of the starting logical address of the data block.
- the starting logical address a r of the data block indicates the specific logical address of the starting logical address of the data block.
- the value r represents the rth data block allocated by the file server for the file system.
- a r a M + (rM) * A specifically indicates that a r and a M are linearly increasing.
- the starting logical address of the (ZM) data block allocated by the file server for the file system after the time T n to T n+1 is a r , according to the state of the data in the data block, can be allocated from the ZM A data block in which a valid data is stored is determined in each of the data blocks.
- the above embodiment can be applied to the scenario shown in FIG. FIG. 10 includes a file server A (source file server), a storage device, and a file server B (backup file server).
- the file server A is connected to the storage device and the file server B, respectively.
- the file server A includes a processor 101 and a memory 102, and the processor 101 and the memory 102 communicate via a bus, and the processor 101 executes instructions in the memory 102 for performing the above-described embodiments.
- File server A runs file system A
- file server B runs file system B.
- File system A is the same as file system B and is based on a write redirection mechanism.
- the storage device communicates with the file server A for storing data of the file server A. The data stored in the data block allocated by the file server for the file system in the above embodiment will eventually be stored in the storage device.
- File Server A will back up the data to File Server B.
- the file server B can store the data sent by the file server A on a local storage device or an external storage device.
- the manner of communication between the file server A and the file server B can be communicated through a local area network or a wide area network, which is not limited by the embodiment of the present invention.
- a full backup is performed, that is, all the data in the file server A is backed up to the file server B.
- a snapshot S 1, S 1 is the metadata record file server A to T off 1 time is the maximum starting logical address a S,7 of the data block allocated to the file system A; wherein a S,7 represents the starting logical address of the data block allocated by the file server A (source file server) for the file system A,
- the starting logical address of the seventh data block allocated by the file server A for the file system A (in the embodiment of the present invention, the first data block allocated by the file server A to the file system A is the 0th data block).
- file server A Since S 1 is the first snapshot of file system A by file server A, file server A sends the data in the data block starting logical address from a S,0 to a S,7 to file server B.
- the file server B receives the data transmitted by the file server A, and allocates data blocks as shown in FIG. 6 for the data.
- the starting logical address range of the data block allocated by the file server B for the received data is a B,0 to a B,7 , wherein the starting logical address is a B, and the data block of x is used to store the starting logical address as a S, x data block, for example, the starting logical address is a B, 0 data block is used to store the data in the data block starting logical address a S, 0 , similarly, the starting logic A data block of address a B,1 is used to store data in a data block starting with a logical address a S,1 , where x is an integer from 0 to 7.
- a B,x represents the starting logical address of the xth data block allocated by file server B (backup file server) for file system B.
- B stores the file server S 1
- the start logical address of the data block of the maximum metadata S 1 is recorded in the file server B is a B, 7.
- a data file server B stores S 1 represents the file server B stores time T 1 the file server A, the practical application, file server B may store data at time T 1 the file server A to a local storage device or external storage device.
- the file server A file system A a second snapshot operation, a snapshot S 2, while the metadata records S 2 to a cutoff time T 2 A
- a file server is a file distribution system
- the file server A determines the data allocated by the file server A to the file system A from the time T 1 to the time T 2 according to the a S, 11 of the metadata record of S 2 and the a S, 7 of the metadata record of the S 1 .
- the starting logical addresses of the blocks are a S,8 , a S,9 , a S,10 and a S,11 , that is, the data blocks allocated by file server A for file system A are data block 8 and data block 9, respectively.
- the file server A transmits the data in the data block 8, the data block 9, the data block 10, and the data block 11 to the file server B.
- the file server B receives the data transmitted by the file server A, and allocates data blocks as shown in FIG. 7 for the data.
- the starting logical address range of the data block allocated by the file server B for the received data is a B,8 to a B,11 , wherein the starting logical address is a B, and the data block of x is used to store the starting logical address as a S, the data in the data block of x, where x is an integer from 8 to 11.
- the data block whose starting logical address is a B, 8 is used to store the data in the data block whose starting logical address is a S, 8.
- the data block whose starting logical address is a B, 9 is used for Stores the data in the data block whose starting logical address is a S, 9 .
- the maximum starting logical address a S,11 of the data block allocated by the file server A for the file system A , and the element of S 2 stored in the file server B The maximum starting logical address of the data record data block is a B,11 .
- each S 1 and S 2 are recorded in the state of the file system of the file server A 11 A, S and metadata records the data block 1 is turned off at time T 1 to the file server as a file system A A dispensing maximum
- the file server is usually called file servers A and B of the file system S 1 point (i.e., time T 1) a consistent state 11, S 2 points (i.e., time T 2) in a consistent state.
- the data backup of the file system is implemented by using a snapshot, and the data block allocated by the file server A for the file system A after the time T 1 to the time T 2 may be determined according to the embodiment manner described in FIG. 8 , and It is determined whether the data in the already allocated data block is valid data according to the state of the data in the data block of the file system A.
- the starting logical address is a S and the state of the data in the 8 data block is deleted, only the starting logical addresses need to be a S, 9 , a S, 10 and a S, 11 respectively.
- File Server B allocates data blocks for file system B with starting logical addresses a B,8 , a B,9 , a B,10 and a B,11 .
- the starting logical address is a B
- the data block of x is used to store the data in the data block starting logical address a A, x , where x is an integer from 9 to 11, and the file system B record start of file server B
- the logical address is the state of the data stored in the data block of a B, 0 to a B, 11 .
- Backing up data before the data block file server A after the time T 1 to time T 2 File System A allocated in the file server B is determined to be transmitted via a state data block until the data file server B, to reduce the The amount of backup data saves data transmission bandwidth.
- the embodiment of the present invention provides a data backup method, as shown in FIG. 12a, including:
- the maximum start logical address of the data block is recorded in the metadata file server A snapshot file system A S T n n of time allocated to the file system A cutoff time T n a S, M;
- File Server B stores the data in the data block whose starting logical address is a S, r into the data block whose starting logical address is a B, r .
- M represents the starting logical address of the Mth data block allocated by the file server A (source file server) for the file system A;
- a B M indicates that the file server B (backup file server) is allocated for the file system B The starting logical address of the Mth data block.
- the file server A to T n + 1 is turned off to backup data to a file server B A data block file allocation system, the status of the file server and the file server A's file system B S n and S n+1 are consistent respectively.
- the backup system comprising a source memory based on the write redirection server redirects the write backup storage server; wherein said source storage server for the first time at T n a snapshot of an object created for S n, and the source metadata storage server S n of recorded data up to the block T n is the time assigned to the first object a maximum start logical address of a S, M;
- the backup storage server stores a snapshot S n , and the maximum starting logical address of the data block of the metadata record of the S n stored by the backup storage server is a B, M ; wherein a B, M is the backup storage maximum server start logical address of the data block allocation of data storage S n;
- the method includes:
- the backup storage server receives data in P data blocks whose starting logical address is a S, r sent by the source storage server; wherein the starting logical address is a S, and the data block of r is after T n time a data block allocated by the source storage server to the first object at a time Tn +1; the source storage server recorded in the metadata of the snapshot S n+1 of the first object is up to T n+1
- the backup storage server stores the data in the data block whose starting logical address is a S, r into the data block whose starting logical address is a B, r .
- a S M represents the starting logical address of the Mth data block allocated by the source storage server for the first object
- a B M represents the starting logical address of the Mth data block allocated by the backup storage server for the first object.
- the source storage server and the backup storage server are file servers.
- the source storage server and the backup storage server are storage controllers, or array controllers.
- a logical unit is also commonly referred to as a Logical Unit Number (LUN).
- Steps 1201 to 1203 in Figure 12b are the same as the steps in Figure 12a, and further include:
- the backup start logical address is a S, the data in the data block of the vr and the start logical address is a S, the state of the data in the P data blocks of the r to the file server B;
- the file server B receives the data in the data block whose starting logical address is a S, vr and the data in the P data blocks whose starting logical address is a S, r ;
- File server B stores the data in the data block whose starting logical address is a S, vr into the data block whose starting logical address is a B, vr .
- a S,r includes a S,M+2 , but a S,vr does not contain a S,M+2 . Therefore, the data in the data block of the start logical address a S, M+2 is not sent to the file server B.
- File Server B allocates a data block with a starting logical address of a B, M+2 for file system B, but the data therein is empty.
- the data backup method shown in FIG. 12b is applied to a backup system, where the backup system includes a source storage server based on write redirection and a backup storage server of write redirection; wherein the source storage server is at the time of T n a snapshot of an object created for S n, and the source metadata storage server S n of recorded data up to the block T n is the time assigned to the first object a maximum start logical address of a S, M;
- the method includes:
- the backup storage server receives the data in the data block whose starting logical address is a S, vr and the data in the P data blocks whose starting logical address is a S, r sent by the source storage server;
- the data block whose starting logical address is a S, r is the data block allocated by the source storage server for the first object after the time T n to the time T n+1 ;
- the starting logical address is a S, vr
- the data block is a starting logical address of the data block storing the valid data determined by the source storage server from the data block whose starting logical address is a S, r ;
- the maximum starting logical address of the data block allocated by the source storage server for the first object in the metadata of the snapshot S n+1 of the first object at time T n+1 is a S, Z ;
- a S , r a S, M + (rM) * A; wherein each data block occupies the same logical address space, A is the logical address
- the backup storage server stores the data in the data block whose starting logical address is a S, vr into the data block whose starting logical address is a B, vr .
- FIG. 13a for example, when the file server A fails, resulting in loss of data file server A, shown in Figure 14a, only the data S n, i.e., only the data file server A time T n.
- the file server A can be restored to the state of S n+1 , as shown in FIG. 15a, and specifically includes:
- File server A sends a data recovery request; a data restoration request carries the file server A at T n time for the snapshot S T n time file system A deposit created n identification as well as create T n + 1 time for the file system A Snapshot S n+1 identifier; where S n represents a snapshot of the latest moment currently available to file server A; Sn +1 represents a snapshot of file server A to recover to time T n+1 ; wherein, as of T n
- the maximum starting logical address of the data block allocated by the file server A for the file system A is a S, M ; the maximum starting logical address of the data block allocated by the file server A for the file system A is T at the time T n+1 S, Z ;
- S n snapshot file server B determines a maximum identity of the start logical block address of the data stored in the snapshot file server B S n metadata record a B, M According; and according to the identifier of the snapshot S n + 1, determined The maximum starting logical address a B, Z of the data block of the metadata record of the snapshot S n+1 stored by the file server B;
- File Server B sends the data in the data block whose starting logical address is a B, r to file server A.
- the data recovery method provided by the embodiment of the present invention only needs to determine the range of the data block that needs to be restored according to the maximum starting logical address of the data block at the snapshot time recorded according to the metadata of the snapshot, and the solution is simple to implement.
- the backup storage server receives a data recovery request sent by the source storage server; the data recovery request carries an identifier of the snapshot S F created by the source storage server for the first object at a time T F and a time at the T P S P to identify the snapshot of the first object created; wherein, S F represents the latest snapshot time of the first object source currently available to the storage server; S P denotes the source storage server is to be restored to T P a snapshot of the first object at a time; wherein, T F ⁇ T P , P ⁇ W;
- Maximum start logical block address of the data server determines the backup storage server stores said first object according to the identifier of the snapshot backup metadata S F S F records a snapshot of a B, DE; and
- the snapshot S P maximum start logical address of the data block identifier of the metadata records, determining the first object is stored in the server of the backup snapshot S F is a B, DH;
- the backup storage server sends data in a data block whose starting logical address is a B, Dr to the source storage server.
- FIG. 13a for example, when the file server A fails, resulting in loss of data file server A, shown in Figure 14b, only the complete snapshot data S n and S n + 1 portion data stored in the snapshot S n + 1
- the starting logical addresses of the data blocks of the partial data are a S, M+1 and a S, M+2 , respectively .
- the data recovery of the file server A by using the snapshot can be restored to the state of S n+1 , as shown in FIG. 15b, which specifically includes:
- File server A sends a data recovery request; a data restoration request carries the file server A at T n time for the snapshot S T n time file system A deposit created n identity and create a file system A in T n + 1 time Snapshot S n+1 identifier; where S n represents a snapshot of the latest moment currently available to file server A; Sn +1 represents a snapshot of file server A to recover to time T n+1 ; wherein, as of T n
- the maximum starting logical address of the data block allocated by the file server A for the file system A is a S, M ; the maximum starting logical address of the data block allocated by the file server A for the file system A is T at the time T n+1 S, Z ;
- S n snapshot file server B determines a maximum identity of the start logical block address of the data stored in the snapshot file server B S n metadata record a B, M According; and according to the identifier of the snapshot S n + 1, determined The maximum starting logical address a B, Z of the data block of the metadata record of the snapshot S n+1 stored by the file server B;
- the B file server start logical address of the data block is a B, r get the file server A start logical block address of the status data a A, r in data;
- the file server B determines the starting logical address a B of the data block to be restored in the data block whose starting logical address is a B, r according to the state of the data in the data block whose starting logical address is a S, r . Vr ;
- the file server B sends the data in the data block whose starting logical address is a B, vr to the file server A.
- step 1504b specifically includes:
- the file server B sends the status of the data in the data block whose starting logical address is a B, r to the file server A;
- the file server B receives the state of the data in the data block whose file server A starts with the logical address a S, r ; wherein the state of the data in the data block whose starting logical address is a S, r includes the need to recover The starting logical address of the data block a S, vr information;
- the file server B determines the starting logical address a B, vr of the data block to be restored in the data block whose starting logical address is a B, r according to the state of the data in the data block whose starting logical address is a S, r include:
- the file server B determines the starting logical address a B, vr of the data block to be restored based on the starting logical address a S, vr information.
- the file server A sends the state of the data in the data block whose starting logical address is a S, r , where the starting logical addresses are a S, M+1 and a S, M+2 , respectively.
- the data in the data block is not lost when the file server A fails.
- the starting logical addresses are a S, M+1 and a S, respectively.
- the data in the data block of M+2 is valid data, so it does not need to be opposed.
- the data in the data blocks of the initial logical addresses a S, M+1 and a S, M+2 are restored.
- File Server B only needs to recover the data in the data block whose starting logical address is greater than a S, M+2 and not less than a B, Z.
- the data shown in FIG. 15b restoration, applied to the backup system, the backup system comprising based redirection based on the write source storage server and redirects the write backup storage server; wherein said source storage server for the first time at T n a snapshot of an object created for S n, and the source metadata storage server S n is recorded to the cutoff time T n is assigned to the first object a maximum start logical address of the data block is a S, Dx; the backup storage server stores a snapshot S n, the maximum initial logical block stored in the backup storage server S n metadata record address is a B, Dx; wherein, a B, Dx is the backup storage maximum server start logical address of the data block allocation of data storage S n; the first object is a file system or the logic unit; and a S, Dx a B, Dx; wherein, n and x is an integer, and n ⁇ W, Dx is a non-negative integer, Dx ⁇ M; W and M are integers; the method includes
- the backup storage server receives a data recovery request sent by the source storage server; the data recovery request carries an identifier of the snapshot S F created by the source storage server for the first object at a time T F and a time at the T P S P to identify the snapshot of the first object created; wherein, S F represents the latest snapshot time of the first object source currently available to the storage server; S P denotes the source storage server is to be restored to T P a snapshot of the first object at a time; wherein, T F ⁇ T P , P ⁇ W;
- Maximum start logical block address of the data server determines the backup storage server stores said first object according to the identifier of the snapshot backup metadata S F S F records a snapshot of a B, DE; and
- the snapshot S P maximum start logical address of the data block identifier of the metadata records, determining the first object is stored in the server of the backup snapshot S F is a B, DH;
- the backup storage server determines, according to the state of the data in the data block of the starting logical address a A, Dr , that the starting logical address is a B, the starting logical address a B of the data block to be restored in the data block of Dr , vDr ;
- the backup storage server sends data in a data block whose starting logical address is a B, vDr to the source storage server.
- the backup storage server according to the start logical address of the data block is a B
- Dr obtain the source storage server start logical address is a A
- state data Dr in the block of data comprises:
- the backup storage server sends, to the source storage server , a state of data in a data block whose starting logical address is a B, Dr ;
- the backup storage server determines, according to the state of the data in the data block of the starting logical address a A, Dr , that the starting logical address is a B, and the starting logical address of the data block to be restored in the data block of Dr is a B , vDr includes:
- the backup storage server determines a starting logical address a B, vDr of the data block to be restored according to the starting logical address a A, vDr information.
- a B, Dx is the backup storage server meaning the maximum start logical address of the data block allocation of data is stored in the S n memory backup server S n is the backup data, the backup server stores the first backup server management The maximum starting logical address a B, Dx of the data block allocated by the object.
- a block storage device In a block storage device, incremental data backup of the logical unit is also required. among them, Logical unit. In the incremental data backup of the logical unit through the snapshot, it is also necessary to first determine the increased data.
- the storage controller When a logical unit in a block storage device stores data, similar to the mechanism in the file system, the storage controller also needs to allocate a data block for the logical unit in the order of data writing. The starting logical address of the data block is linearly incremented in the order in which the data blocks are allocated. Therefore, the technical solution described in the embodiment of the present invention can also be applied to a block storage device based on write redirection, and details are not described herein again. Specifically, only the implementation subject and the operation object are different.
- the object of the snapshot operation is a logical unit, and the body that implements the snapshot operation is usually a storage controller.
- the structure of the memory controller typically also includes a processor and memory, the processor being in communication with the memory via a bus, and the computer storing computer executable instructions.
- both the file server and the storage controller are referred to as storage servers.
- the metadata of the snapshot is stored as a kind of data in the data block.
- the metadata of the snapshot is also backed up to the backup storage server.
- the embodiment of the present invention provides a storage server 16 based on write redirection, including a recording unit 1601 and a determining unit 1602.
- a recording unit 1601, the storage server for recording ending time point T n is the maximum start logical address of the data block of the first object in the dispensing of a M metadata snapshot time T n S n of the first object; the the first object is a file system or the logic unit; recorded in the metadata snapshot of the first object of the time point T n + 1 S n + 1 stored in the server is turned off to the time T n + 1 is assigned the first object
- Determination means 1602 after determining that the storage server time T n to T n + 1 each time the start logical address of the first data object allocation blocks P a r
- a r a M + (rM) * A
- the logical address space occupied by each data block is equal in size
- A is the logical address space occupied by the data block
- r is an integer
- P ZM.
- the determination unit 1602 is further configured to start from a logical address to data blocks P a r determined in the start logical address of the data block stored valid data a vr; wherein, Further, the write redirection based storage server 16 further includes a backup unit for backing up data in the data block starting logical address a vr and data in the data block starting logical address a r To the backup storage server.
- the storage server 16 based on write redirection further includes a backup unit.
- Backup means for backing up the start logical address of a r P data blocks in the backup data to the storage server.
- the embodiment of the present invention provides a backup storage server 17 based on write redirection, and the backup storage server 17 is applied to a backup system, and the backup system includes source storage based on write redirection.
- the backup storage server 17 includes a receiving unit 1701, an allocating unit 1702, and a writing unit 1703. among them,
- the receiving unit 1701 is configured to receive data in the P data blocks whose starting logical address is a S, r sent by the source storage server, where the starting logical address is a S, and the data block of the r is after the T n time a data block allocated by the source storage server to the first object at a time Tn +1; the source storage server recorded in the metadata of the snapshot S n+1 of the first object is up to T n+1
- the writing unit 1703 is configured to store the data in the data block whose starting logical address is a S, r into the data block whose starting logical address is a B, r .
- the receiving unit 1701 is configured to receive data in the data block whose starting logical address is a S, vr and the starting logical address is a S sent by the source storage server .
- P r of states in the data block data wherein, the start logical address of a S, r is the data block T n T n + 1 time to the time assigned to said source storage server of the first object a data block; a data block whose starting logical address is a S, vr is a starting logical address of a data block storing valid data determined by the source storage server from a data block whose starting logical address is a S, r ;
- the writing unit 1703 is configured to store data in the data block whose starting logical address is a S, vr into the data block whose starting logical address is a B, vr .
- an embodiment of the present invention provides a backup storage server 18 based on write redirection.
- the backup storage server 18 is applied to a backup system, and the backup system includes a source based on write redirection.
- the receiving unit 1801 is configured to receive a data recovery request sent by the source storage server, where the data recovery request carries an identifier of the snapshot S F created by the source storage server for the first object at a time T F and a time at the T P S P to identify the snapshot of the first object created; wherein, S F represents the latest snapshot time of the first object source currently available to the storage server; S P denotes the source storage server is to be restored to T P a snapshot of the first object at a time; wherein, T F ⁇ T P , P ⁇ W;
- the maximum determination unit 1802 for logical data blocks starting metadata record identifier of the snapshot server S F is determined by the backup objects stored first snapshot S F address a B, DE; and
- the snapshot S P maximum start logical address of the data block identifier of the metadata records, determining the first object is stored in the server of the backup snapshot S F is a B, DH; according to a B, DE, and a B, DH determine a starting
- the logical address space occupied by each data block is equal in size, and A is a logical address space occupied by the data block;
- the sending unit 1803 is configured to send data in the data block whose starting logical address is a B, Dr to the source storage server.
- an embodiment of the present invention provides a backup storage server 19 based on write redirection, and a backup storage server 19 is applied to a backup system, where the backup system includes a source based on write redirection.
- the source storage server creates a snapshot of the first object to the time T n S n, and the source metadata storage server S n is recorded as the ending time T n the maximum starting logical block address of the first object is allocated a S, Dx;
- backup storage server 19 stores a snapshot S n, the maximum initial data block 19 stored in the backup storage server S n metadata recorded the logical address is a B, Dx; wherein, a B, Dx is a backup storage server 19 to a maximum start logical address of the data block allocation of data storage S n;
- the backup storage server 19 includes a receiving unit 1901, a determining unit 1902 An obtaining unit 1903 and a transmitting unit 1904.
- the receiving unit 1901 is configured to receive a data recovery request sent by the source storage server, where the data recovery request carries an identifier of the snapshot S F created by the source storage server for the first object at a time T F and P is a time snapshot of the first object S created identification P; wherein, S F represents the latest snapshot time of the first object source currently available to the storage server; S P denotes the source to be restored to the storage server a snapshot of the first object at time T P ; wherein, T F < T P , P ⁇ W;
- the maximum determination unit 1902 for logical data blocks starting metadata record identifier of the snapshot server S F is determined by the backup objects stored first snapshot S F address a B, DE; and
- the obtaining unit 1903 is configured to acquire, according to the starting logical address a B , Dr of the data block, a state of data in the data block whose starting logical address is a A, Dr in the source storage server;
- the determining unit 1902 is further configured to determine, according to the state of the data in the data block whose starting logical address is a A, Dr , the starting logical address is a B, the starting logical address of the data block to be restored in the data block of Dr a B, vDr ;
- the sending unit 1904 is configured to send data in a data block whose starting logical address is a B, vDr to the source storage server.
- the obtaining unit 1903 is specifically configured to:
- the determining unit 1902 determines, according to the state of the data in the data block whose starting logical address is a A, Dr , the starting logical address is a B, the starting logical address of the data block to be restored in the data block of Dr a b, vDr include:
- the vDr information determines the starting logical address a B, vDr of the data block that needs to be recovered.
- the disclosed systems and methods can be implemented in other ways.
- the device embodiments described above are merely illustrative.
- the division of the unit is only a logical function division.
- there may be another division manner for example, multiple units or components may be combined or Can be integrated into another system, or some features can be ignored or not executed.
- the mutual coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection through some interface, device or unit, and may be in an electrical, mechanical or other form.
- the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, may be located in one place, or may be distributed to multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of the embodiment.
- each functional unit in each embodiment of the present invention may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
- the functions, if implemented in the form of software functional units and sold or used as separate products, may be stored in a computer readable non-volatile storage medium.
- the part of the technical solution of the present invention that contributes in essence or to the prior art or the part of the technical solution may be in the form of a software product.
- the computer software product is stored in a non-volatile storage medium and includes instructions for causing a computer device (which may be a personal computer, server, or network device, etc.) to perform the methods of various embodiments of the present invention. All or part of the steps.
- the foregoing non-volatile storage medium includes various media that can store program codes, such as a USB flash drive, a mobile hard disk, a read-only memory (ROM), a magnetic disk, or an optical disk.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (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
本发明实施例提供的在基于写重定向的存储服务器中确定增量数据的方法及装置,通过在Tn+1时刻的第一对象的快照Sn+1的元数据记录存储服务器截止到Tn+1时刻为第一对象分配的数据块的最大起始逻辑地址aZ,以及在Tn时刻的第一对象的快照Sn的元数据记录存储服务器截止到Tn时刻为第一对象分配的数据块的最大起始逻辑地址aM,即可确定在Tn时刻后至Tn+1时刻,存储服务器为第一对象分配的数据块。相对于现有技术实现更简单。
Description
本发明涉及信息技术领域,尤其涉及一种基于写重定向的存储服务器确定增量数据的方法及装置。
数据备份,是实现数据可靠性的重要手段。能够保证源端数据丢失时,从备份端恢复数据。
常用的数据备份方式为增量备份,增量备份为只备份上一次备份之后新增的数据,这里新增的数据,也称为增量数据。在使用增量备份的过程中,就需要获取本次备份与上次备份之间增量数据。在文件***中,确定增量数据,通常使用快照技术。
如图1所示,文件***包括超级块(superblock)、索引节点(inode)和数据块(data block)。其中,超级块用于记录文件***的元数据,包括索引节点数量,已经使用的索引节点、已经分配的数据块及已经分配的数据块的地址等。在文件***中,为每个文件分配1个索引节点,索引节点中记录文件的访问权限、文件的大小以及存储数据的数据块的起始逻辑地址。图1中,索引节点为m个,m为正整数。数据块用于存放数据。在文件***中,数据块的起始逻辑地址为线性地址,文件***根据数据的写入顺序,从初始地址开始依次为数据分配数据块。分配的数据块的起始逻辑地址依次线性递增。例如,数据块的起始逻辑地址从0开始,依次为0、1、2、3、4、5、6…n,并且数据块的起始逻辑地址随着文件***中数据的写入线性地无限增加。数据块中存储的数据实际会存储到物理硬盘中。当文件***访问某个文件,首先访问为该文件分配的索引节点,从而确定存储该文件的数据的数据块的起始逻辑地址,根据数据块的起始逻辑地址访问
物理硬盘地址中实际存储的数据。其中,数据块中存储的数据包括文件的元数据和组成文件的数据。
为描述简单,以m=3,n=9为例,如图2所示,包括3个文件,分别为文件1、文件2和文件3,文件***为文件1分配的索引节点为1,存储文件1的数据的数据块的起始逻辑地址分别为0、1和3;文件***为文件2分配的索引节点为2,存储文件2的数据的数据块的起始逻辑地址分别为2、4和6;文件***为文件3分配的索引节点为3,存储文件3的数据的数据块的起始逻辑地址分别为5、7、8和9。其中,文件1作为第一个写入文件,文件***分配为存储文件1的数据的数据块,根据文件***中数据块的分配原则,分配的数据块的起始逻辑地址分别为0、1,由于文件2的数据也需要存储,文件***分配为存储文件2的数据的数据块,将起始逻辑地址为2的数据块分作为存储文件2的数据的数据块,则只能将下一个起始逻辑地址为3的数据块分配给文件1。存储文件1的数据的数据块的起始逻辑地址分别为0、1和3,存储文件2的数据的数据块的起始逻辑地址分别为2、4和6,存储文件3的数据的数据块的起始逻辑地址分别为5、7、8和9。文件***为存储文件的数据分配的数据块的起始逻辑地址是线性增加的。
快照(Snapshot)是关于指定数据集合的一个完全可用拷贝,该拷贝包括数据在某个时间点(拷贝开始的时间点)的映像,具体含义可参见存储网络行业协会(Storage Networking Industry Association,SNIA)的定义。文件***的快照为文件***中的一个状态,表示在某个时间点,文件***中数据的映像。为文件***创建快照也称为生成文件***的快照。如图2所示,为T1时刻文件***的快照S1。T1时刻,文件***中已经分配的数据块为数据块0至数据块9。对于T1时刻的快照S1,数据块0至数据块9的元数据中包含生成号,生成号表示数据块为上一次快照后至当前快照S1时刻分配的。例如,当
S1为第一个快照,则数据块0至数据块9的元数据中的生成号为1。
如图3所示,在T1时刻的快照S1后,文件3继续有数据写入,文件***为文件3又分配了数据块10和11,其中,数据块10的起始逻辑地址为10,数据块11的起始逻辑地址为11。在T2时刻,生成文件***的快照S2。在T1时刻后至T2时刻,数据块0至数据块9的状态均未发生变化,因此数据块0至数据块9的生成号为1。而数据块10和数据块11为T1时刻后为文件3新分配的数据块,因此,数据块10和数据块11的元数据中的生成号为2,表示数据块10和11为在T1时刻后至T2时刻分配的。
现有技术中,为确定在T1时刻后至T2时刻新分配的数据块,首先会比较快照S1和快照S2的超级块。如果超级块相同,再比较索引节点1、2和3是否相同。由于在T1时刻后至T2时刻索引节点1和索引节点2没有发生变化,而索引节点3发生变化,变化后的索引节点记为索引节点3’,则根据索引节点3’查找索引节点3’中记录的数据块5、7、8、9、10和11。读取数据块5、7、8、9、10和11的元数据中的生成号,确定数据块10和11的生成号与数据块5、7、8、9、10的生成号不同,从而确定数据块10和11为在T1时刻后至T2时刻新分配的数据块,则数据块10和11中存储的数据为增量数据。由此可见,现有技术中通过快照技术确定文件***中的增量数据过程过于复杂。在块存储设备中使用快照进行增量数据备份,具体操作方式与文件***使用快照进行增量数据备份时,具体实现类似,因此,同样存在上述问题。
发明内容
第一方面,本发明实施例提供了一种基于写重定向的存储服务器确定增量数据的方法,包括:
在Tn时刻第一对象的快照Sn的元数据中记录存储服务器截止到
Tn时刻为所述第一对象分配的数据块的最大起始逻辑地址aM;所述第一对象为文件***或者逻辑单元;
在Tn+1时刻所述第一对象的快照Sn+1的元数据中记录所述存储服务器截止到Tn+1时刻为所述第一对象分配的数据块的最大起始逻辑地址aZ;其中,Sn和Sn+1表示相邻的两个快照,Tn<Tn+1,n为非负的整数,aM≤aZ;M和Z为非负的整数,并且M≤Z;
根据aZ和aM,确定所述存储服务器在Tn时刻后至Tn+1时刻为所述第一对象分配的P个数据块的每个起始逻辑地址ar;其中,ar=aM+(r-M)*A,每个数据块占用的逻辑地址空间大小相等,A为数据块占用的逻辑地址空间大小,r为整数,M<r≤Z,P=Z-M。
根据第一方面,在第一种可能的实施方式中,所述方法还包括:
根据第一方面,在第二种可能的实施方式中,还包括:
备份起始逻辑地址为ar的P个数据块中的数据至备份存储服务器。
根据第一方面的第一种可能的实施方式,在第三种可能的实施方式中,还包括:
备份起始逻辑地址为avr的数据块中的数据及起始逻辑地址为ar的数据块中的数据的状态至备份存储服务器。
第二方面,本发明实施例提供了一种基于写重定向的存储服务器,包括:
记录单元,用于在Tn时刻第一对象的快照Sn的元数据中记录存储服务器截止到Tn时刻为所述第一对象分配的数据块的最大起始逻辑地址aM;所述第一对象为文件***或者逻辑单元;在Tn+1时刻所述第一对象的快照Sn+1的元数据中记录所述存储服务器截止到Tn+1时刻为
所述第一对象分配的数据块的最大起始逻辑地址aZ;其中,Sn和Sn+1表示相邻的两个快照,Tn<Tn+1,n为非负的整数,aM≤aZ;M和Z为非负的整数,并且M≤Z;
确定单元,用于根据aZ和aM,确定所述存储服务器在Tn时刻后至Tn+1时刻为所述第一对象分配的P个数据块的每个起始逻辑地址ar;其中,ar=aM+(r-M)*A,每个数据块占用的逻辑地址空间大小相等,A为数据块占用的逻辑地址空间大小,r为整数,M<r≤Z,P=Z-M。
根据第二方面,在第二种可能的实施方式中,还包括备份单元;所述备份单元用于备份起始逻辑地址为ar的P个数据块中的数据至备份存储服务器。
根据第二方面的第一种可能的实施方式,在第三种可能的实施方式中还包括备份单元;所述备份单元用于备份起始逻辑地址为avr的数据块中的数据及起始逻辑地址为ar的数据块中的数据的状态至备份存储服务器。
第三方面,本发明实施例提供了一种基于写重定向的存储服务器,所述存储服务器包括处理器和存储器,所述处理器执行所述存储器中的可执行指令以执行:
在Tn时刻第一对象的快照Sn的元数据中记录存储服务器截止到Tn时刻为所述第一对象分配的数据块的最大起始逻辑地址aM;所述第一对象为文件***或者逻辑单元;
在Tn+1时刻所述第一对象的快照Sn+1的元数据中记录所述存储服务器截止到Tn+1时刻为所述第一对象分配的数据块的最大起始逻辑地
址aZ;其中,Sn和Sn+1表示相邻的两个快照,Tn<Tn+1,n为非负的整数,aM≤aZ;M和Z为非负的整数,并且M≤Z;
根据aZ和aM,确定所述存储服务器在Tn时刻后至Tn+1时刻为所述第一对象分配的P个数据块的每个起始逻辑地址ar;其中,ar=aM+(r-M)*A,每个数据块占用的逻辑地址空间大小相等,A为数据块占用的逻辑地址空间大小,r为整数,M<r≤Z,P=Z-M。
根据第三方面,在第一种可能的实施方式中,所述处理器执行所述存储器中的可执行指令还执行:
根据第三方面,在第二种可能的实施方式中,所述处理器执行所述存储器中的可执行指令还执行:
备份起始逻辑地址为ar的P个数据块中的数据至备份存储服务器。
根据第三方面的第一种可能的实施方式,在第三种可能的实施方式中,所述处理器执行所述存储器中的可执行指令还执行:
备份起始逻辑地址为avr的数据块中的数据及起始逻辑地址为ar的数据块中的数据的状态至备份存储服务器。
第四方面,本发明实施例提供了一种包含计算机可执行指令的非易失性计算机可读存储介质,当存储服务器的处理器指令所述计算机可执行指令时,用于执行以下步骤:
在Tn时刻第一对象的快照Sn的元数据中记录存储服务器截止到Tn时刻为所述第一对象分配的数据块的最大起始逻辑地址aM;所述第一对象为文件***或者逻辑单元;
在Tn+1时刻所述第一对象的快照Sn+1的元数据中记录所述存储服务器截止到Tn+1时刻为所述第一对象分配的数据块的最大起始逻辑地
址aZ;其中,Sn和Sn+1表示相邻的两个快照,Tn<Tn+1,n为非负的整数,aM≤aZ;M和Z为非负的整数,并且M≤Z;
根据aZ和aM,确定所述存储服务器在Tn时刻后至Tn+1时刻为所述第一对象分配的P个数据块的每个起始逻辑地址ar;其中,ar=aM+(r-M)*A,每个数据块占用的逻辑地址空间大小相等,A为数据块占用的逻辑地址空间大小,r为整数,M<r≤Z,P=Z-M。
根据第四方面,在第一种可能的实施方式中,当所述存储服务器的处理器指令所述计算机可执行指令时,还用于执行以下步骤:
根据第四方面,在第二种可能的实施方式中,当所述存储服务器的处理器指令所述计算机可执行指令时,还用于执行以下步骤:
备份起始逻辑地址为ar的P个数据块中的数据至备份存储服务器。
根据第四方面的第一种可能的实施方式,在第三种可能的实施方式中,当所述存储服务器的处理器指令所述计算机可执行指令时,还用于执行以下步骤:
备份起始逻辑地址为avr的数据块中的数据及起始逻辑地址为ar的数据块中的数据的状态至备份存储服务器。
第五方面,本发明实施例提供了一种备份数据的方法,所述方法应用于备份***,所述备份***包括基于写重定向的源存储服务器和基于写重定向的备份存储服务器;其中,所述源存储服务器在Tn时刻为第一对象创建的快照为Sn,并且Sn的元数据中记录的所述源存储服务器截止到Tn时刻为所述第一对象分配的数据块的最大起始逻辑地址为aS,M;所述备份存储服务器存储有快照Sn,所述备份存储服务器存储的Sn的元数据记录的数据块的最大起始逻辑地址为aB,M;其中,
aB,M为所述备份存储服务器为存储Sn的数据分配的数据块的最大起始逻辑地址;所述第一对象为文件***或者逻辑单元;并且aS,M=aB,M;其中,n为非负的整数;
所述方法包括:
所述备份存储服务器接收所述源存储服务器发送的起始逻辑地址为aS,r的P个数据块中的数据;其中,起始逻辑地址为aS,r的数据块是Tn时刻后至Tn+1时刻所述源存储服务器为所述第一对象分配的数据块;所述第一对象的快照Sn+1的元数据中记录的所述源存储服务器截止到Tn+1时刻为所述第一对象分配的数据块的最大起始逻辑地址为aS,Z;aS,r=aS,M+(r-M)*A;其中,每个数据块占用的逻辑地址空间大小相等,A为数据块占用的逻辑地址空间大小;Tn<Tn+1,Sn和Sn+1表示相邻的两个快照,r为整数,M<r≤Z,P=(Z-M);Z为非负的整数;
所述备份存储服务器为起始逻辑地址为aS,r的数据块中的数据分配起始逻辑地址为aB,r的数据块;其中aB,r=aB,M+(r-M)*A;
所述备份存储服务器将起始逻辑地址为aS,r的数据块中的数据存储到起始逻辑地址为aB,r的数据块中。
第六方面,本发明实施例提供了一种备份数据的方法,所述方法应用于备份***,所述备份***包括基于写重定向的源存储服务器和写重定向的备份存储服务器;其中,所述源存储服务器在Tn时刻为第一对象创建的快照为Sn,并且Sn的元数据中记录的所述源存储服务器截止到Tn时刻为所述第一对象分配的数据块的最大起始逻辑地址为aS,M;所述备份存储服务器存储有快照Sn,所述备份存储服务器存储的Sn的元数据记录的数据块的最大起始逻辑地址为aB,M;其中,aB,M为
所述备份存储服务器为存储Sn的数据分配的数据块的最大起始逻辑地址;所述第一对象为文件***或者逻辑单元;并且aS,M=aB,M;其中,n为非负的整数;
所述方法包括:
所述备份存储服务器接收所述源存储服务器发送的起始逻辑地址为aS,vr的数据块中的数据及起始逻辑地址为aS,r的P个数据块中的数据的状态;其中,起始逻辑地址为aS,r的数据块是Tn时刻后至Tn+1时刻所述源存储服务器为所述第一对象分配的数据块;起始逻辑地址为aS,vr的数据块为所述源存储服务器从起始逻辑地址为aS,r的数据块中确定的存储有效数据的数据块的起始逻辑地址;Tn+1时刻所述第一对象的快照Sn+1的元数据中记录所述源存储服务器为所述第一对象分配的数据块的最大起始逻辑地址为aS,Z;aS,r=aS,M+(r-M)*A;其中,每个数据块占用的逻辑地址空间大小相等,A为数据块占用的逻辑地址空间大小;Tn<Tn+1,Sn和Sn+1表示相邻的两个快照,r为整数,M<r≤Z,P=(Z-M);Z为非负的整数;
所述备份存储服务器为起始逻辑地址为aS,r的数据块中的数据分配起始逻辑地址为aB,r的数据块;其中aB,r=aB,M+(r-M)*A;
所述备份存储服务器将起始逻辑地址为aS,vr的数据块中的数据存储到起始逻辑地址为aB,vr的数据块中。
第七方面,本发明实施例提供了一种恢复数据的方法,所述方法应用于备份***,所述备份***包括基于写重定向的源存储服务器和写重定向的备份存储服务器;其中,所述源存储服务器在Tn时刻为第一对象创建的快照为Sn,并且Sn的元数据中记录的所述源存储服务器截止到Tn时刻为所述第一对象分配的数据块的最大起始逻辑地址为
aS,Dx;所述备份存储服务器存储有快照Sn,所述备份存储服务器存储的Sn的元数据记录的数据块的最大起始逻辑地址为aB,Dx;其中,aB,Dx为所述备份存储服务器为存储Sn的数据分配的数据块的最大起始逻辑地址;所述第一对象为文件***或者逻辑单元;并且aS,Dx=aB,Dx;其中,n和x为整数,并且n≤W,Dx为非负的整数,Dx≤M;W和M为整数;所述方法包括:
所述备份存储服务器接收所述源存储服务器发送的数据恢复请求;所述数据恢复请求携带所述源存储服务器在TF时刻为所述第一对象创建的快照SF的标识以及在TP时刻为所述第一对象创建的快照SP的标识;其中,SF表示所述源存储服务器当前可用的最新时刻所述第一对象的快照;SP表示所述源存储服务器欲恢复到TP时刻所述第一对象的快照;其中,TF<TP,P≤W;
所述备份存储服务器根据快照SF的标识确定所述备份服务器存储的所述第一对象的快照SF的元数据记录的数据块的最大起始逻辑地址aB,DE;以及根据快照SP的标识,确定所述备份服务器存储的所述第一对象的快照SF的元数据记录的数据块的最大起始逻辑地址aB,DH;
所述备份存储服务器根据aB,DE和aB,DH确定起始逻辑地址为aB,Dr的数据块中的数据为需要恢复的数据;DE<Dr≤DH;DE<DH≤M;并且aB,Dr=aB,DE+(Dr-DE)*A;其中,每个数据块占用的逻辑地址空间大小相等,A为数据块占用的逻辑地址空间大小;
所述备份存储服务器将起始逻辑地址为aB,Dr的数据块中的数据发送给所述源存储服务器。
第八方面,本发明实施例提供了一种恢复数据的方法,所述方法应用于备份***,所述备份***包括基于写重定向的源存储服务器和
写重定向的备份存储服务器;其中,所述源存储服务器在Tn时刻为第一对象创建的快照为Sn,并且Sn的元数据中记录的所述源存储服务器截止到Tn时刻为所述第一对象分配的数据块的最大起始逻辑地址为aS,Dx;所述备份存储服务器存储有快照Sn,所述备份存储服务器存储的Sn的元数据记录的数据块的最大起始逻辑地址为aB,Dx;其中,aB,Dx为所述备份存储服务器为存储Sn的数据分配的数据块的最大起始逻辑地址;所述第一对象为文件***或者逻辑单元;并且aS,Dx=aB,Dx;其中,n和x为整数,并且n≤W,Dx为非负的整数,Dx≤M;W和M为整数;所述方法包括:
所述备份存储服务器接收所述源存储服务器发送的数据恢复请求;所述数据恢复请求携带所述源存储服务器在TF时刻为所述第一对象创建的快照SF的标识以及在TP时刻为所述第一对象创建的快照SP的标识;其中,SF表示所述源存储服务器当前可用的最新时刻所述第一对象的快照;SP表示所述源存储服务器欲恢复到TP时刻所述第一对象的快照;其中,TF<TP,P≤W;
所述备份存储服务器根据快照SF的标识确定所述备份服务器存储的所述第一对象的快照SF的元数据记录的数据块的最大起始逻辑地址aB,DE;以及根据快照SP的标识,确定所述备份服务器存储的所述第一对象的快照SF的元数据记录的数据块的最大起始逻辑地址aB,DH;
所述备份存储服务器根据aB,DE和aB,DH确定起始逻辑地址为aB,Dr的数据块,DE<Dr≤DH,DE<DH≤M;并且aB,Dr=aB,DE+(Dr-DE)*A;其中,每个数据块占用的逻辑地址空间大小相等,A为数据块占用的逻辑地址空间大小;
所述备份存储服务器根据数据块的起始逻辑地址aB,Dr获取所述
源存储服务器中起始逻辑地址为aA,Dr的数据块中的数据的状态;
所述备份存储服务器将起始逻辑地址为aB,vDr的数据块中的数据发送给所述源存储服务器。
根据第八方面,在第一种可能的实施方式中,所述备份存储服务器根据数据块的起始逻辑地址aB,Dr获取所述源存储服务器中起始逻辑地址为aA,Dr的数据块中的数据的状态,具体包括:
所述备份存储服务器向所述源存储服务器发送起始逻辑地址为aB,Dr的数据块中的数据的状态;
所述备份存储服务器接收所述源存储服务器起始逻辑地址为aA,Dr的数据块中的数据的状态;其中,所述起始逻辑地址为aA,Dr的数据块中的数据的状态包含需要恢复的数据块的起始逻辑地址aA,vDr信息;
则所述备份存储服务器根据起始逻辑地址为aA,Dr的数据块中的数据的状态确定起始逻辑地址为aB,Dr的数据块中需要恢复的数据块的起始逻辑地址aB,vDr包括:
所述备份存储服务器根据起始逻辑地址aA,vDr信息确定需要恢复的数据块的起始逻辑地址aB,vDr。
第九方面,本发明实施例提供了一种基于写重定向的备份存储服务器,所述备份存储服务器应用于备份***,所述备份***包括基于写重定向的源存储服务器和所述备份存储服务器;其中,所述源存储服务器在Tn时刻为第一对象创建的快照为Sn,并且Sn的元数据中记录
的所述源存储服务器截止到Tn时刻为所述第一对象分配的数据块的最大起始逻辑地址为aS,M;所述备份存储服务器存储有快照Sn,所述备份存储服务器存储的Sn的元数据记录的数据块的最大起始逻辑地址为aB,M;其中,aB,M为所述备份存储服务器为存储Sn的数据分配的数据块的最大起始逻辑地址;所述第一对象为文件***或者逻辑单元;并且aS,M=aB,M;其中,n为非负的整数;
所述备份存储服务器包括:
接收单元,用于接收所述源存储服务器发送的起始逻辑地址为aS,r的P个数据块中的数据;其中,起始逻辑地址为aS,r的数据块是Tn时刻后至Tn+1时刻所述源存储服务器为所述第一对象分配的数据块;所述第一对象的快照Sn+1的元数据中记录的所述源存储服务器截止到Tn+1时刻为所述第一对象分配的数据块的最大起始逻辑地址为aS,Z;aS,r=aS,M+(r-M)*A;其中,每个数据块占用的逻辑地址空间大小相等,A为数据块占用的逻辑地址空间大小;Tn<Tn+1,Sn和Sn+1表示相邻的两个快照,r为整数,M<r≤Z,P=(Z-M);Z为非负的整数;
分配单元,用于为起始逻辑地址为aS,r的数据块中的数据分配起始逻辑地址为aB,r的数据块;其中aB,r=aB,M+(r-M)*A;
写入单元,用于将起始逻辑地址为aS,r的数据块中的数据存储到起始逻辑地址为aB,r的数据块中。
第十方面,本发明实施例提供了一种基于写重定向的备份存储服务器,所述备份存储服务器应用于备份***,所述备份***包括基于写重定向的源存储服务器和所述备份存储服务器;其中,所述源存储服务器在Tn时刻为第一对象创建的快照为Sn,并且Sn的元数据中记录的所述源存储服务器截止到Tn时刻为所述第一对象分配的数据块的
最大起始逻辑地址为aS,M;所述备份存储服务器存储有快照Sn,所述备份存储服务器存储的Sn的元数据记录的数据块的最大起始逻辑地址为aB,M;其中,aB,M为所述备份存储服务器为存储Sn的数据分配的数据块的最大起始逻辑地址;所述第一对象为文件***或者逻辑单元;并且aS,M=aB,M;其中,n为非负的整数;
所述备份存储服务器包括:
接收单元,用于接收所述源存储服务器发送的起始逻辑地址为aS,vr的数据块中的数据及起始逻辑地址为aS,r的P个数据块中的数据的状态;其中,起始逻辑地址为aS,r的数据块是Tn时刻后至Tn+1时刻所述源存储服务器为所述第一对象分配的数据块;起始逻辑地址为aS,vr的数据块为所述源存储服务器从起始逻辑地址为aS,r的数据块中确定的存储有效数据的数据块的起始逻辑地址;Tn+1时刻所述第一对象的快照Sn+1的元数据中记录所述源存储服务器为所述第一对象分配的数据块的最大起始逻辑地址为aS,Z;aS,r=aS,M+(r-M)*A;其中,每个数据块占用的逻辑地址空间大小相等,A为数据块占用的逻辑地址空间大小;Tn<Tn+1,Sn和Sn+1表示相邻的两个快照,r为整数,M<r≤Z,P=(Z-M);Z为非负的整数;
分配单元,用于为起始逻辑地址为aS,r的数据块中的数据分配起始逻辑地址为aB,r的数据块;其中aB,r=aB,M+(r-M)*A;
写入单元,用于将起始逻辑地址为aS,vr的数据块中的数据存储到起始逻辑地址为aB,vr的数据块中。
第十一方面,本发明实施例提供了一种基于写重定向的备份存储服务器,所述备份存储服务器应用于备份***,所述备份***包括基于写重定向的源存储服务器和所述备份存储服务器;其中,所述源存
储服务器在Tn时刻为第一对象创建的快照为Sn,并且Sn的元数据中记录的所述源存储服务器截止到Tn时刻为所述第一对象分配的数据块的最大起始逻辑地址为aS,Dx;所述备份存储服务器存储有快照Sn,所述备份存储服务器存储的Sn的元数据记录的数据块的最大起始逻辑地址为aB,Dx;其中,aB,Dx为所述备份存储服务器为存储Sn的数据分配的数据块的最大起始逻辑地址;所述第一对象为文件***或者逻辑单元;并且aS,Dx=aB,Dx;其中,n和x为整数,并且n≤W,Dx为非负的整数,Dx≤M;W和M为整数;所述备份存储服务器包括:
接收单元,用于接收所述源存储服务器发送的数据恢复请求;所述数据恢复请求携带所述源存储服务器在TF时刻为所述第一对象创建的快照SF的标识以及在TP时刻为所述第一对象创建的快照SP的标识;其中,SF表示所述源存储服务器当前可用的最新时刻所述第一对象的快照;SP表示所述源存储服务器欲恢复到TP时刻所述第一对象的快照;其中,TF<TP,P≤W;
确定单元,用于根据快照SF的标识确定所述备份服务器存储的所述第一对象的快照SF的元数据记录的数据块的最大起始逻辑地址aB,DE;以及根据快照SP的标识,确定所述备份服务器存储的所述第一对象的快照SF的元数据记录的数据块的最大起始逻辑地址aB,DH;根据aB,DE和aB,DH确定起始逻辑地址为aB,Dr的数据块中的数据为需要恢复的数据;DE<Dr≤DH;DE<DH≤M;并且aB,Dr=aB,DE+(Dr-DE)*A;其中,每个数据块占用的逻辑地址空间大小相等,A为数据块占用的逻辑地址空间大小;
发送单元,用于将起始逻辑地址为aB,Dr的数据块中的数据发送给所述源存储服务器。
第十二方面,本发明实施例提供了一种基于写重定向的备份存储服务器,所述备份存储服务器应用于备份***,所述备份***包括写重定向的源存储服务器和所述备份存储服务器;其中,所述源存储服务器在Tn时刻为第一对象创建的快照为Sn,并且Sn的元数据中记录的所述源存储服务器截止到Tn时刻为所述第一对象分配的数据块的最大起始逻辑地址为aS,Dx;所述备份存储服务器存储有快照Sn,所述备份存储服务器存储的Sn的元数据记录的数据块的最大起始逻辑地址为aB,Dx;其中,aB,Dx为所述备份存储服务器为存储Sn的数据分配的数据块的最大起始逻辑地址;所述第一对象为文件***或者逻辑单元;并且aS,Dx=aB,Dx;其中,n和x为整数,并且n≤W,Dx为非负的整数,Dx≤M;W和M为整数;所述备份存储服务器包括:
接收单元,用于接收所述源存储服务器发送的数据恢复请求;所述数据恢复请求携带所述源存储服务器在TF时刻为所述第一对象创建的快照SF的标识以及在TP时刻为所述第一对象创建的快照SP的标识;其中,SF表示所述源存储服务器当前可用的最新时刻所述第一对象的快照;SP表示所述源存储服务器欲恢复到TP时刻所述第一对象的快照;其中,TF<TP,P≤W;
确定单元,用于根据快照SF的标识确定所述备份服务器存储的所述第一对象的快照SF的元数据记录的数据块的最大起始逻辑地址aB,DE;以及根据快照SP的标识,确定所述备份服务器存储的所述第一对象的快照SF的元数据记录的数据块的最大起始逻辑地址aB,DH;根据aB,DE和aB,DH确定起始逻辑地址为aB,Dr的数据块,DE<Dr≤DH,DE<DH≤M;并且aB,Dr=aB,DE+(Dr-DE)*A;其中,每个数据块占用的逻辑地址空间大小相等,A为数据块占用的逻辑地址空间大小;
获取单元,用于根据数据块的起始逻辑地址aB,Dr获取所述源存储服务器中起始逻辑地址为aA,Dr的数据块中的数据的状态;
发送单元,用于将起始逻辑地址为aB,vDr的数据块中的数据发送给所述源存储服务器。
根据第十二方面,在第一种可能的实施方式中,所述获取单元具体用于:
向所述源存储服务器发送起始逻辑地址为aB,Dr的数据块中的数据的状态;
接收所述源存储服务器起始逻辑地址为aA,Dr的数据块中的数据的状态;其中,所述起始逻辑地址为aA,Dr的数据块中的数据的状态包含需要恢复的数据块的起始逻辑地址aA,vDr信息;
则所述确定单元根据起始逻辑地址为aA,Dr的数据块中的数据的状态确定起始逻辑地址为aB,Dr的数据块中需要恢复的数据块的起始逻辑地址aB,vDr包括:
根据起始逻辑地址aA,vDr信息确定需要恢复的数据块的起始逻辑地址aB,vDr。
第十三方面,本发明实施例提供了一种基于写重定向的备份存储服务器,所述备份存储服务器应用于备份***,所述备份***包括基于写重定向的源存储服务器和所述备份存储服务器;其中,所述源存储服务器在Tn时刻为第一对象创建的快照为Sn,并且Sn的元数据中记录的所述源存储服务器截止到Tn时刻为所述第一对象分配的数据块
的最大起始逻辑地址为aS,M;所述备份存储服务器存储有快照Sn,所述备份存储服务器存储的Sn的元数据记录的数据块的最大起始逻辑地址为aB,M;其中,aB,M为所述备份存储服务器为存储Sn的数据分配的数据块的最大起始逻辑地址;所述第一对象为文件***或者逻辑单元;并且aS,M=aB,M;其中,n为非负的整数;
所述备份存储服务器包括包括处理器和存储器,所述处理器执行所述存储器中的可执行指令以执行:
接收所述源存储服务器发送的起始逻辑地址为aS,r的P个数据块中的数据;其中,起始逻辑地址为aS,r的数据块是Tn时刻后至Tn+1时刻所述源存储服务器为所述第一对象分配的数据块;所述第一对象的快照Sn+1的元数据中记录的所述源存储服务器截止到Tn+1时刻为所述第一对象分配的数据块的最大起始逻辑地址为aS,Z;aS,r=aS,M+(r-M)*A;其中,每个数据块占用的逻辑地址空间大小相等,A为数据块占用的逻辑地址空间大小;Tn<Tn+1,Sn和Sn+1表示相邻的两个快照,r为整数,M<r≤Z,P=(Z-M);Z为非负的整数;
为起始逻辑地址为aS,r的数据块中的数据分配起始逻辑地址为aB,r的数据块;其中aB,r=aB,M+(r-M)*A;
将起始逻辑地址为aS,r的数据块中的数据存储到起始逻辑地址为aB,r的数据块中。
第十四方面,本发明实施例提供了一种基于写重定向的备份存储服务器,所述备份存储服务器应用于备份***,所述备份***包括基于写重定向的源存储服务器和所述备份存储服务器;其中,所述源存储服务器在Tn时刻为第一对象创建的快照为Sn,并且Sn的元数据中记录的所述源存储服务器截止到Tn时刻为所述第一对象分配的数据块
的最大起始逻辑地址为aS,M;所述备份存储服务器存储有快照Sn,所述备份存储服务器存储的Sn的元数据记录的数据块的最大起始逻辑地址为aB,M;其中,aB,M为所述备份存储服务器为存储Sn的数据分配的数据块的最大起始逻辑地址;所述第一对象为文件***或者逻辑单元;并且aS,M=aB,M;其中,n为非负的整数;
所述备份存储服务器包括包括处理器和存储器,所述处理器执行所述存储器中的可执行指令以执行:
接收所述源存储服务器发送的起始逻辑地址为aS,vr的数据块中的数据及起始逻辑地址为aS,r的P个数据块中的数据的状态;其中,起始逻辑地址为aS,r的数据块是Tn时刻后至Tn+1时刻所述源存储服务器为所述第一对象分配的数据块;起始逻辑地址为aS,vr的数据块为所述源存储服务器从起始逻辑地址为aS,r的数据块中确定的存储有效数据的数据块的起始逻辑地址;vr∈r;Tn+1时刻所述第一对象的快照Sn+1的元数据中记录所述源存储服务器为所述第一对象分配的数据块的最大起始逻辑地址为aS,Z;aS,r=aS,M+(r-M)*A;其中,每个数据块占用的逻辑地址空间大小相等,A为数据块占用的逻辑地址空间大小;Tn<Tn+1,Sn和Sn+1表示相邻的两个快照,r为整数,M<r≤Z,P=(Z-M);Z为非负的整数;
为起始逻辑地址为aS,r的数据块中的数据分配起始逻辑地址为aB,r的数据块;其中aB,r=aB,M+(r-M)*A;
将起始逻辑地址为aS,vr的数据块中的数据存储到起始逻辑地址为aB,vr的数据块中。
第十五方面,本发明实施例提供了一种基于写重定向的备份存储服务器,所述备份存储服务器应用于备份***,所述备份***包括基
于写重定向的源存储服务器和所述备份存储服务器;其中,所述源存储服务器在Tn时刻为第一对象创建的快照为Sn,并且Sn的元数据中记录的所述源存储服务器截止到Tn时刻为所述第一对象分配的数据块的最大起始逻辑地址为aS,Dx;所述备份存储服务器存储有快照Sn,所述备份存储服务器存储的Sn的元数据记录的数据块的最大起始逻辑地址为aB,Dx;其中,aB,Dx为所述备份存储服务器为存储Sn的数据分配的数据块的最大起始逻辑地址;所述第一对象为文件***或者逻辑单元;并且aS,Dx=aB,Dx;其中,n和x为整数,并且n≤W,Dx为非负的整数,Dx≤M;W和M为整数;
所述备份存储服务器包括包括处理器和存储器,所述处理器执行所述存储器中的可执行指令以执行:
接收所述源存储服务器发送的数据恢复请求;所述数据恢复请求携带所述源存储服务器在TF时刻为所述第一对象创建的快照SF的标识以及在TP时刻为所述第一对象创建的快照SP的标识;其中,SF表示所述源存储服务器当前可用的最新时刻所述第一对象的快照;SP表示所述源存储服务器欲恢复到TP时刻所述第一对象的快照;其中,TF<TP,P≤W;
根据快照SF的标识确定所述备份服务器存储的所述第一对象的快照SF的元数据记录的数据块的最大起始逻辑地址aB,DE;以及根据快照SP的标识,确定所述备份服务器存储的所述第一对象的快照SF的元数据记录的数据块的最大起始逻辑地址aB,DH;
根据aB,DE和aB,DH确定起始逻辑地址为aB,Dr的数据块中的数据为需要恢复的数据;DE<Dr≤DH;DE<DH≤M;并且aB,Dr=aB,DE+(Dr-DE)*A;其中,每个数据块占用的逻辑地址空间大小相等,
A为数据块占用的逻辑地址空间大小;
将起始逻辑地址为aB,Dr的数据块中的数据发送给所述源存储服务器。
第十六方面,本发明实施例提供了一种基于写重定向的备份存储服务器,所述备份存储服务器应用于备份***,所述备份***包括基于写重定向的源存储服务器和所述备份存储服务器;其中,所述源存储服务器在Tn时刻为第一对象创建的快照为Sn,并且Sn的元数据中记录的所述源存储服务器截止到Tn时刻为所述第一对象分配的数据块的最大起始逻辑地址为aS,Dx;所述备份存储服务器存储有快照Sn,所述备份存储服务器存储的Sn的元数据记录的数据块的最大起始逻辑地址为aB,Dx;其中,aB,Dx为所述备份存储服务器为存储Sn的数据分配的数据块的最大起始逻辑地址;所述第一对象为文件***或者逻辑单元;并且aS,Dx=aB,Dx;其中,n和x为整数,并且n≤W,Dx为非负的整数,Dx≤M;W和M为整数;
所述备份存储服务器包括包括处理器和存储器,所述处理器执行所述存储器中的可执行指令以执行:
接收所述源存储服务器发送的数据恢复请求;所述数据恢复请求携带所述源存储服务器在TF时刻为所述第一对象创建的快照SF的标识以及在TP时刻为所述第一对象创建的快照SP的标识;其中,SF表示所述源存储服务器当前可用的最新时刻所述第一对象的快照;SP表示所述源存储服务器欲恢复到TP时刻所述第一对象的快照;其中,TF<TP,P≤W;
根据快照SF的标识确定所述备份服务器存储的所述第一对象的快照SF的元数据记录的数据块的最大起始逻辑地址aB,DE;以及根据快照SP的标识,确定所述备份服务器存储的所述第一对象的快照SF的
元数据记录的数据块的最大起始逻辑地址aB,DH;
根据aB,DE和aB,DH确定起始逻辑地址为aB,Dr的数据块,DE<Dr≤DH,DE<DH≤M;并且aB,Dr=aB,DE+(Dr-DE)*A;其中,每个数据块占用的逻辑地址空间大小相等,A为数据块占用的逻辑地址空间大小;
根据数据块的起始逻辑地址aB,Dr获取所述源存储服务器中起始逻辑地址为aA,Dr的数据块中的数据的状态;
将起始逻辑地址为aB,vDr的数据块中的数据发送给所述源存储服务器。
根据第十六方面,在第一种可能的实施方式中,根据数据块的起始逻辑地址aB,Dr获取所述源存储服务器中起始逻辑地址为aA,Dr的数据块中的数据的状态,具体包括:
向所述源存储服务器发送起始逻辑地址为aB,Dr的数据块中的数据的状态;
接收所述源存储服务器起始逻辑地址为aA,Dr的数据块中的数据的状态;其中,所述起始逻辑地址为aA,Dr的数据块中的数据的状态包含需要恢复的数据块的起始逻辑地址aA,vDr信息;
则根据起始逻辑地址为aA,Dr的数据块中的数据的状态确定起始逻辑地址为aB,Dr的数据块中需要恢复的数据块的起始逻辑地址aB,vDr包括:
根据起始逻辑地址aA,vDr信息确定需要恢复的数据块的起始逻辑
地址aB,vDr。
第十七方面,本发明实施例提供了一种备份***,所述备份***包括基于写重定向的源存储服务器和基于写重定向的备份存储服务器;其中,所述源存储服务器在Tn时刻为第一对象创建的快照为Sn,并且Sn的元数据中记录的所述源存储服务器截止到Tn时刻为所述第一对象分配的数据块的最大起始逻辑地址为aS,Dx;所述备份存储服务器存储有快照Sn,所述备份存储服务器存储的Sn的元数据记录的数据块的最大起始逻辑地址为aB,Dx;其中,aB,Dx为所述备份存储服务器为存储Sn的数据分配的数据块的最大起始逻辑地址;所述第一对象为文件***或者逻辑单元;并且aS,Dx=aB,Dx;其中,n和x为整数,并且n≤W,Dx为非负的整数,Dx≤M;W和M为整数;其中,
所述源存储服务器用于向所述备份存储服务器发送数据恢复请求;所述数据恢复请求携带所述源存储服务器在TF时刻为所述第一对象创建的快照SF的标识以及在TP时刻为所述第一对象创建的快照SP的标识;其中,SF表示所述源存储服务器当前可用的最新时刻所述第一对象的快照;SP表示所述源存储服务器欲恢复到TP时刻所述第一对象的快照;其中,TF<TP,P≤W;
所述备份存储服务器用于接收所述源存储服务器发送的所述数据恢复请求;
所述备份存储服务器用于根据快照SF的标识确定所述备份服务器存储的所述第一对象的快照SF的元数据记录的数据块的最大起始逻辑地址aB,DE;以及根据快照SP的标识,确定所述备份服务器存储的所述第一对象的快照SF的元数据记录的数据块的最大起始逻辑地址aB,DH;
所述备份存储服务器用于根据aB,DE和aB,DH确定起始逻辑地址为aB,Dr的数据块中的数据为需要恢复的数据;DE<Dr≤DH;DE<DH≤M;并且aB,Dr=aB,DE+(Dr-DE)*A;其中,每个数据块占用的逻辑地址空间大小相等,A为数据块占用的逻辑地址空间大小;将起始逻辑地址为aB,Dr的数据块中的数据发送给所述源存储服务器;
所述源存储服务器用于接收起始逻辑地址为aB,Dr的数据块中的数据以进行数据恢复。
第十八方面,本发明实施例提供了一种备份***,所述备份***包括基于写重定向的源存储服务器和基于写重定向的备份存储服务器;其中,所述源存储服务器在Tn时刻为第一对象创建的快照为Sn,并且Sn的元数据中记录的所述源存储服务器截止到Tn时刻为所述第一对象分配的数据块的最大起始逻辑地址为aS,Dx;所述备份存储服务器存储有快照Sn,所述备份存储服务器存储的Sn的元数据记录的数据块的最大起始逻辑地址为aB,Dx;其中,aB,Dx为所述备份存储服务器为存储Sn的数据分配的数据块的最大起始逻辑地址;所述第一对象为文件***或者逻辑单元;并且aS,Dx=aB,Dx;其中,n和x为整数,并且n≤W,Dx为非负的整数,Dx≤M;W和M为整数;其中,
所述源存储服务器用于向所述备份存储服务器发送数据恢复请求;所述数据恢复请求携带所述源存储服务器在TF时刻为所述第一对象创建的快照SF的标识以及在TP时刻为所述第一对象创建的快照SP的标识;其中,SF表示所述源存储服务器当前可用的最新时刻所述第一对象的快照;SP表示所述源存储服务器欲恢复到TP时刻所述第一对象的快照;其中,TF<TP,P≤W;
所述备份存储服务器用于接收所述源存储服务器发送的所述数
据恢复请求;根据快照SF的标识确定所述备份服务器存储的所述第一对象的快照SF的元数据记录的数据块的最大起始逻辑地址aB,DE;以及根据快照SP的标识,确定所述备份服务器存储的所述第一对象的快照SF的元数据记录的数据块的最大起始逻辑地址aB,DH;根据aB,DE和aB,DH确定起始逻辑地址为aB,Dr的数据块,DE<Dr≤DH,DE<DH≤M;并且aB,Dr=aB,DE+(Dr-DE)*A;其中,每个数据块占用的逻辑地址空间大小相等,A为数据块占用的逻辑地址空间大小;
所述备份存储服务器还用于根据数据块的起始逻辑地址aB,Dr获取所述源存储服务器中起始逻辑地址为aA,Dr的数据块中的数据的状态;根据起始逻辑地址为aA,Dr的数据块中的数据的状态确定起始逻辑地址为aB,Dr的数据块中需要恢复的数据块的起始逻辑地址aB,vDr;将起始逻辑地址为aB,vDr的数据块中的数据发送给所述源存储服务器;
所述源存储服务器还用于接收起始逻辑地址为aB,vDr的数据块中的数据以进行数据恢复。
根据第十八方面,在第一种可能的实施方式中,所述备份存储服务器根据数据块的起始逻辑地址aB,Dr获取所述源存储服务器中起始逻辑地址为aA,Dr的数据块中的数据的状态,具体包括:
所述备份存储服务器向所述源存储服务器发送起始逻辑地址为aB,Dr的数据块中的数据的状态;接收所述源存储服务器起始逻辑地址为aA,Dr的数据块中的数据的状态;其中,所述起始逻辑地址为aA,Dr的数据块中的数据的状态包含需要恢复的数据块的起始逻辑地址aA,vDr信息;
则所述备份存储服务器根据起始逻辑地址为aA,Dr的数据块中的
数据的状态确定起始逻辑地址为aB,Dr的数据块中需要恢复的数据块的起始逻辑地址aB,vDr包括:
所述备份存储服务器根据起始逻辑地址aA,vDr信息确定需要恢复的数据块的起始逻辑地址aB,vDr。
本发明实施例提供的基于写重定向的存储服务器确定增量数据的方法及装置,通过在Tn+1时刻的第一对象的快照Sn+1的元数据记录存储服务器截止到Tn+1时刻为第一对象分配的数据块的最大起始逻辑地址aZ,以及在Tn时刻的第一对象的快照Sn的元数据记录存储服务器截止到Tn时刻为第一对象分配的数据块的最大起始逻辑地址aM,即可确定在Tn时刻后至Tn+1时刻,存储服务器为第一对象分配的数据块。相对于现有技术实现更简单。
图1为文件***的结构示意图;
图2为T1时刻文件***的快照示意图;
图3为T2时刻文件***的快照示意图;
图4为文件***数据块分配示意图;
图5为文件***数据块修改示意图;
图6为文件***在T1时刻的快照示意图;
图7为T1时刻后修改写示意图;
图8为T1时刻后修改写示意图;
图9为确定增量数据的方法示意图;
图10为备份场景示意图;
图11为文件服务器状态图;
图12a为数据备份方法示意图;
图12b为数据备份方法示意图;
图13a为文件服务器A和文件服务器B的文件***的状态示意图;
图13b为文件***状态示意图;
图14a为文件服务器A状态示意图;
图14b为文件服务器A状态示意图;
图15a为数据恢复方法示意图;
图15b为数据恢复方法示意图;
图16为本发明实施例基于写重定向的存储服务器结构示意图;
图17为本发明实施例基于写重定向的备份存储服务器结构示意图;
图18为本发明实施例基于写重定向的备份存储服务器结构示意图;
图19为本发明实施例基于写重定向的备份存储服务器结构示意图。
本发明实施例中,当文件***有数据写入时,文件服务器为文件***新写入的数据分配数据块。其中,存储数据的数据块实际上并不真正存储数据,数据要存储在物理介质上,但本发明实施例中仍称存储数据的数据块,或数据块中的数据,或者数据块中存储的数据,上述描述均表示相同的含义。文件服务器为文件***为数据分配数据块时,按照数据块的起始逻辑地址顺序分配。在文件***中,数据块的起始逻辑地址是线性增加的。所谓线性增加是指相邻两个数据块的起始逻辑地址相差1个A,每个数据块占用的逻辑地址空间大小相等,A为数据块占用的逻辑地址空间大小,或者称A为数据块的大小。实际应用中,例如A=4K。数据块的起始逻辑地址记为a0,也就是文件服
务器为文件***分配的第一个数据块的起始逻辑地址为a0,则第n个数据块的起始逻辑地址an=a0+(n-1)*A,其中(n-1)*A表示n-1与A相乘。为描述简单,以a0=0,A=1为例,以如图4所示,表示当前文件服务器为文件***分配了n+1个数据块。本发明实施例中,为描述简单,图中只描述了文件服务器为文件***分配的数据块,省略了超级块和索引节点等部分。另外,文件***中即使数据块存储的数据被删除,如起始逻辑地址为9的数据块(以下简称为数据块9)中的数据被删除,实际操作中并不真正删除数据块9中的数据,也不会删除已经分配的数据块9。具体实现,只是记录数据块9中的数据已经删除,并且保留数据块9。文件***通常基于写重定向(Redirection on write,ROW)机制,如图5所示,即当对已经分配的数据块9中的数据进行修改写时,新写入的数据并不覆盖数据块9中的数据,而是将新写入的数据重定向写到新分配的起始逻辑地址为n+1的数据块n+1中。文件服务器为文件***中新写入的数据分配的数据块的起始逻辑地址按照写入顺序均是线性增加的。因此,数据块的起始逻辑地址除了用于记录写入的数据的起始逻辑地址外,也有了时间属性,即表示数据写入的先后顺序。
如图6所示,文件***在T1时刻的快照为S1。在T1时刻,文件***中包括3个文件,文件1、文件2和文件3,文件***为文件1分配的索引节点为1,存储文件1的数据的数据块的起始逻辑地址分别为0、1和3;文件***为文件2分配的索引节点为2,存储文件2的数据的数据块的起始逻辑地址分别为2、4和5;文件***为文件3分配的索引节点为3,存储文件3的数据的数据块的起始逻辑地址分别为6和7。此时,快照S1的元数据只需要记录截止到T1时刻,文件服务器为文件***分配的数据块的最大起始逻辑地址a7=7。其中,本发明实施例中,截止
到T1时刻表示含义T1时刻时刻,本发明实施例中中使用的“截止到”具有相同的含义。
如图7所示,T1时刻后,首先对起始逻辑地址为7的数据块进行了修改写,即对存储文件3的数据的数据块3进行了修改写。基于修改写机制,数据块3中的存储的数据不变,文件服务器为文件***中修改写入的数据分配起始逻辑地址为a8=8的数据块8。文件***创建文件4,为文件4分配索引节点4。文件服务器为文件***中的文件4的数据分配的数据块的起始逻辑地址分别为a9,a10和a11,其中a9=9,a10=10,a11=11。起始逻辑地址为9、10和11的数据块分别记为数据块9、10和11。在T2时刻,文件***的状态仍如图7所示,文件服务器对文件***进行快照操作,获得快照S2。在T2时刻,快照S2的元数据记录文件服务器截止到T2时刻为文件***分配的数据块的最大起始逻辑地址a11=11。由图7可知,在T1时刻后至T2时刻,文件1和文件2未发生改变,文件***新分配的数据块分别为数据块8、数据块9、数据块10和数据块11。数据块8的起始逻辑地址为8,数据块9的起始逻辑地址为9,数据块10的起始逻辑地址为10,数据块11的起始逻辑地址为11。为确定在T1时刻后至T2时刻新增加的数据块,只需要根据快照S2的元数据记录的a11和快照S1的元数据记录的a7,即可获得在T1时刻后至T2时刻新分配的数据块的起始逻辑地址为a8、a9,a10和a11。
仍以图6所示文件***在T1时刻的快照S1为例,如图8所示,T1时刻后对存储文件3的数据的数据块6进行了修改写,基于修改写机制,数据块3中的存储的数据不变,文件服务器为文件***中修改写入的数据分配起始逻辑地址为a8=8的数据块8。文件***创建文件4,为文件4分配的索引节点4。文件服务器为文件***中的文件4分配的数据块的起始逻辑地址分别为a9,a10和a11,其中a9=9,a10=10,a11=11。
起始逻辑地址为9、10和11的数据块分别记为数据块9、10和11。文件服务器在T2时刻对文件***进行快照操作,获得快照S2。在T1时刻后至T2时刻,文件***删除了数据块8中存储的数据。根据文件***对数据块的管理机制,标记数据块8中的数据的状态为删除,但仍然保留数据块8。根据图7所示实施例的描述,在T2时刻,快照S2的元数据记录截止到T2时刻文件服务器为文件***分配的数据块的最大起始逻辑地址a11=11。根据图7所示实施例描述的方法,在T1时刻后至T2时刻新分配的数据块的起始逻辑地址仍为a8、a9,a10和a11。但根据T2时刻数据块中数据的状态,在T1时刻后至T2时刻新分配的数据块中有效的数据所在的数据块的起始逻辑地址分别为a9,a10和a11。数据块中数据的状态,具体可以通过起始逻辑地址状态表来记录每一个数据块中的数据的状态。
基于上述描述,本发明实施例提供了一种在基于写重定向的文件***中确定增量数据的方法,如图9所示,包括:
901:在Tn时刻的文件***的快照Sn的元数据中记录所述文件服务器截止到Tn时刻为所述文件***分配的数据块的最大起始逻辑地址aM;
902:在Tn+1时刻的所述文件***的快照Sn+1的元数据中记录所述文件服务器截止到Tn+1时刻所述文件***分配的数据块的最大起始逻辑地址aZ;其中,Sn和Sn+1表示相邻的两个快照,Tn<Tn+1,n为非负的整数,aM≤aZ;M和Z为非负的整数,并且M≤Z;
903:根据aZ和aM,确定在Tn时刻后至Tn+1时刻,确定所述文件服务器为所述文件***分配的P个数据块的每个起始逻辑地址ar;其中ar=aM+(r-M)*A;其中,每个数据块占用的逻辑地址空间大小相等,A为数据块占用的逻辑地址空间大小;r为整数,M<r≤Z;P=Z-M,
本发明实施例利用文件服务器为文件***中的数据分配的数据块的起始逻辑地址的线性递增特性,通过在Tn+1时刻的所述文件***的快照Sn+1的元数据记录所述文件服务器截止到Tn+1时刻为所述文件***分配的数据块的最大起始逻辑地址aZ,以及在Tn时刻的文件***的快照Sn的元数据记录所述文件服务器截止到Tn时刻为所述文件***分配的数据块的最大起始逻辑地址aM,即可确定在Tn时刻后至Tn+1时刻,所述文件服务器为所述文件***新分配的数据块。本发明实施例直接通过快照的元数据记录即可确定新分配的数据块,相对于现有技术实现更简单。
本发明实施例中,Tn和Tn+1分别表示进行对文件***进行两次相邻快照操作的时刻,但并不限定Tn和Tn+1表示对文件***进行快照操作的周期为T。另外本发明实施例中,T1时刻后至T2时刻表示(T1,T2],表示不包含T1时刻,但包含T2;Tn时刻后至Tn+1时刻表示(Tn,Tn+1],表示不包含Tn时刻,但包含Tn+1。另外,本发明实施例中,Tn和Tn+1只是表示两个不同的时间点,同样,也可以用第n时刻和第n+1时刻来表述。同理,快照Sn和Sn+1也只是表示两个不同时间点的快照,同样也可以用第n个和第n+1个快照来表示。另外,数据块的起始逻辑地址aZ和aM,用于表示数据块起始逻辑地址的具体值,同理,数据块的起始逻辑地址ar表示数据块起始逻辑地址的具体值,r表示文件服务器为文件***分配的第r个数据块。ar=aM+(r-M)*A具体表示ar与aM符合线性递增。
进一步地,根据数据块中的数据的状态,从而确定已经分配的数据块中的数据是否有效。在Tn时刻后至Tn+1时刻文件服务器为文件系
统分配的(Z-M)个数据块的起始逻辑地址为ar,根据数据块中的数据的状态,可以从所述分配的(Z-M)个数据块中确定存储有效的数据的数据块。
上述实施例可应用到如图10所示场景中。图10包括文件服务器A(源文件服务器)、存储设备和文件服务器B(备份文件服务器)。文件服务器A分别与存储设备、文件服务器B连接。文件服务器A包括处理器101和存储器102,处理器101和存储器102通过总线通信,处理器101执行存储器102中的指令用于执行上述实施例。文件服务器A运行文件***A,文件服务器B运行文件***B。文件***A与文件***B相同,并且均基于写重定向机制。存储设备与文件服务器A通信,用于存储文件服务器A的数据。上述实施例中文件服务器为文件***分配的数据块存储的数据,最终将存储在存储设备中。
如图10所示的场景,为实现数据的可靠性,文件服务器A会将数据备份到文件服务器B。具体地,文件服务器B可以将文件服务器A发送的数据存储到本地存储设备上或外部存储设备中。文件服务器A与文件服务器B之间通信的方式,可以通过局域网或者广域网通信等,本发明实施例对此不作限定。在使用增量备份方式将文件服务器A的增加数据备份到文件服务器B的过程中,首先要将进行一次全备份,也就是将文件服务器A中的数据全部备份到文件服务器B。
首次全备份的具体实现方式,如图6所示,在T1时刻,文件服务器A对文件***A进行第一次快照操作,获得快照S1,S1的元数据记录文件服务器A截止到T1时刻为文件***A分配的数据块的最大起始逻辑地址aS,7;其中aS,7表示文件服务器A(源文件服务器)为文件***A分配的数据块的起始逻辑地址,具体为文件服务器A为文件***A分配的第7个数据块的起始逻辑地址(本发明实施例中,文件服务器
A为文件***A分配的首个数据块为第0个数据块)。因为S1为文件服务器A对文件***A进行的首次快照,文件服务器A将起始逻辑地址从aS,0到aS,7的数据块中的数据发送到文件服务器B。文件服务器B接收文件服务器A发送的数据,为数据分配如图6所示的数据块。文件服务器B为接收的数据分配的数据块的起始逻辑地址范围为aB,0至aB,7,其中,起始逻辑地址为aB,x的数据块用于存储起始逻辑地址为aS,x的数据块中的数据,例如,起始逻辑地址为aB,0的数据块用于存储起始逻辑地址为aS,0的数据块中的数据,同理,起始逻辑地址为aB,1的数据块用于存储起始逻辑地址为aS,1的数据块中的数据,其中x为0到7的整数。aB,x表示文件服务器B(备份文件服务器)为文件***B分配的第x个数据块的起始逻辑地址。在文件服务器A中的S1的元数据记录截止到T1时刻,文件服务器A为文件***A分配的数据块的最大起始逻辑地址aS,7。文件服务器B存储S1,在文件服务器B中的S1的元数据记录的数据块的最大起始逻辑地址为aB,7。文件服务器B存储S1表示文件服务器B存储T1时刻文件服务器A中的数据,实际应用中,文件服务器B可将T1时刻文件服务器A中的数据存储到本地存储设备或者外部存储设备中。
如图7所示,在T2时刻,文件服务器A对文件***A进行第二次快照操作,获得快照S2,同时S2的元数据记录截止到T2时刻文件服务器A为文件***A分配的数据块的最大起始逻辑地址aS,11=11。则文件服务器A根据S2的元数据记录的aS,11和S1的元数据记录的aS,7,确定在T1时刻后至T2时刻,文件服务器A为文件***A分配的数据块的起始逻辑地址分别为aS,8、aS,9,aS,10和aS,11,即文件服务器A为文件***A分配的数据块分别为数据块8、数据块9、数据块10和数据块11。文件服务器A将数据块8、数据块9、数据块10和数据块11中的数据发送给文件服务
器B。文件服务器B接收文件服务器A发送的数据,为数据分配如图7所示的数据块。文件服务器B为接收的数据分配的数据块的起始逻辑地址范围为aB,8至aB,11,其中,起始逻辑地址为aB,x的数据块用于存储起始逻辑地址为aS,x的数据块中的数据,其中x为8到11的整数。例如,起始逻辑地址为aB,8的数据块用于存储起始逻辑地址为aS,8的数据块中的数据,同理,起始逻辑地址为aB,9的数据块用于存储起始逻辑地址为aS,9的数据块中的数据。在文件服务器A中的S2的元数据记录截止到T2时刻,文件服务器A为文件***A分配的数据块的最大起始逻辑地址aS,11,在文件服务器B存储的S2的元数据记录数据块的最大起始逻辑地址为aB,11。
如图11所示,S1和S2分别记录了文件服务器A的中文件***A的状态,并且S1的元数据记录截止到T1时刻文件服务器A为文件***A分配的数据块的最大起始逻辑地址aS,7;S2的元数据记录截止到T2时刻文件服务器A为文件***A分配的数据块的最大起始逻辑地址aS,11=11。如图11所示,通常称文件服务器A和文件服务器B的文件***在S1点(即T1时刻)保持状态一致,在S2点(即T2时刻)保持状态一致。
本发明实施例中通过快照实现文件***的数据备份,还可以根据图8所述的实施例方式,确定在T1时刻后至T2时刻,文件服务器A为文件***A分配的数据块,并且根据为文件***A的数据块中的数据的状态,确定已经分配的数据块中的数据是否为有效数据。如图8所示,当起始逻辑地址为aS,8数据块中的数据的状态为删除时,只需要将起始逻辑地址分别为aS,9,aS,10和aS,11的数据块9、10和11中的数据备份到文件服务器B,并且将在T1时刻后至T2时刻,文件***A的数据块中的数据的状态备份到文件服务器B。将在T1时刻后至T2时刻,文件系
统A的数据块中的数据的状态备份到文件服务器B,具体实现方式为通过将数据块中有效的数据备份到文件服务器B实现,因为用于标识数据块中的数据的状态的数据也存储在数据块中,因此,将数据块中的有效数据备份到文件服务器B的过程也实现了数据块中的数据状态的备份。文件服务器B为文件***B分配起始逻辑地址为aB,8、aB,9、aB,10和aB,11的数据块。起始逻辑地址为aB,x的数据块用于存储起始逻辑地址为aA,x的数据块中的数据,其中x为9到11的整数,文件服务器B的文件***B记录起始逻辑地址为aB,0至aB,11的数据块中存储的数据的状态。文件服务器A在将T1时刻后至T2时刻为文件***A分配的数据块中的数据备份到文件服务器B之前,通过数据块中的数据的状态确定需要发送到文件服务器B的数据,减少了备份数据量,节省了数据传输带宽。
基于上述实施方式,结合图9、图10和图11,本发明实施例提供了一种数据备份方法,如图12a所示,包括:
1201:在Tn时刻的文件***A的快照Sn的元数据中记录文件服务器A为文件***A截止到Tn时刻分配的数据块的最大起始逻辑地址aS,M;
1202:在Tn+1时刻的文件***A的快照Sn+1的元数据中记录文件服务器A为文件***A截止到Tn+1时刻分配的数据块的最大起始逻辑地址aS,Z;其中,Sn和Sn+1表示相邻的两个快照,Tn<Tn+1,n为非负的整数,aS,M≤aS,Z;M和Z为非负的整数,并且M≤Z;
1203:根据aS,Z和aS,M,确定文件服务器A在Tn时刻后至Tn+1时刻,为文件***A分配的P个数据块的起始逻辑地址aS,r;其中aS,r=aS,M+(r-M)*A;其中,每个数据块占用的逻辑地址空间大小相等,A为数
据块占用的逻辑地址空间大小,r为整数,M<r≤Z,P=Z-M;
1204a:备份起始逻辑地址为aS,r的P个数据块中的数据至文件服务器B;
1205a:文件服务器B接收起始逻辑地址为aS,r的P个数据块中的数据,并且分配起始逻辑地址为aB,r的P个数据块,其中aB,r=aB,M+(r-M)*A;
1206a:文件服务器B将起始逻辑地址为aS,r的数据块中的数据存储到起始逻辑地址为aB,r的数据块中。
其中,aS,M表示文件服务器A(源文件服务器)为文件***A分配的第M个数据块的起始逻辑地址;aB,M表示文件服务器B(备份文件服务器)为文件***B分配的第M个数据块的起始逻辑地址。
如图13a所示,文件服务器A将截止到Tn+1为文件***A分配的数据块中的数据备份到文件服务器B后,文件服务器A和文件服务器B的文件***的状态在Sn和Sn+1分别保持一致。其中,文件服务器B的Sn的元数据记录aB,M,Sn+1的元数据记录aB,Z。
基于图12a所示的数据备份方法,应用于备份***,所述备份***包括基于写重定向的源存储服务器和写重定向的备份存储服务器;其中,所述源存储服务器在Tn时刻为第一对象创建的快照为Sn,并且Sn的元数据中记录的所述源存储服务器截止到Tn时刻为所述第一对象分配的数据块的最大起始逻辑地址为aS,M;所述备份存储服务器存储有快照Sn,所述备份存储服务器存储的Sn的元数据记录的数据块的最大起始逻辑地址为aB,M;其中,aB,M为所述备份存储服务器为存储Sn的数据分配的数据块的最大起始逻辑地址;所述第一对象为文件***或者逻辑单元(Logical Unit);并且aS,M=aB,M;其中,n为非负的整
数;
所述方法包括:
所述备份存储服务器接收所述源存储服务器发送的起始逻辑地址为aS,r的P个数据块中的数据;其中,起始逻辑地址为aS,r的数据块是Tn时刻后至Tn+1时刻所述源存储服务器为所述第一对象分配的数据块;所述第一对象的快照Sn+1的元数据中记录的所述源存储服务器截止到Tn+1时刻为所述第一对象分配的数据块的最大起始逻辑地址为aS,Z;aS,r=aS,M+(r-M)*A;其中,每个数据块占用的逻辑地址空间大小相等,A为数据块占用的逻辑地址空间大小;Tn<Tn+1,Sn和Sn+1表示相邻的两个快照,r为整数,M<r≤Z,P=(Z-M);Z为非负的整数;
所述备份存储服务器为起始逻辑地址为aS,r的数据块中的数据分配起始逻辑地址为aB,r的数据块;其中aB,r=aB,M+(r-M)*A;
所述备份存储服务器将起始逻辑地址为aS,r的数据块中的数据存储到起始逻辑地址为aB,r的数据块中。
aS,M表示源存储服务器为第一对象分配的第M个数据块的起始逻辑地址,aB,M表示备份存储服务器为第一对象分配的第M个数据块的起始逻辑地址。当第一对象为文件***时,源存储服务器和备份存储服务器为文件服务器,当第一对象为逻辑单元时,源存储服务器和备份存储服务器为存储控制器,或称为阵列控制器。逻辑单元通常也称为逻辑单元号(Logical Unit Number,LUN)。
或者另一种实现方式,如图12b所示。图12b中步骤1201至1203中与图12a中的步骤相同,还包括:
1205b:备份起始逻辑地址为aS,vr的数据块中的数据及起始逻辑地址为aS,r的P个数据块中的数据的状态至文件服务器B;
1206b:文件服务器B接收起始逻辑地址为aS,vr的数据块中的数据及起始逻辑地址为aS,r的P个数据块中的数据的状态;
1207b:文件服务器B为起始逻辑地址为aS,r的数据块中的数据分配起始逻辑地址为aB,r的数据块;其中aB,r=aB,M+(r-M)*A;
1208b:文件服务器B将起始逻辑地址为aS,vr的数据块中的数据存储到起始逻辑地址为aB,vr的数据块中。
如图13b所示,当起始逻辑地址为aS,M+2的数据块中的数据在T2时刻之前被删除,因此该数据块中的数据状态为删除。aS,r中包括aS,M+2,但aS,vr中不包含aS,M+2。因此,不向文件服务器B发送起始逻辑地址aS,M+2的数据块中的数据。文件服务器B为文件***B分配起始逻辑地址为aB,M+2的数据块,但其中的数据为空。
基于图12b所示的数据备份方法,应用于备份***,所述备份***包括基于写重定向的源存储服务器和写重定向的备份存储服务器;其中,所述源存储服务器在Tn时刻为第一对象创建的快照为Sn,并且Sn的元数据中记录的所述源存储服务器截止到Tn时刻为所述第一对象分配的数据块的最大起始逻辑地址为aS,M;所述备份存储服务器存储有快照Sn,所述备份存储服务器存储的Sn的元数据记录的数据块的最大起始逻辑地址为aB,M;其中,aB,M为所述备份存储服务器为存储Sn的数据分配的数据块的最大起始逻辑地址;所述第一对象为文件***或者逻辑单元;并且aS,M=aB,M;其中,n为非负的整数;
所述方法包括:
所述备份存储服务器接收所述源存储服务器发送的起始逻辑地址为aS,vr的数据块中的数据及起始逻辑地址为aS,r的P个数据块中的数据的状态;其中,起始逻辑地址为aS,r的数据块是Tn时刻后至Tn+1时刻所述源存储服务器为所述第一对象分配的数据块;起始逻辑地址为aS,vr的数据块为所述源存储服务器从起始逻辑地址为aS,r的数据块中确定的存储有效数据的数据块的起始逻辑地址;Tn+1时刻所述第一对象的快照Sn+1的元数据中记录所述源存储服务器为所述第一对象分配的数据块的最大起始逻辑地址为aS,Z;aS,r=aS,M+(r-M)*A;其中,每个数据块占用的逻辑地址空间大小相等,A为数据块占用的逻辑地址空间大小;Tn<Tn+1,Sn和Sn+1表示相邻的两个快照,r为整数,M<r≤Z,P=(Z-M);Z为非负的整数;
所述备份存储服务器为起始逻辑地址为aS,r的数据块中的数据分配起始逻辑地址为aB,r的数据块;其中aB,r=aB,M+(r-M)*A;
所述备份存储服务器将起始逻辑地址为aS,vr的数据块中的数据存储到起始逻辑地址为aB,vr的数据块中。
上述各实施例也可适用存储服务器异步备份场景,本发明实施例在此不再赘述。
以图13a为例,当文件服务器A发生故障,造成文件服务器A数据丢失,如图14a所示,只有Sn的数据,即文件服务器A只有Tn时刻的数据。利用快照进行数据恢复,可知,文件服务器A能够恢复到Sn+1的状态,如图15a所示,具体包括:
1501a:文件服务器A发送数据恢复请求;数据恢复请求中携带文件服务器A在Tn时刻为文件***A存创建的Tn时刻的快照Sn的标识以
及在Tn+1时刻为文件***A创建的快照Sn+1的标识;其中,Sn表示文件服务器A当前可用的最新时刻的快照;Sn+1表示文件服务器A欲恢复到Tn+1时刻的快照;其中,截止到Tn时刻文件服务器A为文件***A分配的数据块的最大起始逻辑地址为aS,M;截止到Tn+1时刻文件服务器A为文件***A分配的数据块的最大起始逻辑地址为aS,Z;
1502a:文件服务器B根据快照Sn的标识确定文件服务器B存储的快照Sn的元数据记录的数据块的最大起始逻辑地址aB,M;以及根据快照Sn+1的标识,确定的文件服务器B存储的快照Sn+1的元数据记录的数据块的最大起始逻辑地址aB,Z;
1503a:文件服务器B根据aB,M和aB,Z确定起始逻辑地址为aB,r的数据块中的数据为需要恢复的数据;M<r≤Z;并且aB,r=aB,M+(r-M)*A;其中,每个数据块占用的逻辑地址空间大小相等,A为数据块占用的逻辑地址空间大小;
1504a:文件服务器B将起始逻辑地址为aB,r的数据块中的数据发送给文件服务器A。
本发明实施例提供的数据恢复方法,只需要根据快照的元数据记录的该快照时刻数据块的最大起始逻辑地址,即可确定需要进行数据恢复的数据块的范围,方案实现简单。
基于图15a所示的数据恢复方法,所述方法应用于备份***,所述备份***包括基于写重定向的源存储服务器和写重定向的备份存储服务器;其中,所述源存储服务器在Tn时刻为第一对象创建的快照为Sn,并且Sn的元数据中记录的所述源存储服务器截止到Tn时刻为所述第一对象分配的数据块的最大起始逻辑地址为aS,Dx;所述备份存储服务器存储有快照Sn,所述备份存储服务器存储的Sn的元数据记录的
数据块的最大起始逻辑地址为aB,Dx;其中,aB,Dx为所述备份存储服务器为存储Sn的数据分配的数据块的最大起始逻辑地址;所述第一对象为文件***或者逻辑单元;并且aS,Dx=aB,Dx;其中,n和x为整数,并且n≤W,Dx为非负的整数,Dx≤M;W和M为整数;所述方法包括:
所述备份存储服务器接收所述源存储服务器发送的数据恢复请求;所述数据恢复请求携带所述源存储服务器在TF时刻为所述第一对象创建的快照SF的标识以及在TP时刻为所述第一对象创建的快照SP的标识;其中,SF表示所述源存储服务器当前可用的最新时刻所述第一对象的快照;SP表示所述源存储服务器欲恢复到TP时刻所述第一对象的快照;其中,TF<TP,P≤W;
所述备份存储服务器根据快照SF的标识确定所述备份服务器存储的所述第一对象的快照SF的元数据记录的数据块的最大起始逻辑地址aB,DE;以及根据快照SP的标识,确定所述备份服务器存储的所述第一对象的快照SF的元数据记录的数据块的最大起始逻辑地址aB,DH;
所述备份存储服务器根据aB,DE和aB,DH确定起始逻辑地址为aB,Dr的数据块中的数据为需要恢复的数据;DE<Dr≤DH;DE<DH≤M;并且aB,Dr=aB,DE+(Dr-DE)*A;其中,每个数据块占用的逻辑地址空间大小相等,A为数据块占用的逻辑地址空间大小;
所述备份存储服务器将起始逻辑地址为aB,Dr的数据块中的数据发送给所述源存储服务器。
以图13a为例,当文件服务器A发生故障,造成文件服务器A中数据丢失,如图14b所示,只有Sn的完整数据和快照Sn+1的部分数据,存储快照Sn+1的部分数据的数据块的起始逻辑地址分别为aS,M+1和aS,M+2。
文件服务器A利用快照进行数据恢复能够恢复到Sn+1的状态,如图15b所示,具体包括:
1501b:文件服务器A发送数据恢复请求;数据恢复请求中携带文件服务器A在Tn时刻为文件***A存创建的Tn时刻的快照Sn的标识以及在Tn+1时刻为文件***A创建的快照Sn+1的标识;其中,Sn表示文件服务器A当前可用的最新时刻的快照;Sn+1表示文件服务器A欲恢复到Tn+1时刻的快照;其中,截止到Tn时刻文件服务器A为文件***A分配的数据块的最大起始逻辑地址为aS,M;截止到Tn+1时刻文件服务器A为文件***A分配的数据块的最大起始逻辑地址为aS,Z;
1502b:文件服务器B根据快照Sn的标识确定文件服务器B存储的快照Sn的元数据记录的数据块的最大起始逻辑地址aB,M;以及根据快照Sn+1的标识,确定的文件服务器B存储的快照Sn+1的元数据记录的数据块的最大起始逻辑地址aB,Z;
1503b:文件服务器B根据aB,M和aB,Z确定起始逻辑地址为aB,r的数据块;M<r≤Z;并且aB,r=aB,M+(r-M)*A;其中,每个数据块占用的逻辑地址空间大小相等,A为数据块占用的逻辑地址空间大小;
1504b:文件服务器B根据数据块的起始逻辑地址aB,r获取文件服务器A中起始逻辑地址为aA,r的数据块中的数据的状态;
1506b:文件服务器B将起始逻辑地址为aB,vr的数据块中的数据发送给文件服务器A。
其中,一种实现方式,步骤1504b具体包括:
文件服务器B向文件服务器A发送起始逻辑地址为aB,r的数据块中的数据的状态;
文件服务器B接收文件服务器A起始逻辑地址为aS,r的数据块中的数据的状态;其中,所述起始逻辑地址为aS,r的数据块中的数据的状态包含需要恢复的数据块的起始逻辑地址aS,vr信息;
则文件服务器B根据起始逻辑地址为aS,r的数据块中的数据的状态确定起始逻辑地址为aB,r的数据块中需要恢复的数据块的起始逻辑地址aB,vr包括:
文件服务器B根据起始逻辑地址aS,vr信息确定需要恢复的数据块的起始逻辑地址aB,vr。
本发明实施例中,文件服务器A发送起始逻辑地址为aS,r的数据块中的数据的状态,其中,起始逻辑地址分别为aS,M+1和aS,M+2的数据块中的数据在文件服务器A故障时并没有丢失,起始逻辑地址分别为aS,M+1和aS,M+2的数据块中的数据为有效数据,因此,不需要对起始逻辑地址分别为aS,M+1和aS,M+2的数据块中的数据进行恢复。文件服务器B只需要恢复起始逻辑地址为大于aS,M+2且不小于aB,Z的数据块中的数据。
根据文件服务器A起始逻辑地址为aS,r的数据块中的数据的状态确定需要恢复起始逻辑地址为aB,vr的数据块中的数据,从而减少了需要恢复的数据量,减少了数据传输带宽。
基于图15b所示的数据恢复方式,应用于备份***,所述备份***包括基于写重定向的源存储服务器和写重定向的备份存储服务器;其中,所述源存储服务器在Tn时刻为第一对象创建的快照为Sn,并且Sn的元数据中记录的所述源存储服务器截止到Tn时刻为所述第一对
象分配的数据块的最大起始逻辑地址为aS,Dx;所述备份存储服务器存储有快照Sn,所述备份存储服务器存储的Sn的元数据记录的数据块的最大起始逻辑地址为aB,Dx;其中,aB,Dx为所述备份存储服务器为存储Sn的数据分配的数据块的最大起始逻辑地址;所述第一对象为文件***或者逻辑单元;并且aS,Dx=aB,Dx;其中,n和x为整数,并且n≤W,Dx为非负的整数,Dx≤M;W和M为整数;所述方法包括:
所述备份存储服务器接收所述源存储服务器发送的数据恢复请求;所述数据恢复请求携带所述源存储服务器在TF时刻为所述第一对象创建的快照SF的标识以及在TP时刻为所述第一对象创建的快照SP的标识;其中,SF表示所述源存储服务器当前可用的最新时刻所述第一对象的快照;SP表示所述源存储服务器欲恢复到TP时刻所述第一对象的快照;其中,TF<TP,P≤W;
所述备份存储服务器根据快照SF的标识确定所述备份服务器存储的所述第一对象的快照SF的元数据记录的数据块的最大起始逻辑地址aB,DE;以及根据快照SP的标识,确定所述备份服务器存储的所述第一对象的快照SF的元数据记录的数据块的最大起始逻辑地址aB,DH;
所述备份存储服务器根据aB,DE和aB,DH确定起始逻辑地址为aB,Dr的数据块,DE<Dr≤DH,DE<DH≤M;并且aB,Dr=aB,DE+(Dr-DE)*A;其中,每个数据块占用的逻辑地址空间大小相等,A为数据块占用的逻辑地址空间大小;
所述备份存储服务器根据数据块的起始逻辑地址aB,Dr获取所述源存储服务器中起始逻辑地址为aA,Dr的数据块中的数据的状态;
所述备份存储服务器将起始逻辑地址为aB,vDr的数据块中的数据发送给所述源存储服务器。
进一步地,所述备份存储服务器根据数据块的起始逻辑地址aB,Dr获取所述源存储服务器中起始逻辑地址为aA,Dr的数据块中的数据的状态,具体包括:
所述备份存储服务器向所述源存储服务器发送起始逻辑地址为aB,Dr的数据块中的数据的状态;
所述备份存储服务器接收所述源存储服务器起始逻辑地址为aA,Dr的数据块中的数据的状态;其中,所述起始逻辑地址为aA,Dr的数据块中的数据的状态包含需要恢复的数据块的起始逻辑地址aA,vDr信息;
则所述备份存储服务器根据起始逻辑地址为aA,Dr的数据块中的数据的状态确定起始逻辑地址为aB,Dr的数据块中需要恢复的数据块的起始逻辑地址aB,vDr包括:
所述备份存储服务器根据起始逻辑地址aA,vDr信息确定需要恢复的数据块的起始逻辑地址aB,vDr。
aB,Dx为所述备份存储服务器为存储Sn的数据分配的数据块的最大起始逻辑地址的含义为备份存储服务器在备份Sn的数据时,备份存储服务器为备份服务器管理的第一对象分配的数据块的最大起始逻辑地址aB,Dx。备份服务器管理的第一对象,在第一对象为文件***时,备份服务器为文件服务器时,第一对象为备份文件服务器运行的文件***。
在块存储设备中,也需要对逻辑单元进行增量数据备份。其中,
逻辑单元。在对逻辑单元通过快照进行增量数据备份,同样需要先确定增加的数据。块存储设备中的逻辑单元在存储数据时,与文件***中的机制类似,存储控制器也需要按照数据写入顺序为逻辑单元分配数据块。数据块的起始逻辑地址按照数据块的分配顺序线性递增。因此,本发明实施例描述的技术方案同样也可以应用到基于写重定向的块存储设备中,在此不再赘述。具体地,只是实现主体和操作对象不同。在块存储设备中,快照操作的对象为逻辑单元,而实现快照操作的主体通常为存储控制器。存储控制器的结构通常也包含处理器和存储器,处理器与存储器通过总线通信,存储器中存储计算机可执行指令。
在本发明各实施例中,文件服务器和存储控制器都称为存储服务器。
另外,快照的元数据作为数据的一种,同样存储在数据块中,在将数据块中的数据备份到备份存储服务器时,快照的元数据也备份到备份存储服务器。因此,在将Tn时刻快照Sn的数据从源存储服务器备份到备份存储服务器,包括将第一对象的数据和快照Sn的元数据备份到备份存储服务器。将Tn时刻快照Sn的数据备份到备份存储服务器后,也称为备份存储服务器存储的快照Sn的数据。
基于上述实施例,如图16所示,本发明实施例提供了一种基于写重定向的存储服务器16,包括记录单元1601和确定单元1602,
记录单元1601,用于在Tn时刻第一对象的快照Sn的元数据中记录存储服务器截止到Tn时刻为所述第一对象分配的数据块的最大起始逻辑地址aM;所述第一对象为文件***或者逻辑单元;在Tn+1时刻所述第一对象的快照Sn+1的元数据中记录所述存储服务器截止到Tn+1时刻为所述第一对象分配的数据块的最大起始逻辑地址aZ;其中,Sn和
Sn+1表示相邻的两个快照,Tn<Tn+1,n为非负的整数,aM≤aZ;M和Z为非负的整数,并且M≤Z;
确定单元1602,用于根据aZ和aM,确定所述存储服务器在Tn时刻后至Tn+1时刻为所述第一对象分配的P个数据块的每个起始逻辑地址ar;其中,ar=aM+(r-M)*A,每个数据块占用的逻辑地址空间大小相等,A为数据块占用的逻辑地址空间大小,r为整数,M<r≤Z,P=Z-M。
进一步地,确定单元1602还用于从起始逻辑地址为ar的P个数据块中确定存储有效数据的数据块的起始逻辑地址avr;其中,进一步地,基于写重定向的存储服务器16还包括备份单元,备份单元用于备份起始逻辑地址为avr的数据块中的数据及起始逻辑地址为ar的数据块中的数据的状态至备份存储服务器。
进一步地,基于写重定向的存储服务器16还包括备份单元,
备份单元用于备份起始逻辑地址为ar的P个数据块中的数据至备份存储服务器。
基于上述实施例,如图17所示,本发明实施例提供了一种基于写重定向的备份存储服务器17,备份存储服务器17应用于备份***,所述备份***包括基于写重定向的源存储服务器和备份存储服务器17;其中,所述源存储服务器在Tn时刻为第一对象创建的快照为Sn,并且Sn的元数据中记录的所述源存储服务器截止到Tn时刻为所述第一对象分配的数据块的最大起始逻辑地址为aS,M;备份存储服务器17存储有快照Sn,备份存储服务器17存储的Sn的元数据记录的数据块的最大起始逻辑地址为aB,M;其中,aB,M为备份存储服务器17为存储Sn的数据分配的数据块的最大起始逻辑地址;所述第一对象为文件***或者逻辑单元;并且aS,M=aB,M;其中,n为非负的整数;
备份存储服务器17包括接收单元1701、分配单元1702和写入单元1703。其中,
接收单元1701用于接收所述源存储服务器发送的起始逻辑地址为aS,r的P个数据块中的数据;其中,起始逻辑地址为aS,r的数据块是Tn时刻后至Tn+1时刻所述源存储服务器为所述第一对象分配的数据块;所述第一对象的快照Sn+1的元数据中记录的所述源存储服务器截止到Tn+1时刻为所述第一对象分配的数据块的最大起始逻辑地址为aS,Z;aS,r=aS,M+(r-M)*A;其中,每个数据块占用的逻辑地址空间大小相等,A为数据块占用的逻辑地址空间大小;Tn<Tn+1,Sn和Sn+1表示相邻的两个快照,r为整数,M<r≤Z,P=(Z-M);Z为非负的整数;
分配单元1702用于为起始逻辑地址为aS,r的数据块中的数据分配起始逻辑地址为aB,r的数据块;其中aB,r=aB,M+(r-M)*A;
写入单元1703用于将起始逻辑地址为aS,r的数据块中的数据存储到起始逻辑地址为aB,r的数据块中。
在备份存储服务器17的另一种实施方式中,接收单元1701用于接收所述源存储服务器发送的起始逻辑地址为aS,vr的数据块中的数据及起始逻辑地址为aS,r的P个数据块中的数据的状态;其中,起始逻辑地址为aS,r的数据块是Tn时刻后至Tn+1时刻所述源存储服务器为所述第一对象分配的数据块;起始逻辑地址为aS,vr的数据块为所述源存储服务器从起始逻辑地址为aS,r的数据块中确定的存储有效数据的数据块的起始逻辑地址;Tn+1时刻所述第一对象的快照Sn+1的元数据中记录所述源存储服务器为所述第一对象分配的数据块的最大起始逻辑地址为aS,Z;aS,r=aS,M+(r-M)*A;其中,每个数据块占用的逻辑地址空间大小相等,A为数据块占用的逻辑地址空间大小;Tn<Tn+1,
Sn和Sn+1表示相邻的两个快照,r为整数,M<r≤Z,P=(Z-M);Z为非负的整数;
分配单元1702用于为起始逻辑地址为aS,r的数据块中的数据分配起始逻辑地址为aB,r的数据块;其中aB,r=aB,M+(r-M)*A;
写入单元1703用于将起始逻辑地址为aS,vr的数据块中的数据存储到起始逻辑地址为aB,vr的数据块中。
基于上述实施例描述,如图18所示,本发明实施例提供了一种基于写重定向的备份存储服务器18,备份存储服务器18应用于备份***,所述备份***包括基于写重定向的源存储服务器和备份存储服务器18;其中,所述源存储服务器在Tn时刻为第一对象创建的快照为Sn,并且Sn的元数据中记录的所述源存储服务器截止到Tn时刻为所述第一对象分配的数据块的最大起始逻辑地址为aS,Dx;备份存储服务器18存储有快照Sn,备份存储服务器18存储的Sn的元数据记录的数据块的最大起始逻辑地址为aB,Dx;其中,aB,Dx为备份存储服务器18为存储Sn的数据分配的数据块的最大起始逻辑地址;所述第一对象为文件***或者逻辑单元;并且aS,Dx=aB,Dx;其中,n和x为整数,并且n≤W,Dx为非负的整数,Dx≤M;W和M为整数;备份存储服务器18包括接收单元1801、确定单元1802和发送单元1803。其中,
接收单元1801用于接收所述源存储服务器发送的数据恢复请求;所述数据恢复请求携带所述源存储服务器在TF时刻为所述第一对象创建的快照SF的标识以及在TP时刻为所述第一对象创建的快照SP的标识;其中,SF表示所述源存储服务器当前可用的最新时刻所述第一对象的快照;SP表示所述源存储服务器欲恢复到TP时刻所述第一对象的快照;其中,TF<TP,P≤W;
确定单元1802用于根据快照SF的标识确定所述备份服务器存储的所述第一对象的快照SF的元数据记录的数据块的最大起始逻辑地址aB,DE;以及根据快照SP的标识,确定所述备份服务器存储的所述第一对象的快照SF的元数据记录的数据块的最大起始逻辑地址aB,DH;根据aB,DE和aB,DH确定起始逻辑地址为aB,Dr的数据块中的数据为需要恢复的数据;DE<Dr≤DH;DE<DH≤M;并且aB,Dr=aB,DE+(Dr-DE)*A;其中,每个数据块占用的逻辑地址空间大小相等,A为数据块占用的逻辑地址空间大小;
发送单元1803用于将起始逻辑地址为aB,Dr的数据块中的数据发送给所述源存储服务器。
基于上述实施例描述,如图19所示,本发明实施例提供了一种基于写重定向的备份存储服务器19,备份存储服务器19应用于备份***,所述备份***包括基于写重定向的源存储服务器和备份存储服务器19;其中,所述源存储服务器在Tn时刻为第一对象创建的快照为Sn,并且Sn的元数据中记录的所述源存储服务器截止到Tn时刻为所述第一对象分配的数据块的最大起始逻辑地址为aS,Dx;备份存储服务器19存储有快照Sn,备份存储服务器19存储的Sn的元数据记录的数据块的最大起始逻辑地址为aB,Dx;其中,aB,Dx为备份存储服务器19为存储Sn的数据分配的数据块的最大起始逻辑地址;所述第一对象为文件***或者逻辑单元;并且aS,Dx=aB,Dx;其中,n和x为整数,并且n≤W,Dx为非负的整数,Dx≤M;W和M为整数;备份存储服务器19包括接收单元1901、确定单元1902、获取单元1903和发送单元1904。其中,接收单元1901用于接收所述源存储服务器发送的数据恢复请求;所述数据恢复请求携带所述源存储服务器在TF时刻为所述第一对象创建的快
照SF的标识以及在TP时刻为所述第一对象创建的快照SP的标识;其中,SF表示所述源存储服务器当前可用的最新时刻所述第一对象的快照;SP表示所述源存储服务器欲恢复到TP时刻所述第一对象的快照;其中,TF<TP,P≤W;
确定单元1902用于根据快照SF的标识确定所述备份服务器存储的所述第一对象的快照SF的元数据记录的数据块的最大起始逻辑地址aB,DE;以及根据快照SP的标识,确定所述备份服务器存储的所述第一对象的快照SF的元数据记录的数据块的最大起始逻辑地址aB,DH;根据aB,DE和aB,DH确定起始逻辑地址为aB,Dr的数据块,DE<Dr≤DH,DE<DH≤M;并且aB,Dr=aB,DE+(Dr-DE)*A;其中,每个数据块占用的逻辑地址空间大小相等,A为数据块占用的逻辑地址空间大小;
获取单元1903用于根据数据块的起始逻辑地址aB,Dr获取所述源存储服务器中起始逻辑地址为aA,Dr的数据块中的数据的状态;
发送单元1904用于将起始逻辑地址为aB,vDr的数据块中的数据发送给所述源存储服务器。
进一步地,获取单元1903具体用于:
向所述源存储服务器发送起始逻辑地址为aB,Dr的数据块中的数据的状态;
接收所述源存储服务器起始逻辑地址为aA,Dr的数据块中的数据的状态;其中,所述起始逻辑地址为aA,Dr的数据块中的数据的状态包含需要恢复的数据块的起始逻辑地址aA,vDr信息;
则确定单元1902根据起始逻辑地址为aA,Dr的数据块中的数据的状态确定起始逻辑地址为aB,Dr的数据块中需要恢复的数据块的起始逻辑地址aB,vDr包括:
根据起始逻辑地址aA,vDr信息确定需要恢复的数据块的起始逻辑地址aB,vDr。
在本申请所提供的几个实施例中,应该理解到,所公开的***、方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取非易失性存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式
体现出来,该计算机软件产品存储在一个非易失性存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的非易失性存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
Claims (34)
- 一种基于写重定向的存储服务器确定增量数据的方法,其特征在于,包括:在Tn时刻第一对象的快照Sn的元数据中记录存储服务器截止到Tn时刻为所述第一对象分配的数据块的最大起始逻辑地址aM;所述第一对象为文件***或者逻辑单元;在Tn+1时刻所述第一对象的快照Sn+1的元数据中记录所述存储服务器截止到Tn+1时刻为所述第一对象分配的数据块的最大起始逻辑地址aZ;其中,Sn和Sn+1表示相邻的两个快照,Tn<Tn+1,n为非负的整数,aM≤aZ;M和Z为非负的整数,并且M≤Z;根据aZ和aM,确定所述存储服务器在Tn时刻后至Tn+1时刻为所述第一对象分配的P个数据块的每个起始逻辑地址ar;其中,ar=aM+(r-M)*A,每个数据块占用的逻辑地址空间大小相等,A为数据块占用的逻辑地址空间大小,r为整数,M<r≤Z,P=Z-M。
- 根据权利要求1所述的方法,其特征在于,还包括:备份起始逻辑地址为ar的P个数据块中的数据至备份存储服务器。
- 根据权利要求2所述的方法,其特征在于,还包括:备份起始逻辑地址为avr的数据块中的数据及起始逻辑地址为ar的数据块中的数据的状态至备份存储服务器。
- 一种基于写重定向的存储服务器,其特征在于,包括:记录单元,用于在Tn时刻第一对象的快照Sn的元数据中记录存储 服务器截止到Tn时刻为所述第一对象分配的数据块的最大起始逻辑地址aM;所述第一对象为文件***或者逻辑单元;在Tn+1时刻所述第一对象的快照Sn+1的元数据中记录所述存储服务器截止到Tn+1时刻为所述第一对象分配的数据块的最大起始逻辑地址aZ;其中,Sn和Sn+1表示相邻的两个快照,Tn<Tn+1,n为非负的整数,aM≤aZ;M和Z为非负的整数,并且M≤Z;确定单元,用于根据aZ和aM,确定所述存储服务器在Tn时刻后至Tn+1时刻为所述第一对象分配的P个数据块的每个起始逻辑地址ar;其中,ar=aM+(r-M)*A,每个数据块占用的逻辑地址空间大小相等,A为数据块占用的逻辑地址空间大小,r为整数,M<r≤Z,P=Z-M。
- 根据权利要求5所述的存储服务器,其特征在于,还包括备份单元;所述备份单元用于备份起始逻辑地址为ar的P个数据块中的数据至备份存储服务器。
- 根据权利要求6所述的存储服务器,其特征在于,还包括备份单元;所述备份单元用于备份起始逻辑地址为avr的数据块中的数据及起始逻辑地址为ar的数据块中的数据的状态至备份存储服务器。
- 一种基于写重定向的存储服务器,所述存储服务器包括处理器和存储器,其特征在于,所述处理器执行所述存储器中的可执行指令以执行:在Tn时刻第一对象的快照Sn的元数据中记录存储服务器截止到Tn时刻为所述第一对象分配的数据块的最大起始逻辑地址aM;所述第一对象为文件***或者逻辑单元;在Tn+1时刻所述第一对象的快照Sn+1的元数据中记录所述存储服务器截止到Tn+1时刻为所述第一对象分配的数据块的最大起始逻辑地址aZ;其中,Sn和Sn+1表示相邻的两个快照,Tn<Tn+1,n为非负的整数,aM≤aZ;M和Z为非负的整数,并且M≤Z;根据aZ和aM,确定所述存储服务器在Tn时刻后至Tn+1时刻为所述第一对象分配的P个数据块的每个起始逻辑地址ar;其中,ar=aM+(r-M)*A,每个数据块占用的逻辑地址空间大小相等,A为数据块占用的逻辑地址空间大小,r为整数,M<r≤Z,P=Z-M。
- 根据权利要求9所述的存储服务器,其特征在于,所述处理器执行所述存储器中的可执行指令还执行:备份起始逻辑地址为ar的P个数据块中的数据至备份存储服务器。
- 根据权利要求10所述的存储服务器,其特征在于,所述处理器执行所述存储器中的可执行指令还执行:备份起始逻辑地址为avr的数据块中的数据及起始逻辑地址为ar的数据块中的数据的状态至备份存储服务器。
- 一种包含计算机可执行指令的非易失性计算机可读存储介质,其特征在于,当存储服务器的处理器指令所述计算机可执行指令时,用于执行以下步骤:在Tn时刻第一对象的快照Sn的元数据中记录存储服务器截止到Tn时刻为所述第一对象分配的数据块的最大起始逻辑地址aM;所述第一对象为文件***或者逻辑单元;在Tn+1时刻所述第一对象的快照Sn+1的元数据中记录所述存储服务器截止到Tn+1时刻为所述第一对象分配的数据块的最大起始逻辑地址aZ;其中,Sn和Sn+1表示相邻的两个快照,Tn<Tn+1,n为非负的整数,aM≤aZ;M和Z为非负的整数,并且M≤Z;根据aZ和aM,确定所述存储服务器在Tn时刻后至Tn+1时刻为所述第一对象分配的P个数据块的每个起始逻辑地址ar;其中,ar=aM+(r-M)*A,每个数据块占用的逻辑地址空间大小相等,A为数据块占用的逻辑地址空间大小,r为整数,M<r≤Z,P=Z-M。
- 根据权利要求13所述的非易失性计算机可读存储介质,其特征在于,当所述存储服务器的处理器指令所述计算机可执行指令时,还用于执行以下步骤:备份起始逻辑地址为ar的P个数据块中的数据至备份存储服务器。
- 根据权利要求14所述的非易失性计算机可读存储介质,其特征在于,当所述存储服务器的处理器指令所述计算机可执行指令时,还用于执行以下步骤:备份起始逻辑地址为avr的数据块中的数据及起始逻辑地址为ar的数据块中的数据的状态至备份存储服务器。
- 一种备份数据的方法,其特征在于,所述方法应用于备份***,所述备份***包括基于写重定向的源存储服务器和基于写重定向的备份存储服务器;其中,所述源存储服务器在Tn时刻为第一对象创 建的快照为Sn,并且Sn的元数据中记录的所述源存储服务器截止到Tn时刻为所述第一对象分配的数据块的最大起始逻辑地址为aS,M;所述备份存储服务器存储有快照Sn,所述备份存储服务器存储的Sn的元数据记录的数据块的最大起始逻辑地址为aB,M;其中,aB,M为所述备份存储服务器为存储Sn的数据分配的数据块的最大起始逻辑地址;所述第一对象为文件***或者逻辑单元;并且aS,M=aB,M;其中,n为非负的整数;所述方法包括:所述备份存储服务器接收所述源存储服务器发送的起始逻辑地址为aS,r的P个数据块中的数据;其中,起始逻辑地址为aS,r的数据块是Tn时刻后至Tn+1时刻所述源存储服务器为所述第一对象分配的数据块;所述第一对象的快照Sn+1的元数据中记录的所述源存储服务器截止到Tn+1时刻为所述第一对象分配的数据块的最大起始逻辑地址为aS,Z;aS,r=aS,M+(r-M)*A;其中,每个数据块占用的逻辑地址空间大小相等,A为数据块占用的逻辑地址空间大小;Tn<Tn+1,Sn和Sn+1表示相邻的两个快照,r为整数,M<r≤Z,P=(Z-M);Z为非负的整数;所述备份存储服务器为起始逻辑地址为aS,r的数据块中的数据分配起始逻辑地址为aB,r的数据块;其中aB,r=aB,M+(r-M)*A;所述备份存储服务器将起始逻辑地址为aS,r的数据块中的数据存储到起始逻辑地址为aB,r的数据块中。
- 一种备份数据的方法,其特征在于,所述方法应用于备份***,所述备份***包括基于写重定向的源存储服务器和写重定向的备份存储服务器;其中,所述源存储服务器在Tn时刻为第一对象创建的 快照为Sn,并且Sn的元数据中记录的所述源存储服务器截止到Tn时刻为所述第一对象分配的数据块的最大起始逻辑地址为aS,M;所述备份存储服务器存储有快照Sn,所述备份存储服务器存储的Sn的元数据记录的数据块的最大起始逻辑地址为aB,M;其中,aB,M为所述备份存储服务器为存储Sn的数据分配的数据块的最大起始逻辑地址;所述第一对象为文件***或者逻辑单元;并且aS,M=aB,M;其中,n为非负的整数;所述方法包括:所述备份存储服务器接收所述源存储服务器发送的起始逻辑地址为aS,vr的数据块中的数据及起始逻辑地址为aS,r的P个数据块中的数据的状态;其中,起始逻辑地址为aS,r的数据块是Tn时刻后至Tn+1时刻所述源存储服务器为所述第一对象分配的数据块;起始逻辑地址为aS,vr的数据块为所述源存储服务器从起始逻辑地址为aS,r的数据块中确定的存储有效数据的数据块的起始逻辑地址;;Tn+1时刻所述第一对象的快照Sn+1的元数据中记录所述源存储服务器为所述第一对象分配的数据块的最大起始逻辑地址为aS,Z;aS,r=aS,M+(r-M)*A;其中,每个数据块占用的逻辑地址空间大小相等,A为数据块占用的逻辑地址空间大小;Tn<Tn+1,Sn和Sn+1表示相邻的两个快照,r为整数,M<r≤Z,P=(Z-M);Z为非负的整数;所述备份存储服务器为起始逻辑地址为aS,r的数据块中的数据分配起始逻辑地址为aB,r的数据块;其中aB,r=aB,M+(r-M)*A;所述备份存储服务器将起始逻辑地址为aS,vr的数据块中的数据存储到起始逻辑地址为aB,vr的数据块中。
- 一种恢复数据的方法,其特征在于,所述方法应用于备份系 统,所述备份***包括基于写重定向的源存储服务器和写重定向的备份存储服务器;其中,所述源存储服务器在Tn时刻为第一对象创建的快照为Sn,并且Sn的元数据中记录的所述源存储服务器截止到Tn时刻为所述第一对象分配的数据块的最大起始逻辑地址为aS,Dx;所述备份存储服务器存储有快照Sn,所述备份存储服务器存储的Sn的元数据记录的数据块的最大起始逻辑地址为aB,Dx;其中,aB,Dx为所述备份存储服务器为存储Sn的数据分配的数据块的最大起始逻辑地址;所述第一对象为文件***或者逻辑单元;并且aS,Dx=aB,Dx;其中,n和x为整数,并且n≤W,Dx为非负的整数,Dx≤M;W和M为整数;所述方法包括:所述备份存储服务器接收所述源存储服务器发送的数据恢复请求;所述数据恢复请求携带所述源存储服务器在TF时刻为所述第一对象创建的快照SF的标识以及在TP时刻为所述第一对象创建的快照SP的标识;其中,SF表示所述源存储服务器当前可用的最新时刻所述第一对象的快照;SP表示所述源存储服务器欲恢复到TP时刻所述第一对象的快照;其中,TF<TP,P≤W;所述备份存储服务器根据快照SF的标识确定所述备份服务器存储的所述第一对象的快照SF的元数据记录的数据块的最大起始逻辑地址aB,DE;以及根据快照SP的标识,确定所述备份服务器存储的所述第一对象的快照SF的元数据记录的数据块的最大起始逻辑地址aB,DH;所述备份存储服务器根据aB,DE和aB,DH确定起始逻辑地址为aB,Dr的数据块中的数据为需要恢复的数据;DE<Dr≤DH;DE<DH≤M;并且aB,Dr=aB,DE+(Dr-DE)*A;其中,每个数据块占用的逻辑地址空间大小相等,A为数据块占用的逻辑地址空间大小;所述备份存储服务器将起始逻辑地址为aB,Dr的数据块中的数据发送给所述源存储服务器。
- 一种恢复数据的方法,其特征在于,所述方法应用于备份***,所述备份***包括基于写重定向的源存储服务器和写重定向的备份存储服务器;其中,所述源存储服务器在Tn时刻为第一对象创建的快照为Sn,并且Sn的元数据中记录的所述源存储服务器截止到Tn时刻为所述第一对象分配的数据块的最大起始逻辑地址为aS,Dx;所述备份存储服务器存储有快照Sn,所述备份存储服务器存储的Sn的元数据记录的数据块的最大起始逻辑地址为aB,Dx;其中,aB,Dx为所述备份存储服务器为存储Sn的数据分配的数据块的最大起始逻辑地址;所述第一对象为文件***或者逻辑单元;并且aS,Dx=aB,Dx;其中,n和x为整数,并且n≤W,Dx为非负的整数,Dx≤M;W和M为整数;所述方法包括:所述备份存储服务器接收所述源存储服务器发送的数据恢复请求;所述数据恢复请求携带所述源存储服务器在TF时刻为所述第一对象创建的快照SF的标识以及在TP时刻为所述第一对象创建的快照SP的标识;其中,SF表示所述源存储服务器当前可用的最新时刻所述第一对象的快照;SP表示所述源存储服务器欲恢复到TP时刻所述第一对象的快照;其中,TF<TP,P≤W;所述备份存储服务器根据快照SF的标识确定所述备份服务器存储的所述第一对象的快照SF的元数据记录的数据块的最大起始逻辑地址aB,DE;以及根据快照SP的标识,确定所述备份服务器存储的所述第一对象的快照SF的元数据记录的数据块的最大起始逻辑地址aB,DH;所述备份存储服务器根据aB,DE和aB,DH确定起始逻辑地址为aB,Dr 的数据块,DE<Dr≤DH,DE<DH≤M;并且aB,Dr=aB,DE+(Dr-DE)*A;其中,每个数据块占用的逻辑地址空间大小相等,A为数据块占用的逻辑地址空间大小;所述备份存储服务器根据数据块的起始逻辑地址aB,Dr获取所述源存储服务器中起始逻辑地址为aA,Dr的数据块中的数据的状态;所述备份存储服务器将起始逻辑地址为aB,vDr的数据块中的数据发送给所述源存储服务器。
- 根据权利要求20所述的方法,其特征在于,所述备份存储服务器根据数据块的起始逻辑地址aB,Dr获取所述源存储服务器中起始逻辑地址为aA,Dr的数据块中的数据的状态,具体包括:所述备份存储服务器向所述源存储服务器发送起始逻辑地址为aB,Dr的数据块中的数据的状态;所述备份存储服务器接收所述源存储服务器起始逻辑地址为aA,Dr的数据块中的数据的状态;其中,所述起始逻辑地址为aA,Dr的数据块中的数据的状态包含需要恢复的数据块的起始逻辑地址aA,vDr信息;则所述备份存储服务器根据起始逻辑地址为aA,Dr的数据块中的数据的状态确定起始逻辑地址为aB,Dr的数据块中需要恢复的数据块的起始逻辑地址aB,vDr包括:所述备份存储服务器根据起始逻辑地址aA,vDr信息确定需要恢复的数据块的起始逻辑地址aB,vDr。
- 一种基于写重定向的备份存储服务器,其特征在于,所述备份存储服务器应用于备份***,所述备份***包括基于写重定向的源存储服务器和所述备份存储服务器;其中,所述源存储服务器在Tn时刻为第一对象创建的快照为Sn,并且Sn的元数据中记录的所述源存储服务器截止到Tn时刻为所述第一对象分配的数据块的最大起始逻辑地址为aS,M;所述备份存储服务器存储有快照Sn,所述备份存储服务器存储的Sn的元数据记录的数据块的最大起始逻辑地址为aB,M;其中,aB,M为所述备份存储服务器为存储Sn的数据分配的数据块的最大起始逻辑地址;所述第一对象为文件***或者逻辑单元;并且aS,M=aB,M;其中,n为非负的整数;所述备份存储服务器包括:接收单元,用于接收所述源存储服务器发送的起始逻辑地址为aS,r的P个数据块中的数据;其中,起始逻辑地址为aS,r的数据块是Tn时刻后至Tn+1时刻所述源存储服务器为所述第一对象分配的数据块;所述第一对象的快照Sn+1的元数据中记录的所述源存储服务器截止到Tn+1时刻为所述第一对象分配的数据块的最大起始逻辑地址为aS,Z;aS,r=aS,M+(r-M)*A;其中,每个数据块占用的逻辑地址空间大小相等,A为数据块占用的逻辑地址空间大小;Tn<Tn+1,Sn和Sn+1表示相邻的两个快照,r为整数,M<r≤Z,P=(Z-M);Z为非负的整数;分配单元,用于为起始逻辑地址为aS,r的数据块中的数据分配起始逻辑地址为aB,r的数据块;其中aB,r=aB,M+(r-M)*A;写入单元,用于将起始逻辑地址为aS,r的数据块中的数据存储到起始逻辑地址为aB,r的数据块中。
- 一种基于写重定向的备份存储服务器,其特征在于,所述备 份存储服务器应用于备份***,所述备份***包括基于写重定向的源存储服务器和所述备份存储服务器;其中,所述源存储服务器在Tn时刻为第一对象创建的快照为Sn,并且Sn的元数据中记录的所述源存储服务器截止到Tn时刻为所述第一对象分配的数据块的最大起始逻辑地址为aS,M;所述备份存储服务器存储有快照Sn,所述备份存储服务器存储的Sn的元数据记录的数据块的最大起始逻辑地址为aB,M;其中,aB,M为所述备份存储服务器为存储Sn的数据分配的数据块的最大起始逻辑地址;所述第一对象为文件***或者逻辑单元;并且aS,M=aB,M;其中,n为非负的整数;所述备份存储服务器包括:接收单元,用于接收所述源存储服务器发送的起始逻辑地址为aS,vr的数据块中的数据及起始逻辑地址为aS,r的P个数据块中的数据的状态;其中,起始逻辑地址为aS,r的数据块是Tn时刻后至Tn+1时刻所述源存储服务器为所述第一对象分配的数据块;起始逻辑地址为aS,vr的数据块为所述源存储服务器从起始逻辑地址为aS,r的数据块中确定的存储有效数据的数据块的起始逻辑地址;Tn+1时刻所述第一对象的快照Sn+1的元数据中记录所述源存储服务器为所述第一对象分配的数据块的最大起始逻辑地址为aS,Z;aS,r=aS,M+(r-M)*A;其中,每个数据块占用的逻辑地址空间大小相等,A为数据块占用的逻辑地址空间大小;Tn<Tn+1,Sn和Sn+1表示相邻的两个快照,r为整数,M<r≤Z,P=(Z-M);Z为非负的整数;分配单元,用于为起始逻辑地址为aS,r的数据块中的数据分配起始逻辑地址为aB,r的数据块;其中aB,r=aB,M+(r-M)*A;写入单元,用于将起始逻辑地址为aS,vr的数据块中的数据存储到 起始逻辑地址为aB,vr的数据块中。
- 一种基于写重定向的备份存储服务器,其特征在于,所述备份存储服务器应用于备份***,所述备份***包括基于写重定向的源存储服务器和所述备份存储服务器;其中,所述源存储服务器在Tn时刻为第一对象创建的快照为Sn,并且Sn的元数据中记录的所述源存储服务器截止到Tn时刻为所述第一对象分配的数据块的最大起始逻辑地址为aS,Dx;所述备份存储服务器存储有快照Sn,所述备份存储服务器存储的Sn的元数据记录的数据块的最大起始逻辑地址为aB,Dx;其中,aB,Dx为所述备份存储服务器为存储Sn的数据分配的数据块的最大起始逻辑地址;所述第一对象为文件***或者逻辑单元;并且aS,Dx=aB,Dx;其中,n和x为整数,并且n≤W,Dx为非负的整数,Dx≤M;W和M为整数;所述备份存储服务器包括:接收单元,用于接收所述源存储服务器发送的数据恢复请求;所述数据恢复请求携带所述源存储服务器在TF时刻为所述第一对象创建的快照SF的标识以及在TP时刻为所述第一对象创建的快照SP的标识;其中,SF表示所述源存储服务器当前可用的最新时刻所述第一对象的快照;SP表示所述源存储服务器欲恢复到TP时刻所述第一对象的快照;其中,TF<TP,P≤W;确定单元,用于根据快照SF的标识确定所述备份服务器存储的所述第一对象的快照SF的元数据记录的数据块的最大起始逻辑地址aB,DE;以及根据快照SP的标识,确定所述备份服务器存储的所述第一对象的快照SF的元数据记录的数据块的最大起始逻辑地址aB,DH;根据aB,DE和aB,DH确定起始逻辑地址为aB,Dr的数据块中的数据为需要恢复的数据;DE<Dr≤DH;DE<DH≤M;并且aB,Dr=aB,DE+(Dr-DE)*A; 其中,每个数据块占用的逻辑地址空间大小相等,A为数据块占用的逻辑地址空间大小;发送单元,用于将起始逻辑地址为aB,Dr的数据块中的数据发送给所述源存储服务器。
- 一种基于写重定向的备份存储服务器,其特征在于,所述备份存储服务器应用于备份***,所述备份***包括写重定向的源存储服务器和所述备份存储服务器;其中,所述源存储服务器在Tn时刻为第一对象创建的快照为Sn,并且Sn的元数据中记录的所述源存储服务器截止到Tn时刻为所述第一对象分配的数据块的最大起始逻辑地址为aS,Dx;所述备份存储服务器存储有快照Sn,所述备份存储服务器存储的Sn的元数据记录的数据块的最大起始逻辑地址为aB,Dx;其中,aB,Dx为所述备份存储服务器为存储Sn的数据分配的数据块的最大起始逻辑地址;所述第一对象为文件***或者逻辑单元;并且aS,Dx=aB,Dx;其中,n和x为整数,并且n≤W,Dx为非负的整数,Dx≤M;W和M为整数;所述备份存储服务器包括:接收单元,用于接收所述源存储服务器发送的数据恢复请求;所述数据恢复请求携带所述源存储服务器在TF时刻为所述第一对象创建的快照SF的标识以及在TP时刻为所述第一对象创建的快照SP的标识;其中,SF表示所述源存储服务器当前可用的最新时刻所述第一对象的快照;SP表示所述源存储服务器欲恢复到TP时刻所述第一对象的快照;其中,TF<TP,P≤W;确定单元,用于根据快照SF的标识确定所述备份服务器存储的所述第一对象的快照SF的元数据记录的数据块的最大起始逻辑地址aB,DE;以及根据快照SP的标识,确定所述备份服务器存储的所述第一对象的快照SF的元数据记录的数据块的最大起始逻辑地址aB,DH;根据 aB,DE和aB,DH确定起始逻辑地址为aB,Dr的数据块,DE<Dr≤DH,DE<DH≤M;并且aB,Dr=aB,DE+(Dr-DE)*A;其中,每个数据块占用的逻辑地址空间大小相等,A为数据块占用的逻辑地址空间大小;获取单元,用于根据数据块的起始逻辑地址aB,Dr获取所述源存储服务器中起始逻辑地址为aA,Dr的数据块中的数据的状态;发送单元,用于将起始逻辑地址为aB,vDr的数据块中的数据发送给所述源存储服务器。
- 根据权利要求25所述的备份存储服务器,其特征在于,所述获取单元具体用于:向所述源存储服务器发送起始逻辑地址为aB,Dr的数据块中的数据的状态;接收所述源存储服务器起始逻辑地址为aA,Dr的数据块中的数据的状态;其中,所述起始逻辑地址为aA,Dr的数据块中的数据的状态包含需要恢复的数据块的起始逻辑地址aA,vDr信息;则所述确定单元根据起始逻辑地址为aA,Dr的数据块中的数据的状态确定起始逻辑地址为aB,Dr的数据块中需要恢复的数据块的起始逻辑地址aB,vDr包括:根据起始逻辑地址aA,vDr信息确定需要恢复的数据块的起始逻辑地址aB,vDr。
- 一种基于写重定向的备份存储服务器,其特征在于,所述备份存储服务器应用于备份***,所述备份***包括基于写重定向的源 存储服务器和所述备份存储服务器;其中,所述源存储服务器在Tn时刻为第一对象创建的快照为Sn,并且Sn的元数据中记录的所述源存储服务器截止到Tn时刻为所述第一对象分配的数据块的最大起始逻辑地址为aS,M;所述备份存储服务器存储有快照Sn,所述备份存储服务器存储的Sn的元数据记录的数据块的最大起始逻辑地址为aB,M;其中,aB,M为所述备份存储服务器为存储Sn的数据分配的数据块的最大起始逻辑地址;所述第一对象为文件***或者逻辑单元;并且aS,M=aB,M;其中,n为非负的整数;所述备份存储服务器包括包括处理器和存储器,所述处理器执行所述存储器中的可执行指令以执行:接收所述源存储服务器发送的起始逻辑地址为aS,r的P个数据块中的数据;其中,起始逻辑地址为aS,r的数据块是Tn时刻后至Tn+1时刻所述源存储服务器为所述第一对象分配的数据块;所述第一对象的快照Sn+1的元数据中记录的所述源存储服务器截止到Tn+1时刻为所述第一对象分配的数据块的最大起始逻辑地址为aS,Z;aS,r=aS,M+(r-M)*A;其中,每个数据块占用的逻辑地址空间大小相等,A为数据块占用的逻辑地址空间大小;Tn<Tn+1,Sn和Sn+1表示相邻的两个快照,r为整数,M<r≤Z,P=(Z-M);Z为非负的整数;为起始逻辑地址为aS,r的数据块中的数据分配起始逻辑地址为aB,r的数据块;其中aB,r=aB,M+(r-M)*A;将起始逻辑地址为aS,r的数据块中的数据存储到起始逻辑地址为aB,r的数据块中。
- 一种基于写重定向的备份存储服务器,其特征在于,所述备份存储服务器应用于备份***,所述备份***包括基于写重定向的源 存储服务器和所述备份存储服务器;其中,所述源存储服务器在Tn时刻为第一对象创建的快照为Sn,并且Sn的元数据中记录的所述源存储服务器截止到Tn时刻为所述第一对象分配的数据块的最大起始逻辑地址为aS,M;所述备份存储服务器存储有快照Sn,所述备份存储服务器存储的Sn的元数据记录的数据块的最大起始逻辑地址为aB,M;其中,aB,M为所述备份存储服务器为存储Sn的数据分配的数据块的最大起始逻辑地址;所述第一对象为文件***或者逻辑单元;并且aS,M=aB,M;其中,n为非负的整数;所述备份存储服务器包括包括处理器和存储器,所述处理器执行所述存储器中的可执行指令以执行:接收所述源存储服务器发送的起始逻辑地址为aS,vr的数据块中的数据及起始逻辑地址为aS,r的P个数据块中的数据的状态;其中,起始逻辑地址为aS,r的数据块是Tn时刻后至Tn+1时刻所述源存储服务器为所述第一对象分配的数据块;起始逻辑地址为aS,vr的数据块为所述源存储服务器从起始逻辑地址为aS,r的数据块中确定的存储有效数据的数据块的起始逻辑地址;vr∈r;Tn+1时刻所述第一对象的快照Sn+1的元数据中记录所述源存储服务器为所述第一对象分配的数据块的最大起始逻辑地址为aS,Z;aS,r=aS,M+(r-M)*A;其中,每个数据块占用的逻辑地址空间大小相等,A为数据块占用的逻辑地址空间大小;Tn<Tn+1,Sn和Sn+1表示相邻的两个快照,r为整数,M<r≤Z,P=(Z-M);Z为非负的整数;为起始逻辑地址为aS,r的数据块中的数据分配起始逻辑地址为aB,r的数据块;其中aB,r=aB,M+(r-M)*A;将起始逻辑地址为aS,vr的数据块中的数据存储到起始逻辑地址为 aB,vr的数据块中。
- 一种基于写重定向的备份存储服务器,其特征在于,所述备份存储服务器应用于备份***,所述备份***包括基于写重定向的源存储服务器和所述备份存储服务器;其中,所述源存储服务器在Tn时刻为第一对象创建的快照为Sn,并且Sn的元数据中记录的所述源存储服务器截止到Tn时刻为所述第一对象分配的数据块的最大起始逻辑地址为aS,Dx;所述备份存储服务器存储有快照Sn,所述备份存储服务器存储的Sn的元数据记录的数据块的最大起始逻辑地址为aB,Dx;其中,aB,Dx为所述备份存储服务器为存储Sn的数据分配的数据块的最大起始逻辑地址;所述第一对象为文件***或者逻辑单元;并且aS,Dx=aB,Dx;其中,n和x为整数,并且n≤W,Dx为非负的整数,Dx≤M;W和M为整数;所述备份存储服务器包括包括处理器和存储器,所述处理器执行所述存储器中的可执行指令以执行:接收所述源存储服务器发送的数据恢复请求;所述数据恢复请求携带所述源存储服务器在TF时刻为所述第一对象创建的快照SF的标识以及在TP时刻为所述第一对象创建的快照SP的标识;其中,SF表示所述源存储服务器当前可用的最新时刻所述第一对象的快照;SP表示所述源存储服务器欲恢复到TP时刻所述第一对象的快照;其中,TF<TP,P≤W;根据快照SF的标识确定所述备份服务器存储的所述第一对象的快照SF的元数据记录的数据块的最大起始逻辑地址aB,DE;以及根据快照SP的标识,确定所述备份服务器存储的所述第一对象的快照SF的元数据记录的数据块的最大起始逻辑地址aB,DH;根据aB,DE和aB,DH确定起始逻辑地址为aB,Dr的数据块中的数据为需要恢复的数据;DE<Dr≤DH;DE<DH≤M;并且aB,Dr=aB,DE+(Dr-DE)*A;其中,每个数据块占用的逻辑地址空间大小相等,A为数据块占用的逻辑地址空间大小;将起始逻辑地址为aB,Dr的数据块中的数据发送给所述源存储服务器。
- 一种基于写重定向的备份存储服务器,其特征在于,所述备份存储服务器应用于备份***,所述备份***包括基于写重定向的源存储服务器和所述备份存储服务器;其中,所述源存储服务器在Tn时刻为第一对象创建的快照为Sn,并且Sn的元数据中记录的所述源存储服务器截止到Tn时刻为所述第一对象分配的数据块的最大起始逻辑地址为aS,Dx;所述备份存储服务器存储有快照Sn,所述备份存储服务器存储的Sn的元数据记录的数据块的最大起始逻辑地址为aB,Dx;其中,aB,Dx为所述备份存储服务器为存储Sn的数据分配的数据块的最大起始逻辑地址;所述第一对象为文件***或者逻辑单元;并且aS,Dx=aB,Dx;其中,n和x为整数,并且n≤W,Dx为非负的整数,Dx≤M;W和M为整数;所述备份存储服务器包括包括处理器和存储器,所述处理器执行所述存储器中的可执行指令以执行:接收所述源存储服务器发送的数据恢复请求;所述数据恢复请求携带所述源存储服务器在TF时刻为所述第一对象创建的快照SF的标识以及在TP时刻为所述第一对象创建的快照SP的标识;其中,SF表示所述源存储服务器当前可用的最新时刻所述第一对象的快照;SP表示所述源存储服务器欲恢复到TP时刻所述第一对象的快照;其中,TF <TP,P≤W;根据快照SF的标识确定所述备份服务器存储的所述第一对象的快照SF的元数据记录的数据块的最大起始逻辑地址aB,DE;以及根据快照SP的标识,确定所述备份服务器存储的所述第一对象的快照SF的元数据记录的数据块的最大起始逻辑地址aB,DH;根据aB,DE和aB,DH确定起始逻辑地址为aB,Dr的数据块,DE<Dr≤DH,DE<DH≤M;并且aB,Dr=aB,DE+(Dr-DE)*A;其中,每个数据块占用的逻辑地址空间大小相等,A为数据块占用的逻辑地址空间大小;根据数据块的起始逻辑地址aB,Dr获取所述源存储服务器中起始逻辑地址为aA,Dr的数据块中的数据的状态;将起始逻辑地址为aB,vDr的数据块中的数据发送给所述源存储服务器。
- 根据权利要求30所述的备份存储服务器,其特征在于,根据数据块的起始逻辑地址aB,Dr获取所述源存储服务器中起始逻辑地址为aA,Dr的数据块中的数据的状态,具体包括:向所述源存储服务器发送起始逻辑地址为aB,Dr的数据块中的数据的状态;接收所述源存储服务器起始逻辑地址为aA,Dr的数据块中的数据的状态;其中,所述起始逻辑地址为aA,Dr的数据块中的数据的状态包含需要恢复的数据块的起始逻辑地址aA,vDr信息;则根据起始逻辑地址为aA,Dr的数据块中的数据的状态确定起始逻辑地址为aB,Dr的数据块中需要恢复的数据块的起始逻辑地址aB,vDr包括:根据起始逻辑地址aA,vDr信息确定需要恢复的数据块的起始逻辑地址aB,vDr。
- 一种备份***,其特征在于,所述备份***包括基于写重定向的源存储服务器和基于写重定向的备份存储服务器;其中,所述源存储服务器在Tn时刻为第一对象创建的快照为Sn,并且Sn的元数据中记录的所述源存储服务器截止到Tn时刻为所述第一对象分配的数据块的最大起始逻辑地址为aS,Dx;所述备份存储服务器存储有快照Sn,所述备份存储服务器存储的Sn的元数据记录的数据块的最大起始逻辑地址为aB,Dx;其中,aB,Dx为所述备份存储服务器为存储Sn的数据分配的数据块的最大起始逻辑地址;所述第一对象为文件***或者逻辑单元;并且aS,Dx=aB,Dx;其中,n和x为整数,并且n≤W,Dx为非负的整数,Dx≤M;W和M为整数;其中,所述源存储服务器用于向所述备份存储服务器发送数据恢复请求;所述数据恢复请求携带所述源存储服务器在TF时刻为所述第一对象创建的快照SF的标识以及在TP时刻为所述第一对象创建的快照SP的标识;其中,SF表示所述源存储服务器当前可用的最新时刻所述第一对象的快照;SP表示所述源存储服务器欲恢复到TP时刻所述第一对象的快照;其中,TF<TP,P≤W;所述备份存储服务器用于接收所述源存储服务器发送的所述数据恢复请求;所述备份存储服务器用于根据快照SF的标识确定所述备份服务 器存储的所述第一对象的快照SF的元数据记录的数据块的最大起始逻辑地址aB,DE;以及根据快照SP的标识,确定所述备份服务器存储的所述第一对象的快照SF的元数据记录的数据块的最大起始逻辑地址aB,DH;所述备份存储服务器用于根据aB,DE和aB,DH确定起始逻辑地址为aB,Dr的数据块中的数据为需要恢复的数据;DE<Dr≤DH;DE<DH≤M;并且aB,Dr=aB,DE+(Dr-DE)*A;其中,每个数据块占用的逻辑地址空间大小相等,A为数据块占用的逻辑地址空间大小;将起始逻辑地址为aB,Dr的数据块中的数据发送给所述源存储服务器;所述源存储服务器用于接收起始逻辑地址为aB,Dr的数据块中的数据以进行数据恢复。
- 一种备份***,其特征在于,所述备份***包括基于写重定向的源存储服务器和基于写重定向的备份存储服务器;其中,所述源存储服务器在Tn时刻为第一对象创建的快照为Sn,并且Sn的元数据中记录的所述源存储服务器截止到Tn时刻为所述第一对象分配的数据块的最大起始逻辑地址为aS,Dx;所述备份存储服务器存储有快照Sn,所述备份存储服务器存储的Sn的元数据记录的数据块的最大起始逻辑地址为aB,Dx;其中,aB,Dx为所述备份存储服务器为存储Sn的数据分配的数据块的最大起始逻辑地址;所述第一对象为文件***或者逻辑单元;并且aS,Dx=aB,Dx;其中,n和x为整数,并且n≤W,Dx为非负的整数,Dx≤M;W和M为整数;其中,所述源存储服务器用于向所述备份存储服务器发送数据恢复请求;所述数据恢复请求携带所述源存储服务器在TF时刻为所述第一对象创建的快照SF的标识以及在TP时刻为所述第一对象创建的快照SP 的标识;其中,SF表示所述源存储服务器当前可用的最新时刻所述第一对象的快照;SP表示所述源存储服务器欲恢复到TP时刻所述第一对象的快照;其中,TF<TP,P≤W;所述备份存储服务器用于接收所述源存储服务器发送的所述数据恢复请求;根据快照SF的标识确定所述备份服务器存储的所述第一对象的快照SF的元数据记录的数据块的最大起始逻辑地址aB,DE;以及根据快照SP的标识,确定所述备份服务器存储的所述第一对象的快照SF的元数据记录的数据块的最大起始逻辑地址aB,DH;根据aB,DE和aB,DH确定起始逻辑地址为aB,Dr的数据块,DE<Dr≤DH,DE<DH≤M;并且aB,Dr=aB,DE+(Dr-DE)*A;其中,每个数据块占用的逻辑地址空间大小相等,A为数据块占用的逻辑地址空间大小;所述备份存储服务器还用于根据数据块的起始逻辑地址aB,Dr获取所述源存储服务器中起始逻辑地址为aA,Dr的数据块中的数据的状态;根据起始逻辑地址为aA,Dr的数据块中的数据的状态确定起始逻辑地址为aB,Dr的数据块中需要恢复的数据块的起始逻辑地址aB,vDr;将起始逻辑地址为aB,vDr的数据块中的数据发送给所述源存储服务器;所述源存储服务器还用于接收起始逻辑地址为aB,vDr的数据块中的数据以进行数据恢复。
- 根据权利要求33所述的备份***,其特征在于,所述备份存储服务器根据数据块的起始逻辑地址aB,Dr获取所述源存储服务器中起始逻辑地址为aA,Dr的数据块中的数据的状态,具体包括:所述备份存储服务器向所述源存储服务器发送起始逻辑地址为aB,Dr的数据块中的数据的状态;接收所述源存储服务器起始逻辑地址 为aA,Dr的数据块中的数据的状态;其中,所述起始逻辑地址为aA,Dr的数据块中的数据的状态包含需要恢复的数据块的起始逻辑地址aA,vDr信息;则所述备份存储服务器根据起始逻辑地址为aA,Dr的数据块中的数据的状态确定起始逻辑地址为aB,Dr的数据块中需要恢复的数据块的起始逻辑地址aB,vDr包括:所述备份存储服务器根据起始逻辑地址aA,vDr信息确定需要恢复的数据块的起始逻辑地址aB,vDr。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201480016988.9A CN106170775B (zh) | 2014-12-26 | 2014-12-26 | 一种基于写重定向的存储服务器确定增量数据的方法及装置 |
PCT/CN2014/095141 WO2016101266A1 (zh) | 2014-12-26 | 2014-12-26 | 一种基于写重定向的存储服务器确定增量数据的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2014/095141 WO2016101266A1 (zh) | 2014-12-26 | 2014-12-26 | 一种基于写重定向的存储服务器确定增量数据的方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2016101266A1 true WO2016101266A1 (zh) | 2016-06-30 |
Family
ID=56148993
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2014/095141 WO2016101266A1 (zh) | 2014-12-26 | 2014-12-26 | 一种基于写重定向的存储服务器确定增量数据的方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN106170775B (zh) |
WO (1) | WO2016101266A1 (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101154172A (zh) * | 2006-09-27 | 2008-04-02 | 英业达股份有限公司 | 集中建立依赖型快照的方法 |
CN101520743A (zh) * | 2009-04-17 | 2009-09-02 | 杭州华三通信技术有限公司 | 基于写时拷贝的数据存储方法、***及设备 |
CN101814044A (zh) * | 2010-04-19 | 2010-08-25 | 中兴通讯股份有限公司 | 元数据处理方法及装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8005797B1 (en) * | 2008-04-01 | 2011-08-23 | Acronis Inc. | File-level continuous data protection with access to previous versions |
US9684571B2 (en) * | 2013-05-01 | 2017-06-20 | Netapp, Inc. | Namespace mirroring in an expandable storage volume |
-
2014
- 2014-12-26 CN CN201480016988.9A patent/CN106170775B/zh active Active
- 2014-12-26 WO PCT/CN2014/095141 patent/WO2016101266A1/zh active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101154172A (zh) * | 2006-09-27 | 2008-04-02 | 英业达股份有限公司 | 集中建立依赖型快照的方法 |
CN101520743A (zh) * | 2009-04-17 | 2009-09-02 | 杭州华三通信技术有限公司 | 基于写时拷贝的数据存储方法、***及设备 |
CN101814044A (zh) * | 2010-04-19 | 2010-08-25 | 中兴通讯股份有限公司 | 元数据处理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN106170775B (zh) | 2019-10-18 |
CN106170775A (zh) | 2016-11-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10152381B1 (en) | Using storage defragmentation function to facilitate system checkpoint | |
US7418547B2 (en) | System and method to protect data stored in a storage system | |
US9442664B2 (en) | Efficient flashcopy backup target volume allocation from a shared resource pool | |
US8473462B1 (en) | Change tracking for shared disks | |
US9747046B2 (en) | Collision avoidance using dynamic target volume allocation in a single repository | |
EP2879040B1 (en) | Data storage method, data storage apparatus, and storage device | |
US9535617B2 (en) | Marking a flashcopy backup for collapse without breaking a flashcopy chain | |
US10042711B1 (en) | Distributed data protection techniques with cloning | |
US20150286542A1 (en) | Efficient flashcopy backup target volume allocation with reuse and a shared resource pool | |
US20150046398A1 (en) | Accessing And Replicating Backup Data Objects | |
CN106528338B (zh) | 一种远程数据复制方法、存储设备及存储*** | |
US20150286431A1 (en) | Efficient flashcopy backup and mount, clone, or restore collision avoidance using dynamic volume allocation with reuse and from a shared resource pool | |
US9454315B2 (en) | Efficient flashcopy backup target volume allocation from a shared resource pool while ingesting a flashcopy backup in a repository | |
US10237343B1 (en) | Sustaining backup service level objectives using dynamic resource allocation | |
US9542106B2 (en) | Efficient repository ingest of a target volume without breaking a flashcopy chain | |
US20150286429A1 (en) | Efficient flashcopy backup and mount, clone, or restore collision avoidance using dynamic volume allocation with reuse | |
US9507536B2 (en) | Creating a stable flashcopy map (FCMAPS) for ingest | |
US20190018593A1 (en) | Efficient space allocation in gathered-write backend change volumes | |
US9817718B2 (en) | Efficient flashcopy backup and mount, clone, or restore collision avoidance using dynamic volume allocation from a shared resource pool | |
JP2017531892A (ja) | ブロックレベル記憶デバイスのスナップショットを実行するための改善された装置および方法 | |
US20210103400A1 (en) | Storage system and data migration method | |
US9600188B2 (en) | Collision avoidance using dynamic target volume allocation from a shared resource pool | |
CN111936960A (zh) | 分布式存储***中数据存储方法、装置及计算机程序产品 | |
WO2016101266A1 (zh) | 一种基于写重定向的存储服务器确定增量数据的方法及装置 | |
US9672118B2 (en) | Collision avoidance using dynamic target volume allocation |
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: 14908834 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: 14908834 Country of ref document: EP Kind code of ref document: A1 |