limit the availabe cores for virtualization

Waelder

New Member
Apr 2, 2025
1
0
1
Hello,
i need a technical way to
- limit which hosts can run a vm based on Operating system of the vm.
- Limit the number of physical cores which are available to to vms with a specific operating system

as you can guess this is a question is motivated by licensing question, and i plan for a hyperconveged cluster.

And i was told if i can technically limit the where a vm with a os from a speicifc manufacturer can run, and which cores are avalable, i can limit the amount of Licenses which i have to purchase.

so i need limit the avalabe cores for virtualization.
and on which server i can place vms.

My google fu found some ideas how that goal could probably be achieved. However, i couldn't find something like a "official" Feature.
 
hi

i'm not an expert on ha but you can create a group (of nodes) in datacenter -> ha manager and assign nodes to that group. then you can assing vm's to that group, that should limit the vm's to the nodes in the group. for the cores, you assign the number of vcores at creation of the vm (1vcore = 1 thread = 1/2 physical core if you have smt / hyperthreading enabled).

https://pve.proxmox.com/pve-docs/pve-admin-guide.html#ha_manager_groups

and for the licensing part, if you are talking about windows server, from my understanding you have to license the full physical hardware, it does not matter if the vm only uses some cores. if you use windows server standard you have to basically license all physical hosts double if you want to use ha. if you have 7+ instances it may be cheaper to license windows server datacenter.

windows server standard allows only 2 vms per full cores licensed, if you want to run 3-4 instances you have to fully relicense all cores again.
 
Welcome to the Proxmox forum, Walder!

As far as I know, there are no global configurations to limit either the physical core affinity and/or number of physical cores usable by an operating system type of VM guests.

But one option is that you can set the physical core affinity [0] for each virtual machine with the specific operating system, where you can set on which physical cores the guest will run on. As it says in the documentation, this has some downsides, but could be useful for your use case.

[0] https://pve.proxmox.com/pve-docs/chapter-qm.html#qm_cpu_resource_limits