Coordinated storage management operations in replication environment
A method, system, computer system, and computer-readable medium for maintaining up-to-date, consistent copies of primary data without the need to replicate modified data when the data were modified as a result of an operation that is not an application-driven write operation captured during replication. Selected storage management operations are performed on the primary and secondary data stores at points in time when the data are the same to ensure that the data stored within the data stores remain consistent. These selected storage management operations include operations that produce modified data stored in the primary data store, where a portion of the modified data are not replicated to a secondary node. Other types of storage management operations are selected to be performed on both the primary and secondary data stores, where the operations do not directly change data in the primary data store, but may affect data stored in the primary data store.
1. A method comprising:
performing a set of operations on a first data store, wherein
the set of operations is performed by a storage manager,
the first data store comprises selected data written by an application,
each operation of the set of operations on the first data store performs at least one of producing modified data from data in the first data store, and changing a configuration of the first data store,
the producing the modified data occurs at a specified point in a sequential order on the first data store,
the specified point is between a first respective point in the sequential order and a second respective point in the sequential order,
the first respective point and the second respective point are adjacent in the sequential order, and
the performing the set of operations occurs during copying of the selected data in the first data store to a second data store; and
causing the set of operations to be performed on the second data store in the sequential order, wherein
if the set of operations produces the modified data and a portion of the modified data is not included in the selected data copied to the second data store, the second data store comprises a copy of the portion of the modified data after the set of operations is performed on the second data store by virtue of the performing the set of operations on the second data store, and
the causing the set of operations to be performed on the second data store comprises producing the copy of the modified data at the specified point in the sequential order on the second data store.
2. The method of claim 1 wherein
one operation of the set of operations restores a portion of first data in the first data store from third data in a third data store; and
the causing the set of operations to be performed on the second data store comprises
causing a corresponding portion of second data in the second data store to be restored from fourth data in a fourth data store, wherein
the portion of the first data and the portion of the second data are the same after the restoring the portion of the first data and after the causing the corresponding portion of the second data to be restored.
3. The method of claim 1 wherein
one operation of the set of operations synchronizes first data in the first data store with third data in a third data store; and
the causing the set of operations to be performed on the second data store comprises
causing second data in the second data store to be synchronized with fourth data in a fourth data store corresponding to the third data store, wherein
the first data and the second data are the same after the synchronizing the first data and after the causing the second data to be synchronized.
4. The method of claim 1 wherein
one operation of the set of operations changes the configuration of the first data store by creating a first snapshot data store related to the first data store wherein
a first snapshot of first data in the first data store is stored in the first snapshot data store; and
the causing the set of operations to be performed on the second data store comprises causing a second snapshot data store related to the second data store to be created,
wherein
a second snapshot of second data in the second data store is stored in the second snapshot data store, and
the first snapshot and the second snapshot comprise data that are the same.
5. The method of claim 4 further comprising:
establishing a replication relationship between the first snapshot data store and the second snapshot data store after the second snapshot data store is created, wherein
the replication relationship causes subsequently modified data in the first snapshot data store to be included in selected snapshot data copied to the second snapshot data store, and
the subsequently modified data are copied to the second snapshot data store when the selected data are copied to the second data store.
6. The method of claim 1 wherein
if at a first point in time during the performing the set of operations,
a first operation of the set of operations is performed on the first data store, and
the first data store comprises first data when the first operation is performed on the first data store, then
at a second point in time,
when the first operation is performed on the second data store,
the second data store comprises a copy of the first data.
7. The method of claim 1 wherein
if at a first point in time during the performing the set of operations,
the first data store comprises first data, then
at a second point in time,
when the second data store represents the first data store at the first point in time,
the second data store comprises a copy of the first data.
8. The method of claim 1 wherein
the set of operations comprises:
an ordered subset of the set of operations, wherein
operations in the ordered subset of operations are performed on both the first data store and the second data store in a sequential order.
9. The method of claim 1 wherein
the causing the producing the copy of the modified data to occur at the specified point comprises inserting a command in the selected data copied from the first data store to the second data store to produce the copy of the modified data at the specified point.
10. The method of claim 1 wherein
the subset of ordered operations comprises
all operations in the set of operations.
11. The method of claim 1 wherein
the set of operations further comprises:
an unordered subset of the set of operations, wherein
the unordered subset is performed at a specified point in the sequential order,
the specified point in the sequential order is between a first respective point in the sequential order and a second respective point in the sequential order,
the first respective point is adjacent in the sequential order to the second respective point, and
each operation in the unordered subset can be performed concurrently with respect to other operations in the unordered subset.
12. The method of claim 1 wherein
the causing the set of operations to be performed on the second data store comprises
causing at least one command that performs the set of operations to be executed on the second data store.
13. The method of claim 1 wherein
the selected data comprises first data modified as a result of a write operation.
14. The method of claim 13 wherein
the set of operations does not include the write operation.
15. The method of claim 1 wherein
the selected data further comprise a portion of a snapshot of first data stored in the first data store, and
the portion of the snapshot is modified as a result of a write operation.
16. The method of claim 15 wherein
the set of operations does not include the second write operation.
17. The method of claim 1 wherein
the second data store further comprises a copy of the selected data after copying the selected data to the second data store.
18. The method of claim 1 further comprising:
upon failure of a primary node associated with the first data storage,
identifying a portion of the selected data in the first data store, wherein
the portion has not been copied to the second data store, and
causing only the portion to be copied to the second data store such that the first data and the second data are the same.
19. A computer readable storage medium storing program instructions executable by one or more processors to implement a method comprising:
performing a set of operations on a first data store, wherein
the set of operations is performed by a storage manager,
the first data store comprises selected data written by an application,
each operation of the set of operations on the first data store performs at least one of producing modified data from data in the first data store, wherein
producing the modified data occurs at a specified point in a sequential order on the first data store,
the specified point is between a first respective point in the sequential order and a second respective point in the sequential order,
the first respective point and the second respective point are adjacent in the sequential order, and
changing a configuration of the first data store, and
the performing the set of operations occurs during copying of selected data in the first data store to a second data store; and
causing the set of operations to be performed on the second data store, wherein
the causing the set of operations to be performed on the second data store comprises
causing the producing the copy of the modified data to occur at the specified point in the sequential order on the second data store, and
if the set of operations produces the modified data and a portion of the modified data is not included in the selected data copied to the second data store,
the second data store comprises a copy of the portion of the modified data after the set of operations is performed on the second data store by virtue of the performing the set of operations on the second data store, and
the causing the set of operations to be performed on the second data store comprises producing the copy of the modified data at the specified point in the sequential order on the second data store.