How to best expand a mirror to RAIDZ2 on Goldeye

I know that this is a frequent topic. However, I have not seen one taking into account the more recent iterations of Goldeye, which have, the way I understand it, made the process easier.

Still, it is not obvious to me how to go about changing my 2-drive mirror pool to a 4-drive RAIDZ2 pool with twice the usable storage. I want to retain the two drives I have currently and add two like drives for the conversion.

What is the process?

Backup and rebuild, no other option…

Edit:
You could break the mirror, create a raidz2 with 3 disks, sync your data over and add the 4th disk to the raidz2, but you’d still have the space reporting bug after expansion…

1 Like

Backup, destroy, recreate, restore. There is no process to change a mirror into a RAIDZ2.

You could of course add the two new disks as another mirror VDEV to the same pool. Plus points:

  • seamless, no copying/moving of data
  • same capacity/redundancy ratio
  • pool will be slightly faster in terms of IOPS
  • faster resilver in case of an exchange of a failed disk

Minus point:

  • less resilient to failure - two disks can fail but they have to be the right two disks

And then if you have more than 50% free capacity there is of course the method to

  • create two sparse ZVOLs the size of the new disks on the old pool
  • create a RAIDZ2 pool with the two new disks and the two ZVOLs
  • copy the data from the old pool to the new pool
  • offline one disk of the old pool
  • replace one of the ZVOLs with the offlined disk and let the new pool resilver
  • offline the second ZVOL leading to a degraded new pool
  • destroy the old pool
  • replace the offlined ZVOL with the last old disk and let the new pool resilver

If you need a copy and paste recipe for that you are not qualified to do it and it seems to be consensus among the regulars that nobody wants to take the responsibility for you losing all your data should anything be wrong with the hypothetical copy & paste instructions.

So either

  • backup, destroy, recreate, restore
  • add a mirror VDEV instead of creating a RAIDZ2 pool

HTH,
Patrick

2 Likes

I started a new topic with my question about how to accomplish my goal through a different approach.