TrueNAS NVMe Pool Migration

I am hoping this is the right place for this and that someone can help me out.

I am currently running TrueNAS SCALE Fangtooth 25.04.

I have 4 x 1 TB NVMe M.2 drives in a pool with z1 / single parity.

I bought 4 x 4 TB NVMe M.2 drives to upgrade the capacity. My intent is to fully replace the old drives with the new ones with the same pools, SMB shares, etc still functional in them. They hold both data and VMs.

The issue is that I only have four M.2 slots available.

I do have tens of Terabytes of SATA HDD storage available to hold the data temporarily. I also have a replication on the HDD array already, but can’t seem to find the correct way to rebuild it on the new disks. The old disks have been removed already but could be reinstalled if necessary.

I can’t seem to find the right set of commands and / or GUI tasks to achieve this. They all seem to assume either a single disk failure in an array or the ability to have both the old and new disks active simultaneously.

Any assistance is much appreciated.

Do you happen to have a spare x16 slot & bifurcation available? Could be an easier solution with a passive 16 to x4 nvme splitter.

That is actually how the are connected now. With this one to be exact https://sabrent.com/products/ec-p4bf. The base is a refurbished Supermicro SuperStorage Server 6028R-E1CR24. I have also seen claims that the SAS3 backplanes may be able to run NVMe drive somehow but I’m not sure if that’s true or what type of adapter would be necessary for that.

My advice. With the original drives installed.

  1. Copy all your data to HDD if you can.
  2. Shutdown.
  3. Replace one nvme drive and resilver.
  4. Repeat steps 2 and 3 until all four drives have neen replaced.

If you have a way to connect one of the new drives to the computer, possibly a USB to nvme adapter, you can replace a drive with very little risk. Then remove the old drive and istall the replacement.

Niether one is fast but those are options. And should something go bad, you have the backup if needed.

2 Likes

Alternative without loss of redundancy:
Replace one (old) NVMe by a HDD. (NVMe still in place)
Then remove the old NVMe, install the new one and replace the HDD with it.
Rince and repeat…

1 Like

Thanks for all the input.
If I was not relying on the PCIe card I think that I would go with the one by one resilver option. I don’t want to strain the aging PCIe slots and the thermal pads can’t really be reused. What I ended up doing was transferring the basic data to the HDD pool from the client side and exported essential files from the VMs. They had been persistent ports dating back to core so a fresh start was probably due. Then I built a fresh pool on the new disks.
It was definitely tedious but seemed safer.
The lack of a proper method to create and flash full pool images does seem like a major feature gap.

1 Like