Data protection using a timer-controlled immutable journal
View Patent ↗In some examples, a data protection system replicates write input/output (I/O) operations to entries of a journal stored in a storage system, and associates timers with the entries of the journal to provide timer-controlled immutability of the entries of the journal. Based on a first timer associated with a first entry of the entries of the journal indicating that a specified time duration has elapsed, the data protection system applies a first write I/O operation of the first entry to a backup data store that contains a copy of at least a portion of data in a primary data store. Prior to the first timer indicating that the specified time duration has elapsed, the data protection system prevents any modification of a storage location containing the first entry in the storage system.
1 . A non-transitory machine-readable storage medium comprising data protection instructions that upon execution cause a system to:
replicate write input/output (I/O) operations to entries of a journal stored in a storage system;
associate timers with the entries of the journal to provide timer-controlled immutability of the entries of the journal;
based on a first timer associated with a first entry of the entries of the journal indicating that a specified time duration has elapsed, apply a first write I/O operation of the first entry to a backup data store that contains a copy of at least a portion of data in a primary data store; and
prior to the first timer indicating that the specified time duration has elapsed, prevent any modification of a storage location containing the first entry in the storage system;
prevent any write to the backup data store outside of an update time window,
wherein the preventing of any write to the backup data store outside of the update time window is performed by a driver, and wherein the driver is to determine the update time window based on a notification of an expected write frequency of the backup data store.
2 . The non-transitory machine-readable storage medium of claim 1 , wherein the replicating is performed with a replication controller, and the data protection instructions upon execution cause the system to:
prevent any modification of the storage location requested by any requester including the replication controller.
3 . The non-transitory machine-readable storage medium of claim 1 , wherein the data protection instructions upon execution cause the system to:
enable a modification of the storage location in response to the first timer indicating that the specified time duration has elapsed and detecting that the first write I/O operation of the first entry has been applied to the backup data store.
4 . The non-transitory machine-readable storage medium of claim 3 , wherein the modification of the storage location comprises adding a new write I/O operation to a new entry of the journal, the new entry stored in the storage location.
5 . The non-transitory machine-readable storage medium of claim 4 , wherein the data protection instructions upon execution cause the system to:
start a timer associated with the new entry.
6 . The non-transitory machine-readable storage medium of claim 1 , wherein the preventing of any modification of the first entry is performed by a driver that controls access to the storage system.
7 . The non-transitory machine-readable storage medium of claim 1 , wherein the driver is to allow writes of the backup data store during the update time window.
8 . The non-transitory machine-readable storage medium of claim 7 , wherein the driver is to allow the writes of the backup data store during the update time window from a backup controller, and the driver is to deny any other write of the backup data store during the update time window from a requester different from the backup controller.
9 . The non-transitory machine-readable storage medium of claim 1 , wherein the data protection instructions upon execution cause the system to:
notify the driver for the backup data store of a start and an end of writes by a backup controller of the backup data store, wherein the driver is to deny any write of the backup data store before the start or after the end of the writes by the backup controller.
10 . The non-transitory machine-readable storage medium of claim 1 , wherein the data protection instructions upon execution cause the system to:
detect an attempted modification of either the journal or the backup data store that violates an access rule; and
based on detecting the attempted modification of either the journal or the backup data store that violates the access rule, disable writes to both the journal and the backup data store.
11 . The non-transitory machine-readable storage medium of claim 10 , wherein the violation of the access rule comprises the attempted modification attempting to modify a storage location for an entry of the entries of the journal prior to a timer associated with the entry indicating that the specified time duration has elapsed.
12 . The non-transitory machine-readable storage medium of claim 10 , wherein the violation of the access rule comprises an attempt to write to the backup data store outside the update time window.
13 . A computer implemented method comprising:
replicating write input/output (I/O) operations to entries of a journal stored in a storage system;
associating timers with the entries of the journal to provide timer-controlled immutability of the entries of the journal;
based on a first timer associated with a first entry of the entries of the journal indicating that a specified time duration has elapsed, applying a first write I/O operation of the first entry to a backup data store that contains a copy of at least a portion of data in a primary data store; and
prior to the first timer indicating that the specified time duration has elapsed, preventing any modification of a storage location containing the first entry in the storage system;
preventing any write to the backup data store outside of an update time window,
wherein the preventing of any write to the backup data store outside of the update time window is performed by a driver, and wherein the driver is to determine the update time window based on a notification of an expected write frequency of the backup data store.
14 . The computer implemented method of claim 13 , wherein the driver is to allow writes of the backup data store during the update time window.
15 . The computer implemented method of claim 14 , wherein the driver is to allow the writes of the backup data store during the update time window from a backup controller, and the driver is to deny any other write of the backup data store during the update time window from a requester different from the backup controller.
16 . The computer implemented method of claim 13 , further comprising:
notifying the driver for the backup data store of a start and an end of writes by a backup controller of the backup data store, wherein the driver is to deny any write of the backup data store before the start or after the end of the writes by the backup controller.
17 . The computer implemented method of claim 13 , further comprising:
detecting an attempted modification of either the journal or the backup data store that violates an access rule; and
based on detecting the attempted modification of either the journal or the backup data store that violates the access rule, disabling writes to both the journal and the backup data store.
18 . The computer implemented method of claim 17 , wherein the violation of the access rule comprises the attempted modification attempting to modify a storage location for an entry of the entries of the journal prior to a timer associated with the entry indicating that the specified time duration has elapsed.
19 . The computer implemented method of claim 17 , wherein the violation of the access rule comprises an attempt to write to the backup data store outside the update time window.