introduction
sometimes we face lake of ESXI physical resources like [CPU,RAM,Storage,]
which could effect performance of critical VMs that have more priority that other VMs
resource pools can be used to control usage of the CPU and memory resources of ESXi hosts
this article we will discuss the concept of resource pools , and how we can optimize usage of ESXI resources
what is resources pool
basically without apply resource pool : ALL VMs within ESXI host will share same percentage of resource utilization [CPU,RAM]
for example : if we ESXI host with 64 RAM and 20 CPU Core and 10 Virtual Machines >>
then each VM of 10 VMs with have same 4.6 GB RAM and 2 CPU core equally
we know that some VMs have more priority than other and need more resources than other VMs
the solution is to apply resources pool
resource pool facts
- Resource Pool : can be created ONLY under cluster à actually cluster itself is considered as root resources pool with limitation of physical CPU and RAM of ALL ESXI host inside cluster
- We can create resource pool nested [pool sub pool] à but it’s NOT recommended
- Resources pool required DRS to be enabled
- All running VMs in same pool à will share resources percentage
- VM can only be assigned to one Resource Pool
- VM can’t be assigned to RESOURCES POOLand vAPP at same time
resource pool options
when create resource pool : you can set the following options :
Shares
- high with predefined value 8000 unit
- normal with predefined value 4000 unit
- low with predefined value 2000 unit
Reservation minimum limit
- Specify a guaranteed CPU or memory allocation for this resource pool. Defaults to 0
Expandable Reservation
- When the check box is selected (default), expandable reservations are considered during admission control.
- If you power on a virtual machine in this resource pool, and the combined reservations of the virtual machines are larger than the reservation of the resource pool, the resource pool can use resources from its parent or ancestors.
limit : maximum limit
- Specify the upper limit for this resource pool’s CPU or memory allocation. You can usually accept the default (Unlimited).
- To specify a limit, deselect the Unlimited check box
resources pool example 1
when create resource pool : you can assign predefined value to resource pool :
- high with predefined value 8000 unit
- normal with predefined value 4000 unit
- low with predefined value 2000 unit
For example : if we have 15 VMs in 6 Resources pool as the follow :
- RP01 , RP02 as high >> 2*8000 = 16000 unit
- RP03 as normal >> 1* 4000 = 4000
- RP04 , RP05 ,RP06 as low >> 3* 2000 = 6000
So ….
we have 16000+4000+6000 = 26000 units
Then after calculation
- RP01 will have 8000/26000 = 30.1% of total mount RAM
- RP02 will have 8000/26000 = 30.1% of total mount RAM
- RP03 will have 4000/26000 = 15.3% of total mount RAM
- RP04 will have 2000/26000 = 7.7% of total mount RAM
- RP05 will have 2000/26000 = 7.7% of total mount RAM
- RP06 will have 2000/26000 = 7.7% of total mount RAM
what about VMs inside
fore example :
- VM103 belong to RP01 : will take 1/3 of 30.1% of total mount RAM [since RP01 have 3VMs]
- VM117 belong to RP03 : will take 1/1 of 15.3% of total mount RAM [since RP03 have 1VMs]
- VM055 belong to RP06 : will take 1/5 of 7.7% of total mount RAM [since RP06 have 6 VMs]
Delete Resource Pool !!
resource pool is physical structure of vSphere cluster [ as we said cluster is considered as resource pool it self ]
Don’t try to delete the resources pool >> this operation will delete also all the VMs inside it!
to Remove VM from resource pool
- You can remove a virtual machine from a resource pool either by moving the virtual machine to another resource pool or deleting it.
- Option1 à Right-click the virtual machine and select Migrate to move the virtual machine to another resource pool or to another vAPP
- Also we can à Drag the virtual machine to another resource pool.
- You do not need to power off the virtual machine before you move it.
- Option2 à Right-click the virtual machine and select Delete.
- Also à Right-click the virtual machine and select Remove from
- Inventoryor Delete from Disk
- You must power off the virtual machine before you can completely remove it.