An Introduction to how I use Proxmox VE
In a previous post, I talked about the cheap NAS appliance as a component for self-hosting. For me, a server lab consists of two elements: storage and compute power. I have a Synology NAS that I use for the storage system. Once you get your storage centralized on a NAS, adding memory and CPU to your compute power is simply a matter of adding servers.
The AK-fortyServer#
The AK47 is a symbol of revolution, so much so, that some countries have it on their flag. I like to think of a cheap mass produced server is a digital equivalent of the AK47, a tool for digital revolution.
A lot has happened to me in the past few years. For most of the time I have been writing blog posts about self-hosting and my homelab, I have lived in a house where I had an office for my desk and workbench, and a corner of a basement which served as my “server room”. I sort of low key forgot what a luxury it can be to have the space to hoard old computers and the freedom to pull wires.
Not long after I moved out of the house and into an apartment, my Synology NAS was rebooting itself at random times. Worried that the unit was failing after just 5 years, I picked up a small 2-bay NAS from Terramaster. After watching Apalrd’s video on taking the unit apart, I decided that it was the ideal home for this 16tb hard drive I bought for another project. When I later moved in with my girlfriend, I realized the Synology was fine, I just lived in a shitty neighborhood with shitty electrical service.
Having my faith in the Synology restored, I decided to replace the mishmash of hard drives in the Synology with 12 drives that were all the same size. I settled on a 10 disk RAID6 configuration with 2 hot spares. I will discuss the logic of this decision in another post. Because I needed to get all 12 drives before I could get started, and also because I am not made of money, I went with refurbished 3TB enterprise disks.
The birth of scratchy#
The first data center I worked at in the 90’s did most of its storage on tape. They had these big silos with these robotic arms that constantly swapped tapes. The data on the tapes was copied to live disk, where it was processed and then written back to tape for long term storage. These hard disks for temporary use were called “scratch disks” or simply “scratches.”
The TerraMaster was small, energy efficient, and able to host two disks. After watching Apalrd’s video about turning a small NAS into a virtualization host with Proxmox VE, I added a 512gb NVME drive, and got to work building “Scratchy” my scratch disk server.
It’s proxin’ time#
With the usb boot drive removed, installation was as simple as booting the NAS from a different USB drive. The result is a dual core Celeron server with 4GB of RAM. It’s probably a little more powerful than a Raspberry Pi, but probably less capable than an older quadcore desktop. What it lacks in RAM and CPU it makes up for in fast I/O thanks to the NVME drive. I am not going to do any virtual desktop infrastructure from this little thing, but it’s enough to start building Linux Containers.
Once I got Proxmox installed, I set up a VM and passed the two spinning drives to it. I installed the “Turnkey Linux Fileserver” from an ISO. I was originally going to use ZFS on the host and LXC for the file server, but passing the disks thru to the VM and using NFS felt more straightforward.
If this is your first server, go a bit bigger#
If I was going to rely on one NAS appliance to get my lab started, I would have gone with the 4 core/4 bay model. It still wouldn’t be a powerhouse, but if you upgraded the RAM, you could probably run a vm with a lightweight desktop. Having four bays would also let you increase your write speeds. I have been hoarding data for years, so I have moved up to bigger storage pools.
So with the Proxmox server and the NAS container running, I am ready to add some other infrastructure such as:
- a wireguard subnet router, which connects my application servers to my VPS.
- a bastion host for remote ssh access. I don’t like opening ports on my home firewall, but this bastion host is the lone exception. This is the “in case of emergency, break glass” option for when all other access methods fail.
- a basion host for my overlay network. I use plain wireguard to connect the lab network to the VPS, but for connecting my devices together, I use Tailscale/Headscale. At any given time my phone, tablet, laptop, etc. may or may not be charged, online, or even operational, so I need at least one thing that is guaranteed to be up.
- a staging web server. When I write blog posts, I like to send them to a quality control server first to make sure it looks ok and hasn’t broken anything, then the control server will push the finished site to the production server at a specific time of day.