I’m testing a template with “FREE_CPU” placement policy (Host rank policy “load-aware”), because my cluster has two servers (64+104 cores) and I would like that users not have to worry about selecting one or other server, but scheduler choose the server with more free CPUs.
With this configuration, first 40 instantianted VMs should go to second server because this one has 40 CPUs more. But, when the number is similar in both servers, I would like that each instantiation goes to each server, one for first server, one for second server and so on. However, I have read that “FREE_CPU” is updated in each monitorization interval (cycle) (Virtual Machine Template — OpenNebula 6.4.0 documentation), so if I instantiate 20 VMs at once, probably these 20 VMs will not go 10 to first server and 10 to second server, but they will go, maybe, to the same server because “FREE_CPU” is not being updated during instantiation of these 20 VMs.
Is there any configuration way for correcting this behaviour? I suppose I can modify monitorization intervals but, what will be the correct values to allow my desire behaviour?
In my OpenNebula cluster, it is normal that users instantiante a large number of VMs at the same time (they are students and, during class, they are running theirs VMs for academic purposes during teacher’s explanation). So, for example, en 5 minutes, users hay have instantiated 30 VMs.
My monitor.conf file contains:
PROBES_PERIOD = [ BEACON_HOST = 30, SYSTEM_HOST = 600, MONITOR_HOST = 120, STATE_VM = 5, MONITOR_VM = 30, SYNC_STATE_VM = 180 ]
I have check in /var/log/one/monitor.log that each server is monitored each 120 seconds. If I change “MONITOR_HOST = 120” to “MONITOR_HOST = 30” (for example), could be a monitoring problem? With these reconfiguration, FREE_CPU will be update more quickly?