VMware Cloud Community
iceman76
Enthusiast
Enthusiast
Jump to solution

Memory not fully usable in allocation pool ?

Hello,

we are having some "problems" with Org vDCs which are deployed under the allocation pool model. It is not possible to use the allocated RAM by 100% (or any value close to 100%). When trying to start VMs we get a resource allocation error from vCenter (insufficient resources....). When looking at the resource pool it turns out, that "Used reservation" is larger than the sum of reservation of the already running vms.

Example

Org vDC has 13GB RAM allocated with 20% guarantee = Resource Pool gets 2662 MB of reservation

VM1 is configured with 5GB RAM = gets Reservation of 1024MB

VM2 is configured with 6GB RAM = gets Reservation of 1229MB

Sum of VM reservations =  2253MB

From the customers point of view it looks as there are still 2GB of RAM available, from a (calculated) RP view there are still 409 MB available which are 20% of 2 GB RAM. So the customer configures a new VM with 2GB, tries to start it, but it is not working because of insufficient resources.

When looking at the resource pool in detail it is somehow clear why it fails. The used reservation is 2521 MB, so only 141 MB are available. Thats about 700 MB usable for the customer.

I believe that this has to do with the overhead of the VMs, although the resource pools overhead value does not explain that difference

That also happens when using other percentages of guaranteed RAM.

That behaviour is - although somehow understandable - annoying.

To avoid support calls from customers complaining about that issue there are 2 (in my opinion) possibilities

1. Explain customer the situation/reason and tell them to order more RAM. First of all i don't believe that the majority will understand it or cares. And as long as we can't calculate how much more is needed it is a no go.

2. Add a buffer to the ordered amount of RAM. That is what we do right now - we add 10%. It works, but the customers see that they have more RAM available than they ordered. Integration with billing is difficult, too.

Are other users of vCloud Director aware of that issue, too ? Is ist planned to "fix" that in future releases ? Like vCloud Director auto adjusting RP reservation limit somwhow.

Best regards

Carsten

0 Kudos
1 Solution

Accepted Solutions
IamTHEvilONE
Immortal
Immortal
Jump to solution

Is this in vCloud 5.1.2 or 5.1.0/5.1.1? If you are on 5.1.2 and using a single cluster for allocation pools (non-elastic)  you might want to force it into elastic mode.

explanation is here for the Memory usage:

Allocation Pool Organization VDC Changes in vCloud Director 5.1.2

View solution in original post

0 Kudos
5 Replies
IamTHEvilONE
Immortal
Immortal
Jump to solution

Is this in vCloud 5.1.2 or 5.1.0/5.1.1? If you are on 5.1.2 and using a single cluster for allocation pools (non-elastic)  you might want to force it into elastic mode.

explanation is here for the Memory usage:

Allocation Pool Organization VDC Changes in vCloud Director 5.1.2

0 Kudos
iceman76
Enthusiast
Enthusiast
Jump to solution

That is 5.1.2, so i am able to force it into elastic mode. Please correct me when i get it wrong : elastic Mode adjusts the RP every time a VM is created ? And it will take the reservation into account, so that we won't run into that issue ?

When we enable it, what about the existing org vDCs ? Will they be converted, or do i have have to change that manually ? And last question 🙂 Since we made all memory allocatiosn bigger than needed, will we be able to reduce it to the size the customer ordered ?

0 Kudos
IamTHEvilONE
Immortal
Immortal
Jump to solution

Elastic Mode adjusts the RP every time a VM is created? When we enable it, what about the existing org vDCs ? Will they be converted, or do i have have to change that manually ?

Elastic mode is just a statement of how we treat the Allocation Pools.  There are some slight differences between how we calculate and assign resources between Elastic and Non-Elastic.  The check mark determines that mode.  However, if you want to have more than one resource pool backing an Allocation Pool (Elastic vDC), then you must have the feature enabled.

And it will take the reservation into account, so that we won't run into that issue ?

Each allocation model handles reservations (guarantee) in their own way.  There is a white paper on this.  http://www.vmware.com/files/pdf/techpaper/vCloud_Director_Resource_Allocation-USLET.pdf

Since we made all memory allocations bigger than needed, will we be able to reduce it to the size the customer ordered ?

You can either reduce the amount of Memory Assigned (Allocation) or Reduce the Guarantee (Reservation as a %).  Both these will reduce the overall consumption.  Remember that an 80% Guarantee allows for a 20% overcommitment of a given resource type (vCPU/vMemory).

0 Kudos
iceman76
Enthusiast
Enthusiast
Jump to solution

Just wanted to inform you, that we tested it with "forced elastic mode". It did work like a charm - with both new and existing vDCs. With existing vDCs the RP configuration was changed to "expandable" as soon as a vm was powered on, or RAM allocation was changed within vCloud Director. We are now able to use 100% of allocated RAM. It is not possible to use more RAM than allocated (eg. powering on a new vm, when no RAM is available)

So - all is well. Thank you.

0 Kudos
IamTHEvilONE
Immortal
Immortal
Jump to solution

So one of the key differences is that Non-Elastic pools assign vRAM overhead to the Organization vDC.  Elastic vDC pools assign vRAM overhead to the Provider (Parent Resource Pool).

0 Kudos