I’ve been reading /r/homelab lately and I’ve seen some questions come up about what kind of hardware to get and what software to run on that hardware. I wanted to deep dive a bit into what you should look for and what you should avoid. Ebay is a bit like the Wild West – you might find a really good deal, or you’ll overpay for something that isn’t worth the money.
Old vs Trash Old
Unlike enterprises that need the latest and greatest hardware and support, this might be a bit painful to hear for some, but you, dear homelabber, do not.
Here’s the truth about enterprise hardware: it’s designed to last for 10-15 years. Maybe even 20. No, I am not kidding. It’s built to last for a reason. You’re probably used to your home computer needing a replacement every 5 years or less – that’s by design. It’s not made to withstand the abuse that actual enterprise hardware gets.
With that being said, depending on what exactly you’re looking to do in your lab will guide you with your hardware journey.
For me, I run a lot of HP Proliant DL160 G6 servers. I love these things. They were new circa 2009, but 10 years later, they’re still going strong. They feature dual Intel Xeon L5520 CPUs which are slow but they do the job I need them to do. These are also probably the bare minimum CPUs I’d recommend. They are pushing 11 years old now and starting to show their age. But I’ve been running modern operating systems on them no problem. I’m not running Plex or anything like that on these but Windows Server 2019, CentOS 7, Ubuntu 20.04 LTS. These servers are providing DNS, web sites, etc.
If you’re looking to become a seasoned sysadmin, an HP Proliant DL160 G6 is more than enough. Install Proxmox as the hypervisor (which runs the latest version – these will not run ESXi 6.5, let alone 7.0) and then go to town. This server with decent specs (32 GB RAM+ and hard drives) should cost $150.
Definitely avoid servers that are really old. Anything pre-2009 should be avoided. Cooling and energy efficiency has come a long way over the last decade. Brand new servers today barely draw any power and are whisper quiet. It was a different story a decade ago. Consider this: the Dell PowerEdge 2950 server was released in 2006. This beast doesn’t support virtualization (rather, modern virtualization), it consumes power for breakfast, and the fans stay loud. Don’t buy this server. Also stay away from cheap servers with CPUs like the AMD Opteron 1214 or 1385. These CPUs are old. So old, the newest version of CentOS I was able to install on them was CentOS 6 which is EOL. Running an EOL OS should be avoided at all costs.
Rent to Own (and Colo!)
So a way to get a decent server without paying all at once is doing what’s called “rent to own”. This is where a data center essentially “sells” you a server, but you make monthly payments. The “gotcha” or fine print on this is that it will usually take 1-2 years to pay off + you’re paying for hosting/colo and then after the 1-2 year term, you are welcome to have the server shipped to you or you can continue hosting it just paying the colo fees. Thoughout the years, I have had servers in my home, but I’d prefer to have them in a data center. So when I got back into homelabbing after a bit of a hiatus, I decided to go this route becuase of the following pros:
- Electricity adds up fast. I like having my lab on 24/7 but I don’t have to pay the electric bill. This means I can crank my server up to 100% utilization (thanks to Bonic) and just pay my flat colo fee. If I ran my homelab at 100% at home, my wife would murder me over the electric bill. And I’d probably need to buy stock in the electric company.
- Higher quality bandwidth. Data centers have redundant connections + premium peering. My home internet does not. In fact, home connections are low on the priority list (keep reading).
- Free hardware replacement while you’re leasing the server. This came in handy and saved my butt a few times – I got a server, within a few days I got SMART errors on the hard drive, and the data center had to replace the drive. Another server I got kept crashing. Eventually I traced it down to bad RAM. Once I was able to prove this, the data center replaced all the RAM in the server with different RAM. If you buy a server off Ebay, chances are you’re 100% on the line for replacement hardware.
- I can host public servers easily. Going back to the second bullet, most residental ISPs frown upon you running servers like web and email. They may even block ports like 80, 443, and 587. Data centers do not. So this is how I get access into my network – both via private VPN & reverse proxy.
- There’s no heavy rack in my house that’s a fire hazard.
There are some cons to “RTO” as well. You just need to see where these are on your priority list.
- Long terms. In order to actually own the hardware, you have to complete a term, usually 1-2 years. Some places may allow you to do an early buy out, but you’re still going to have to pay for 1-2 years, or whatever is left, up front.
- You might have to pay extra fees or overpay on a server. I’ve seen some RTO providers charge an additional $100+ per month on top of a $100+ per month hosting fee. Other providers may essentially be charging you $500 for a server worth $100.
- The server might not be nearby. This makes hardware upgrades and swaps expensive, especially if you have to pay for remote hands. This service can sometimes cost $100+ per hour. On top of which, even if you happen to be near the data center, you might not actually have access to your equipment.
- Shipping servers is expensive. If you decide you want your hardware in your house, you’re going to have to pay to ship it. This can cost a lot of money depending on weight. Some data centers will also charge to unrack and pack the equipment either at an hourly rate or a flat fee.
- You will still have a monthly cost, even after paying off the server. You have to pay for your colocation and this is a monthly fee. Granted, the colo fee will generally be cheaper than the server (in some cases, it may not. You’ll have to verify this with your data center).
- The hardware might really be worn in. A lot of RTO gear has had a full life already. Either it is off lease and has been purchased by a hardware recycler or the data center has decided to sell off some of their old servers – which were powered on and running 24/7/365 for the last 7 years. But the upside to this is that if the hardware does fail, it’s generally replaced for free by the data center (while they still own the server).
- There’s no heavy rack in my house that’s a fire hazard.
If you do decide you’d like to go the RTO route, I highly recommend Dacentec (this is my affiliate link). The servers are fairly priced and so is the colo. They mostly have rent to own servers as well as some “rent only” servers (they own these servers). Their RTO program is very good. After 12 months, the server is yours. You just contact them and let them know you want to convert it to colo. 1U of colo is $40/month which includes power and bandwidth. 2U colo will run you $50/month, 4U will run you $70/month. They also have fairly decent configs as well. For example, one of my favorites is the HP Proliant DL160 G6 with dual Intel Xeon L5520 CPUs, 72 GB RAM, and 2 TB HDD. This server runs for $75/month (as of this post) and then after a year, it will be $40/month since it is a 1U server.
Support is also really good. If you request an IP KVM, they’ll have it hooked up for you in under an hour (typically 30 minutes or less), whether it’s 2 AM or 2 PM, Christmas or a day in July.
Also keep in mind that these servers come unmanaged. That means you are responsible for the mangement of the server. Dacentec staff are there to just help with the hardware.
Have fun labbing! 😀