Change Pool Type from RAIDZ1 to Mirrors

Myriad

Dabbler
Joined
Feb 13, 2018
Messages
14
Want to change my existing 3 disk RAIDZ1 to twin Vdev Mirrors (10tb drives). Will this work:
  1. With my spare disk create a new pool 'Test' and replicate Z1 pool onto it. Scrub.
  2. Fail a disk in RAIDZ1 pool and add it to the 'Test' pool. Resilver - Scrub.
  3. Rename Z1 pool and Rename 'Test' pool to old Z1 name.
  4. Destroy old Z1 pool and add remaining 2 10Tb drives to new mirrored pool (renamed as old Z1).
 

danb35

Hall of Famer
Joined
Aug 16, 2011
Messages
15,504
Your plan looks pretty good, though the scrubs don't seem necessary and there's nothing to resilver in step 2. Be aware that between the time you destroy the old pool, and the time the remaining two disks are resilvered into the new pool, you won't have any redundancy.
 

Myriad

Dabbler
Joined
Feb 13, 2018
Messages
14
Thanks Dan. I was reading Jim Salter's excellent ZFS blog and he likes mirrors over Z1. I will back up first obviously.
 

danb35

Hall of Famer
Joined
Aug 16, 2011
Messages
15,504
I'm familiar with that post, and while I don't agree with his conclusion as an absolute (as is obvious if you look at my .sig), he does make some good points, and I'd particularly favor mirrors over RAIDZ1.

To give a little more detail, I'd probably adjust your last two steps like this:
  • Destroy old pool
  • Rename new pool to old pool
    • Note that there's no way to do this in the GUI; it needs to be done at the CLI
      • zpool export newpool
      • zpool import newpool oldpool
      • zpool export oldpool
      • Then import "oldpool" (which will be the new pool, but with the name of the old pool) through the GUI
  • Extend each vdev in the new pool with an additional disk--the two disks that are left over from the old pool
 
Top