Homelab

radar23111th February 2022 at 8:04pm

  • Contents
    • Introduction
    • Kubernetes Cluster
    • Virtualization Servers
      • Starbug
      • Reddwarf
    • NAS
    • Homelab Services
    • Monitoring

Introduction

Server Rack

I've a relatively simple homelab, set up to primarily run virtualized workloads.

I have four Raspberry Pi4-8GB's set up as the core of a Kubernetes cluster. The cluster also includes three LXD containers running on the virtualization servers. This gives me a seven node multi-architecture cluster, maximizing the flexibility for running workloads of either arm64 or amd64 architecture.

There are also five "servers" and a Synology NAS. The servers are used as virtualization servers, while the NAS is used as a file server.

Kubernetes Cluster

  • Kubernetes cluster (22 cores, 44GB RAM)
    • Multi-architecture
    • Raspberry Pi4-8GB (x4)
      • 4 cores (16 cores arm64 node total)
      • 8GB RAM (32GB RAM arm64 node total)
    • amd64 LXD containers (x3) (one running on Hollister, one on Lister, and the third on Holly)
      • 2 cores (6 cores amd64 node total)
      • 4GB RAM (12GB RAM amd64 node total)

The Kubernetes cluster is the primary location for running workloads on the homelab. The core of the cluster are four Raspberry Pi4-8GB's, and this is where most of the cluster workloads are intended to be run. However, as it is multi-architecture I can also run amd64 workloads on the LXD containers.

Raspberry Pi4 Cluster

Homelab K8s Cluster

Virtualization Servers

There are five virtualization servers, set up to run workloads on;

  • LXD containers or VM's,
  • KVM based VM's, or
  • Docker containers (within an LXD container or a VM).

Starbug

  • Dell T610
    • Dual Xeon CPU (24 cores)
    • 64GB RAM
    • Primary virtualization server

Reddwarf

  • Retired gaming PC
    • i7 CPU (8 cores)
    • 16GB RAM

Servers

There are also three old laptops being used as additional virtualization servers.

Laptop Servers

Hollister

  • HP Pavilion dv6 Notebook
    • i5 CPU (4 cores)
    • 6GB RAM

Holly

  • Acer Aspire 7551 Notebook
    • AMD Athlon CPU (2 cores)
    • 4GB RAM

Lister

  • Asus K46CM Notebook
    • i7 CPU (4 cores)
    • 6GB RAM

NAS

  • Synology DS420J
  • Seagate ST3000DM NAS HDDs (x4)

The NAS houses four 3TB HDD's, which are set up in a Synology SHR configuration, providing approximately 9TB of usable space. The NAS provides file shares and media storage for the network. There is also an NFS share, which provides persistent storage to the applications running on the Kubernetes cluster.

There is a 2TB external USB HDD attached to the NAS that is used as a destination for both the NAS backups, as well as server duplicity rsync backups from across the LAN.

NAS

Homelab Services

This is a logical diagram showing the applications and services currently running on the homelab, and how they are structured.

Services

Monitoring

I use a number of tools for monitoring the applications and services running on the homelab, including Netdata and Monitorix for server system stats, virt-manager for keeping an eye on the virtual machines, portainer for the docker containers, as well as a number of command line management utilities for Kubernetes, LXD, KVM and Docker.

The primary monitoring of the homelab is done using Nagios Core.

Nagios

....................
(created: 2021-06-10, last modified: 2022-02-11 at 20:04:55)