Why is it a bad idea to have CPU and memory reservations on every VM in a cluster? I am trying to find more information. Below is one good response. I would appreciate if anyone can offer additional feedback on this topic.
Setting memory reservation has impact on the VM itself and its surroundings. Setting reservation per VM is not best practice; it is advised to create resource pools instead of per V M reservations. Setting reservations on a granular level leads to increased administrative and operational overhead. But when the situation demands to use per VM reservation, in which way can a reservation be set to guarantee as much performance as possible without wasting physical memory and with as less impact as possible. The answer: set reservation equal to the average Guest Memory Usage of the VMs.
Pasted from <http://frankdenneman.nl/2009/12/08/impact-of-memory-reservation/>
Reservation on every VM is a bad idea because you are guaranteeing physical resources to the guest irrespective of the usage .
Eg. You guarantee 4 GB RAM to a VM but the usage in only 2 GB , in this case you are wasting 2 GB physical RAM which could have been used by other running VM's.
It is a good idea in the cases where you know the usage of the VM is high and it would need the guaranteed resources to continue working efficiently
This blog clearly explains the reservation
http://www.vfrank.org/2013/09/19/understanding-vmware-reservations-limits-and-shares/
By applying reservation on a VM it guarentees that the VM will get ALL its memory from physical memory and it will never do hypervisor swapping or ballooning , same goes for CPU as well.
With CPU reservations is making sure that a VM will always get access to physical cpu in a committed environment
PJ, thank you for the reply. However, I am looking why reservations for every VM is a bad idea. Or do you think it is a good idea in a certain case?
Reservation on every VM is a bad idea because you are guaranteeing physical resources to the guest irrespective of the usage .
Eg. You guarantee 4 GB RAM to a VM but the usage in only 2 GB , in this case you are wasting 2 GB physical RAM which could have been used by other running VM's.
It is a good idea in the cases where you know the usage of the VM is high and it would need the guaranteed resources to continue working efficiently
Thank you for the help.