Skip Navigation

Selfhosted virtualisation learning kit

Hello Lads and Ladettes,

I'm reaching out to ask for your help and to know your opinion. Currently I have a simple setup of RPi 3 that only serves as a DNS (pihole). I've read some of your posts and I got hooked. I also started playing with HyperV on my Windows PC and created a virtual linux machine (Arch btw for meme purposes).

I have started thinking... What if I bought RPi 4B (8GB RAM) and use some kind of a hypervisor to selfhost DNS and DHCP (pihole), VPN, SSO and maybe even NAS (some kind of platform like plex?).

It's all for learning purposes, so I'm not aiming for anything extra expensive, reliable or ultra-fast. I know the basics, though I'm still a beginner. I thought the RPi 4B would be a good choice as it's relatively cheap and not energy-hungry.

My questions are: What do you think about it in general? Do you know any alternatives to VMware ESXi that I can use for virtualisation? Any tips and trick you have to share? Do you think that RPi 4B can handle such task?

Maybe you know some good, free, open source VPN and SSO services that you can recommed. For NAS I was thinking about OpenMediaVault but I would also be thankful for recommendations in that regard as well.

Thanks in advance for all the help and healthy discussion. Cheers!

EDIT:

Thank you everyone for sharing your views!

I probably didn't mention pretty important factor which is: I need the device to be as small as possible. My wife won't bear huge butt case lying around and always blowing its fans. Nevertheless, buying used UFF machine is a great idea if I really want to go with virtualisation route. I'll keep my eye on Proxmox as it sounds very promising.

I didn't take into account docker because... I simply forgot about such option. In my previous job my colleague was an infrastructure analyst and often explained me intricacies of his job. Since the company I worked for used VMware that was the first thing that came to my mind. If I decide to buy RPi 4, I'll definitely take docker path.

I've read all your messages and they were pure pleasure to read. Thanks for them once more!

14
14 comments
  • @PanPuszek Is there a reason you’re not considering docker containers for this stuff? I run most of what you mention on Pis in docker containers.

  • You might be better off building a simple virtualization box. Check Ebay, Craig's List, FB marketplace, etc. For old enterprise/mass use desktops. Often you can find old ass Dell optiplex machines or similar for 50-100 bucks.

    Throw in 32-64 gigs of RAM which you can pick up DDR3 or Cheap DDR4 used for like 5-10 bucks a stick. Grab some used drives, toss em in. You've got a little server box that you can install a hypervisor on, way more power than a PI, and cost the same or less.

    Check out XCP-ng or ProxMox as an open source hypervisor to play with. Lawrence Systems YT channel has a ton of great guides for XCP-ng and I think some for ProxMox too. You could also just install a basic Linux server distro and use KVM or related virtualization software on top. Personally, I use a dedicated Hypervisor, but it's totally up to you.

    My personal home lab is just a 2U box with an old 12-core Xeon, 32 Gig of consumer RAM, and a few TB of HDDs with the hypervisor on a 250 Gig SSD, I can run a half dozen VMs no problem on it.

    For my NAS solution, I run a VM of TrueNAS, a FOSS NAS solution that I love and has been fantastic for all the years I've used it.

    I also run Ubuntu Server edition for my personal media server which is Jellyfin, which also is amazing and works great for me.

    I got some cheapo Dell network switch for free from an old tech friend, but you can find equivalent equipment for 20-30 bucks easy online or sold locally. Even basic old network gear usually will allow you to play with things like VLANs and trunking.

    Grab some old networking cables from a tech surplus place or store online for patching and practicing cable management/organizing.

    PFsense or OPNsense are great open source firewall/routing software you can learn on/practice with.

  • I think using container instead of VM should be better for maximizing resource utilization in a raspberry pi. Instead of partitioning your tiny 8gb RAM into 3-4 VMs with even tinier RAM each, you can run a dozen of containers and probably still have some free RAM.

  • I run a lot of these services in my homelab. I didn't really feel like I had something with real potential until I started using Proxmox as my hypervisor. That's when things exploded. You can create VMs and containers on it with ease, and all the features I would normally have to rely on command line for were also available on the Proxmox web interface. That is so convenient! Need to do a snapshot because you think you might screw up your install on step 37? No problem, just take care of it in the GUI.

    Proxmox also handles clustering really well, which will probably benefit you. You can add a Raspberry Pi or two, or a PC, and Proxmox will just manage them all. It will even move services from one device to another if one device gets turned off. It's really incredible!

    The one thing I wouldn't build yourself is a NAS. I went with a Synology, and I'm glad I did. Building (and maintaining) one from scratch is just more work than I really have time for. With a NAS, you want things to go perfectly all the time, including updates and security updates, so I'm happy to leave most of the testing and configuration to Synology's team. I just have to remember to update things periodically, which I'm willing to do.

You've viewed 14 comments.