How to prevent node from hosting any VM/CT ?

Hi, I have a PVE cluster with 6 nodes : 2 regular nodes for virtualization (using their RAM/CPU for running VM), and 4 nodes for storage only (Ceph).

I'd like to exclude the "ceph" nodes from the migration targets. I don't want any VM to run (RAM/CPU) on those nodes.

Is there a way to disable the virtualization part of a node ?

Thanks

--
JL
 
Last edited:
You don't need to disable virtualization on the Ceph nodes.

If you're using Proxmox VE 9, use a strict HA Node Affinity rule to allow the VMs to run only on your two compute nodes:

ha-manager rules add node-affinity compute-vms \
--resources vm:100,vm:101,vm:102 \
--nodes "pve01,pve02" \
--strict 1
This way, HA can migrate the VMs between pve01 and pve02, but will never place them on the Ceph nodes.

On older PVE versions, the equivalent was an HA Group with restricted
 
  • Like
Reactions: UdoB
I don't want any VM to run (RAM/CPU) on those nodes.
In the GUI you can specify this via Datacenter --> HA --> Affinitiy Rules.

You'll find a "Help" button in the dialog, pointing to some documentation.
 
  • Like
Reactions: Johannes S and xybo
Thanks for the tips.

It seems that I need to define « HA Resources » in order to set a negative affinity, but that implies that I have to put all my VM in HA resources, where I have to set multiple values for re-balance, auto-start… which I'd rather not do for the moment. I' not sure that I need HA on this cluster.

I wished there was a simple way to say that a node must not play any virtualizatuion role, only storage.
 
Are the two nodes part of the ceph cluster? If not you could build two clusters and run a qdevice vm for the compute in the ceph cluster