adding disk to upgrade mirror array

Status
Not open for further replies.

Grinas

Contributor
Joined
May 4, 2017
Messages
174
Hey,

I have a 3TB mirror array but it after reaching the 80% usage limit. Im just wondering if i was to add another 1 or 2 disks to the array could upgrade it to a RAIDZ1 or RAIDZ2 array or will i have to copy everything off an create another array from scratch?


If yes, how would i go about it?

Thanks
 

Nick2253

Wizard
Joined
Apr 21, 2014
Messages
1,633
Unfortunately, ZFS can't convert from a mirror to a parity vdev.

You have a couple options:
  1. You can copy your data out as you suggest, and create a new array from scratch.
  2. You can add a second mirrored vdev to your pool.
If I were in your shoes, I would probably go with the second option, simply for ease of use. However, depending on the exact situation, the first option may be better. I notice that you have two separate pools, each with two drives (I'm assuming in a mirrored vdev each). You could easily combine those into one pool of two mirrored vdevs. The advantage of this setup is the increased IOPS that you get from multiple vdevs. Adding a third vdev would improve this even further.
 

Grinas

Contributor
Joined
May 4, 2017
Messages
174
Unfortunately, ZFS can't convert from a mirror to a parity vdev.

You have a couple options:
  1. You can copy your data out as you suggest, and create a new array from scratch.
  2. You can add a second mirrored vdev to your pool.
If I were in your shoes, I would probably go with the second option, simply for ease of use. However, depending on the exact situation, the first option may be better. I notice that you have two separate pools, each with two drives (I'm assuming in a mirrored vdev each). You could easily combine those into one pool of two mirrored vdevs. The advantage of this setup is the increased IOPS that you get from multiple vdevs. Adding a third vdev would improve this even further.

yes they are in mirrored vdevs.

well the the 2tb array is just a duplicate of the important data on the 3tb. was planning on removing it and adding 2 * 3tbs.

can i combine my 2 current arrays even though they are of different sizes?

adding a third vdev isn't possible as my power supply and the number of sata ports i have are maxed out plus i dont have the physical space in my T20.
 

Nick2253

Wizard
Joined
Apr 21, 2014
Messages
1,633
can i combine my 2 current arrays even though they are of different sizes?
Absolutely! There is no limit on combining vdevs in a pool. However, mixing hugely disparate vdevs (e.g. SSD and HDD, or 4TB and 100GB) is probably not a good idea. Within a vdev, you generally want to match disks, because a vdev's size and speed is limited by the smallest, slowest drive.

It's really up to you if striped mirrors or RAIDZ2 is better for your application. Striped mirrors will definitely give you better performance, and it will make it easier to upgrade in the future (you can upgrade one vdev at a time, or add additional vdevs if you move to a new server). However, RAIDZ2 will give you better reliability (any two drives can fail, and your array will still work, vs striped mirrors, where the wrong two drives will destroy your pool).
 
Status
Not open for further replies.
Top