Building a Home Server for Study Purposes
Some of my co-workers sometimes ask me how I set up a home server for study purposes and do advanced labs. As this has been a recurring subject, I decided to write this content to support those who want to follow this path. A home server can be very powerful, as nowadays you can buy cheap Xeon CPUs. It is also easy to upgrade.
Below I’ve listed the hardware I’m using on the home lab, with the relevant links for each component. Most of them were bough from Aliexpress, from reliable sellers.
Intel Xeon E5 2683 V4 E5 2683V4 2.1GHz, sixteen cores, 40M cache, 120W 14nm, socket LGA 2011–3. You can buy it here.
Hyper 212x LED Turbo / RR-212TK-16PR-R1. For more information click here.
I like smaller cabinets as they don’t take up much space. However, due to the reduced internal space, small cases tend to make the internal environment warmer than usual. Googling, I found a perfect solution to this problem: Masterbox Q300L from Cooler Master. For more information click here.
I’ve added 3 X 120mm Rise Mode Coolers. This is the model of the cooler I have. You can use whichever one you like.
Internally the Xeon I have works at 2133MHz. So it doesn’t make sense to spend additional money buying memories that have a higher clock rate. The setup is 8 X 32GB 2133 MHz DDR4. You can buy them here.
The best model of X99 boards for a home lab is a HUANANZHI X99 F8, as it has 8 RAM slots, several SATA ports, as well as NVME ports. You can buy one here.
Solid State Drives
In my environment I have several disks aimed for performance:
- 2 X SSD 2TB
- 2 X SSD 1TB
You can buy them here. I recently bought a SAS controller on eBay. SAS controllers can manage SATA disks as long as the proper cable is used. The idea is to create a RAID 0 with 2 SSDs in order to get better disk performance. If you have VMWare compatible NVMEs, these can be used.
I’ve created a RAID0 from 2 X 1TB SSDs. The performance is great, as the SAS controller outperforms the onboard SATA controller.
Hard Disk Drives
For cases where performance is not necessary, but the amount of free space for storage is, I used a traditional 4TB HDD. This is the model I have. You can use whichever one you like.
You will need at least a good 600W power supply. I have a 700W EVGA Power Supply model 100-BR-0700-K1. Click here for details.
Xeon CPUs doesn’t have Integrated Graphics, so you will need a GPU. I’ve used a old NVIDIA GeForce GT210 with 1GB VRAM. Any PCIe video card will do. But if you intend to use 3D acceleration or load applications that do GPU-accelerated calculations, then I recommend an NVIDIA 10 or 20 with 8GB VRAM. The NVIDIA drivers are more hypervisor-friendly.
The hypervisor is a VMWare 6.7 with custom drivers for the network cards, as the mother board has a Realtek onboard NIC. For information on how to customize the ESXi image, click here.
I turned off known mitigations for CPU vulnerabilities in order to get better performance for my environment. However, it’s not something I would recommend. Do this at your own risk.
For the Firewall service, I’m using pfSense with 4 virtual NICs:
- OSP External
This is the minimum configuration required for the subnets.
The DNS service is a Red Hat IDM. I used it because it is easy to setup, and requires no subscription.
- I also have a Satellite and a VM running VirtualBMC, as this last one is useful for OpenStack related tasks.
It is a simple home topology with a Gigabit Router and Switch.
You can create as many port groups as you like. I’d recommend to segregate network traffic using VLANs, as you may want to avoid mixing your home network traffic with you laboratory traffic.
My setup doesn’t consume a lot of electricity. But you can judge for yourself.
That’s it. Feel free to reach out if you have any questions.