# One min design guide of 40, 2GB VM’s

Inspiration is coming from word “Let’s challenge”, If I know something then I must be in a position to explain it well and how much well I know, it would be seen in the comments. So here is design requirement, create virtual farm for 40 Virtual Machines with each 2GB RAM.This is strict requirement.

Total RAM Required

40 VM’s X 2GB (RAM) =80 GB RAM

Design best practice is to keep 4GB/Core (Reference: Advanced Technical Design Guide (Ron Oglesby, Scott Herold and Mike Laverick)

So we will need 20 Cores (80/4=20)

Hardware Selection

I chose 8 core machine i.e. 2 Way Quad Core machine (is explained in next blog)

8 Cores and 4GB/Core, I can easily host 32 GB RAM in total. So hardware will be 2 Way Quad Core and with 32 GB RAM

Total Number of Virtual Machines

Taking 4GB/Core and 2GB requirement for each VM, We can host only 2 VM’s/core.

So  2(VM’s/Core) X 8(Core) =16 VM

Out of total compute capacity let’s reserve 10% for service console, VMKernel and other host management agent.

10% of 32GB RAM comes to =3.2 GB RAM approx 4GB (I know very high amount)

So we are left to manipulate only 28 GB RAM (32 – 4 ) i.e. 4GB RAM less which means 2 VM’s less.

So by this calculation we can host safely(Very Very) 14 VM’s/Host.

Total Number of Host

We are asked to host 40VM’s.

40 (VM’s)/14 (VM’s /Host)=2.8 approx #3 Hosts

14 (VM’s/Host)  X 3 (Hosts) =42 Total virtual machines

And to consider a failover capacity of one host, we can add one more host.

Total number of host will be 4 with one host failover capacity. Failover capacity will also take care of maintenance activity like patches

Conclusion

So total Memory resources =32GB RAM X 4 host =128 GB RAM

Total VM’s=40

VM’s/ Host=40/4=10 VM

If one host fails, 3 host will be able to accommodate 40 virtual machines i.e. 40/3=13 VM’s host.(We designed 14/host, which means we can add 2 more VM’s)

This is one min design guide. There are still many parameters to consider. Definitely if we need to consider over committed benefit through TPS,Ballooning, I think we can add more VM to this 4 node cluster. But how many more VM, that is topic for next blog.

## 7 comments on “One min design guide of 40, 2GB VM’s”

1. Thanks for nice writeup preetam. Looking forward to hear other design aspects from you.

Thanks,
Sitaram

2. prashant

nice write up. but i thought service console requires 1 core i.e. vcpu0

• For which 10% of memory and CPU has been granted

3. Sunil

Hello,

Good write-up.

But one comment. The Vcpu requirement is missing. Although the design satisfies the memory requirement, the processor is under utilized. The general rule of thumb for deciding VM density is – 3-5 Vcpus per core. Even if your VMs require 2 Vcpus, from CPU point of view, with 3 Vcpu/core, you could host close to 12 VMs and with 5 VPCus/core, you could host upto 20 VMs.

• Thank you Sunil for the feedback. In general memory is considered as constraint. So design was primarily driven by memory consideration.