Close

14th September 2017

Objective 5.1 –Configure Multilevel Resource Pools.

Section 5 moves on to how to manage vSphere Resources. Starting with Objective 5.1 –Configure Multilevel Resource Pools.

As always this article is linked to from the main VCP6.5-DCV Blueprint.

Happy Revision

Simon

Objective 5.1 –Configure Multilevel Resource Pools

 

Determine the effect of the Expandable Reservation parameter on resource allocation

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.

Create a Resource Pool hierarchical structure

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

  • In the vSphere Web Client navigator, select a parent object for the resource pool (a host, another resource pool, or a DRS cluster).
  • Right-click the object and select New Resource Pool.
  • Type a name to identify the resource pool.
  • Specify how to allocate CPU and memory resources.

The CPU resources for your resource pool are the guaranteed physical resources the host reserves for a resource pool. 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. Sibling resource pools share resources according to their relative share values bounded by the reservation and limit.

  • Select Low, Normal, or High to specify share values respectively in a 1:2:4 ratio.

 

  • Select Custom to give each virtual machine 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.

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

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.

  • Click OK.

Determine how Resource Pools apply to vApps

You can configure the CPU and memory resource allocation for the vApp.

Before you begin

Required privilege: vApp > vApp resource configuration on the vApp.

About this task

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

Upper limit for this vApp’s CPU allocation. Select Unlimited to specify no upper limit.

  • In the Deployment section, click Memory resources to allocate memory resources to this vApp.

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

Upper limit for this vApp’s memory allocation. Select Unlimited to specify no upper limit.

  • Click OK.

 Create/Remove a Resource Pool

Create Resource Pool

  • In the vSphere Web Client navigator, select a parent object for the resource pool (a host, another resource pool, or a DRS cluster).
  • Right-click the object and select New Resource Pool.
  • Type a name to identify the resource pool.
  • Specify how to allocate CPU and memory resources.

The CPU resources for your resource pool are the guaranteed physical resources the host reserves for a resource pool. Normally, you accept the default and let the host handle resource allocation.

  • Click OK.

Remove Resource Pool

  • In the vSphere Web Client, right-click the resource pool and Select Delete.
  • A confirmation dialog box appears.
  • Click Yes to remove the resource pool.

Add/Remove virtual machines from a Resource Pool

Add a VM to a Resource Pool

  • Find the virtual machine in the vSphere Web Client inventory.
  • To find a virtual machine, select a data center, folder, cluster, resource pool, or host.
    • Click the VMs tab.
  • Right-click the virtual machine and click Migrate.
    • You can move the virtual machine to another host.
    • You can move the virtual machine’s storage to another datastore.
    • You can move the virtual machine to another host and move its storage to another datastore.
  • Select a resource pool in which to run the virtual machine.
  • Review your selections and click Finish.

Remove a VM from a Resource Pool

  • Browse to the resource pool in the vSphere Web Client navigator.
  • Choose one of the following methods to remove the virtual machine from a resource pool.
    • Right-click the virtual machine and select Migrate to move the virtual machine to another resource pool.

You do not need to power off the virtual machine before you move it.

    • Right-click the virtual machine and select Delete.

You must power off the virtual machine before you can completely remove it.

Determine appropriate shares, reservations and limits for hierarchical Resource Pools

Here are a couple of examples from the vSphere 6.5 documentation set.

Example 1

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.

Example 2

This example shows how a resource pool with expandable reservations works.

Assume the following scenario, as shown in the figure.

  • Parent pool RP-MOM has a reservation of 6GHz and one running virtual machine VM-M1 that reserves 1GHz.
  • You create a child resource pool RP-KID with a reservation of 2GHz and with Expandable Reservation selected.
  • You add two virtual machines, VM-K1 and VM-K2, with reservations of 2GHz each to the child resource pool and try to power them on.
  • VM-K1 can reserve the resources directly from RP-KID (which has 2GHz).
  • No local resources are available for VM-K2, so it borrows resources from the parent resource pool, RP-MOM. RP-MOM has 6GHz minus 1GHz (reserved by the virtual machine) minus 2GHz (reserved by RP-KID), which leaves 3GHz unreserved. With 3GHz available, you can power on the 2GHz virtual machine.

Now, consider another scenario with VM-M1 and VM-M2.

  • Power on two virtual machines in RP-MOM with a total reservation of 3GHz.
  • You can still power on VM-K1 in RP-KID because 2GHz are available locally.
  • When you try to power on VM-K2, RP-KID has no unreserved CPU capacity so it checks its parent. RP-MOM has only 1GHz of unreserved capacity available (5GHz of RP-MOM are already in use—3GHz reserved by the local virtual machines and 2GHz reserved by RP-KID). As a result, you cannot power on VM-K2, which requires a 2GHz reservation.