Adding new vdev: unbalanced pool?

the_jest

Explorer
Joined
Apr 16, 2017
Messages
71
I'm not sure if this actually is/will be a problem, so I don't know if this question makes sense, but:

I have a pool with two two-disk mirror vdevs, using 10TB disks. This pool is now at 80% capacity, so I want to add another mirror vdev (with 12TB disks) to the pool to expand it. (I'd previously considered, and asked here about, converting the pool into a single RAIDZ2 vdev, but I'm not going to do that now.)

What are the repercussions of this in terms of the overall pool stability? That is, if I add another vdev, the existing data--which will be more frequently accessed, and more "important", than what I will be adding in the near future--will remain on the original two vdevs, which are presumably more fragmented than the new vdev. Is this correct, and if so, is it a problem? Is there any way to rebalance the pool so that the data is spread out better?

If it matters, this pool is used mainly for media storage and backups; the data doesn't change much.
 

AlexGG

Contributor
Joined
Dec 13, 2018
Messages
171
There are no repercussions in stability, as long as both newly added disks do not fail simultaneously (early failure because of a manufacturing defect). Do some burn-in on the new disks before you add them and that should be covered.

There is no automatic rebalancing. The existing data will remain on the existing vdev and will continue to work with the existing performance, assuming mostly read access. If you are satisfied with the existing performance, no action is required or needed. You add a new vdev to a nearly full pool, and in slow-changing dataset you just get more space with very little, if any, performance improvement.

To rebalance, well, there are methods involving sending dataset copies to the same pool, or copying the files around the same pool, but generally the results are not very predictable. It is perfectly safe to copy files around (given no operator error), but performance gains, if any, are difficult to predict. You will likely end up doing much activity for no useful gain. The good method to rebalance a pool after vdev is added is to back up the pool, delete everything, and restore from backup. However, from your description does not look like you require or need it.
 
Last edited:
Top