Trying to reorganize mirror strip

I have 4 x 4TB disks in mirror mode. Initially I had 3x4TB and it was enough, so when I added the extra 4 TB drive I just left it as is.

Now I got my hands on 2 x 8TB drives and I would like to do a STRIPE+MIRROR.

So I would have 16TB available as 8+4+4 (3 disks) and then this would be mirrored to 8+4+4 (another 3 disks).

Is that possible? When I clicked on Extend the pool simply grabbed the extra disk and now I have a 6-way 4TB mirror… I can’t seem to change the layout from MIRROR in the extend dialog…

I am on latest TrueNAS SCALE 25.04.1

I am not sure I understand your configuration.

You started with three 4TB drives and set them up as a 3-way mirror? For net capacity of 4TB? Or did you set them up as a stripe with capacity of 12TB and no redundancy?

When you added the fourth 4TB drive did you make it a 4-way mirror (capacity 4TB) or a 4-way stripe (16TB capacity and no redundancy)?

What you propose is sensible, a zpool made up of 2-way mirrors, the first being a pair of 8TB drives and then two more each consisting of a 2-way mirror of 4TB drives.

Please post output from /sbin/zpool status as preformatted text.

Apologies for the confusion. It was a mirror with 3 disks all having the same data. Then I added a 4th and it be came part of the mirror, so I have 4 copies of the data.

I did not mind because I had less than 4TB saved, but now I need more spaces. I got 2 extra drives that are 8TB (so double the size). But I did the same thing as when I got my 4th 4TB drive: extend the pool and apparently now the 2 extra 8TB drives are also part of the mirror and I have 6 copies of the data…

I want to have 2 copies of the data and 16TB available:

  • 8+4+4 = 16TB is one stripe
  • 8+4+4 = 16TB is its mirror

You need to go to the vDev screen and then you can remove 2x 4TB and 2x 8TB from the existing vDev.

Then you can go to the pool UI screen and add two new vDevs, the first with 2x 4TB drives and the 2nd with 2x 8TB drives.

Now you should have a pool with 3x vDevs, each 2-way mirrors, with a total useable space of 16TB or c. 14TiB.

This isn’t how it works - it is the other way around…

You start with mirror vDevs, and then you stripe them.

So its (4+4) + (4+4) + (8+8) rather than (8+4+4) + (8+4+4).

I would remove all but 2 of the drives form the existing zpool.

Then you have a choice. You can either add additional mirror pairs to that zpool. Or you can start building a new zpool and copy the data over.

The advantage to adding mirrors to the existing zpool is that you do not have to copy any data. The disadvantage is that new writes prefer the mirror pairs with the most free space. Since you will have unbalanced mirror (one 8TB and two 4TB) you will always have some of that.

The advantage of creating a new zpool is that from day one you will be balancing writes across all mirror pairs. the disadvantage is the need to copy data and a brief window of vulnerability when you move the existing 4TB drives into the new zpool.

Let me know which way you want to go and I’ll get you instructions.

P.S. I would go with adding onto the existing mirror zpool.

Ok so I should remove the disks from the mirror until I am left with a 2x4TB mirror. Then I create a new mirror with 2x4TB and that will pair them to give me 8TB. Then I make another pair of 2x8TB?

No.

Once you are down to just the 2x4 mirror, then in the GUI, open Manage Devices and then Add VDEV in the upper right.

When you get here

make sure width is 2 and number of vdevs is the number of mirrors (start by adding the 4TB).

Complete that change and then go back and do the same for adding an 8TB mirror.

Ok so I have followed the instructions and I now have 3 VDEVs, each is a mirror (2x4TB, 2x4TB and 2x8TB) and this worked nicely. The available space is now 16TB.

Thank you both for helping out!

1 Like