Hey all,
Just thought I’d share in case helpful.
Procedure for replacing set of drives that make a pool.
For example, a mirror being swapped out for a 3 drive RAIDZ1. This does mean you’d have to buy a set of replacement drives…I guess you could have a copy on another TrueNAS instance, format the pair, add the extra disk and replicate from your second TrueNAS box, but that’ll be slower unless you have a 10G link (assumed).
-
Save config as a precaution(Go to System & General)
-
Turn off all dependant Plugins/Jails.
-
Turn off all shares (either disable SMB service or individually disable each share)
-
Ensure all dependant servers are off and not pulling replications.
-
Note snapshot(s) schema and ensure latest snapshot exists then disable
-
Create new pool from new set of drives (calling “rep” is nice and short to type)
-
Use existing snapshot schemas to replicate to new drive set - can use multiple snapshot schemas in one replication process, handy for sub datasets. Important to tickbox recursive where applicable. CHECK DATA HAS TRANSFERRED SUCCESSFULLY.
-
Once transferred, detach ALL pools using GUI (ONLY tick CONFIRM).
-
Then in shell “zpool import [new-pool-name] [old-pool-name]” and do the the original using old pool name new pool name (could be anything). For example “zpool import rep tank” (if ‘tank’ is current pool name).
-
Then in shell again “zpool export [pool-name]”
-
Finally import pool new pool using GUI. Import “old” if needed.
-
Ensure read only disabled where applicable.
I could be wrong, but it seems that the replication wizard offers to disable ‘read only’ (when you select “once” in the replication schedule). The manual way (by clicking “Advanced replication creation”) doesn’t seem to have this option, but lets you name the job and transport method, most importantly use the existing snapshot schemas.
EDIT: This is probably applicable to TrueNAS Scale as well, though I recommend checking before doing so ![]()
May be that’ll help someone! ![]()