I’m pretty much new to all things homelab as I’ve only started looking into it because of my job. I’m relatively new to my position (first job I got after getting my degree), so I wanted to learn more about virtualization and other related tools that could help me.
I want to practice using VMs and such. VMware vCenter, ESXi, PowershellCLI, Microsoft Windows Servers, RHEL, and others. And while my work does provide me a remote production environment for these, it’s not always available to me. A lot of other people work on them and I can’t really just go in and start messing around.
So I’ve been looking into getting a homelab setup for myself. I’m just not really sure what I should be going for, though. Do I get a Dell Poweredge Rxx0? I do have a PC of my own that I’ve been using with Hyper-V and VMware Workstation to create VMs of what I mentioned, but I dunno if I should just get a dedicated server or not? Should I just upgrade my RAM and add in some SSDs on my PC and would that work fine for me?
Something to keep in mind, those poweredges are loud. If you don’t care about the noise or if you won’t have it turned on all the time maybe it doesn’t matter. There are ways to get the server quieter, but if noise is a concern then it would be easier and maybe even cheaper to build a server yourself. You don’t need a Xeon to do VMs, you don’t need a metric fuck ton of ram, don’t feel like you need “enterprise” level of gear to learn and have fun.
I have a proliant 2u and I punched a hole in the wall between my office and garage just to get it out of earshot.
I’m going to disagree on RAM. If you have some cast-off hardware like I do, maxing out the ram is the cheapest way to get older hardware performing decently.
I found an old 3u server chassis and put a regular atx motherboard power supply in it. 4 noctua 80mm fans and it’s relatively quiet for a server.
So if my PC had 32gb of RAM, I should be fine with running VMware vSphere, Windows Server 2016 AD DC, and some Linux VMs that could run other tools like system monitors and such on it together? At least for just practice and not really running them 24/7 like an actual server would?
Don’t torture yourself by trying to host anything on a Windows machine (“server” edition or not). And yes, 32gb is more than sufficient.
Oh, I was just trying to copy what they have at my workplace, since it would be better if I was familiar with it. And it did work out great since I was able to fix a bug and complete a task that they had for a while thanks to setting up a VM of Windows Server DC and fiddling around with it and RHEL.
Is hosting on a Windows machine not ideal? Don’t really have much experience with other OS to make a good assessment.
Well, if your goal is to upskill for the specific system your company runs, no other choice really.
But otherwise Windows is extreme fringe in the server world and basically all software is written for Linux or *BSD. Of course with WSL or VMs you can somehow make it work, but it is overly complex, insecure and lacks the flexibility a Linux native system has.
I’d say this, companies deploying new windows server installs aren’t long for this world.
Even banks and insurance companies are pushing to containerization, Linux, and the cloud.
32gb of RAM should be fine. What’s the core count on your CPU?
It’s an AMD CPU with 16 cores and 32 threads
Plenty specs for just playing around. If you already use Linux it’s a breeze
Hell yeah dude, that’s perfect.
Edit: I would start with what you have. If you do want to build a server, this is a good resource:
https://forums.serverbuilds.net/t/guide-anniversary-2-0-snafu-server-needs-a-friggin-upgrade/1075
What I also like to do is to upgrade my main rig and then I can move my older parts to the server, where possible.
That’s a good idea. Too bad I’ve recently just built my current PC and won’t upgrade for another 5-6 years, though. I’ve also passed down my old one to my sibling.
For performance per dollar nothing beats used enterprise gear due to how little you can pick it up for on eBay. Now if you live somewhere where electricity isn’t stupid cheap or you don’t have a good way to mask the sound of a 1000 angry hornets, then enterprise might not be the way to go. Dell SFF PCs can make good servers. You can also go a long ways with just humble raspberry pis, get a whole bunch of them and you can use that to learn K8s too
Electricity isn’t cheap at all here and I do live in a small apartment, unfortunately. It’s why I want to know if just making some changes to my main desktop PC would be better, as that would allow me to save on space, electricity, and heat.
I do have two Rasperry Pis right now. One of them I run Pihole on at the moment.
For what you have going on, a used laptop would be great. Pick one up with a broken screen, and take out the magnet in the lid. Most laptops use a hall sensor or reed switch to tell when the lid is closed and send a sleep signal.
The one issue with pi is that you can’t use some x86 server software. I have a seafile instance for by NAS and that was a pain to get running on my pi4
I would suggest you either use the RPIs you already have or try to get an old laptop somewhere that you can use as a beginner server.
You desktop PC is likely a gaming PC and those aren’t optimized for server use. It can work, but it isn’t really a good way to start out.
I do have an old laptop. Can you tell me why it’s better to run a server on an old laptop than a gaming pc, though?
Much lower power-consumption and built in UPS. Usually also more quiet and since it has a built in screen and keyboard, it is easier to recover from user errors compared to RPIs for example. Disadvantages are mainly the limited storage expansion options, but that is unlikely to be a problem for a beginner.
If you can get a laptop with a few USB ports that can go a long way to helping with storage expansion. Try to avoid USB drives and SD cards, but attaching proper SSDs and HDDs with a USB caddy is a great option. Just don’t accidentally pass the boot drive USB controller to a vm like I did once.
I am using an Intel NUC with 32gig ram. Super efficient.
Look around the used market in your area. Likely can build a cheap baremetal system.
It might be best in the learning stages to keep your lab seperate from your daily driver machines, incase you mess up.
The top question on yer decision tree is :
is zfs part of it or not ?
If it is, you need either a midtower/nas case with a decent amount of sata ports - like 4 or more. Or install a HBA in a pci slot which implies again a midtower or enterprise server. So if you want ZFS … all PI’s and nuc/TinyMiniMicro’s are out.
But you can do all the rest with them : linux, vm’s, containers, reverse proxies, clustering… you name it. Just know your backup strategy will likely involve rsync which is fine. But factor in backup in yer design from the getgo, not just an afterthought.
I just looked up what zfs is and I don’t think I need to go with that for now since I’m only testing at the moment.
I was finally able to set up vCenter with two ESXi VMs after enabling nested virtualization. I’m out of RAM now just running those and a Windows 10 VM, even after adjusting the initial RAM settings lower. I was hoping to add some more VMs and a domain controller, but I think I might have to get more RAM than 32gb right now.
I respect that.
Just keep in mind that the storage part of any setup you consider is the hard part. It also involves backup, which should be high on your priorities.
As to Windows, l’m indebted to Bill for my livelihood… but for your testing, there is little value in virtualising windows OS: because you already know how Windows works. Go for linux instead, there’s a lot more going on there. And you can run linuxes with a lot less ram.