A student recently was worried about the number of servers that they had allocated for their virtualization farm. There are a few tools out there that can do a pretty in depth analysis of your physical environment and usage and give you an estimate as to what resources you would need to virtualize all of your physical systems. VMware’s Capacity Planner tool is the most notable of these types of systems. But it costs and can take quite a while to gather enough information – usually at least 30 days.
For small companies this might not be feasible so you can get a rough, very rough estimate of the number of servers that you need by using this formula.
Number of VMs X amount of RAM needed by each VM = Total RAM
Total RAM / 4 = Total number of Cores
You can then use this number to figure out how many physical machines you need based upon the number of cores available. Then give it enough Physical RAM to support the Virtual Machines, allowing 10% of RAM for Service Console and VMKernel, etc.
So for 30 VMs that need 2 GB of RAM each you need at least 60 GB of RAM for the ESXi Server. You then calculate the number of Cores by dividing 60 by 4, which gives you 15 cores. If say you have 2 Way Quad Core machines with 32 GB RAM, you have 8 cores per machine. Thus each host can only support 16 VMs at most. But on the safe side you need to factor in 10% of the RAM will be used by the service console, VMKernel and other agents running on the host. Ten percent of 32 is 3.2, rounding up we get 4 GB of RAM thus we only really have 28 GB of RAM available and can only really support 14 VMs per host. Thus to support at least 30 VMs we need 3 hosts and if we want to failover support we will need an extra host. So to safely support at least 30 VMs we need 4 hosts.
Blog Author: Alicia T, brings to her classroom two decades of teaching experience and the expertise that comes from a prior career as an IT consultant. Specializing in teaching Microsoft, NetApp, and VMWare training software and programs, Alicia understands and emphasizes the connections between various tools and platforms in order to maximize student proficiency.