Asynchronous multi-node filesystem coordinated replication
AssigneeEMC Corporation
InventorsPratap Vikram Singh, Hua Zhong
Life of this patent
Estimating the term…
Abstract
A system for replicating a filesystem running on multiple nodes comprising an originator system and a replica system. The originator system includes a plurality of nodes. The replica system includes a plurality of nodes and a processor. The plurality of nodes of the replica system are paired with the plurality of nodes of the originator system. The processor is configured to receive an indicator of a node of the plurality of nodes of the replica system finishing replication for a view of a filesystem at a point in time. The processor is further configured to indicate that replication for the view of the filesystem is complete in the event that all replica system nodes have received their indication for the view.
Claims20
A system for replicating a filesystem running on multiple nodes comprising:
- an originator system including a plurality of nodes including a plurality of back end nodes that includes a first back end node, and a first front end node, wherein the first front end node is configured to receive data to be stored, break the data into a plurality of segments, and store each segment on at least one of the plurality of back end nodes;
- a replica system including
- a plurality of nodes including a plurality of back end nodes that includes a second back end node, and a second front end node, the second back end node and the second front end node being respectively paired to the first back end node and the first front end node, wherein each of the plurality of back end nodes comprising the originator system is configured to replicate to a corresponding one or more of the plurality of back end nodes comprising the replica system those segments stored on that back end node by said first front end node, and
- a processor comprising said second front end node comprising the replica system, the processor being configured to:
- receive from the second back end node a version number associated with a segment replicated to the second back end node from the first back end node;
- determine that the received version number comprises a new highest prime version number that all of the back end nodes comprising the plurality of back end nodes comprising the replica system have reported;
- and
- make the received version number of the data available to a filesystem user of the replica system.
A method for replicating a filesystem running on multiple nodes comprising:
- using a processor to pair each of a plurality of back end nodes of an originator system with a corresponding one of a plurality of back end nodes of a replica system;
- using the processor to replicate data from each of said plurality of back end nodes of the originator system onto the corresponding one of said back end nodes of the replica system, the data comprising for each of said back end nodes of the originator system one or more data segments, namespace segments, and a prime segment stored on the back end node of the originator system by a front end node of the originator system, the front end node of the originator system being configured to receive data to be stored, break the data into a plurality of data segments, and store each segment on at least one of the plurality of back end nodes;
- using the processor to receive at a front end node of the replica system a version number associated with a segment replicated to a back end node comprising the replica system;
- using the processor to determine that the received version number comprises a new highest version number that all of the back end nodes comprising the plurality of back end nodes comprising the replica system have reported;
- and
- using the processor to make the received version number of the data available to a filesystem user of the replica system.
A computer program product for replicating a filesystem running on multiple nodes, the computer program product being embodied in a non-transitory computer readable storage medium and comprising computer instructions for:
- pairing each of a plurality of back end nodes of an originator system with a corresponding one of a plurality of back end nodes of a replica system;
- replicating data from each of said plurality of back end nodes of the originator system onto the corresponding one of said back end nodes of the replica system, the data comprising for each of said back end nodes of the originator system one or more data segments, namespace segments, and a prime segment stored on the back end node of the originator system by a front end node of the originator system, the front end node of the originator system being configured to receive data to be stored, break the data into a plurality of data segments, and store each segment on one of the plurality of back end nodes;
- receiving at a front end node of the replica system a version number associated with a segment replicated to a back end node comprising the replica system;
- determining that the received version number comprises new highest version number that all of the back end nodes comprising the plurality of back end nodes comprising the replica system have reported;
- and
- make the received version number of the data available to a filesystem user of the replica system.
Dependencies are inferred from the claim text.