I'd like to sell VPS (VMs) to the public. Currently using Proxmox has a hypervisor but I have a few questions.

Sheep4602

New Member
Feb 8, 2024
3
0
1
Hoping someone here is able to help! :)

Do we know of any method of restricted/monitor high CPU usage over a period of time? AKA, If a single VM has a CPU percentage at 100% for more than 60 minutes, reduce the resources for that user to prevent abuse?

Is this possible within proxmox?

Thanks in Advance.
 
Not natively. You'll need to research 3rd party management tools (garden modules, virtualizer, etc) to see if they offer functionality that you want.


Blockbridge : Ultra low latency all-NVME shared storage for Proxmox - https://www.blockbridge.com/proxmox
Thank you for taking the time to comment. I figured this was the case :)

Usually there is whmcs ,and ofc there is now open-source solution:
https://github.com/The-Network-Crew/Proxmox-VE-for-WHMCS
Thank you
 
As a rule, you should have your hypervisor monitored. You can detect a fundamentally increased load on a node and be alerted. For example, you can also use checkmk to monitor the interfaces of the VMs and thus determine increased bandwidth utilization. If you then have the metrics from PVE pushed directly to Graphite or InfluxDB, you can set an alert there and, for example, determine if a VM has a high CPU utilization over a longer period of time.

In addition, you should familiarize yourself with the limits in Proxmox VE and set them. For example, in a 1 core VM you should set the CPU limit to 0.95, this also ensures that no more than 95% CPU usage can be generated in the VM, but then the QEMU process on the node does not run at 110 - 120%. In addition to the restrictions on the VM itself, you should also make sure that the node also has certain limits and that the processes represent a burden even beyond the limits. You should also work with the storage limits, but you can also set them higher; these should just prevent a VM from putting so much strain on your hypervisor that it causes an impairment.

I wrote my own WHMCS module because the existing ones could never meet my sense of security. My hypervisor is in the internal network, the customer center gets API access in the background to carry out the actions, access to the noVNC console is controlled and routed via a HAProxy, which also validates the connection. These modules usually can't handle such things and that's exactly what bothers me.
 
As a rule, you should have your hypervisor monitored. You can detect a fundamentally increased load on a node and be alerted. For example, you can also use checkmk to monitor the interfaces of the VMs and thus determine increased bandwidth utilization. If you then have the metrics from PVE pushed directly to Graphite or InfluxDB, you can set an alert there and, for example, determine if a VM has a high CPU utilization over a longer period of time.

In addition, you should familiarize yourself with the limits in Proxmox VE and set them. For example, in a 1 core VM you should set the CPU limit to 0.95, this also ensures that no more than 95% CPU usage can be generated in the VM, but then the QEMU process on the node does not run at 110 - 120%. In addition to the restrictions on the VM itself, you should also make sure that the node also has certain limits and that the processes represent a burden even beyond the limits. You should also work with the storage limits, but you can also set them higher; these should just prevent a VM from putting so much strain on your hypervisor that it causes an impairment.

I wrote my own WHMCS module because the existing ones could never meet my sense of security. My hypervisor is in the internal network, the customer center gets API access in the background to carry out the actions, access to the noVNC console is controlled and routed via a HAProxy, which also validates the connection. These modules usually can't handle such things and that's exactly what bothers me.
This is really valuable information. Thank you for writing this. I'm planning on writing my own billing system and doing away with WHMCS completely. I've seen the API and its fairly easy to implement automation etc.

You seem to have experience? Any hints or tips? :)
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!