Mein Homelab

Mein Homelab

Heute möchte ich den Werdegang meines Homelabs autobiografisch darstellen. Viele der Schritte kann ich leider zeitlich nicht mehr zurückverfolgen, da ich mir schlicht nie notiert habe, wann ich welche Lösung tatsächlich genutzt habe.

Auf jeden Fall erinnere ich mich aber an die Hardware, die ich immer hatte, deshalb im Folgenden nun eine chronologische Auflistung meines Homelabs ohne größeren zeitlichen Ablauf.

Version 1

Diese Version wurde gestartet, nachdem ich meine ersten Experimente mit Linux begonnen hatte und festgestellt habe, dass OneDrive keinen Synchronisationsclienten für Linux hatte. Die Wahl fiel nach einiger Zeit dann auf Owncloud. Ich war, denke ich, grob in der 10. Klasse und habe mir mit Hilfe eines Klassenkameraden meine ersten Linuxkenntnisse beigebracht. Die eigentliche Hardware war damals ein Raspberry Pi 3 mit einer via USB angeschlossenen HDD und Netzadapter für jeweils den Raspberry Pi 3 und die 3,5'' HDD. Diese Version war für meinen damaligen Vierpersonen-Haushalt aber schon nach wenigen Wochen nicht mehr performant genug, da sich alle beklagten, dass die Webseite so langsam war. Da wir damals Kabel-Internet hatten, konnte es nicht am Anschluss liegen – es musste also ein Hardware Upgrade nach wenigen Monaten her.

Version 2

Als in der Firma von einem Bekannten alte HP Desktop Workstations mit 120GB SSDs rausgeschmissen worden sind, hatte dieser gleich zugeschlagen und uns eine der alten Workstations auf Bitte von mir dagelassen. Von einer SATA SSD das OS zu starten, war im Gegensatz zu der SD Karte des Raspberry Pi ein riesiger Unterschied und ich konnte durch die internen SATA Anschlüsse auch meinen ersten mdadm RAID 1 aufsetzen, der uns vor Datenverlust schützen sollte. Also Host OS bin ich von Raspbian (V1) auf Ubuntu (V2) gewechselt. Da die Owncloud via .tar.gz installiert worden war, hat sich für mich eigentlich erstmal nichts geändert. Ich habe alle par Wochen fleißig mein “apt-get update && apt-get upgrade” eingegeben, um immer auf dem aktuellsten Stand zu sein.

Version 3

Da diese alte HP Workstation schon ein paar Jahre auf dem Buckel hatte und somit auch nicht die leisesten Lüfter hatte, fing meine Mutter bald an, sich über die Lautstärke des PCs zu beschweren. Da ich Ende der 10. Klasse fast noch keine PC-Selbstbau Kenntnisse hatte, war mir der Firmenname “Noctua” leider noch unbekannt und ich begab mich auf die Suche nach einem VPS (Virtual Private Server) für ein Budget, was mir meine Eltern zur Verfügung gestellt hatten. Nach Rücksprache mit einem befreundeten ITler fiel die Wahl auf “Webtropia”. Anfangs schien das VPS die Lösung für all meine Probleme zu sein: Schneller, leiser & besser angebunden ans Internet. Ich war so glücklich. Vor allem da die Nextcloud endlich meinen Wunsch nach einer “moderneren” UI befriedigte, mit einem automatischen Migrationspfad von Owncloud weg. Es war so cool!

Leider währte das Glück nur kurz, da ich bald lange Unverfügbarkeiten des VPS in Kauf nehmen musste und trotz mehrfachem Kontakt mit dem Dienstleister war es nicht möglich, eine höhere Verfügbarkeit für mich bereitzustellen. Mein Geld bekam ich aber fairerweise wieder zurück.

Version 4

Da meine Eltern über die Unverfügbarkeit des VPS nicht glücklich waren und ich mittlerweile doch ganz belesen war, fing ich an, ihnen zu erklären, dass ich unbedingt einen dedicated Server brauche. Es ging einfach nicht anders. Virtuelle Hardware ist geteilt und wenn der Betreiber die ganzen Kryptomining Kunden nicht in den Griff bekommt, dann brauche ich halt einen richtigen Server, der nur mir gehört. Nachdem meine Domain bei Strato lag, habe ich mich dort für einen Dedicated Server entschieden, der mehr als genug Power für mich hatte. Hiermit war ich auch sehr glücklich. Der Speicherplatz war mit 4TB genug, ich hatte ordentlich RAM und die CPU hat auch ordentlich arbeiten dürfen. Dazu war der dedizierte Server auch wunderbar angebunden im Rechenzentrum.

