Building a Home Virtualization Lab
Building a personal home virtualization lab is easier and less expensive than you might think. This article will go into setting a budget, defining your goals, and buying exactly what you need.
To get started, the first this to do is to write down your goals for the lab and what software or configurations you wish to test and learn. This will give you an idea on the size you need and rough cost. This is a critical first step as it could quickly grow well beyond your needs and budget.
As with most technology, you have several options to get you started. You can build your own lab, use a free lab (like VMware HOL), or build one in the cloud through AWS or another provider. The options are almost limitless when you consider you can mix and match all these options to build your lab to your needs. This is why writing down your goals is a critical first step.
Some questions you should ask yourself when creating your goals are:
- What is my budget?
- How big do you need it to be?
- Will a physical or virtual lab fill my needs?
- Will it be a test lab, learning lab, development lab, or something else?
What is the Size and Budget of Your Personal Computer Lab?
Home labs are sized depending on the number and type of virtual machines you want to run at any given time. If you only need to run a few servers at a time, going with a small configuration is best.
Smaller configurations take less space, use less power, and will be a smaller investment. When I built my first lab, I took an older PC I had sitting in the closet and just ordered some extra parts from Newegg and presto, I was working within a few days.
Where to spend your money, CPU, memory, or disks?
If you think about how a regular computer works, memory is often the hardware resource that runs out first. The same is true for virtual servers so your host server should have as much memory as you can afford.
If you goal is to run several VMs at once, you will need enough memory to run each VM at the same time. If we assume most VM’s require between 2-4 GB each, in order to run 4 VM’s at a time, your host server will need at least 16 GB of RAM. Unused memory can be shared so over subscription is possible but be careful not to over allocate too much.
The other resource that is often in high demand on a host server is disk space. The more disk space you have, the more VM’s you can build and have ready to run when you need them. VM drives can be either thin or thick provisioned and the main difference is in a thick provisioned disk, all the provisioned space is allocated at once but with a thin provisioned vDisk, the space is allowed to grow as needed up to the max allocation. This is another great area where over subscription is common. It’s recommended to get the most out of your virtual lab but be careful not to over do it.
Basic Home Virtualization Lab Abilities?
My first ESXi server was really basic. It was built several years ago and its still running today in a closet in the basement. I added a 2 TB drive and 12 GB of memory, ordered a motherboard and quad core CPU, and I was up and running with the free version of ESXi 3.5 within hours. The total cost was between $300-$400. I also reused some older hardware to keep the cost down.
You can also build your small lab using VMware workstation or Player and use your desktop or laptop. There are lots of applications that can turn a powerful desktop or laptop into a small virtual personal computer lab. I personally use VMware Player but have also used VMware Workstation and I highly recommend them both. Using a software hypervisor, you will be limited in the number and types of servers you can run at one time but it is extremely low cost and very functional.
With my physical ESXi server and a TechNet subscription, I was able to build and learn and get hands on experience with many different Windows, Linux, server operating systems. I also was able to play with many different applications and configurations.
Using this lab, I could recreate different customer problems and look for ways to solve it. I learned PowerShell and even created nested ESXi servers and played with vSphere 4/5/6 too. Having a home lab is critical to staying knowledgeable with current technologies and platforms and even fun if you like doing this sort of geeky stuff.
Advanced Home Virtualization Lab
Over time, my lab has grown into several host servers. I also have many different virtual and physical routers and switches, and 3 NAS device to share VM’s between different hosts. Even though MS doesn’t offer TechNet anymore, you can get plenty of testing time with their evaluation software. If you have to reinstall to continue your learning, it only reinforces your installation knowledge. Time spent learning is a great investment in your future. Given that technology changes drastically every few years, it’s a critical part of your tool kit.
With a larger lab, you can play with much more advanced configurations and solutions. In my lab today, I have tested VMware vRA, NSX, SRM, Nagios, Log Insight, vOPS, and so many versions of Windows and Linux servers to count. I have installed and tested many different automation tools and other system management software. I have played with Hyper-V and Solaris too.
If you are interested in networking, you can also build and manage Software Defined Networking lab (SDN). Cisco has a free v1000 switch that can do layer 3 routing. You can also deploy several free Linux based routers and firewalls too. You can divide your network into logical parts and easily connect everything like it were a large corporate network. The learning is endless.
Having a home virtualization lab at home is a great investment in your success in the IT world. Your knowledge and hands on experience will grow with each hour you spend in there. If you enjoy learning and technology (as I do), then it will be a fulfilling and rewarding experience that should not be missed.
For me, the best choice was a dedicated homelab on dedicate hardware. Your needs may be fulfilled by a a software hypervisor or a cloud solution like Amazon AWS or MS Azure. Given the amount of time I spend in my lab, having a more powerful lab part of my requirements. If you don’t have the space, budget, need for large one, then go with a software solution.
I will go into many future articles on how to build and maintain a home lab so if you are interested in learning how, signup for our mailing list and be the first to know when I post new articles and information. Feel free to post a comment below and let me know what you think of the article. Tell us about your personal computer lab and how has it helped you in your career.