Building a whitebox Home Lab

Overview

After wrapping up courses for an IT-related degree, I realized I had little real world experience. So little that I was immediately dropped for consideration of even an entry level add-and-remove-users-from-active-directory position when I acknowledged I didn’t have much experience in Active Directory User and Computers.

Regardless of the merits of their reasoning, many employers will not risk hiring employees without specific real world experience. What can you do about this if you are interested in the field of IT but don’t have much experience? You can create this experience yourself!

Plan things out

What you use in your home lab should reflect your interests and goals. You will find many variations in network, storage and server equipment and services or software depending on what experience you are aiming for. This post assumes you want experience in the virtualization and systems side of things.

Be sure to budget out what you can afford and plan accordingly. If you aren’t in the best financial shape, the last thing you want is to fall into the trap of realizing you didn’t plan things out and now need to spend more and more on components in order to get up and running.  Make sure to research your choices to ensure they are compatible with other hardware and software you plan to use.

What do you need?

We’ll start with the basics. You should ideally invest in a UPS device that will cover the system you run your virtual environment on. I knew this, yet made the mistake of starting a number of Microsoft labs while my lab PC was still upstairs for convenience after being built, sans UPS. When the power went out, AD and DNS weren’t the same, even when spread across a few VMs. Next time the UPS will come upstairs at build time : )

If you will be connecting to this computer remotely, transferring files, or building a cluster of servers, you should ideally be using CAT 6 Ethernet to provide gigabit speeds.  I run my computers through a cheap but solid gigabit switch behind my router.

Now you need a computer! If you have access to a fancy rackmount or old server from work, they should do the trick. You could also pick up a whitebox from Dell, HP, or your vendor of choice. I’m a bit picky and like to specify exactly what goes into my computers; if you want an optimal computer, don’t need vendor support, and pick the right components, this is always a good route.

What goes in the computer?

There are two primary bottlenecks in most virtual environments: Storage IO and RAM. You need to prioritize your budget and build around these core components.

Storage

One SSD that will hold VM files at the very least. 256 GB should give you decent breathing room, 2x 256 GB SSD drives will be more than optimal. Check my next post on why SSD is an absolute requirement for any lab where you plan to virtualize one or more computers.

Optional storage

One regular hard drive for temporal / large files, two or more regular hard drives for backups

RAM

RAM is more straightforward, but equally important. Most consumer motherboards and the free ESXi hypervisor will limit you to 32 GB. If you have the budget, go for 32 GB. Cut down on your CPU budget before you cut down on RAM.

CPU

The basic idea here is that more cores are better. Hyperthreading gives you two threads per core, essentially doubling your cores. Make sure you get the features you need; for example, with an Intel option you would want hyperthreading, VT-x and EPT, and VT-d if you want direct passthrough. Keep in mind VT-d requires both CPU and motherboard support. I went with an i7-3770 as this provides 8 threads. Intel Xeon E3 is another option, but keep in mind this will push up your budget with ECC RAM. This site will let you search/filter/compare Intel processors.

AMD is certainly an option and may help you if you are limited in budget. They offer some solid price per core options. That being said, I generally stick to Intel.

Motherboard

Look for the features you need. You probably want to limit your search to boards with SATA 3 and USB 3. I wouldn’t be concerned with onboard LAN; even Intel chipsets might not work in ESXi or have signed Server 2012 drivers yet. If you want VT-d support, good luck finding a motherboard. I found it quite difficult to pair up a well-reviewed board with the features I wanted and VT-d support on top.

NIC

ESXi can be quirky with NIC support. As mentioned above, some built in Intel ethernet adapters won’t work in ESXi, and may not have signed Server 2012 drivers. I ended up with a dual port Intel Pro/1000 adapter. You can generally find these on sale and they have a solid reputation.

Power Supply

Get what you need, nothing more. I personally prefer a high efficiency module PSU. Keep your PSU in mind when selecting a UPS device. For example, if you pick an active PFC power supply, you will need a Pure Sine Wave UPS system or you might run into issues…

Case

Pick something that fits everything you need, offers good airflow, and meets any specific criteria you have (e.g. if you have it in sight, you might want to steer clear of the neon-lit monstrosities).

What did I end up with?

I had the convenience of not needing anything right away. I waited for each component to hit a nice sale before diving in, used credit cards with reward opportunities, and when possible used FatWallet.com cash back vendors. slickdeals (popular or trending deal links) and fatwallet will help you find sales. There was no ‘everything arrives today!’ feeling, but it was worth saving a few hundred dollars : )

  • UPS: CyberPower CP850PFCLCD PFC Compatible 850VA 510W Pure Sine Wave Tower UPS
  • Case: Azza Genesis 9000B Full Tower Case – I love this by the way; it is indeed a monstrosity, but it fits everything I need and was significantly cheaper than comparable cases.  I keep it out of sight in the basement.
  • CPU: Intel Core i7-3770 Ivy Bridge 3.4GHz (3.9GHz Turbo) LGA 1155 77W Quad-Core Desktop Processor
  • Motherboard: MSI Z77A-GD80 LGA 1155 Intel Z77
  • RAM: G.SKILL Ripjaws X Series 32GB (4 x 8GB) 240-Pin DDR3 SDRAM DDR3 1600 (PC3 12800) Desktop Memory Model F3-1600C9Q-32GXM
  • Backplane: Thermaltake MAX-1562 Storage Bay Adapter
  • SSD: 3x Samsung 830 series 256 GB
  • HD (Backups): 2x Western Digital WD Green WD20EARX 2TB 64MB Cache SATA 6.0Gb/s 3.5″ Internal Hard Drive
  • NIC: Intel EXPI9402PTBLK PRO/1000 PT Dual Port Server Adapter
  • PSU: Seasonic 560W 80 Plus Gold ATX 12V/EPS 12V Power Supply – X-560 SS-560KM

computer

Where can I get more help?

There are a number of online resources that can assist in your home lab build. Google or Bing will be quite helpful, and the following resources may help:

What’s next?

Hypervisors, software and lab guides. I went with Windows Server 2012 / Hyper-V, and most of the software I am trying can be found through DreamSpark, TechNet or MSDN. After diving into why you need an SSD, I will post a follow up on picking a hypervisor for your lab and where you can acquire software for testing.

Advertisements

2 thoughts on “Building a whitebox Home Lab

  1. Hey thanks for posting this. I’m part of /r/homelab too and I love to hear others posting their whitebox info. I have a question about it, do you plan on integrating your UPS into ESXi so that it can shut down the VMs when power runs out? Also on that note is there any plans to monitor the batteries in the UPS? I’m still trying to figure out this for my own sake and wondered how others are approaching it. I see that it comes with PowerPanel® Personal Edition but it doesn’t as far as I can tell do any SNMP polling. I don’t have the budget to do anything like this yet but enjoy bouncing ideas off of other people who are.

    • Hi Kari,

      I only recently ended up integrating UPS with my whitebox. For my purposes, there was no reason to risk letting the UPS run things at all; I have it configured to immediately shut down Windows (running Server 2012 w/ Hyper-V for now).

      Monitoring the battery is an interesting idea. When I get to testing various monitoring platforms at home I’ll probably give that a try, but that won’t be for a while. I assume it’s something you will find in enterprise level products, perhaps not in consumer models like the one I picked up.

      Good luck with your setup!

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s