Während ich bei Strato war, habe ich Docker für mich entdeckt und habe angefangen, mich während der Oberstufe Stück für Stück mehr mit dem Thema zu beschäftigen. Eines Tages setzte ich dann die gesammte Nextcloud mit docker-compose und Traefik auf. Meine Eltern waren nicht begeistert, dass ich bei der Migration von null angefangen habe, aber sie haben es akzeptiert. Stück für Stück baute ich mir mit Gitlab eine Art von Backup für meine Konfigurationsdateien auf (GitHub hatte in der kostenlosen Variante noch keine private Repos). Backups von Daten hatte ich bis zu diesem Zeitpunkt noch nie gemacht. Der RAID-1 in den verschiedenen Varianten musste ausreichen.

Version 5

Nachdem mir die 54€/Monat für Strato irgendwann zu teuer wurden und ich langsam auch Probleme mit den 4TB Festplatten bekam, suchte ich mit meinen Eltern gemeinsam nach einer Lösung. Seit Jahren wusste ich schon was ich wollte, aber ich habe nie geschafft, meine Eltern zu überzeugen. Dieses Mal hatte ich es geschafft, meine Eltern zu überzeugen, in den Anschlusskeller ein 19'' Rack zu stellen. Es waren Wochen an Recherche drauf gegangen, aber schließlich fand ich ein Rack, das in den Keller und mein Budget gepasst hat.

Nachdem die Spedition (ja, ihr habt richtig gelesen) das Rack vollmontiert geliefert hat und wir mit 1cm Platz zur Kellerdecke das Rack um die letzte Ecke im Treppenhaus bugsieren konnten, musste ich mich noch entscheiden, was ich tatsächlich im Rack am Ende des Tages laufen lassen wollte. Das Internet wurde immernoch von einer FritzBox im ersten Stock via Kabel gestellt. Ich tat also, was jeder vernünftige rebellierende Teenager in seiner Ausbildung macht: Er demoliert das gesammte Haus seiner Eltern. Gut, so hat es nur meine Mutter gesehen, als ich ihr ein “Ja” für die weißen Kabelschächte, die durch das Treppenhaus gehen, abgerungen hatte, aber am Ende bin ich mit Papa fleißig durch das ganze Haus mit der Schlagbohrmaschine gewandert und habe jedes Stockwerk mit einer Aufputzdose für RJ-45 versorgt und alle Kabel im Patchpannel des Racks enden lassen. Es sind viele Schweißtropfen vergossen worden in diesen Wochen, aber die Arbeit hat sich am Ende gelohnt.

Ich habe mich am Ende für einen Unmanaged Netgear 10 Port Switch (8x1GbE, 2x10GbE) entschieden, weil dieser noch ins restliche Budget gepasst hat. Als Server habe ich mir ein 8 Bay Hot-Swap SATA HDD 2U Server Chassis mit einem Intel Atom Supermicro Motherboard mit 16GB DDR4 ECC RAM geleistet, was bis heute (10/2024) immernoch der Hauptserver ist. Als OS bin ich von Ubuntu nun zu openSUSE MicroOS gewechselt.

Version 5+

Nachdem ich in der Ausbildung bei SUSE viel zu viel mit Enterprise Hardware in Kontakt gekommen bin, habe ich mir als Flusen in den Kopf gesetzt, dass ich unbdedingt die FritzBox loswerden möchte, damit ich VLANs nutzen kann, um die Server vom Heimnetz zu trennen. Zusätzlich wollte ich unbedingt einen Router im 19'' Format haben, damit mein innerer Monk befriedigt ist. Gesagt getan, ich bestellte mir nach ein paar Monaten sparen nun einen Mikrotik 24 Port 1GbE und 2 Port SFP+ Switch und einen Router dazu.

