Homelab

In der IT-Branche ist es keine Seltenheit, ein Homelab zu betreiben. Die BeweggrĂŒnde mögen hier differenzieren: manche hosten gerne ihre Inhalte selbst, manch anderer strebt Zertifizierungen an und möchte gerne die dafĂŒr notwendige Infrastruktur vorhalten. Ich selbst betreibe seit ĂŒber 10 Jahren Homelabs - ein Überblick:

Jahre Funktion Typ Betriebssystem CPU RAM
2008-2010 Hypervisor HP ProLiant DL380 G3 ESX 3.5 2x Intel Xeon @ 3.2 Ghz 6 GB
Gateway Pentium Pro CRUX Linux Intel Pentium Pro @ 200 Mhz 96 MB
Webserver IBM ThinkCentre S50 Debian Lenny Intel Pentium 4 @ 2.8 Ghz 512 MB
NAS Eigenbau Debian Sarge AMD Athlon 64 X2 4200+ @ 2.2 Ghz 2 GB
Firewall IBM NetVista 8364-EXX IPCop 1.4, 1.9 Intel Pentium MMX @ 266 Mhz 256 MB
Firewall IBM ThinkCentre S50 Intel Celeron D @ 2.4 Ghz 512 MB
2010-2011 Hypervisor HP ProLiant DL140 G1 ESXi 3.5 2x Intel Xeon @ 2.4 Ghz 4 GB
NAS QNAP TS-509 Pro Linux Intel Celeron @ 1.6 Ghz 1 GB
Gateway ALIX.3C3 Debian Squeeze AMD Geode LX800 @ 500 Mhz 256 MB
Firewall ALIX.2D13 IPCop 2.x AMD Geode LX800 @ 500 Mhz 256 MB
2011-2012 Hypervisor Eigenbau ESXi 4.1 Phenom X6 1090T @ 3.2 Ghz 16 GB
NAS Eigenbau Debian Lenny AMD Athlon 64 X2 4200+ @ 2.2 Ghz 2 GB
2012 Hypervisor HP ProLiant MicroServer G7 N36L ESXi 5.0 AMD N36L @ 1.3 Ghz 8 GB
NAS HP ProLiant MicroServer G7 N36L CentOS 6 AMD N36L @ 1.3 Ghz 2 GB
2013-2014 Hypervisor HP ProLiant MicroServer G7 N40L ESXi 5.1/5.5 AMD N40L @ 1.5 Ghz 16 GB
Webserver Raspberry Pi B Debian Wheezy BCM2835 @ 700 Mhz 512 MB
2014-2016 Hypervisor / Nested NAS Eigenbau ESXi 6.0, CentOS Intel Xeon E3-1230 @ 3.2 Ghz 32 GB
Webserver Raspberry Pi 2 B CentOS 7 BCM2836 @ 900 Mhz 1 GB
2016-2017 Hypervisor Eigenbau vSAN-Cluster ESXi 6.x 2x Intel i3-4360T @ 3.2 Ghz 64 GB
Firewall APU.1D4 IPFire 2.x AMD G T40E @ 1 Ghz 4 GB
2017-2019 Hypervisor Eigenbau vSAN All Flash-Cluster ESXi 6.5 2x Intel Xeon D-1518 @ 2.2 Ghz 196 GB
NAS HP ProLiant MicroServer G8 CentOS 7.x Intel Xeon E3-1220Lv2 16 GB
Note

Weitere Informationen und Bilder finden sich in der Hardware-Historie.

2020 habe ich mein Homelab radikal reduziert - es besteht nur noch aus folgenden Komponenten:

  • einem vServer bei Hetzner
  • einem HP ProLiant Microserver G8-NAS mit 12 TB
  • einem Backup-DAS mit 12 TB
  • einer FRITZ!Box
  • zahlreiche Raspberry Pis fĂŒr Experimente
  • verschiedene ESP32-Microcontroller
  • einer APC Smart-UPS 750 USV zur Verhinderung von Datenverlust durch StromausfĂ€lle
  • verschiedenen Shelly Plug S zur Steuerung und Messung des Stromverbrauchs

Weniger ist mehr

GegenĂŒber dem letzten Homelab-Update von 2017 ist mein jetziges Setup bedeutend minimalistischer - so mancher dĂŒrfte behaupten, dass es dem Ausdruck “Homelab” gar nicht mehr gerecht wird. Der Grund hierfĂŒr ist, dass sich mein beruflicher Hintergrund verĂ€ndert hat. WĂ€hrend ich mich frĂŒher stark mit Hardware und auch VMware-lastigen Themen beschĂ€ftigt habe, bewege ich mich nun im Infrastructure as Code-Umfeld, in welchem Hardware und Hypervisor eher von sekundĂ€rem Interesse sind.

DarĂŒber hinaus verging mir auch deutlich die Lust an der Fehleranalyse bei Hardware-Problemen. RAM-Riegel ĂŒberprĂŒfen, durch VSAN schneller abgenutzte SSDs ersetzen und verwaiste VMs wiederherstellen - all das macht wenig Spaß, wenn man schon mindestens 8 Stunden gearbeitet hat. Der Verwaltungsaufwand stand nicht im VerhĂ€ltnis zu Kosten und Nutzen; und da ich solche Themen ohnehin nicht mehr hauptberuflich bediene - warum sollte ich es dann privat tun?

Anstatt mehrerer Hypervisor und zwei dutzend VMs betreibe ich nun einfach Container pro Applikation. Da die Anzahl die handverlesenen und benötigten Dienste ĂŒberschaubar ist, verringert sich hierdurch auch der Verwaltungsaufwand. Es werden keine Hypervisor und dediziertes Linux Patch-Management mehr benötigt. Benötigte Anwendungen werden auf dem 24/7 laufenden NAS und einem Raspberry Pi ausgefĂŒhrt. Die Konfiguration der Hosts und Applikationen erfolgt mit Ansible.

