VMware licensing : vRAM entitlement explained
The release of VMware vSphere 5 comes with a new licensing model. This model is based on licensing “per CPU with vRAM entitlement limitation”. As I mentioned in my previous licensing post this is a difference with regards to the previous vSphere version. :
“Also I need to mention that VMware changed it’s licensing model from a “per CPU with core / physical memory” to a “per CPU with vRAM entitlement limitation”. No longer the limitation is on the amount of cores or physical RAM memory in a server, but the limitation is in the amount of virtual memory (vRAM) consumed by the hosted virtual machines.”
In this post I will try to explain the per CPU with vRAM licensing model by using the example below. I hope this will make things a lot easier to grasp. After all it’s about licensing, so it’s about money! And in the end you don’t want to end up in a situation that you’re unable to power-on new virtual machines.
In the example we have 2 ESXi host that both have 2 processors. The amount of cores does not matter anymore when using vSphere 5. There is no longer a limitation on the amount of cores or the amount of physical memory in a server. But as mentioned above, VMware has introduced a new limitation with regards to licensing : vRAM entitlement.
vRAM entitlement comes with each “per CPU” license. The amount of vRAM depends on the vSphere edition that is being used.
* vSphere 5 Standard Edition gives you 24 GB vRAM
* vSphere 5 Enterprise Edition gives you 32 GB vRAM
* vSphere 5 Enterprise Plus Edition gives you 48 GB vRAM
So this means that for each CPU license that you buy, you’ll get a certain amount of vRAM entitled. In the example above there are 2 physical CPUs in each ESXi host. Making a total of (2 x 2 = ) 4 physical CPUs you’ll need to license for VMware vSphere 5. In the example I’m using Enterprise licenses, which entitle me to 32 GB of vRAM per CPU license. This makes a grant total of 128 GB of vRAM which I can use.
The total vRAM is also known as a vRAM entitlement pool. This is the combined total of all the ESXi hosts managed by a vCenter instance or a set of linked vCenter instances. Every vRAM entitlement is aggregated into one pool which can be used by all virtual machines managed by vCenter.
The usage of vRAM comes with the amount of virtual machines that is powered-on. Each time a virtual machines is powered-on, licensing will check if enough vRAM is available in the vRAM pool. The amount of vRAM used by the virtual machine is then added to the total amount of vRAM used by all virtual machines combined.
The total of the used amount of vRAM must be equal of lower then the total amount of vRAM in the vRAM pool. If this is not the case, the virtual machine will not be powered on and you’ll need to buy more licenses or upgrade to a higher vSphere Edition (if possible).
In the example above we have 18 virtual machines, all configured with different amounts of vRAM per virtual machine. The total amount of vRAM used by all virtual machines is 68 GB.
So looking at the example again. I’ve got 128 GB of vRAM in my vRAM pool. At this moment I’ve got 18 virtual machines that combined have a vRAM usage of 68 GB.
So to calculate the amount of vRAM I still have left I need to take total licensed vRAM minus the vRAM that is already used by the virtual machines :
Total licensed vRAM – Used vRAM = Available vRAM
In the end this comes down to 128 GB (Total licensed vRAM) – 68 GB (Used vRAM) = 60 GB of vRAM that still available for new “to-be-powered-on” virtual machines.
I hope this gives a good impression of how the vRAM entitlement works in vSphere 5. For more information have a look at the VMware vSphere 5 Licensing, Pricing and Packaging Whitepaper over here.
Update : PowerCLI guru Luc Dekens already wrote a Powershell scrip to verify if your vSphere environment is covered by the new vRAM licensing model. See for yourself over here.