Replication: Pull vs Push. Tasks: Periodic Snapshot.

NAS0_DATA1

Dabbler
Joined
May 26, 2023
Messages
18
I have two TrueNAS Core boxes (01 & 02) that I want to upgrade to Scale. Before I do so, I want to do some housekeeping.

Currently I have replication task setup with PUSH from 01 to 02. Is this the best way to go? Or should I have it setup to PULL from 02 to 01? Is there a best practice for this? Benefits of one over the other.

I have periodic snapshots task setup on 01 but nothing on 02. Should I also have it on 02? My thinking is, it's setup on 01 and then the replication task takes care of having the data replicated to 02. So I'm not sure if it would also be needed on 02.

Lastly, I have my snapshot retention policy set to 1 week with daily snapshots running. Is this good enough? Or does it really vary case by case?

Thanks.
 

chuck32

Guru
Joined
Jan 14, 2023
Messages
623
Is this the best way to go? Or should I have it setup to PULL from 02 to 01? Is there a best practice for this? Benefits of one over the other.
I don't see any difference. When I will setup a second machine I will probably use pull because the second machine will only boot up for replication, so I am sure its online when it does pull, rather than my main machine trying to push to an offline machine.

I have periodic snapshots task setup on 01 but nothing on 02. Should I also have it on 02? My thinking is, it's setup on 01 and then the replication task takes care of having the data replicated to 02. So I'm not sure if it would also be needed on 02.
It would just create empty snapshots, the data on 02 will not change inbetween replication tasks so there will be no difference to record inbetween replications.
Lastly, I have my snapshot retention policy set to 1 week with daily snapshots running. Is this good enough? Or does it really vary case by case?
That depends in your use case. How far do you want to be able to go back in time. I have also setup daily tasks (so I lose at most a days progress) but my retention time is currently set to years. I have the storage space, so for now I don't care and it happened more than once that I realized I needed a file, which I deleted months ago rather than days ago.

Just keep in mind that every snapshot will take up space. You can also hold certain snapshots and don't store every single one for longer periods of time.

It's just my personal preference but I like my retention time longer than time in between scrubs.
 

NAS0_DATA1

Dabbler
Joined
May 26, 2023
Messages
18
I don't see any difference. When I will setup a second machine I will probably use pull because the second machine will only boot up for replication, so I am sure its online when it does pull, rather than my main machine trying to push to an offline machine.


It would just create empty snapshots, the data on 02 will not change inbetween replication tasks so there will be no difference to record inbetween replications.

That depends in your use case. How far do you want to be able to go back in time. I have also setup daily tasks (so I lose at most a days progress) but my retention time is currently set to years. I have the storage space, so for now I don't care and it happened more than once that I realized I needed a file, which I deleted months ago rather than days ago.

Just keep in mind that every snapshot will take up space. You can also hold certain snapshots and don't store every single one for longer periods of time.

It's just my personal preference but I like my retention time longer than time in between scrubs.

Thank you for the response and feedback.
 

Constantin

Vampire Pig
Joined
May 19, 2017
Messages
1,829
I agree that a machine that “pulls” can be ideal for a secondary server that only boots up occasionally. But that can also be accomplished by timing the boot and the push with a bit of time buffer. Plus, the push feature can have a neat security advantage.

With a push, the receiving server has no info re the pushing server that is doing the pushing other than that it is authorized to do so. Remember, there is a SSH connection going on… with root key access by default.

If the data is encrypted, the receiving server has no idea what the datasets contents are other than the metadata associated with the pool headers. Nor does it have an access key to the primary NAS doing the sending.
 
Top