Another topic today covering VMware vsphere resource pools, which are also on a list of topics towards Professional vSphere 6.7 Exam 2019. We follow VMware blueprint and all topics you can find on our VCP-DCV 2019 Study Guide page. The work in progress page gets updated almost daily. So today's topic is VCP6.7-DCV Objective 1.7 – Describe and identify resource pools and use cases.
Resource Pools (RP) can be grouped into hierarchies and used to partition available CPU and memory resources, based on hierarchies. Each host and DRS cluster has root resource pool (invisible) which does not appear as RP because it's always the same, as it sits at the root of each host/cluster.
You can create child resource pools out of the resource pool, which owns some resources of the parent RP. RP can contain other RPs, VMs or both. You can create a hierarchy of shared resources.
This guide is available as Free PDF!
Free Download at Nakivo – VCP6.7-DCV Study Guide.
Determine the effect of the Expandable Reservation parameter on resource allocation
Expandable Resource Pool – The system considers the resources available in the selected resource pool and its direct parent resource pool. If the parent resource pool also has the Expandable Reservation option selected, it can borrow resources from its parent resource pool.
Borrowing resources occur recursively from the ancestors of the current resource pool as long as the Expandable Reservation option is selected. Leaving this option selected offers more flexibility, but, at the same time provides less protection. A child resource pool owner might reserve more resources than you anticipate.
Create a Resource Pool hierarchical structure
Resource pools always start at the root level. Each standalone host and DRS cluster has (invisible) root resource pool. You have to enable DRS first in order to create a resource pool.
Note: DRS is available in vSphere Enterprise and Enterprise Plus editions.
Resource Pools should be used when you would need to limit or to guarantee resources to VMs. By having resource pool you don’t have to guarantee the resources to VMs individually, but only at the pool level.
When you power on a virtual machine in a resource pool or try to create a child resource pool, the system performs additional admission control to ensure the resource pool’s restrictions are not violated.
Before you power on a virtual machine or create a resource pool, ensure that sufficient resources are available using the Resource Reservation tab in the vSphere Web Client. The Available Reservation value for CPU and memory displays resources that are unreserved.
How available CPU and memory resources are computed and whether actions are performed depends on the Reservation Type, Fixed or Expandable.
The system does not allow you to violate preconfigured Reservation or Limit settings. Each time you reconfigure a resource pool or power on a virtual machine, the system validates all parameters so all service-level guarantees can still be met.
Configure custom Resource Pool attributes
- Navigate to the Host and Clusters view (View > Inventory > Hosts and Clusters)
- Right-click on the resource pool you want to edit and select Edit Settings…
- Change the name if desired
- Change the CPU Shares, Reservation, Expandable Reservation and Limit if desired
- Change the Memory Shares, Reservation, Expandable Reservation and Limit if desired
CPU Resources
Normally, you accept the default and let the host handle resource allocation.
Shares – Specify shares for this resource pool with respect to the parent’s total resources. The amounts of shares you allocate to a resource pool are relative to the shares of any sibling (virtual machine or resource pool) and relative to its parent’s total resources. Sibling resource pools share resources according to their relative share values bounded by the reservation and limit.
Different types of shares – Low (1), Normal (2), or High (4) which specify share values in a ratio. Or you can select Custom to give each RP a specific number of shares, which expresses a proportional weight.
Reservation – Specify a guaranteed CPU or memory allocation for this resource pool. Defaults to 0. A nonzero reservation is subtracted from the unreserved resources of the parent (host or resource pool). The resources are considered reserved, regardless of whether virtual machines are associated with the resource pool.
Limit – the upper limit for this resource pool’s CPU allocation. Select Unlimited to specify no upper limit.
Memory Resources
Shares – Memory shares for this resource pool with respect to the parent’s total. Sibling resource pools share resources according to their relative share values bounded by the reservation and limit. Select Low (1), Normal (2), or High (4), which specify share values in a ratio.
Select Custom to give each virtual machine a specific number of shares, which expresses a proportional weight.
Reservation – Guaranteed memory allocation for this resource pool.
Limit – the upper limit for this resource pool’s memory allocation. If you give RP limit 32Gb RAM it will never receive more RAM even if the host/cluster is able to allocate more. Select Unlimited to specify no upper limit.
Expandable Reservation – When the checkbox 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.
Determine how Resource Pools apply to vApps
You can configure the CPU and memory resource allocation for the vApp, but first, make sure that you know which privilege you must have.
Required privilege: vApp > vApp resource configuration on the vApp.
Reservations on vApps and all their child resource pools, child vApps, and child virtual machines count against the parent resources only if those objects are powered on.
Navigate to a vApp in the inventory and click Edit vApp Settings > In the Deployment section, click CPU resources to allocate CPU resources to this vApp.
Shares – CPU shares for this vApp with respect to the parent’s total. Sibling vApps share resources according to their relative share values bounded by the reservation and limit. Select Low, Normal, or High, which specify share values respectively in a 1:2:4 ratio. Select Custom to give each vApp a specific number of shares, which express a proportional weight.
Reservation – Guaranteed CPU allocation for this vApp.
- Reservation Type – Select the Expandable check box to make the reservation expandable. When the vApp is powered on, if the combined reservations of its virtual machines are larger than the reservation of the vApp, the vApp can use resources from its parent or ancestors.
- Limit – the upper limit for this vApp’s CPU allocation. Select Unlimited to specify no upper limit.
- Shares – Memory shares for this vApp with respect to the parent’s total. Sibling vApps share resources according to their relative share values bounded by the reservation and limit. Select Low, Normal, or High, which specify share values respectively in a 1:2:4 ratio. Select Custom to give each vApp a specific number of shares, which express a proportional weight.
- Reservation – Guaranteed memory allocation for this vApp.
- Reservation Type – Select the Expandable check box to make the reservation expandable. When the vApp is powered on, if the combined reservations of its virtual machines are larger than the reservation of the vApp, the vApp can use resources from its parent or ancestors.
- Limit – the upper limit for this vApp’s memory allocation. Select Unlimited to specify no upper limit.
Create/Remove a Resource Pool
To be able to create Resource pool you must enable DRS. Select Hosts and clusters > Manage > vSphere DRS > Edit > Check the Turn ON.
The easiest way to create resource pool is perhaps the Right click at the cluster > New resource pool…
Add/Remove virtual machines from a Resource Pool
It’s possible to use both clients. Drag and drop… -:)
Or when creating new VM, during the wizard creation you’re asked whether you want to place the VM into specific resource pool…
If the resource pool does not have enough resources to guarantee the virtual machine reservation(s) then the move into the resource pool will fail (for a powered-on virtual machine).
Resource Pool Admission Control
Prevents you from power on VMs which violate RP restrictions. Before you power on a virtual machine or create a resource pool, ensure that sufficient resources are available using the Resource Reservation tab in the vSphere Client. The Available Reservation value for CPU and memory displays resources that are unreserved.
How available CPU and memory resources are computed and whether actions are performed depends on the Reservation Type.
The reservation type can be:
- Fixed – The system checks whether the selected resource pool has sufficient unreserved resources. If it does, the action can be performed. If it does not, a message appears and the action
cannot be performed. - Expandable – The system considers the resources available in the selected resource pool and its direct parent resource pool. If the parent resource pool also has the Expandable Reservation
option selected, it can borrow resources from its parent resource pool. Borrowing resources occurs recursively from the ancestors of the current resource pool as long as the Expandable Reservation option is selected. Leaving this option selected offers more flexibility, but, at the same time provides less protection. A child resource pool owner might reserve more resources than you anticipate.
I highly recommend getting all the PDF called vSphere Resource Management when studying for the exam.
Example of Expandable reservation (from the PDF):
Assume an administrator manages pool P, and defines two child resource pools, S1 and S2, for two different users (or groups).
The administrator knows that users want to power on virtual machines with reservations, but does not know how much each user will need to reserve. Making the reservations for S1 and S2 expandable allows the administrator to more flexibly share and inherit the common reservation for pool P.
Without expandable reservations, the administrator needs to explicitly allocate S1 and S2 a specific amount. Such specific allocations can be inflexible, especially in deep resource pool hierarchies and can complicate setting reservations in the resource pool hierarchy.
Expandable reservations cause a loss of strict isolation. S1 can start using all of P‘s reservation so that no memory or CPU is directly available to S2.
Use the official documentation as well as your home lab for the study. Follow the progress of the VCP6.7-DCV Study Guide page for further updates.
Do not rely on our guide ONLY, when it will be completed. Use other resources, your home lab, and, also an official VMware documentation.
More posts from ESX Virtualization:
- Cool Free VPN Server Software SoftEther VPN
- What is The Difference between VMware vSphere, ESXi and vCenter
- How to Configure VMware High Availability (HA) Cluster
- VMware Desktop Watermark Free Utility is Similar to BgInfo
- VMware DRS Entitlement Viewer – Free Tool
- How To Reset ESXi Root Password via Microsoft AD
Stay tuned through RSS, and social media channels (Twitter, FB, YouTube)