Test, test, test, test.... I gotta test this new OS, I gotta try this new SQL server, I gotta try this new backup solution, I need to practice before doing a certification exam.. As an IT professionnal, the best way to learn is to try the things we learn, and like in anything in life, practice makes perfect.
Here is the problem, trying stuff out in IT can become expensive, running another lab portion of your network can become costly. A typical VMware environment with the capability to vmotion can cost thousands of dollars, 2 servers and a SAN. Even if you don't want a full VMware environment, just a server to run tests can be pretty hefty. What motherboard should I choose? Should I go for an "enterprise ready" motherboard? What about CPU? Should I go dual CPU? RAM? Drive space? What about the OS? Should I use ESXi? Hyper-v? Xen?
I have been thinking about this for a while, and lately I finally got the funds / the gear to assemble my home LAB. Here are the details:
Motherboard: ASUS P8Z77-V LX 134$
CPU: Intel core i5 3330 @ 3.0 GHz 190$
RAM: 4 x Kingston - 8GB 1600MHZ DDR3 NON-ECC CL11 DIMM 260$
Power supply: Spi - 650w eps 24/8 Pins Active PFC ROHS 100$
SSD: OCZ - Vertex 2 3.5" 120GB SATA II MLC Inter 105$
HDD: ST1000DM003 Seagate - Barracuda 1TB SATA Hard Drive w/ 7200R 90$
OS: Ubuntu 12.04 LTS Desktop FREE
Software: Virtualbox FREE
Case: ikea besta cabinet 65$
Total Cost 810$ CDN (before tax)
I know there are some things on that list that seem a bit strange, but I assure you, I will explain.
This motherboard was the cheapest I could find that could support the intel VT technology, costing me around 128$, its also a board I knew that played nice with Ubuntu in terms of drivers. The fact that it only supports 32GB of Ram and a single processor did not bother me, I know my virtualized environments will require about 2GB of RAM per VM max, which can allow me to run 16 VM comfortably
For the CPU, I didnt need a top of the line i7, but at least enough horsepower to work with 16 VMs. The i5 at 3GHz was a good match of speed and affordability.
I maxed out my RAM for the board. I wanted to because it beats re-buyi8ng 8GB chips to add to the system. When it comes to RAM, i didn't hold back.
I went for a 650W power supply, nothing too crazy, just something that will power the unit correctly (if it made noise, so be it).
SSD and HDD:
I went with an SSD and a HDD. I wanted the OS to boot up quick, and also if i needed the possibility of running VMs FAST. 120GB is sufficient for that, If I were to add VMs to the SSD, it would only be the OS virtual hard disk, which usually goes for 20GB. 1TB of Hard drive space is plenty for Data partitions, and ISOs.
So, why Ubuntu? Why not run ESXi Directly? If you have seen the HCL of ESXi, you would understand my frustration in building a home lab with it. The HCL is very reserved. It makes sense in an Enterprise world, but when your on a budget, you don't want to take a chance with it. I even went with the desktop version instead of the server edition, and went with a type 2 hypervisor instead of a type 1 !?!?! I'll expalin in the next section.
I chose virtualbox as my virtualization software. The only reason was because virtualbox is free. I would prefer using VMware's Workstation, but that is 250$ which would go over budget (maybe next time!). The reason I went with a type 2 hypervisor is that I would like to have the desktop on my lab setup. I know it sounds strange, but logging into my lab via VNC is something that gives me a sense of separation from my systems and I dont need to run tools on my production PC / Mac Laptop in order to run the lab, and diagnosing issues is simpler with the desktop version of Ubuntu rather than going all command line in the server edition or troubleshooting ESXi. Id rather be doing that in my lab, than rather the lab itself. Another pro is that I can manage my lab ANYWHERE with ANYTHING. Every iDevice and Android Phone has a VNC client, which means I can run tests while I'm in bed, or sitting down in front of the TV with my iPad 2, My MacBook, or my Windows 8 PC.
Here is another weird decision, furniture for a case? I'll explain. I wanted my casing solution to be future proof. Considering that this lab will cost me very little, I can actually add another system to my LAB, giving it the dual CPU / 64GB of RAM if I so needed, what i didn't want to re-invest was another case. I decided that I wanted my case to hold multiple instances of my current setup. So i went to IKEA, and got a cheap shelving unit for about 100$. When I assembled the unit, I left the back open to make sure that i wasn't suffocating the unit with heat. If i were to add another kit of MotherBoard / CPU / RAM / SSD / HDD, I would just use another shelf.
I got a screamer for a Lab, when I was testing an install of Windows server 2008 R2, it took about 3 minutes to complete a full install. Not bad! My only complaint with Virtualbox, is that it takes all the RAM that you allocated to the VM, instead of giving the VM what it needs and freeing up the resources for other VMs to run. Ahwell, if I need that, I will go to VMware Workstation.