[NTLUG:Discuss] File Replication & 2-way Synchronization
Stan Tigrett
stigrett at killer-webs.com
Wed Feb 13 11:49:06 CST 2002
PROBLEM: We have 3 offices in different locations who need access to each of the other office's files. The offices each run a linux/samba fileserver, with clients using win9x to connect. Each office is connected to the internet via a ADSL line (1Mb/128kb) and run a linux firewall (a different machine than the fileserver). One office has about 10 gigs of data, and the other two have about 2 gigs each. The users can't handle using FTP - they will only accept a 'new drive mapping' in windows. It is not very likely that the same file will be accessed by different users at different locations at the same time.
POSSIBLE SOLUTIONS:
1 - Mount the data remotely using NFS across the internet, using strict firewall rules to only allow exporting to the 3 office IP addresses. Use samba to share the nfs mount to the users.
Pros - Data will always be current. Changes will occur in real time.
Cons - The DSL links not very stable. Would probably need a cron job to test the nfs connection & re-mount it if neccessary.
Data access will be extremely slow.
2 - Use rsync to perform 2-way synchronization of the files, using the same strict firewall rules above... Use samba to share the replicated directories.
Pros - Data access will be as fast as local data.
Don't have to worry about the DSL links
Cons - Data may be stale.
Initial replication will take a long time...
Deleting files from one server to the other...
It seems that #2 is the best solution so far, using a cron job to synchronize the files every hour or so, but I have one major caveat. One of the accounting programs these offices use creates several temporary *.dbf files while they are working on it. Using rsync without the --delete option would eventually leave hundreds of these files laying around. However, if I do use the --delete option, those temp files may be deleted if a synchronization occurs while a user is still working with them.
If there were a way to only delete files that were created BEFORE the last synchronization occured, then we would be in good shape, I think. I haven't found any kind of option like that, though.
Any ideas? Advice? Other approaches?
Thanks -
Stan
More information about the Discuss
mailing list