Once you have configured Veeam Backup & Replication to protect your virtual machines, usually the second step everyone wants to do is replicate those backups in a remote location.
Apart from using replica jobs for Disaster Recovery purposes, simple configuration for non-critical environment (SMBs, home offices…) can nonetheless take advantage of a remote backup to protect their data from disasters.
A first way to accomplish this is to place a Veeam Repository directly in a remote location, and configure Veeam backup jobs to send there the backup files. This configuration however as a big problem: when restoring (file, VM or instant recovery restore does not matter) data must be retrieved from the remote location, and bandwidth/latency limits can really slow down the operation.
Another way to do this, is to have both a local and a remote repository: the first one for daily activities, the second for disaster recovery. Problem is: a single Veeam job can write to only one destination. You can choose to run the same job twice, and change the repository between the two, but this will lead to a double I/O activity on the production storage you are retreiving VMs disks from.
The preferred way at the end, is to save Veeam backups in a local repository, and then to use a replication software “outside” of Veeam to copy backup files to a remote location. In this way, you hit the production storage only once and you end up having two copies of the same backup, both local and remote.
On linux, rsync is by far the preferred way to do this. But what if we have a Windows-based infrastructure and you want to deal with cygwin?
DeltaCopy can be a good fit for the job. It’s basically an rsync port for windows, and offers an easy graphical interface to configure it, or at least it has the rsync.exe executable to be used with standard rsync command line switches.
I discovered this little software while dealing with the above described scenario for a customer. We had two Windows 2008 R2 physical server full of disks. The first one is the local Veeam server, the second one is the remote storage server. DeltaCopy, just like rsync, has two component, a server and a client. The server part is going to be installed in the remote server while the client part will run into the Veeam server.
After the installation wizard, you can run the program to register it as a windows service and start it:
Be careful about the user you set the service to run as: this user also need to have write permissions on the virtual directories you are going to publish. Next, you need to configure a virtual directory that will be use as the repository where the client module will save the replicated files:
After installing the software also on the Veeam server, you run the Client module and configure the replication job creating a new profile:
You can finally run the Profile manually by right clicking on it, or create a schedule. If you check at the console while running, you will see the real command line is:
rsync.exe -v -rlt -z --delete "/cygdrive/C/backup/" "192.168.80.1::VeeamBackup/backup/"
So, if you want, you can create a batch file to execute the replica, or have it to run as a post-job activity in Veeam Backup.