Im coming from hyper-V and am testing proxmox for a production environment.
I have found a big problem with how PVE manages Host/Guest memory which leads to VMs crashing:
Tested Scenario 1:
Single Host with 128gb RAM
Host with 2 Win10 VMs with 96gb memory each in stopped state
Starting VM1 - no issues
Host memory 100gb allocated, ~20gb free
Starting VM2 -> NO CHECK BY PVE HOW MUCH HOST MEMORY IS LEFT
VM2 starts !!!
VM1 crashes !!!
Is this expected behaviour ?
Why is VM2 allowed to start ?
----------------------------------------------------
Tested Scenario 2:
proxmox cluster 3 Node (128gb Host RAM each) with ceph hyper converged
HA group with all nodes set up (default settings; no node priority, max restart&relocate=1)
all VM are Win10
Node1:
VM1 with 96gb RAM in started state
~20gb free Node1 memory
Node2:
VM2 with 96gb RAM in started state
~20gb free Node2 memory
Node3:
VM3 with 96gb RAM in started state
~20gb free Node3 memory
> cutting power of Node1 to test migration behaviour
Result:
VM1 migrated to Node2
VM1 gets started on Node2
already running VM2 on Node2 crashes because its memory is allocated to VM1 !!!
VM2 gets restarted (because of HA group setting)
VM1 crashes!
VM1 gets restarted
VM2 crashes
VM2 gets restarted
VM1 crashes again
and so on in a loop!
Is this expected behaviour ?
Why is the migrated VM1 allowed to start ?
How can I stop that from happening ?
----------------------------------------------------
This is a gigantic problem...
Why is there no check of free host memory before VMs are allowed to start ???
Other hypervisors do this!!!
Is there a setting I have overlooked ?
Is this a priority on the roadmap ? (which it fracking should be...)
I have found a big problem with how PVE manages Host/Guest memory which leads to VMs crashing:
Tested Scenario 1:
Single Host with 128gb RAM
Host with 2 Win10 VMs with 96gb memory each in stopped state
Starting VM1 - no issues
Host memory 100gb allocated, ~20gb free
Starting VM2 -> NO CHECK BY PVE HOW MUCH HOST MEMORY IS LEFT
VM2 starts !!!
VM1 crashes !!!
Is this expected behaviour ?
Why is VM2 allowed to start ?
----------------------------------------------------
Tested Scenario 2:
proxmox cluster 3 Node (128gb Host RAM each) with ceph hyper converged
HA group with all nodes set up (default settings; no node priority, max restart&relocate=1)
all VM are Win10
Node1:
VM1 with 96gb RAM in started state
~20gb free Node1 memory
Node2:
VM2 with 96gb RAM in started state
~20gb free Node2 memory
Node3:
VM3 with 96gb RAM in started state
~20gb free Node3 memory
> cutting power of Node1 to test migration behaviour
Result:
VM1 migrated to Node2
VM1 gets started on Node2
already running VM2 on Node2 crashes because its memory is allocated to VM1 !!!
VM2 gets restarted (because of HA group setting)
VM1 crashes!
VM1 gets restarted
VM2 crashes
VM2 gets restarted
VM1 crashes again
and so on in a loop!
Is this expected behaviour ?
Why is the migrated VM1 allowed to start ?
How can I stop that from happening ?
----------------------------------------------------
This is a gigantic problem...
Why is there no check of free host memory before VMs are allowed to start ???
Other hypervisors do this!!!
Is there a setting I have overlooked ?
Is this a priority on the roadmap ? (which it fracking should be...)
Last edited: