Introduction
The router device provided by my ISP has been getting on my nerves for quite some time. It has pretty limited capabilities in the area of the networking services (DNS, DHCP, static routes...). When i couldn't set my own DNS so i could run Pi-Hole i decided to run my own DHCP and DNS service on the home server. One of the benefits of running these services on the ISP provided equipment is that one doesn't have to worry about redundancy. If the device is down, there is not much use of them as the whole network and Internet are down. If i selfhost them, they are becoming a key component for Internet access, so one starts to think about redundancy... 🔝
The new friend
The decision was made. I was going to spin up two new Linux machines, each one running ISC BIND as a main DNS for my local zones and Internet resolver, ISC DHCP Server for DHCP and Pi-Hole for DNS caching and ad-blocking. The only thing missing was a hardware on which the second instance would run. My Raspberry Pi3 was already busy running Home Assistant, so i needed something new.
I think i found myself an ideal piece of hardware for this task on the local used market. HP EliteDesk 800 G2 MiniPC. It is a small footprint, quiet and quite powerful (for my needs) little devil:

- 6-th Gen i5 CPU
- 16GB of dual channel RAM (SODIMM)
- M.2 slot for storage
- M.2 slot for networking (came with a Wi-Fi card)
- A bunch of front and back USB3 connections, including one Type-C
There is a nice review of this Mini PC over at ServeTheHome, as a part of their "Project TinyMiniMicro".
There are interesting expansion options, such as an M.2 2.5Gbps Ethernet card that can replace the Wi-Fi card. I can couple it with an PCIe counterpart on the main home server and a small and inexpensive 2.5G switch and have faster interconnect between the two. There are also 10Gbps variants, but they are quite more pricier.

I replaced the 128G SSD with one HP 480G SSD and i was good to go. 🔝
The software
There was no doubt that the small EliteDesk will run some sort of a hypervisor, the only question was, which one? ESXi was one logical choice, as this is what's running on my main home server. On the other hand, i had no experience with Proxmox and i was willing to learn, so... Proxmox it is.
Proxmox installation was quite easy. After some time getting myself familiar with the concepts, as some of them are quite different from ESXi i had a working second hypervisor server. Migrating a VM from ESXi to Proxmox is surprisingly easy. Export the machine directly from ESXi using ovftool, import the new OVF using qm, and the machine is more-or-less ready. All it need is a virtual network adapter and some network reconfiguration after boot. It works wonderfully for Linux and Windows VMs alike.
I'm verry happy with the outcome. Pi-Hole works like a charm, and ISC DHCP server has good failover capabilities, so there was no need to split the DHCP scope. The setup opens up the possibilities to experiment with PXE in the future. It might be interesting.


Stay tuned for more upgrade stories, as the new HBA and CPU will be arriving soon... 🔝
UPDATE: They have arrived :-)