-
Notifications
You must be signed in to change notification settings - Fork 1.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
No. of CPU Cores in Compute Cluster doesnt display correctly when Cluster has oversubscription more than 1 #9693
Comments
@btzq |
@weizhouapache i see, is this expected? And if it doesnt take overprovisioning into account, does this mean the global settings will not work as intended for clusters with overprovisioning?
|
@btzq |
@weizhouapache Does this mean that:
Only triggers if the 'CPU' Field (Not # of CPU Cores) exceed the threshold? But not all CPUs are 2,000Mhz. AMD 9554 is 3.1Ghz. And in the scenario of a mix cluster, it becomes even more complicated? And when a node fails, how does cloudstack determine which remaining nodes the VM should failover to? |
all operations are based on "CPU". the |
@weizhouapache I went through this explanation: In this case, would it make sense for us to set 1.0Ghz all CPU? This would mean all instance have the same share. That way, the 'CPU' field will display the same value as the number of core allocated and remaining. We just have to make sure that 'CPU Cap' in the Compute Offering is disabled? That way, the number of remaining CPU is the same as the # of Cores left, and there will be no change to the guest VM performances? |
Yes, I think so.
|
Hey @weizhouapache , ive checked and it seems the GHZ metric comes from the individual host. Currently, our hosts are all set to 2.00Ghz. How do we change it to 1.00Ghz? Do we have to manually change in the DB? or is there a way to do it via API/UI or such? |
@btzq If all your hosts have the same cpu speed (in Mhz, no matter what the value is), I think the change is unnecessary. |
@weizhouapache i see, we just checked as well and it seems the Mhz is reported by the KVM Hypervisor. The lowest we can set it to is 1.5Ghz, which doesnt meet our requirements... We just want to accurately know the total Available and Allocated Cores (after Hyperthread + Oversubscription Ratio). We are going to try getting metrics via Prometheus to our Zabbix Server, then set triggers there. Hopefully we can get the info required from each cluster to create the triggers necessary... But this will only be a temporary solution. I think Cloudstack should handle this natively so operator can always ensure N+1 for failovers/node failures. |
Hi @weizhouapache , I have thought of another workaround but would like to check with you. All of our Compute Offerings are currently set to 1000Mhz. Is it possible to change it to 2000Mhz? If we could, the 'CPU Allocated' metric in each Cluster would have the right %. We just have to ignore the Mhz displayed in the Cluster. This solution only works if: The Mhz of physical servers within the cluster AND the Mhz in the Comptue Offering to be run on the cluster is the same. |
ISSUE TYPE
COMPONENT NAME
CLOUDSTACK VERSION
CONFIGURATION
OS / ENVIRONMENT
SUMMARY
We have 2 Compute Clusters:
Refering to the screenshot below, Cluster 1 is showing the correct No. of CPU Cores allocated.
But for Cluster 2, it seems inaccurate. The number of allocation exceeded whats available. Resulting in a UI error.
But the bigger problem now, is that both clusters have exceeded the allocation threshold, but there was no notification sent. And neither did cloudstack stop users from creating new virtual machines from the clusters.
Without this, Admins would not be able to ensure n+1 sufficient capacity in the event of a node failure.
In summary, there are 3 Issues:
STEPS TO REPRODUCE
EXPECTED RESULTS
ACTUAL RESULTS
The text was updated successfully, but these errors were encountered: