I think I should write an article about building a server. This question pops up every now and then. Let me give you an overview for now.
For any home lab server, you need to consider these items:
- Power consumption
Let’s start with performance. What do you want to run on your server?
GNS3 doesn’t require too much resources. The IOS 12.4 routers on Dynamips require ~300MB each.
I use Cisco VIRL for 90% of my labs but it requires more resources. Take a look at their calculator. For example, the CSR1000v router requires 3GB of RAM. Maybe it can run with less memory but you don’t want to waste your time on bandaid solutions while you could be labbing.
Do you want to run any VMs or Docker containers? A simple Ubuntu server requires a minimum of 512MB. That’s enough if you want to run something simple like FreeRADIUS.
Want to run something like Cisco ISE? Even the evaluation version has a requirement of 16 GB of RAM.
If you have any routers or switches, I always advise to put them in a separate room. Doing labs next to a stack of noisy routers/switches isn’t fun
Most commercial servers from Dell or HP are noisy, especially rack servers. If you have a rack, look for an older Dell or HP server. For example, here’s a Dell R710 on Ebay:
That’s $500-600 for 128 GB of RAM and 12 physical cores (24 with HT).
Here’s a Proliant from HP:
This is a proliant G8, the current generation is G9. You can also look for the G7 which is cheaper.
I like these rack servers because you can plenty of CPU cores and memory. The downside is that they are usually noisy…some only at startup, others stay noisy. They have these tiny fans that make a high pitch sound.
Want something that doesn’t make much noise? You could build a PC and use that as a server.
The Intel NUC is also nice. Small and silent.
I always run the free version of VMWare ESXi. You should run everything you want as a VM on your server. Installation is easy and you get a nice web GUI to create/manage your VMs. Cisco offers VM images for most of their software products (like Cisco ISE).
Something to keep in mind with ESXi is hardware compatibility. If you install ESXi on your PC then it’s possible that it doesn’t recognize something like a network card. Usually you can fix this with a custom driver or adding another network card, but it can be a pain.
Usually ESXi works right away if you install it on a server from a vendor, like that Dell or HP servers. Be aware that you can’t always run the latest version. For example, I had some issues getting ESXi 6.5 to work on a HP Proliant G7.
If you want the most bang for your buck, a used server is probably your best bet. You get plenty of CPU cores and memory. The downside is noise and power consumption.
Do you intend to run your server 24/7? That Dell R710 server has an idle power consumption of ~150 watt.
Here in The Netherlands we pay ~ € 0.22 for 1 kWh. If you run that (idle) Dell R710 server 24/7 then it will cost about $22/month.
An idle Intel NUC only uses about ~15 watt, that’s only ~ $ 2 per month. Most commercial servers allow you to remotely power them on or off. That saves you some money, but it can be annoying to have to wait until things boot up. I also like to keep things running so that I can jump right in when needed.
First, think of what you want to run on your server and how much CPU cores / RAM you think you need. You don’t want to waste your time trying to run stuff with less than the minimum memory requirements so don’t be picky. You don’t need a lot of CPU cores but you do need plenty of memory.
Think about if you want to run your server 24/7 or not and where you are going to place it. Have an external room? I would get a commercial HP/Dell server since you get a lot of resources for your money. Want something next to your desktop or laptop? Consider an Intel NUC. They are more expensive but are quiet and power consumption is low.
Let me know if this is helpful or if you have any other questions ok?