I was building a nested demo environment for vCloud Director 5.1 / vSphere 5.1 and noticed a few quirks that affected how I spec’d my hosts.
I deployed vCD on RedHat, a vCenter VM, and an ESXi 5.1 host. I then created a DRS cluster, created a provider vDC and tried to create an org VDC only to be told I didn’t have enough CPU or RAM to create it.
Interesting, my hosts have two 2.6Ghz CPUs and 3GB of RAM. I tried to create a resource pool on the cluster and max out my RAM reservation and got a surprise.
Even tho the host had 3GB of RAM, the largest reservation I could set was 870MB.
I found a KB article talking about the allocation set for the system and checked mine. It was set to the default of 0 for RAM – but would let me set it up to 2999MB
Curiouser and curiouser said Alice.
I bumped up the RAM to 3250MB and my problems went away, at least as far as VCD. It even fixed the “not enough CPU” error – though I did not change the CPU.
Just to entertain myself I changed the RAM in the host a few more times.
2750MB RAM gave me 1142MB Resource pool (yes, a larger pool than 2999MB)
2500MB RAM gave me 962MB Resource pool (yes, also larger than I got a 2999MB)
This had better not be a problem in a production environment – or at least if you are provisioning 3GB hosts to support your cloud you have much bigger fish to fry! – but you might want to start the hosts for a nested Cloud build with 3250+MB of RAM.