The coming months I’ll be focussing a lot on education and certification and for this purpose having access to a lab environment is crucial. Now, I used to have the luxury of having a couple of blade servers at work that I could use for this but as I switched jobs this is no longer an option. So the time has finally come for me to consider building a home lab. In the coming blog posts I would like to take you through my thought process when deciding on what to buy.
Thankfully there is a wealth of information available in the vCommunity on home labs. Especially William Lam did an amazing job of collecting information from the vCommunity and posting it here: http://vmwa.re/homelab.
The usual suspects are:
- 19″ rack server with high-end Intel Xeon CPU
- Workstation class PC with high-end Intel Xeon CPU
- SuperMicro with low-power Intel Xeon-D CPU
- Intel NUC with a Intel Core CPU
As it turned out deciding on what to buy for a homelab actually wasn’t all that different from the design process I would use professionally. I simply determined the risks, constraints, assumptions and requirements (RCARs) for the project.
- Not having the knowledge to build a custom PC
- Have the device sit idle most of the time
- Environmental constraints
- Budget constraints
- CPU compatibility
- Can’t think of any, but that’s probably the dunning-kruger effect.😉
- Scalable; start off with a single node
- Nested vSAN at first, ROBO and full deployments later on
- The ability to house an ESXi compatible 10GbE NIC
I won’t go into detail for each of these topics as the reasoning behind then are very use case specific. But the point that I wanted to make is that if you take the time to define RCARs this totally helps your decision making process. It will absolutely help you deciding based on facts rather than emotion.
The requirements part does deserve some elaboration. Because once you have a homelab server what the heck will you do with it? Well, to take the guesswork out of that I gathered a couple scenarios. And took the system requirements for the products involved.
Please note that these are the requirements simply for the products involved. Add to that the virtual machines needed to run your workload and you find your actual requirements.
Now with this all said and done I think most scenario’s will fit within 128GB RAM and 1TB of storage, provided that most thin provisioned storage won’t actually be used. And on the CPU front most of the scenario’s will stay below a vCPU:pCPU ratio of 4:1 given that you have 8 physical cores at your disposal. Enough to prevent any serious performance degradation. These requirements can be met with a simple Intel core series CPU. It is only when you start to build more complex virtual infrastructures like with vCloud Availability when you really need a second node.
And the winner is…
In the end I decided on a Shuttle XPC barebone based system which will meet all my requirements. More details on the bill of materials and the build itself will follow in another update.