I want to prevent Linstor from creating a diskless disk.
I used the --replicas-on-same and --replicas-on-different, which works when creating a VM from Proxmox-8, but not when migrating to a node that is not supposed to be a peer.
The goal is to prevent Proxmox from migrating a VM to a node that is not allowed/not a peer.
It will always create a diskless disk.
I’m wondering if the “auto-diskful” feature in LINSTOR would be useful in this situation?
This wouldn’t prevent an admin from migrating a VM to a node that doesn’t already have a fully populated local replica of that VMs LINSTOR resource, but it would cause the diskless assignment that gets created to become diskful after a configured amount of time.
As I reread your question I’m wondering if maintaining data locality isn’t the problem you’re trying to solve. Are you instead stating that Proxmox itself will choose hosts as migration targets that break the --replicas-on-same and --replicas-on-different rules you have in place?
The reason auto-diskful would be useful here is that LINSTOR cannot make Proxmox do anything, it is external to LINSTOR and outside of its control. LINSTOR creates a Diskless assignment so that the data can be reachable in reaction to the resource being requested from a node that does not have that data present there. So auto-Diskful will then start replicating the data to that node that does not have it present there in the case the data is being InUse there, versus accessing that data non-locally via the tcp connection, as that is generally more desirable.
Per the documentation Matt linked earlier,
On some platforms that you integrate LINSTOR with, you might not have a way to influence where in your cluster a storage volume will be used.
Hope that helps in understanding where the suggestion came from, it is a feature aimed to assist in cases where you would not be able to control where the VM is migrated to.
However, per the Proxmox documentation linked (here),
There are settings to control the behavior of such migrations. This can be done via the configuration file datacenter.cfg or for a specific migration via API or command-line parameters.
So it sounds like in this case, you’d be able to define your migration behavior parameters within Proxmox itself.
thanks for your reply.
I think this concept is quite useful in a homgene cluster but unfortunately we have different kind of nodes and some VMs are not allowed to run on the slower nodes.
But I’m wondering what is the best practicise solution for a streched cluster across two sites.
I think this use case should not be that out of the world.
It sounds like you may want to use the Static-Load Scheduler option that is currently in tech preview per the Proxmox documentation.
In the case of LINSTOR, it is not able to control where your resources are moved, only Proxmox is. Because of this, there would not be a way to use LINSTOR to control where VMs are migrated. I would suggest following up with Proxmox support to see what options there would be and the steps you could take to prevent the scheduler from migrating to those nodes but that would be out of the scope of LINSTOR.