I'm hoping to get some advice/recommendations on how best to sync some data between two servers.

I have an old file server that I'm phasing out and wanted to copy the data to a new server. My goal was to rsync the data once, then briefly take one user at a time offline, rsync the delta, then bring them back online on the new server.

However, I'm noticing that when I run rsync the second time, it takes just as long as the first. My first sample was a user that has approximately 10GB of data but thousands and thousands of small files. It took about 2 or 3 hours to make the first transfer (which seemed kind of slow over a 100MB link). Then, I disconnected the user, and ran rsync again and it still took 2 or 3 hours.

Is that normal behavior? Is there a better way to do this? Essentially, I'm trying to minimize the downtime to the user as much as possible and was hoping that by doing the initial rsync, that would make the second rsync very quick.

Another thought I had was maybe there's a way to sync Server A with Server B (both initial load and real time) so that way when I cut off Server A, Server B is already in sync.

Just looking for thoughts on the best way to accomplish this and minimize downtime to the users.

Thank you so much!
Jason