A method, system, computer system, and computer-readable medium to maintain consistent,
up-to-date copies of primary data that enable quick resumption of operations upon
failure of the primary node, the secondary node, and/or the network connecting
nodes. The current status of individual storage locations is tracked, indicating
whether data in each individual storage location is synchronized between a primary
node and a secondary node. Transaction logging by a transaction-logging application,
such as a file system or database system, is used to track individual storage locations
updated with each transaction. Acknowledgements of these updates are tracked during
replication to determine whether individual storage locations containing primary
and secondary data are synchronized. This coordinated transaction logging and acknowledgement
tracking enables write operations and replication to be performed efficiently while
maintaining the information necessary to resynchronize only individual storage
locations when primary and secondary data become unsynchronized.