Hello everyone! Could someone please advise me or perhaps provide a link to the documentation: does LINSTOR have any mechanism for balancing resources between nodes based on used or free space? Or maybe someone can share a best practice. I’m using thin volumes that have currently grown on one of the nodes, and free space is running out in the storage pool. At the moment, I’m solving this by manually migrating DRBD resources. I found the BalanceResourcesEnabled option, but as far as I understand, this option balances by the number of resources, not by the currently used space. Please suggest possible ways to solve this problem.
Possibly at time of provisioning:
If there are multiple storage pools assigned to the resource group you’re using, and you don’t specify which storage pool to use, then Linstor will choose the “least used” one based on the algorithm linked above.
The documentation is unclear as to whether this is also taken into account when deciding which nodes to create replicas on (even when the resource group has only a single storage pool). That is, at least after constraints have been satisfied.
But once replicas have been placed, I’m pretty sure Linstor will never move them proactively based on storage pool usage - either to a different SP on the same node, or to a different node. You have to monitor it and take action yourself, as you are doing.
Note that you can limit the overprovisioning on thinpools in the first place:
However this doesn’t necessarily help if you create snapshots, because these can cause a volume to consume more than its declared size.
The origin of your problem, is that as you are using Cloudstack, and there nearly everytime you will use in the background linstor rd clone which can only clone the diskful resources. So it places the new resources on the same nodes as the origin resource (the template).
We currently lack any operation to afterwards “rebalance” the resource to use different nodes, we have plans to either do some sort of rebalance on newly cloned resources or extend the rebalance task to also take autoplacer rules into account, the first might be easier to do for now.
Meanwhile you could help yourself if you would change the diskful placement of your most used templates to use “empty” nodes.
Hi @candlerb Thank you very much for your reply and useful information. It seems that software defined linstor is becoming manually defined for me
.
@rp9 Hi Rene! I did some research, and you’re absolutely right. Everything is exactly as you described. In my case, it’s an Ubuntu 24.04 template. Thank you very much for this information, I hope this will be resolved in the future, For now, I’ll follow your advice.