An idea: rsyncfs, an rsync-based real-time replicated filesystem

Justin Banks justinb at
Wed Apr 13 16:24:51 GMT 2005

Lester Hightower wrote
> PeerFS is a many-to-many replication system where all "peers" in the
> cluster are read/write.  Constant Replicator is a one-to-many system where
> only one master is read/write, and every mirror is read-only.  Replication
> communication between hosts in both systems is via TCP/IP.

(disclosure : I wrote a lot/most of CR, and I work at Constant Data)

This isn't strictly true, as CR allows bidirectional replication between
two hosts, and we have many customers modifying data on destination systems.
Bidirectional replication (assuming the replicated datasets overlap) is 
restricted to two systems, but replication can occur many-to-many as long
as the replicated data is unique. In other words, the following is possible:

Host A			Host B		Host C
------			------		------
/data	     <->	/data
/stuff	      ->			/junk
/foo	     <-				/bar
/baz	      ->        /whatever
/bitbucket   <-         /garbage

All data on all hosts is read/write, but changes made to a data store that
is a destination but not a source will not be replicated to other systems.

> The Constant Replicator design appeals to me because it more closely
> mirrors my needs, and has fewer "scarey black boxes" in the design.
> However, the more I have thought about what is really going on here, the
> more I am convinced that my rsyncfs idea is doable.

One of the benefits of CR is that it's filesystem agnostic as well as platform
agnostic. You can replicate to and from linux, solaris, Windows, OSX, and AIX,
although the realtime product is not available for all those platforms. CR
also works with data modified by NFS clients. 

For a linux-only solution that only requires unidirectional one-to-one 
replication, you're on the right track ;)


Justin Banks
Constant Data, Inc.

More information about the rsync mailing list