Recommended way to add a disk to a VDEV

I built my machine early last year and got myself 3x3TB HDDs that I used for my RAIDZ1 setup. I did this all with a thought that I could easily expand my array, and recently I got enough money and purchased a new 3TB drive.

Turns out it’s not possible.

I see my options as:

  1. Export pool main without destroying the data, create another pool with 4 drives on top of that pool and expand VDEV to take all available space, see if I get my data back. I believe I lose all my data with this option.

  2. Save up and get myself a 6TB drive, connect it to the server, format it to NTFS, share each and every dataset and zvol using SMB, copy everything over using Windows PC, destroy main and data, create a new RAIDZ1 with 4 drives and copy everything back. It’s unbelievably costly, and I don’t think I’ll be able to sell 6TB drive for at least half of it’s original price.

  3. Step 2, but do not create a RAIDZ1 and make a RAID5 array that is expandable.

  4. …?

Any help is appreciated.

Using hardware RAID with ZFS is a sure way to lose data.

Another option is to take the new drive and one of the 3 in RAIDZ1 and create a new pool with a single mirrored VDEV, then use local replication to copy the old pool in the new, finally destroy the old pool and add the two drives as a second mirrored VDEV to the new pool. But you need enough space.

I strongly suggest reading Introduction to ZFS | TrueNAS Community and iX's ZFS Pool Layout White Paper.

Planning is a necessity with ZFS.

1 Like

Correct. It’s expected to land in SCALE late this year, but it isn’t currently there.

You’re correct; creating a new pool on disks that already had a pool would destroy the former pool.

1 Like

If ‘wait’ is an option, then I’m on board. I believe expandability was supposedly arriving at the end of 2023, but it didn’t make it. I’ll wait for it on Cobia. Thanks!

Yeah, nope. It’s not a magic wand. @etorix explained pretty well in a recent thread why, I believe in this forum.