RSync VS ZFS Replication task (for existing data)

Hello everyone,

I have 2 X Truenas12 U5,1 boxes with existing and identical data on 1 SMB share.

The sync was done through software filesync from another intermediate server from SMB to SMB. The setup is very clear like below:

Truenas A → Pool A → Dataset A → SMB A

Truenas B → Pool B → Dataset B → SMB B

Now that intermediate server is gone, and i’m asking what is possible now to do, use Rsync module & task or ZFS Replication? (i don’t count syncthing because of issues).

Considering that data is written differently on the 2 ZFS filesystems, so the snapshots are different, and taking into account that zfs replication is based on existing snapshots, will it be ok to start ZFS replication on those 2 datasets ? Or is better maybe to start clear, or stick to RSync ? Thanks for any suggestions.

Rsync will not backup snapshots because it’s file level. ZFS replication will because it’s block level. I prefer ZFS replication.

You can use zfs replication or you and also set up syncthing for sync that is more realtime.

3rd for ZFS replication. I think I remember reading somewhere… that rsync’s deltas tend to be larger since they are at the block level, while ZFS replication is at the bit level? So in theory, ZFS replication should be marginally faster over the wire. Though honestly it won’t be that significant in the end.

Set it up, and modify the SMB share to point to where you replicate to if you still need 2x SMB shares of the same data across 2 boxes.

ZFS replication for sure. While rsync is good and has it’s place, I agree with others. For your use case ZFS replication does sound like the best solution.