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.