Dies ist ein Blogbeitrag über Dinge, die wirklich schlecht gelaufen sind. Aber das ist okay, denn sie sollten ja schlecht laufen. Lassen Sie mich das erklären.
Ich habe im Dezember 2023 als Site Reliability Engineer bei Censys angefangen. Meine berufliche Laufbahn im Technologiebereich wurde stark durch das Cloud Computing beeinflusst, das die spezifischen Fachkenntnisse verändert hat, mit denen man sich als Ingenieur beschäftigen muss. In den letzten fünfzehn Jahren haben viele von uns viel weniger Zeit mit der Verkabelung in einem Rechenzentrum verbracht und viel mehr Zeit mit einer Cloud-Konsole der einen oder anderen Art verbracht. Doch wie in der Mode ist auch in dieser Branche alles zyklisch, und jeden Tag sprechen mehr Leute über die Kosteneinsparungen und Freiheitsvorteile, die der Betrieb von Diensten auf eigener physischer Hardware mit sich bringt. Censys ist da sicherlich keine Ausnahme: Wir betreiben einen Teil unserer Systeme schon seit einiger Zeit vor Ort.
In früheren Positionen, in denen ich mit physischer Hardware zu tun hatte, wurde ich von ganzen Teams unterstützt, die sich direkt darum kümmerten. Censys ist ein viel kleineres Unternehmen, und in meiner neuen Rolle musste ich Teile des Stacks verstehen, die ich bisher weitgehend ignorieren konnte. Wie kommt also jemand, der einen Großteil seiner Karriere mit dem Kopf in der "Cloud" verbracht hat, mit den Belangen echter, physischer Hardware zurecht?
Geben Sie das Budget für berufliche Entwicklung Censys ein. Dabei handelt es sich um ein jährliches Stipendium, das wir nach eigenem Ermessen (in angemessenem Rahmen) für die Weiterentwicklung unserer beruflichen Fähigkeiten verwenden können. Ich beschloss, einen Teil meines Budgets für den Bau eines Heimlabors zu verwenden, in dem ich aus erster Hand mit physischer Hardware experimentieren kann. Heute werde ich darüber berichten, was ich gebaut habe und über einige der frustrierenden Stolpersteine auf dem Weg dorthin.
Was ist eigentlich in einem Homelab?
Die Praxis des "Homelabbing" gibt es in der Technologie-Community schon lange. Auf Reddit finden Sie zahlreiche Threads, in denen Leute über ihre Heimlabore sprechen, Bilder davon teilen und vieles mehr. Der Begriff selbst bezieht sich auf die Praxis, zu Hause eine Art Sandkastenumgebung einzurichten, in der man mit Problemen arbeiten kann, die mit denen im Berufsleben vergleichbar (wenn nicht sogar identisch) sind.
Die Grenzen dessen, was man mit diesem Ansatz lernen kann, sind nur durch das Budget und die eigene Neugierde gesetzt. Was genau jeder Einzelne in sein Homelab einbauen möchte, hängt davon ab, was er lernen möchte. Ich selbst wollte praktische Erfahrungen mit fortgeschrittenen Netzwerktechniken und der Ausführung von Kubernetes auf Bare-Metal-Hardware sammeln. Was ich aufgebaut habe, spiegelt das wider.
Heute habe ich in meinem Heimlabor:
- Mein Heimnetzwerk und meine Sicherheitsausrüstung, die derzeit aus Sicherheits- und praktischen Gründen weitgehend von der Laborausrüstung isoliert ist.
- Ein Intel i3 NUC, auf dem pfSense läuft, das derzeit die Firewall für das Labor ist.
- Fünf Raspberry Pi 4B werden zu einem Kubernetes-Cluster zusammengefügt.
- Vier von ihnen sind mit Festplatten ausgestattet, die über USB angeschlossen sind, um einen permanenten Speicherplatz zu bieten, der gegen den Ausfall eines einzelnen Knotens abgesichert ist.
- Ein preiswerter TP-Link Power-over-Ethernet-Switch, der meine Raspberry Pi's über das gleiche Kabel mit Strom versorgt und mit dem Netzwerk verbindet.

