Replication / Recursively replicate

Status
Not open for further replies.

BlazeStar

Patron
Joined
Apr 6, 2014
Messages
383
Running FreeNAS-9.2.1.8-RELEASE-x64 (e625626)

I have a question about the replication option "Recursively replicate"

According to the documentation, this is what it does : "if checked will replicate child datasets and replace previous snapshot stored on PULL"

I'm not sure what it means...

I was expecting that it simply replicates all volumes and sub-volumes, etc...

But what it is doing: everytime there is a replication task starting, it replicates ALL snapshot from the very first one to the last (not only the most recent, never replicated snapshots).

Is that normal?

Why would it do that?
 

pjc

Contributor
Joined
Aug 26, 2014
Messages
187
The snapshots (while historical) are part of your "current" state, so they get replicated.

I think there is a way to replicate sub-datasets without all intervening snapshots. I think it's "-i" instead of "-I"?
 

BlazeStar

Patron
Joined
Apr 6, 2014
Messages
383
Hi there
The snapshots (while historical) are part of your "current" state, so they get replicated.

I think there is a way to replicate sub-datasets without all intervening snapshots. I think it's "-i" instead of "-I"?

Thanks for the answer but for now I'd like to try to rely on the GUI therefore I can't specify options (I think?)

But really I'd like someone to explain me what is the use of this option ("Recursively replicate")... when or why you would want to use that?
 

jgreco

Resident Grinch
Joined
May 29, 2011
Messages
18,680
I wouldn't worry about it. Replication is due for a rewrite and recursive will go away IIRC.
 

pjc

Contributor
Joined
Aug 26, 2014
Messages
187
But really I'd like someone to explain me what is the use of this option ("Recursively replicate")... when or why you would want to use that?
I can think of two situations in which you'd want that behavior:
1) You're replicating to a remote server, and you want it to have exactly what you have locally. That would include intermediate snapshots.

2) You're backing up to a drive that you will keep offline and, similarly, you want it to be a duplicate of what you have online.

I'd ask you the opposite question: in what situation do you want to replicate only the most recent state but none of the intervening snapshots? If you don't want those snapshots, why don't you destroy them?

Also, I remembered correctly: -i doesn't create the intervening snapshots: https://docs.oracle.com/cd/E18752_01/html/819-5461/gbchx.html#gfwqb

@jgreco, what functionality would replace recursive replication?
 

BlazeStar

Patron
Joined
Apr 6, 2014
Messages
383
Well I have a two replication tasks :

1) To a different volume (different physical drive) on the same machine

2) To a remote FreeNAS server

Following the description above, therefore I DO need the recursive option, right?

And I can tell you for sure that every time a replication task starts, it will copy all the snapshots from the beginning (well those which have not been deleted due to their age), even though 90% of them have already been copied in a previous replication task!
 

pjc

Contributor
Joined
Aug 26, 2014
Messages
187
And I can tell you for sure that every time a replication task starts, it will copy all the snapshots from the beginning (well those which have not been deleted due to their age), even though 90% of them have already been copied in a previous replication task!
Aha, that's the problem. I hadn't quite understood what you were getting at. I thought you were bothered by the fact that the snapshots appeared in both places.

The issue is that, for some reason, it's not doing an incremental send. Now that you mention it, I don't see a way to specify incremental from the GUI. Does it do incremental when you don't do recursive?

If so, that seems like a bug in recursive, since it should otherwise behave like non-recursive. If not, it's a limitation of the GUI.
 
Status
Not open for further replies.
Top