As much as I wish I could use Dell R510 servers for everything, sometimes you have to use what you have available. In reality, you can use much weaker hardware when creating a home lab, as it is the learning of how everything works together that is the primary purpose, not how fast everything runs (unless you are setting this up for production of course). So for my VMWare ESXi 5.1 server, I slapped together a a quad core E5620 Xeon CPU with a Supermicro board at work that we could not sell or use in production, used a 40GB SSD drive that I had in the basement as a backup machine, and bought 24GB of RAM from Newegg for $180.
The formal specs for the machine are
SuperMicro Homegrown Server 1 (Deadpool)
- Primary Purpose: Hypervisor
- CPU: Single Xeon E5620 (quad core)
- RAM: 24GB DDR3 ECC Registered
- OS Drive: 40GB Intel SSD
- Ethernet: Single NIC for storage network
- Ethernet: Single NIC for management network
The ESXi installation is pretty cake. You just install the disk, bootup, and next your way to fitness as the disc goes through the motion. If you want to install the ESXi kernel on a RAID, you have to spring for the fully paid version. So the single point of failure in my setup is the hard drive (well actually there are lots of single points of failure, but one of the items we will go into down the road is how to convert the disk images of the VMWare machines and load them up on our CentOS hypervisors).
Networking
The network side is pretty vanilla; eth0 is assigned to the management network, and eth1 is assigned to the storage network. The eth0 side is where you will use vSphere (VMware’s management program that runs on Windows only) to control the hypervisor and create new virtual machines. The eth1 side will be used to mount NFS shares (to create disk images on the network storage pools) and connect to iSCSI targets.
Virtual Machines
This will be a moving target, but the servers I anticipate running on the Deadpool hypervisor are:
- Punisher – Windows Server 2012: Active Directory/DNS/DHCP server
- Warlock – Ubuntu 12.04 Server: Apache server
- Nightcrawler: Ubuntu 12.10 Workstation: For managing the network and installing virtual machines using the graphical Virt-Manager program (runs on linux only)
- Ironman – Debian 7 Server: TFTP and PXE server (Foreman/Puppet packages)