Auf der Skala der Heimlabore ist dieses hier ziemlich klein. Es wird mir sicher keine Preise für elegante Verkabelung einbringen (obwohl ich daran arbeite). Trotzdem hat es mir viele Gelegenheiten geboten, neue Dinge zu lernen, und das ist ja der Sinn der Sache.
Ich habe zu Beginn erwähnt, dass dies ein Blogbeitrag über Dinge ist, die schlecht gelaufen sind. Wenn Sie also nach Ratschlägen suchen, wie man eine Konfiguration wie diese so einrichtet, dass sie nützlich ist, sind Sie wahrscheinlich an der falschen Stelle. Stattdessen folgen nun einige der interessanteren Entwicklungen, die sich ergeben haben, und was ich daraus gelernt habe. Wenn sich das für Sie interessant anhört, lassen Sie uns loslegen.
Probleme mit externen Festplatten
Externe USB-Laufwerke sind heutzutage ein ziemlich verbreitetes Phänomen. Einer der Gründe, warum diese Laufwerke so gut funktionieren, ist eine Technologie namens "UAS", die es ermöglicht, Daten auf einem USB-Laufwerk viel schneller zu lesen und zu schreiben, als man es sonst könnte. Eines der ersten Dinge, die ich in meinem neuen Heimlabor tun wollte, war, etwas Speicherplatz zu haben, also kaufte ich einige Laufwerke und begann, sie anzuschließen.
Ich habe einige Testlaufwerke und ein Testkabel für einen Raspberry Pi gekauft. Ich habe alles auf das neue Laufwerk übertragen, einschließlich des Betriebssystems. Alles sah gut aus, also kaufte ich ein paar weitere. Nachdem ich die Laufwerke angeschlossen und einige Tests zur Lese- und Schreibgeschwindigkeit durchgeführt hatte, war alles in Ordnung. Also installierte ich Longhorn, um meinem Kubernetes-Cluster einen redundanten, dauerhaften Speicher zu geben. Ich war begeistert von allem, bis ich die erste große Datei in ein Longhorn-Volume kopierte und plötzlich alles aufhörte zu funktionieren. Ich konnte mich nicht aus der Ferne mit dem Rechner verbinden, meine Dateien wurden nicht mehr angezeigt, und es war, als ob sich alles in Luft auflöste, bis ich den Server neu startete und alles wieder da war. Bis er wieder kaputt ging.
Mir war ein entscheidender Fehler unterlaufen, den ich auf keinen Fall im Voraus hätte voraussehen können. Unabhängig vom Markennamen, der beim Kauf eines Computerkabels auf der Außenseite steht, produzieren andere Hersteller die Chips im Inneren des Kabels, die dessen Funktion ermöglichen. Wenn diese Chips nicht gut mit Ihrer Hardware zusammenarbeiten, sind Sie erledigt.
Das Kabel, mit dem ich meine Festplatte an den USB-Anschluss angeschlossen habe, hat sich nicht mit dem Raspberry Pi vertragen. Das Ergebnis war, dass das Laufwerk in regelmäßigen Abständen abstarb, bis die Stromversorgung zurückgesetzt wurde. Das ist an sich schon schlimm genug, aber ich habe auf die harte Tour gelernt, dass, wenn das Kernbetriebssystem auf diesem externen Laufwerk liegt, wenn das passiert, man jeglichen Zugriff auf diesen Server verliert, um herauszufinden, was passiert ist, bis man ihn neu startet. Danach sind die Beweise für das Problem in der Regel verschwunden und es gibt nicht mehr viele Hinweise auf das frühere Problem.
Wie habe ich das also behoben und was haben wir daraus gelernt?
Die Lösung für dieses Problem bestand aus zwei Teilen.
Als Erstes musste ich das Betriebssystem zurück auf die SD-Karte verschieben, auf der der Raspberry Pi normalerweise sein Betriebssystem laufen lässt. Das bedeutet, dass für den Fall, dass etwas mit dem externen Speicher schief geht, der Hauptserver immer noch funktioniert und ich zumindest Informationen über das Problem sammeln kann.
Zweitens stellt sich heraus, dass externe Laufwerke mit Pi's ein sehr komplexes Thema sind. Letztendlich bestand die Lösung, um den Ausfall meines Laufwerks zu verhindern, darin, den "Quirks Mode" für mein Laufwerk zu aktivieren. Dadurch wird der Pi angewiesen, die schnelleren Datenübertragungsgeschwindigkeiten nicht mehr zu verwenden und stattdessen den langsameren, stabileren Ansatz zu wählen. Und voilà, meine externen Laufwerke funktionierten wieder und blieben in Betrieb.
Ich brauche mehr Energie
Ich habe schon früh beschlossen, dass ich mein Heimlabor über Power-over-Ethernet mit Strom versorgen möchte. Hauptsächlich um zu vermeiden, dass ich eine größere Steckdosenleiste mit genügend Steckern kaufen muss, um fünf Raspberry Pi's an das Stromnetz anzuschließen. Meine vorhandene Ausrüstung war in der Lage, Geräte mit Strom zu versorgen, warum sollte ich das also nicht ausnutzen?
Eines der ersten Probleme, auf die ich bei meinem neuen System stieß, waren Leistungsprobleme. Wie Sie auf dem Bild oben sehen können, ist meine Anlage ziemlich dicht. Abgesehen von der Homelab-Ausrüstung muss ich die Geräte, die mein Heimnetzwerk betreiben, mit Strom und Konnektivität versorgen. Die Switches, die ich ursprünglich für die Stromversorgung verwenden wollte, konnten nicht mit fünf Raspberry Pi's gleichzeitig umgehen, was bedeutete, dass sie an einen der wenigen verfügbaren Ports an meinem Haupt-Switch angeschlossen werden mussten. Das brachte mich auf die Idee, herauszufinden, wie ich mehr stromversorgte Ethernet-Ports für meine Einrichtung bekommen könnte.

