Migrate from Raid 1 to Raid 10

hi is it possible to go from a raid 1 to raid 10?

i have the following pool:

pool: zroot
state: ONLINE

config:

NAME                               STATE     READ WRITE CKSUM
zroot                              ONLINE       0     0     0
		    nvme1  ONLINE       0     0     0
 	    	nvme2  ONLINE       0     0     0

Can i just attach another drive to nvme1 to mirror it and after it resilvered do the same with nvme2 to get a fully redundant striped mirrored pool (raid 10)?

That’s not RAID1 you have there (a mirror vdev), that’s RAID0 (two separate single-disk vdevs). As things stand, you have no redundancy at all.

You can resolve this by zpool attaching a new drive to each of your existing vdevs, turning each one into a mirror vdev (this is the “RAID10” you are asking about, although we don’t really use that terminology in ZFS since it’s not entirely accurate).

root@yourpc:~# zpool attach zroot nvme1 newdisk1
root@yourpc:~# zpool attach zroot nvme2 newdisk2

This is what mirror vdevs look like in zpool status, for future reference:

me@banshee:~$ zpool status
  pool: banshee
 state: ONLINE
  scan: scrub repaired 0B in 0 days 00:37:41 with 0 errors on Sun May 11 01:01:42 2025
config:

	NAME                              STATE     READ WRITE CKSUM
	banshee                           ONLINE       0     0     0
	  mirror-0                        ONLINE       0     0     0
	    wwn-0x5002538e4982fef1-part5  ONLINE       0     0     0
	    wwn-0x5002538e4982ff33-part5  ONLINE       0     0     0

errors: No known data errors

Do you see the difference? This is REALLY important, because right now, if I lose one disk, I have no problems–but if you lose one disk, you lose your whole pool.

1 Like

right my mistake got 0 and 1 mixed up. i know there is no redundancy currently.

thanks for the reassurance i will attach the two new nvme’s as a mirrored vdev so i get a proper mirror.

1 Like