Chained Replication Best Practices?

Status
Not open for further replies.
Joined
Jan 8, 2017
Messages
27
Dear All,

I have two SOHO locations linked via VPN. In each location, I have 2 FreeNAS servers. The first one is in front operation and the second one is backup. The most critical data generated in each location should be backed up in the respective other location also. I am trying to pass it to the first level FreeNAS server there and also use the secondary backup - better safe than sorry.

Unfortunately, such "chained" replication is not really reliable. As far as I understand, every server in the chain except for the last backup instance at the end of the chain must produce own snapshots in order to be able to replicate further.

I find that this leads to many errors in terms of failed replications. Upon deleting the snapshots of the failed repilcation's dataset first on the target and then on the source, it ususally does start for a while.

I generally replicate with "Delete stale snapshots on remote system" on. Even when turning that off, there is insufficient reliability. Similarly, when reducing the periodic snapshot task frequency on the secondary systems in the chain, one is not guaranteed reliability. Things break even among adcacent systems in the same LAN segment.

Is there a reliable way of achieving this? Would breaking the chain by putting rsync tasks instead of zfs replications in the middle be a better practice?

Thank you very much for sharing ideas and experience!

Regards,

Michael Schefczyk
 

Chris Moore

Hall of Famer
Joined
May 2, 2015
Messages
10,080
Just use rsync, for the remote system, from the primary.

Sent from my SAMSUNG-SGH-I537 using Tapatalk
 
  • Like
Reactions: ide

hungarianhc

Patron
Joined
Mar 11, 2014
Messages
234
I have a similar setup. I have a FreeNAS box at my house, at my parents' house, and at my in-laws' house. I use syncthing to replicate all the data. To be honest, it has worked VERY well. I have had basically zero issues with it, and it's fairly fault tolerant, in terms of the fact that it still works if someone changes an IP address or something like that. I think rsync might be slightly less resilient to that.
 
Joined
Jul 3, 2015
Messages
926
I do a similar thing with some of my systems. I have one system in one location replicate to another system in another location. In addition to this I replicate the backup (2nd) system to a third system in another location however on the backup (2nd) system I create one snapshot schedule which takes a monthly backup and keeps it for a month and set this recursively with delete stale snapshots enabled. This then sends all the snaps created on my primary (which are much more complicated) along with the ones created on the backup (2nd) system. I find this very reliable however I don't have the replication enabled always on the backup (2nd) system. I manually enable and disable the replication about 3/4 times a year as its only a third copy.

The reason for doing it this way is that Im a bit paranoid that if someone got access to my primary server and started deleting datasets then this intern would delete all the datasets from my backup (2nd) system. With replication disabled on the backup (2nd) system this wouldn't delete the data on my 3rd system.

I must admit I think this is an issue which iX should look to resolve. Im not quite sure exactly how but it just shouldn't be that easy to delete lots of data on both your primary and secondary system.
 

Stux

MVP
Joined
Jun 2, 2016
Messages
4,419
Of course, you could setup long lived snapshots on the 3rd system...

Then even if the erased dataset gets replicated you still have snaps of it previously.
 
Status
Not open for further replies.
Top