[pve-devel] adding a vm workload scheduler feature

Alexandre DERUMIER aderumier at odiso.com
Tue Nov 17 08:23:22 CET 2015


Hi,

For next year,
I would like to implement a new feature : workload scheduler

This could allow auto migration of vms, to try to balance the vms across the cluster,
from defined rules (for example, try to balance cpu usage)

ovirt and vmware have this kind of feature :

http://www.ovirt.org/Features/oVirtScheduler
https://www.vmware.com/fr/products/vsphere/features/drs-dpm

I would like to start with balancing cpu usage.

for example:

node1 : 90% cpu usage
node2 : 30% cpu usage
node3 : 60% cpu usage.

and we define a target under 70% cpu usage for each node.

so node1 will try to migrate 1 or more vms (need to algorithm to find which vm migrate), until it each max 70% cpu usage.


What do you think about it ?


As we don't have master node, I don't known how to implement this:

1) each node try to migrate his own vms to another node with less cpu usage.
   maybe with a global cluster lock to not have 2 nodes migrating in both way at the same time ?


2) have some kind of master service in the cluster (maybe with corosync service ?),
   which read global stats of all nodes, and through an algorithm, do the migrations.

Don't known which way is better ?


Regards,

alexandre



More information about the pve-devel mailing list