Parallel dazu habe ich angefangen, Kubernetes (k8s) ganz cool zu finden. Nachdem ich also erfahren habe, dass wir Rancher kaufen, habe ich mein gesamtes Setup von Docker auf k3s umgezogen und war sofort extrem glücklich damit. Naja, nicht ganz am Anfang, da ich viel zu wenig über k8s wusste und somit einige Fehler machte, über die ich nächtelang grübeln durfte. Am Ende kriegte ich es jedoch dann irgendwie hin. Die Manifeste wendete ich immer manuell an und schob sie danach in meine Git Repository.

Meine Eltern bekammen dann irgendwann auch Glasfaser und ich war extrem begeistert, weil mein Mikrotik Router direkt hinter dem Modem seine Arbeit verrichten durfte.

Version 6 - Aktuelle Version

Als ich nach der Ausbildung mit meiner Freundin sofort zusammen zog, ließ ich mein geliebtes Rack im Haus meiner Eltern zurück und ging nicht mehr jeden Abend zum “Gute Nacht”-Sagen in den Keller runter. Meine Eltern sind aber so großzügig und spenden immer noch Platz und Strom für meinen gesamten Stolz. Ich hatte nun somit in meiner Wohnung die Möglichkeit, ein echtes Offsite-Backup nach der 3-2-1 Backup-Regel anzulegen. Ich ließ meinen Gaming PC nun also 24/7 in einem gedämmten Gehäuse laufen und startete meinen restic-Server, der von meinem k8up für fast ein Jahr jede Nacht fleißig mit Backups bespielt worden ist.

Leider kam es wie es kommen musste – und die Software machte etwas Zicken. Nach einigen Verhandlungen mit meiner Freundin, war es mir dann erlaubt, ein kleines eigenes Rack in die Wohnung zu bauen. Wenn ihr mehr über das Rack bei mir in der Wohnung lesen wollt, dann schaut in ein paar Wochen noch einmal vorbei. Ich schreibe hierüber einen dedizierten Artikel. (Link wird am Ende des Artikels dann gepostet.)

Version 6+ - The future

Da ich auf der Arbeit das Privileg habe, manchmal ausgemusterte Hardware nach Hause zu nehmen, bin ich im Moment eigentlich sehr gut versorgt. Alles, was ich wirklich brauche, habe ich. Ich würde nur gerne einen dedizierten Storage Server in Form eines NAS haben. Dezentrales Networked Storage hat sich nach wenigen Sekunden auf meinem Host (Ceph) als zu ressourcenhungrig erwiesen. Leichtere Lösungen wie Longhorn sind zu instabil. Ich habe hierzu auf Reddit (Englisch) auch mal den Rest der Community gefragt (für jeden, der mehr darüber wissen mag).

Lessons Learnt - What would I have made different in retrospective?

Nachdem Patrick von Serve The Home immer so gerne seine “Lessons Learnt” am Ende eines Videos darbietet, möchte ich versuchen, ihm einmal nachzueifern.

Ich möchte meinen Eltern millionenfach danken, dass sie mich auf diesem langen Weg unterstützt haben und es weiterhin tun. Es war nicht immer einfach und hat allen Parteien einiges an Nerven gekostet, wenn ich wieder etwas serverseitig verbockt habe. Am Ende waren wir aber doch relativ glücklich, da der Upload der Nextcloud immer deutlich höher war als der von OneDrive. Dazu konnten meine Eltern einen Familienkalender haben, auf den auch ich von Linux Zugriff hatte. Alles in einem läuft seit Langem einiges mehr als nur die Nextcloud und ich habe durch meine Erfahrung während der Schule und des gescheiterten Studiums geschafft, mir genug Kentnisse aufzubauen, sodass ich für SUSE als Azubi in Frage kam. Dies hat mir indirekt den Job, den ich heute habe, verschafft. Viele Erfahrungen, die ich in den Jahren gemacht habe, darf ich im Moment an die aktuellen Azubis weitergeben. Nach wie vor lerne ich wöchentlich etwas in meinem Homelab, was ich vorher nicht wusste und auf der Arbeit so nie versucht hätte umzusetzen, da im Tagesgeschäft keine Zeit dafür ist. Für mich ist mein Homelab ein Must-Have und so sehr ans Herz gewachsen. Ich bin überglücklich, so viel mit Hardware daheim arbeiten zu können und über die ganzen Projekte, die ich dabei umsetzen kann.

Comments

No Comments