
Homelab
A cluster to host my projects
Objective
The goal of this project was to set up a cluster of servers capable of hosting web applications, games, and home automation services. Since these tasks are well-suited for virtual machines, using a hypervisor was the logical approach. Proxmox was chosen due to its open-source nature, active community, and robust feature set — all of which made it an ideal solution for this setup.
Setup Process
The initial phase began with updating all servers to the latest BIOS and iLO (Integrated Lights-Out) firmware. As most of the hardware consisted of 8th-generation HPE servers, this process was efficient, using common firmware files across the devices.
Next, Proxmox VE was installed using its user-friendly graphical installer. The servers were then linked into a cluster via the Proxmox web interface. To improve internal file transfer speeds and performance, 4-port EtherChannels were configured on each node for link aggregation.
Upgrades and Improvements
Since the initial deployment, the cluster has seen several significant upgrades:
- 10 Gigabit Networking: The internal network was upgraded to 10GbE, greatly enhancing data transfer speeds for file sharing, VM migration, and backups within the cluster.
- Dedicated NAS Integration: A centralized NAS was added to handle shared storage, making data management, archiving, and backup processes more efficient and reliable.
- Proxmox Backup Server: A Proxmox Backup Server was introduced to provide reliable, incremental backups for all virtual machines and containers. This has significantly improved data protection and disaster recovery capabilities.
- Hardware Migration: Many workloads were migrated from the original servers to custom build PCs, improving power efficiency while maintaining stable performance across the infrastructure.
These upgrades have made the cluster more powerful, scalable, and resilient, ensuring it remains capable of supporting a range of services including web applications, games, and home automation systems.
Planned
As I keep learning about new technologies, there are always more things to build. Future plans for the cluster include:
- Kubeadm kubernetes cluster: to allow for more advanced orchestration of containerized applications, improve resource management, and to get a deeper understanding of container-based deployment environments.
- Full CI-CD: while a gitlab instance is already in use, I plan on automating more parts of the set up.
Evaluation & Stability
Server monitoring is handled through Better Uptime, which was selected for its external status checks and customization options. At the time of writing, the cluster has demonstrated excellent stability and uptime. In fact, if you are reading this now, it means the servers are running smoothly and online.