Zunächst schien die Lösung einfach zu sein. Einen neuen Schalter von meinem bevorzugten Hersteller kaufen. Leider stellte sich nach kurzer Recherche heraus, dass ich dafür viel mehr Geld ausgeben müsste, als ich wollte (ca. $350-700). Dann wurde ich fündig - ein Schalter von einem anderen Hersteller, der die meisten meiner Anforderungen erfüllt, für 85 $ bei Amazon. Volltreffer!
Okay, ich weiß, was Sie denken, und ehrlich gesagt war ich auf eine Menge Unterschiede zwischen einem 85-Dollar-Schalter und einem 350-Dollar-Schalter vorbereitet. Ich war jedoch nicht auf das größte Problem vorbereitet, das mir begegnet ist. An einem Nachmittag vor kurzem verlegte ich Kabel in meinem Schrank, um eine neue Komponente anzuschließen, und hörte plötzlich ein sehr lautes "KLICK". Alles hatte den Strom verloren und war dabei, sich neu zu starten. Seltsam.... Ich habe nicht geglaubt, dass ich den Schalter an der Steckdosenleiste umgelegt habe, aber vielleicht habe ich es doch getan. Nachdem ich mich vergewissert hatte, dass der Hauptschalter in der richtigen Position war, stellte ich alles so um, dass ich den Schalter nicht aus Versehen treffen konnte, und verlegte mein Kabel weiter. "KLICK". Okay, es liegt also nicht an der Steckdosenleiste.
Was ist also passiert?
Wenn es darum geht, in der physischen Welt Geld zu sparen, gibt es viele Stellen, an denen ein Hersteller Fehler in seinem Prozess machen oder an Ecken und Kanten sparen kann, um den Preis zu senken. In diesem Fall sieht es so aus, als ob die Leute, die diesen Schalter gebaut haben, die Dimensionierung des Stromkabels, das ihn mit der Wand verbindet, nicht ganz korrekt vorgenommen haben. Jedes Mal, wenn ein leichter Wind (oder ein Ethernet-Kabel) über den Stromanschluss streicht, wird alles zurückgesetzt.
Nach einigem Nachdenken bin ich zu dem Schluss gekommen, dass dies eines der Probleme ist, die man nicht unbedingt lösen muss, aber man kann sie abmildern. Oft stimmen die Dinge in der realen Welt mit physischer Hardware einfach nicht so überein, wie sie in einer Spezifikation stehen. Manchmal gibt man das kaputte Gerät zurück und kauft etwas Neues, aber in anderen Fällen entscheidet man, dass es besser ist, das Problem zu entschärfen und weiterzumachen. Genau das habe ich hier getan. Das Kabel wurde neu konfiguriert, um die Anzahl der Dinge, mit denen es in Kontakt kommen kann, zu minimieren, was wiederum bedeuten sollte, dass unerwartete Neustarts aufgrund von Erschütterungen ebenfalls seltener werden sollten.
Mehr Brüche, mehr Lernen
Das sind nur ein paar der Streiche, in die ich bei der Arbeit an meinem Heimlabor verwickelt war. Wenn Sie mich auf einer Konferenz sehen und mehr hören wollen, erzähle ich Ihnen gerne, wie ich alle Netzwerkgeräte in meinem Haus dazu gebracht habe, ihre Lüfter auf Maximum zu drosseln und dann nacheinander neu zu starten. Oder als ich das genaue Format einer Diskette herausfinden musste, um ein altes Fernverwaltungssystem zum Laufen zu bringen. Die Liste lässt sich fortsetzen.
Wenn Sie Zugang zu einem professionellen Entwicklungsbudget haben, kann ich nicht genug empfehlen, neugierig zu werden, etwas Hardware zu kaufen und zu versuchen, etwas zu bauen. Und wenn Sie das nicht tun, ist jetzt wahrscheinlich ein guter Zeitpunkt, um zu erwähnen, dass wir neue Mitarbeiter suchen.
Censys Karriere