Questions Regarding FreeNAS and Replication

For a while now I have wanted to migrate my NAS away from a Win8 box with a couple of raid1 drives to a proper setup with FreeNAS.
I have done a lot of reading over the past couple of months in anticipation of this, but have some questions remaining and need guidance.

I want proper backups with the new system. I happen to have some old desktops lying around still, so I had an idea.

I am lucky to be close with my family, and also live close-ish. I am a couple hours away from my aunt, and a couple hours away from my parents. Both have fiber. This presents a unique opportunity in that I would like to set up a couple more FreeNAS boxes, in addition to converting my current box, and leave them at their houses as offsite backups. I would also like to begin doing regular backups of their computers, and duplicating all this data between the three locations.

So, to break it down. I would like to know if the following is possible, and some pointers to where I can do more research and learn how to accomplish it before I dive in.

  1. Place FreeNAS box at parents’ and duplicate my data there
  2. Backup their computers to #1, duplicate that data back to my box
  3. Place box at aunt’s and duplicate my data there
  4. Backup her computer to #3, duplicate that data to my box

My box has the bulk of the data. 3TB at the moment and will continue to grow. My aunt and parents don’t have much, just pictures, videos and music, but I would hate for any of them to lose it.

My data changes/grows weekly. So at least weekly backups to the offsite locations for me. For them? Monthly would be good enough. Probably even bi-monthly would cover them to be honest.

Lastly, I will be configuring my local box for both redundancy and speed…cost is less a concern. For the offsite boxes, I am planning on just a couple of large drives mirrored. Should that get full…I’ll simply throw in another couple of drives mirrored and spin up another vdev to add to that pool. This will be acceptable…right?

I know this is a long post, but I just like to be thorough.
Thank you in advance to anyone who takes the time to read this post and double thanks to any answers and advice.

Note to Mods: I tried to pick the most appropriate forum for this. If the topic needs to be moved, feel free to do so.

Yes it all should work. The replication works off of snapshots. I don’t see any issues with that at the moment. Besides maybe some documentation to just keep up with ip addresses and which dataset backs up what an so forth.

1 Like

as above, you’ll be replicating changes via snapshots.

check out

  • zfs send
  • zfs receive
  • piping the above through SSH
  • use of dynamic DNS to enable use of a hostname that will move as your IP(s) change

Set up ssh key-based authentication (everybody should be using public/private keys for SSH anyway!), set up an account to run the above via cron (i.e., DON’T use your regular user account - so that you can use a non-password protected SSH key via scripting, and not have the account exposed via general desktop usage stuff) and bingo… you’re golden

possible pitfalls: your ISP blocking ports like SSH via a firewall rule-set or if you are stuck behind carrier grade NAT.

those may be fixable via liaison with your ISP however, and if they aren’t fixable at both ends (e.g., you can’t get away from carrier grade NAT at one of the endpoints) you can just run the sync(s) TO the box that has a publicly accessible IP from those that don’t. or set up some sort of VPN over the internet between the endpoints.

I’ve seen zrepl, which seems to require GO, but is there anything else like zxfer native to Linux to do this automatically?

Sweet. Thanks for the responses. Gives me plenty to research and play with as I get this set up.