Up until recently I've used Hyper-V for most of my virtualisation needs. Hyper-V is a fully integrated Type 1 hypervisor and comes with most "Pro" versions of Windows 10 and Windows 11, and of course Windows Server. There's plenty of nice stuff with Hyper-V, don't get me wrong - I do like it and retain it. The trouble is - you need Windows for it, and if you don't have a copy of Windows Server, well - that's a bit of a problem. Enter then - PROXMOX! (That's supposed to be dramatic).
Proxmox Virtual Environment - or Proxmox VE to be precise. Details are here: https://www.proxmox.com/en/proxmox-virtual-environment/overview but the summary is this:
Proxmox Virtual Environment is a complete, open-source server management platform for enterprise virtualization. It tightly integrates the KVM hypervisor and Linux Containers (LXC), software-defined storage and networking functionality, on a single platform. With the integrated web-based user interface you can manage VMs and containers, high availability for clusters, or the integrated disaster recovery tools with ease.
I can hear you now - that's freaking amazing, but so what? Well, a Type 1 hypervisor with a full feature set is very nice to have - management of all your resources is very good, and you get access to ZFS for managing disk - oh and Ceph is built in! If you don't know what Ceph is, then Network Chuck has a great video on it here: https://youtu.be/jJrnJ9rj6fs?si=3KOunfnbodFLnFlw
I haven't had time to play with ceph much yet, but I look forward to doing so shortly. Back to proxmox. I recently acquire a HPE ML30 server. The specs are reasonably modest:
- 8 x Intel(R) Xeon(R) CPU E3-1240 v6 @ 3.70GHz (1 Socket)
- 24 GB of RAM (now 32)
- 3 x 960GB SSDs on a SAS RAID array.
- along with all the normal HPE server stuff - a neat and tidy lay out, with extra SATA and plenty of power for extra disks.
- Linux server for secure connections to other servers
- Linux server to manage my Cloudflare tunnels (more on this later - so awesome!)
- Linux server running Jellyfin - this is the heaviest container I've got and runs really well with 4 vCPUs and 4GB of RAM.
- Linux server running NextCloud and helpfully set up using an LXC script. This was a very easy way to set up a Debian server, and all the necessary bits and pieces. I'm playing with NextCloud a bit - I'll write up some stuff down the track on it once I've worked with it a bit.
- Linux server running torrent management for the legitimate torrents I download (like Mint and Ubuntu Server).
- and finally, a Wazuh SIEM server running as a full VM. This is the big momma of all my VMs with 8GB of RAM and 4 vCPUs. This thing pushes the server load up when it boots quite significantly.
In this image you can see I've got a container as a template. I set up an Ubuntu server, set password, SSH config and a couple of other things. I patched it up, and then shut it down for later on. I've used it to create all the container VMs, except the Cloudflared and NextCloud VMs - you can search up a script that you run and it downloads/configures the server. This was excellent as a quick way to get started - especially after I screwed up the first implementation and had to start all over. Oops.