Convert ZFS Mirror (RAID1) to ZFS Striped Mirror (RAID10)... Is this possible?

Jan 23, 2021
51
19
13
Hi all,

I'm going to be using 4x 1TB NVMe M.2 drives as my VM storage which I plan to run as a striped mirror. Currently, I only have two installed as I won't have the other two for a week or so.

I'm eager to get going with the setup though. If I were to create ZFS mirror of the two installed 1TB drives now, when I get the other two can I add them to the pool as another mirror to create a striped mirror akin to RAID10?

Thanks,

FS
 
Yes, simply add the 2 NVMe drives as an additional mirror. Old data will not be rebalanced though.
 
I see. So if I create a mirror now and then and a VM to it, it won't migrate that data when I add the second mirror.

I assume once the second mirror is added though it will automatically start striping across the two mirrors from that point on.

Is there a way to force a migrate? So any existing data on the initial mirror gets striped?
 
Sort of. Its risky but would/should get you there.
Since you have mirrors you can detach a drive from your existingirror.
Add it as a new (single vdev) alongside with your new mirror.
then reconfigure your pool to remove the original disk (remaining mirror disk).
In theory it should migrate the data to both (new) vdevs and rebalance. Once done, add the removed disk as a mirror to your single disk.

Have done similar things I. The past (but not with ZFS) - no warranties at all. Just a thought / idea ;)

You can also use this approach and create a new pool, sending data via zfs send. Removes the step of removing a vdev from the pool, hence it is likely cleaner. But in the end, you are running without redundancies some time again...