With Samba using a clustered database, you can now export the same shared storage (this is only on the gfs2 file system - I haven’t seen any testing on ocfs2) on multiple nodes in an active/active samba cluster. The storage on clients that mount this export will be available when active failover occurs from one server node to another.
Csync is a bidirectional file synchronization tool. The developer’s main purpose for csync is to implement roaming home directories for Linux clients using a central file server using PAM to synchronize when the user logs in and out. Instead of being it’s own protocol, by default using port 873 or whatever, it can use other protocols such as http, smb, or sftp so there is no need for a server component. Though I wonder how it compares in the nitty-gritty performance aspects which really matter when synchronizing lots of data over the Internet.