I currently have a 2x4TB Mirror with unsuitable WD Red Drives which I want to retire.
I am getting 4x4TB Seagate Ironwolf Pros.
I want to build a RAID-Z1 Setup with those.
I want to migrate all the data from the Mirror Pool to the new RAID-Z1 Pool.
My Mirror Pool contains multiple sub Datasets which I want to be the same on the RAID-Z1 Pool.
All Drives can be connected to my NAS
I am running TrueNAS-SCALE-24.04.2.5
Side Note: I want to migrate my install first with all my app setups(I have quite a few custom apps) working and then migrate to EE.
I want to replace the Old Pool with the New Pool By transfering all the Data and all the Datasets.
What would be my best option?
For mountpoints for Apps would an inplace switch work if I rename my old poll to a different name and rename my new dataset to the name of the old pool?
You will need to stop your apps from running (and updating data) during this process.
(If you know what you are doing you can keep your apps running during the initial replication, then stop the apps and do an update replication, Then swap the pool names and reboot and start your apps again.)
I have just finished this and want to give a guide of what I did and what mistakes to avoid.
Pool a will be the old Pool
Pool b will the new Pool
Power Off Device
Connect all new Drives
Power On
Create a new Pool of the new drives.
Stop all VMs, Services and Apps.
Apps → Settings → Unset Pool
Data Protection → ReplicationTask → Add
7.1 Dataset A to Dataset B
7.2 Select Recursive if you want to recreate all the datasets and its data in the new pool and nothing else.
7.3 Select Full File System under Advanced if you want to replicate everything, like older Snapshots.
7.4 Select Run Once
7.5 Wait Until its finished
Ensure the replecation was succesfull
Export Pool A. Ensure that you do not delete the Pool
Export Pool B. Ensure that you do not delete the Pool
Storage → Import Pool. In the Dropdown will be the exported Pools listed, followed by some Numbers. Take note of the Numbers of Pool B.
Use the shell and run the following commands
12.1 sudo zpool list to ensure that none of the Pools you exported are listed
12.2 sudo zpool import <Pool B Name> <Pool A Name> This will rename Pool B to Pool A
12.3 sudo zpool export <Pool A Naem> Export the renamed Pool again, as it will not mount under truenas if its not imported under the GUI.
Storage → Import Pool → Pool A Name | numbers matching from step 11
Is there any reason to use the “full file system” option in the replication setup? Also does this actually move 100% of all data or do you need to make snapshots first? Never used replication so not entirely sure how it works under the hood and the addition of it working off of snapshots or something like that adds a layer of confusion and concern that I might lose some data doing this myself.
Selecting Full Filesystem Replication means the task completely replicates the chosen Source, including all dataset properties, snapshots, child datasets, and clones. When using this option, we recommended allocating additional time for the replication task to run.