allegiance
Explorer
- Joined
- Jan 4, 2013
- Messages
- 53
I am hoping for some advice with replication tasks in TrueNAS Core 13.0-U3.1 (all servers listed in my scenario are running the same version of TrueNAS Core 13). I am attempting to replicate a large-ish (30Tb) dataset from a server in location A to a server in location B using an interim "portable" pool and 3rd server - I really cannot move either existing server to perform this task if possible. Here is what I attempted and the problem I am now having:
Live data is stored at location "A" on server "a" on pool "Alpha" in dataset "live". I am currently running hourly snapshots on dataset "live", keeping them for 2 weeks - this began about 3 weeks ago, so let's say dataset "live" now has snapshots 101-300 on it at this time. (I suspect this is the cause of my error/problem below)
My interim step (to avoid sending 30Tb of data over the internet) was to build a temporary/portable server "c" with pool "Gamma" and take it to location "A". There, I setup a nightly replication task to replicate dataset "live" from server "a" pool "Alpha" to server "c" pool "Gamma" dataset "archive". This replication was set to keep all snapshots and was setup when the initial snapshots task was setup on server "a". So, let's say dataset "archive" now has snapshots 1-300 on it at this time - all the snapshots ever created on dataset "live"
I have now driven server "c" with pool "Gamma" to location "B". I don't want two servers running at location "B" if it can be avoided, so I imported pool "Gamma" into server "b". In doing so, I can now see dataset "archive" on server "b" and all it's snapshots (1-300)
So, I then go to create a new replication task on server "b" to continue the nightly replication from dataset "live" on pool "Alpha" on server "a" at location "A" (now over VPN/internet) and replicate it to local/server "b" on pool "Gamma" dataset "archive". I used the GUI for all this, and selected Recursive for the source location. But, when I go to create/save the replication task, I get the error:
Destination Snapshots Are Not Related to Replicated Snapshots
Destination dataset does not contain any snapshots that can be used as a basis for the incremental changes in the snapshots being sent. The snapshots in the destination dataset will be deleted and the replication will begin with a complete initial copy.
Is this because I have more snapshots on my pre-existing destination dataset than on my source dataset? Could it be something else I am missing, or is my basic premise in error? Is there any way around this vs starting over again? I really want to avoid sending all the initial data over the internet, but also can't transport either the source or destination servers.
In case my description was not very clear, here is an attempt at a diagram of what I attempted:
Location A > Server a > pool Alpha > dataset live > last two weeks of hourly snapshots on a 3-week old dataset
<== performing nightly replication task to ==>
Location A > Server c > pool Gamma > dataset archive > all snapshots from inception of dataset live, keep forever
<== drove Server c and pool Gamma to Location B ==>
Location B > Server b > newly imported pool Gamma > dataset archive > all snapshots from inception of dataset live
<== attempt to setup new replication task via GUI on server b ==>
Source: Location A > Server a > pool Alpha > dataset live > last two weeks of hourly snapshots on a now 3-1/2week old dataset
Destination: Location B > Server b > pool Gamma > dataset archive > first three weeks of hourly snapshots, now several days behind dataset live snapshots
Live data is stored at location "A" on server "a" on pool "Alpha" in dataset "live". I am currently running hourly snapshots on dataset "live", keeping them for 2 weeks - this began about 3 weeks ago, so let's say dataset "live" now has snapshots 101-300 on it at this time. (I suspect this is the cause of my error/problem below)
My interim step (to avoid sending 30Tb of data over the internet) was to build a temporary/portable server "c" with pool "Gamma" and take it to location "A". There, I setup a nightly replication task to replicate dataset "live" from server "a" pool "Alpha" to server "c" pool "Gamma" dataset "archive". This replication was set to keep all snapshots and was setup when the initial snapshots task was setup on server "a". So, let's say dataset "archive" now has snapshots 1-300 on it at this time - all the snapshots ever created on dataset "live"
I have now driven server "c" with pool "Gamma" to location "B". I don't want two servers running at location "B" if it can be avoided, so I imported pool "Gamma" into server "b". In doing so, I can now see dataset "archive" on server "b" and all it's snapshots (1-300)
So, I then go to create a new replication task on server "b" to continue the nightly replication from dataset "live" on pool "Alpha" on server "a" at location "A" (now over VPN/internet) and replicate it to local/server "b" on pool "Gamma" dataset "archive". I used the GUI for all this, and selected Recursive for the source location. But, when I go to create/save the replication task, I get the error:
Destination Snapshots Are Not Related to Replicated Snapshots
Destination dataset does not contain any snapshots that can be used as a basis for the incremental changes in the snapshots being sent. The snapshots in the destination dataset will be deleted and the replication will begin with a complete initial copy.
Is this because I have more snapshots on my pre-existing destination dataset than on my source dataset? Could it be something else I am missing, or is my basic premise in error? Is there any way around this vs starting over again? I really want to avoid sending all the initial data over the internet, but also can't transport either the source or destination servers.
In case my description was not very clear, here is an attempt at a diagram of what I attempted:
Location A > Server a > pool Alpha > dataset live > last two weeks of hourly snapshots on a 3-week old dataset
<== performing nightly replication task to ==>
Location A > Server c > pool Gamma > dataset archive > all snapshots from inception of dataset live, keep forever
<== drove Server c and pool Gamma to Location B ==>
Location B > Server b > newly imported pool Gamma > dataset archive > all snapshots from inception of dataset live
<== attempt to setup new replication task via GUI on server b ==>
Source: Location A > Server a > pool Alpha > dataset live > last two weeks of hourly snapshots on a now 3-1/2week old dataset
Destination: Location B > Server b > pool Gamma > dataset archive > first three weeks of hourly snapshots, now several days behind dataset live snapshots