Upgrading/Swapping out Pool

Alister

Explorer
Joined
Sep 18, 2011
Messages
52
I'm undertaking the overdue task of replacing my

6 x 4TB WD Red WD40EFRX-68W (9 years old!) RAIDZ2 pool - used for windows shares

with new

4 x Seagate ST16000NM004J Exos Enterprise (X18) 16TB SAS Hard Drive in RAIDZ2

The Server does not have space for 10 drives & network switch only has two 10GB ports - both in use

I've a spare PC so have have tested the drives using surface reinitialisation of HD Sentinel (38Hrs) and my plan is as follows

(I have back ups of the data on mirrored external drives NTFS)

Using Spare PC

  1. Use spare SSD and install TrueNAS Clean
  2. Create a Pool of the 4 EXOS drives using the same Name case in mixed case (current pool is
  3. Connect a backup drive and copy the data to the new pool
  4. Share the pool and confirm access permissions
  5. export pool
  6. shutdown

Then on current Server

  1. Disable init tasks the runs the SiliconDust PVR software
  2. Export old pool
  3. Swap in New Drives
  4. Boot
  5. Import pool
  6. Reboot
  7. Confirm pool working / check shares
  8. Re-enable init task
  9. Reboot
This way I have fall back positions and I'm not shutting down the server for long.
 

Apollo

Wizard
Joined
Jun 13, 2013
Messages
1,458
Any use of replication? As far as I understand, you are not planning on leveraging ZFS to migrate your data.
At best, if you want to use a single drive as the medium to help with the transfer, make it ZFS not NTFS.

If you are not dealing with ZFS encryption, then the process will be more streamlined.
I would proceed as follow:

I would connect your backup drive (new drive if possible, or if the NTFS backup was created just for this process, then I beleive you can destroy it and create it as a new pool with a unique pool name.
1) Create a recursive snapshot of the main serve pool you want to migrate.
2) Replicate recursively to the single drive pool (I would use CLI) using "screen" or "tmux" over ssh.
3) Export the pool without destroying its content.

On the Spare PC:
4) Import single drive pool.
5) Possibly recreate the EXOS drives based pool to have the exact name as seen on the server (same name, same case as the pool on the server).
6) Replicate recursively from the single drive to the new EXOS pool.
7) Export the single drive pool and move it to the server.

On the Server:
8) Import the single drive pool.
9) Stop all the services that are running (ie iocage jails, VM, shares...)
10) Once all the services have been stopped, create a recursive snapshot of the WD pool.
11) Using CLI, perform a recursive Incremental replication from the WD pool to the single drive pool using method mentioned above.
12) Once replication as been finalized, shut server down. Move the single drive pool to the Spare PC.

Leave server OFF.
On the Spare PC:
13) Import Single drive pool.
14) Perform incremental replication recursively from the single drive pool to the EXOS pool.
15) when replication is successful, turn Spare PC off.

16) Remove the WD drives from the Server and put them aside.
17) Connect the new EXOS drives to the Server.
18) Power Server ON and if not mistaken, the EXOS pool should now be recognized as if it was the old WD pool. If it is not the case, export the old pool and import the new one. To be on the safe side, create a snapshot of the Boot drive and make a copy of the configuration.
19) Restart all the services such as shares, VM, iocage jails.

If all fails, at least you can reinstall the WD drives and resume from there.

The longest part of the mifration will most likley be the recursive replication to the single drive pool, then followed with the same replication procedure to the EXOS drive pool, but at least you server doesn't have to be taken out of service yet.

With this approach, your replication strategy, if done properly will guarantee the data on your EXOS pool is an exact replica of your WD pool.
 
Top