Rsync or DFS-R for remote backup over slow links of Windows 2003 R2 SP2

dfs-rincremental-backuprsync

I need to backup many sites over slow, high latency satellite links. We are talking pings of 650ms to each site. I can get a dump of the initial data by sending out USB disk to site and restoring it at central office. From then on I intend to use rsync or DFS-R for byte-level incremental copies across the link. All the machines are Windows 2003 SP2 R2. I have read that rsync can hang on large files and is still a bit flakey for Windows?

Alternatively should I use DFS-R which also does byte-level copies?

I have tried DFS-R in the past and was not impressed by the lack of logging, it was very hard to find out what was actually going on. That's why I'm interested in rsync. Has anyone any real world experience of both methods?

Best Answer

I have used rsync extensively and I find it very good. I too have tried the file replication bits of DFS and it's a bugger to troubleshoot if something goes wrong.

See http://www.ratsauce.co.uk/notablog/UsingRsync.asp for my notes on the subject.

JR

Edit to answer the question about permissions:

Unix and Windows permissions work in very different ways and mapping between them is not a trivial process. Unless you set the environment variable CYGWIN=nontsec Cygwin rsync will attempt to copy the ACL attached to files, but it will almost certainly mess it up in the process and the results won't be useful.

One obvious problem is that an Access Control Entry (an ACE is an entry in an Access Control List) identifies the user or group that it applies to by a GUID. While there there are some "well known" GUIDs that apply to all Windows installations, e.g. "SYSTEM" and "Everyone", most GUIDs only have a meaning on the server or domain in which they were created. So if an ACL is rsynced to another server it will probably contain GUIDs that don't refer to any user account on that server, and the ACL will be useless.

This applies to any program that copies files, not just rsync. A cynic might suggest that Cygwin rsync is especially effective at mangling ACLs, but this seems unfair to me as handling Windows security is such a hard thing for Cygwin to do.

Bearing in mind that with inherited permissions you normally only have to set permissions on a few high level folders, I strongly recommend you set CYGWIN=nontsec and don't attempt to replicate security.