Verschiedene Raspberry Pis dienen als Spielwiese fĂŒr Bastelprojekte - so habe ich z.B. zwei kleine Kubernetes-Cluster gebaut, um mich in das Thema einzuarbeiten. Ein ausrangierter Pi 2 dient als Wiedergabe-GerĂ€t am Fernseher. Ein Pi 4 mit 8 GB dient als ESXi-Hypervisor fĂŒr weitere Testzwecke.

Nachdem nach nicht mal 4 Jahren mein IPFire Eigenbau-Router verendete - vermutlich aufgrund des Dauerbetriebs - entschied ich, keinen Nachfolger zu kaufen. Dadurch entfĂ€llt eine weitere KomplexitĂ€tsstufe im Netzwerk - aber auch eine DMZ und VPN-Zugang. Letzteren habe ich kurzerhand auf der FRITZ!Box konfiguriert. Eine DMZ wird nicht mehr benötigt, da ich keine produktiven Dienste mehr selbst hoste. Dinge, die verfĂŒgbar sein mĂŒssen, werden auf einem vServer bei Hetzner ausgefĂŒhrt. Die Vergangenheit hat gezeigt, dass Hardware und Internet immer dann ausfallen, wenn man gerade auf einen selbst gehosteten Dienst angewiesen und nicht zuhause ist. Der frĂŒher fĂŒr VSAN angeschaffte Switch mit 10 Gbit-Uplinks wurde durch einen einfachen (unmanaged) lautlosen Gbit-Switch ersetzt.

Homelab 2022

NAS & DAS

Als zentrales Datengrab dient mir ein HP ProLiant MicroServer Gen8 mit folgenden Eckdaten:

  • Intel Xeon E3-1220Lv2 Prozessor (4×2.3 GHz, 3M Cache, 17W TDP)
  • 16 GB ECC DDR3 Arbeitsspeicher
  • 250 GB Samsung EVO 850-SSD fĂŒr Dienste und Container
  • 3×6 TB SATA-Festplatten (Seagate Ironwolf) im RAID-5 Verbund

Der Datenaustausch zwischen den Clients erfolgt ĂŒber Samba, Übertragungen von verschlĂŒsselten Daten sind dank der AES-NI-fĂ€higen CPU mit dem Maximum des 1G-Netzwerks von ca. 125 MB/s möglich.

FĂŒr Container und einige Applikationen wurde nachtrĂ€glich eine SSD ĂŒber den DVD SATA-Port eingebaut. Da HP die Firmware des MicroServers unnötig beschrĂ€nkt, muss der Bootloader auf einer SD-Karte ausgelagert werden, da ein Boot von der SSD nicht möglich ist. Als Betriebssystem kommt CentOS 7 zum Einsatz. Über ein DAS (Lian-Li EX-503) mit ebenfalls 12 TB im RAID-5 Verbund werden die Daten wöchentlich gesichert. Eine Offsite-Sicherung ĂŒber eine externe Festplatte erfolgt in sporadischen AbstĂ€nden.

Container

Pro Applikation wird ein Container betrieben (die einzige Ausnahme stellt das Icinga2-Monitoring dar) - auf dem NAS unter Docker CE, auf einem Raspberry Pi lÀuft Podman:

Pi-hole - Unterbindung von Werbung und Tracking Eclipse Mosquitto - Microcontroller-Kommunikation via MQTT joke_api - Flachwitze und Filmzitate as a Service fĂŒr einen Eigenbau-Sprachassistenten Node-RED - Heimautomatisierung InfluxDB - Zeitreihen-Datenbank Grafana - Visualisierung von InfluxDB-Daten

Arduino, ESP32, etc.

Vor einiger Zeit habe ich angefangen, mich mit Arduino- und ESP32-Mikrocontrollern zu beschĂ€ftigen. Zu einer der ersten Übungen zĂ€hlte das Auslesen verschiedener Sensoren, wie z.B. Temperatur- oder Feuchtigkeitssensoren. In Kombination mit MQTT und Node-RED lĂ€sst sich so schnell ein thermischer Überblick der Wohnung erstellen. In Kombination mit einer Zeitreihen-Datenbank, wie InfluxDB, lassen sich so Entwicklungen und Trends beobachten.

Node-RED Intent-Handler

Mit Rhasspy habe ich eine Software gefunden, mit der sich ein erweiterbarer Offline-Sprachassistent erstellen lĂ€sst. Dieser lĂ€sst sich selbststĂ€ndig um Funktionen und Kommandos erweitern - ohne, dass hierfĂŒr ein Cloud-Dienst notwendig ist. Hier kommt auch wieder Node-RED ins Spiel - es dient als zentrale Anlaufstelle und fĂŒhrt erkannte Kommandos aus.

Note

Zum Bau des Sprachassistenten existiert eine Artikelserie sowie ein Vortrag (đŸ“œïž).

Ausblick

Optimierungspotenzial gibt es immer. So beginnt das NAS hardwareseitig zu altern – aber solange noch kein Defekt vorliegt, möchte ich es nicht ersetzen. Als Nachfolge-GerĂ€t könnte ich mir einen Intel Xeon D-Eigenbau mit modernerem Betriebssystem vorstellen. Die einzelnen Container könnte man mit Kubernetes statt docker-compose verwalten, auch wenn man sich hierdurch wieder eine weitere KomplexitĂ€tsstufe einbaut.

Übersetzungen: