«

»

Aug 26 2013

vCloud Director Allocation Model settings – Allocation Pool

This will be the second article in the blog series about how the different vCloud Director (vCD), version 5.1.2, Organization virtual datacenter (Org VDC) allocation models affects the vSphere layer including the vSphere cluster resource pool backing the Org vDC and the virtual machines (VMs). The first blog post in the series covered the Pay As You Go allocation model and can be found here and the third and last blog post in the series covered Reservation Pool allocation model and can be found here.

This blog post is dedicated to the Org vDC allocation model Allocation Pool. The vCD is configured with the “Make Allocation pool Org vDC elastic” option enabled:
Screen Shot 2013-08-27 at 12.35.24
For the purpose of this blog post i created an Org vDC using the allocation model Allocation Pool keeping the “CPU resources guaranteed”, “vCPU speed” and Memory resources guaranteed” to its default values.
Screen Shot 2013-08-22 at 11.50.56
The “CPU resources guaranteed”, “vCPU speed”, “Memory resources guaranteed” applies to all vApp VMs in the Org vDC meaning you can not have e.g. a vCD controlled vCPU speed of 1 GHz for VM A and a vCD controlled vCPU speed of 2 GHz for VM B.

The vSphere cluster resource pool, Allocation-01 (4b47a4ef-ad08-47b6-839c-aaa048f7fc12), created when the Org vDC was created gets the following settings.
Screen Shot 2013-08-22 at 11.54.57
The vSphere cluster resource pool CPU Limit is configured immediately when the Org vDC is created and reflects the Org vCD CPU allocation configuration.
No vSphere cluster resource pool Memory Limit is applied, the Memory Limit is managed by vCD.

I created a vApp including 1 VM with 1 vCPU and 1024. Let’s take a look at a vApp VM settings which are viewed from vSphere web client since the resource allocation per VM is not managed through the vCD UI for the Allocation Pool Org vDC based VMs.
Screen Shot 2013-08-21 at 16.17.43

vApp VM CPU settings:
Screen Shot 2013-08-21 at 16.29.42
There are no CPU limits and/or reservations applied to the vApp VMs.

vApp VM Memory settings:
Screen Shot 2013-08-21 at 16.30.34
There are no Memory limits and/or reservations applied to the vApp VMs.

There is no change to the vSphere cluster resource pool when a vApp is created and left powered off.
The vSphere cluster resource pool configuration CPU Reservation and Memory Reservation options will be changed when a:

  • Org vDC CPU Allocation is changed
  • vApp is powered on
  • vApp is powered off
  • vApp VM is powered on
  • vApp VM is powered off

When powering on the vApp the vSphere resource cluster backing the Org vDC gets the following configuration.
Screen Shot 2013-08-22 at 12.17.53
The CPU Limit reflects the Org vDC CPU Allocation configuration, in my case 4 GHz.

The CPU Reservation is calculated using the following formula:

  • “Number of vApp VM vCPUs” X “Org vDC vCPU speed” X ”Org vDC CPU resources guaranteed”

The Memory Reservation is calculated using the following formula:

  • “vApp VM RAM configuration” X ”Org vDC Memory resources guaranteed”

Let’s also take a look at the Org vDC configuration. When i powered on:

  • 1 vCPU the Org vDC CPU allocation used changes to 1 GHz since my Org vDC vCPU speed is set to 1 GHz.
  • 1 GB RAM the Org vDC Memory allocation used changes to 1 GB since that is the maximum amount of RAM the powered on vApp VMs can use.
    Screen Shot 2013-08-22 at 19.13.26

This means the Org vDC CPU allocation used is calculated using the following formula:

  • Number of “Org vDC powered on vCPUs” X “Org vDC vCPU speed”

The Org vDC Memory allocation used is calculated based on the number of “Org vDC powered on GB RAM”

Im my case i’m running just 1 vApp containing 1 vCPU same time as i got 4 GHz CPU allocated to my Org vDC. When generating 100% CPU utilization within the vApp VM we can see that the Org vDC Allocation Pool vCPU speed configuration of 1 GHz does not take affect. The vApp VM uses 2500 MHz which is the maximum number of MHz the ESXI host CPU core can deliver.

The Performance tab in the vSphere Web Client.
Screen Shot 2013-08-21 at 16.10.45

Task Manager from within the vApp VM.
Screen Shot 2013-08-21 at 16.10.17

The below figure shows the vSphere cluster resource pool configuration when another (exact copy of the first vApp) is powered on. The CPU Reservation and Memory Reservation increases as expected.
Screen Shot 2013-08-22 at 12.17.24

The same time i power on vApp number two i can see that the Org vDC CPU allocation used and memory allocation used increases to 2 GHz and 2 GB.
1

The Org vDC vCPU speed configuration is used when determining how many vCPUs an Org vDC can power on.
The Org vDC vCPU speed is applied per vCPU when the maximum number of vCPUs per Org vDC are powered on and the CPU demand i higher than the Org vDC vCPU speed value.

To demonstrate this i created 4 vApps running 1 VM with 1 vCPU each. Generating 100 % CPU load within each VM results in the following performance graphs.
Screen Shot 2013-08-22 at 19.01.26

As you can see, all vCPUs are running at or near 1 Ghz which reflects the Org vDC vCPU speed configuration.

After powering on my 4 vApps the CPU allocation used and Memory allocation used are equal to the Org vDC CPU allocation and Memory allocation configuration and i can not powering on another vCPU and/or GB RAM.

Summary

  • The Org vDC configuration options are applied to the vSphere cluster resource pool backing the Org vDC.
  • There are not CPU Reservations, CPU Limits, Memory Reservations and Memory Limits applied per vApp VM.
  • The vSphere Cluster resource pool configuration options CPU Reservation CPU Limit and Memory Reservation are controlled by vCD.
  • Org vDC CPU Allocation Used is determined by:
    • “the number of vCPUs powered on” x “vCPU speed”
  • Org vDC CPU Allocation controls how many “vCPUs” X “vCPU speed” the Org vDC can power on.
  • Org vDC “CPU resources guaranteed” controls the vSphere cluster resource pool CPU Reservation. The value applies per vCPU.
  • Org vDC “vCPU speed” does not take affect until the maximum number of powered on vCPUs are reached within the Org vDC and all of the vCPUs demands more than the Org vDC vCPU Speed configured value.
  • Org vDC Memory allocation used is determined by:
    • The number of GB RAM powered on
  • Org vDC Memory allocation controls how many GB RAM the Org vDC can power on.
  • Org vDC Memory resource guaranteed controls the vSphere cluster resource pool Memory Reservation.
  • Org vDC maximum number of VMs controls how many VMs the Org vDC can power on unless the CPU and or Memory quota reaches its maximum value before the Maximum number of VMs is reached.
  • It is possible to set Org vDC configuration option “CPU resource guaranteed” to 0% percent. This setting can be used to avoid CPU Reservation on the vSphere cluster resource pool backing the Org vDC.
  • It is not possible to set the Org vDC configuration option “Memory resources guaranteed” to 0%, the lowest value is 20%.

4 comments

2 pings

Skip to comment form

  1. Preetam

    Quite interestingly we both are talking of same concept in different language.I’m blogging about it at http://vzare.com/2013/09/01/allocation-poolbehind-the-scenes/. That being said there is definitely more to learn from you.

  2. magander3

    thanks and back at you Pretam

  3. Hemanth

    Magnus thanks a ton for this clear explanation…

  4. magander3

    No problem. Good someone found it useful

    //Magnus

  1. vCloud Director Allocation Model settings – Pay As You Go | vcdx56

    […] (PAYG). The second blog post dedicated to the Org vDC allocation model Allocation pool can be found here. For the purpose of this blog post i created an Org vDC using the allocation model PAYG keeping its […]

  2. vCloud Director Allocation Model settings – Reservation Pool | vcdx56

    […] This will be the last (third) article in the blog series about how the different vCloud Director (vCD), version 5.1.2, Organization virtual datacenter (Org VDC) allocation models affects the vSphere layer including the vSphere cluster resource pool backing the Org vDC and the virtual machines (VMs). The first blog post in the series covering the Pay As You Go allocation model and can be found here and the second blog post in the series covering the Allocation Pool allocation model can be found here. […]

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">