How this Started
Hosting this site along with a few others, I have come to realize that 5mbps of upload bandwidth is not enough for web hosting. This site’s home page sometimes took as much as 23 seconds to fully load. This was completely unacceptable to me, as I am also hosting a website for my DJ business, and need that one to load as quickly as possible. So back in late September or early October, I made a post on r/homelab asking for people’s recommendations for cheap 1u colocation. I had a Poweredge R330 that I wanted to run with more WAN bandwidth, and highly available WAN and power. I figured this would get me the faster loading times and better uptime I was looking for. Someone reached out and told me that they had a few rack spaces available in their colocation rack that they weren’t using, and were willing to rent out a space to me for a reasonable price. We discussed logistics and agreed that when my hardware was properly configured, I would send the system out to him to install.
Configuring the Hardware
The first thing I did was grab the latest release of ProxMox VE and install it to a flash drive inside the R330. I thought this was the best way to run it because it would limit wear on the single SSD I was going to install for VM storage. This soon became an issue because they system didn’t like booting off of the flash drive. I had issues where the volume wouldn’t mount in time and the drive mounting timed out during boot. I temporarily solved this by setting a higher rootdelay in the GRUB configuration, but the issue continued after a week or so. Eventually I gave up and reinstalled PVE on the SSD. I test booted the system about 25 times, and it came up every time with no reconfiguration of the GRUB file. This ended up being for the best because my R710 that booted PVE from an internal flash drive started having issues related to the age of the flash drive (about two years old) around this time.
I configured my networks and internal pfSense with the WAN information provided to me and the LAN settings required to make it a part of my existing network infrastructure, including adding an OpenVPN client to bridge the colocation LAN to my existing home LAN. I also setup a Ubuntu desktop VM that I could use to access the pfSense web UI if I screwed up the network settings at some point (I have a separate management LAN that I use for the ProxMox VE management interface and the iDRAC interface. My pfSense router at home maintains a site-to-site VPN so I can always access these management interfaces).
When I was done with all of the configuration and testing (making sure everything came up correctly on reboots, verifying network connectivity, making sure the drive was healthy…) I wrapped the server in anti-static bubble wrap. After using nearly the entire roll, I boxed the system up with the power and network cables and rails. I used almost an entire roll of packing tape to make sure the box didn’t open in transit, and took it to the UPS store for shipping. For two weeks, I checked the shipping tracker daily waiting to see when my machine had safely arrived. When it did, I was finally able to let out a sigh of relief. The system was installed the day it arrived, and I was ecstatic to see the virtual pfSense pop up in the OpenVPN connected clients log.
Getting Setup at the New Datacenter
I tried pinging the system, the router, and accessing the management interfaces to verify everything was working, and it was. Well, almost everything was working. I was unable to log into my iDrac, requiring a KVM module to be connected to the server so I could reset it. Once that was taken care of, I was able to migrate my WordPress installations and relevant MySQL databases over, along with my authoritative DNS server. A new Traefik server proxies all incoming HTTP and HTTPS requests. I was able to setup a couple new services, like GitLab (self-hosted GitHub, a system for collaborative software development), and a backup FreePBX server for my home telephone system (if the main PBX goes down, the phones should switch to the backup PBX for inbound and outbound calls).
So far, I could not be happier with the performance and reliability of this new Colocation setup. I highly recommend it if you are trying to manage your own hosting but require uptime and bandwidth that you just can’t get at home.