Tobi's Homelab - März 2021

Homelab März 03, 2021

Die Anfänge

Wie so viele Leute, die sich mit dem Thema Homelab und Selfhosting beschäftigen, landet man meist bei einem Raspberry Pi für die ersten Dienste, die man selber hosten möchte. Bei mir war es ein Pi 3+ den ich noch über hatte. Das müsste so Mitte 2018 gewesen sein.

Da ich überhaupt keine Ahnung hatte, was ich wollte und was so gibt, hatte ich im Netz bisschen gestöbert und bin auf DietPi gestoßen. Das ist eine schlanke Distribution auf Debian Basis für den Pi, mit denen man super schnell eine Nextcloud mit einem Klick installieren kann.

Das Upgrade

Die 1 GB RAM des  Pi 3B+ haben nach einiger Zeit nicht mehr gereicht und es musste was neues her und ich bin auf die Suche gegangen.
Ich bin dann relativ schnell auf einen Intel NUC gestoßen und konnte nach einiger Zeit, einen bei Ebay Kleinanzeigen ersteigern und es ist ein Intel NUC7PJYH geworden

Die Facts vom schönen Teil sind wie folgt:

  • Intel Pentium Silver J5005
  • 16 GB RAM
  • 240 GB Kingston SSD

Wie ihr sicher sehen könnt, ist das der gleiche Prozessor, welchen Nico auf seinen Board verbaut hat. Für die Aufgaben, die er bewerkstelligen muss, hat er ausreichend Reserven.

Erfahrungen mit dem NUC

Mit nun 16  GB RAM im Gepäck, stand mir die Welt offen und ich wusste anfangs gar nicht, womit ich anfangen sollte :)


Ich kann mich gar nicht mehr genau erinnern, warum ich bei Proxmox gelandet bin, aber das war auf jeden Fall der Weg den ich eingeschlagen habe. Ich konnte schnell erste Erfahrungen mit Linux Containern sammeln und habe unzählige zum testen aufgesetzt.

Durch meine Erkenntnisse konnte ich erst überhaupt Nico anstacheln auch einzusteigen. Damals hatte Nico nur seinen Pi 4, aber ist schnell bei Docker gelandet und ich hatte quasi alles auf Basis von Container aufgesetzt .

Aber Nico hat so eine Art, Menschen zu überzeugen, dass dies eine geniale Lösung ist und ich machte mich also an die Arbeit. Also schnell eine VM aufgesetzt und über die Zeit lernte man, welche Vorteile doch Docker Container haben können.

Keine Abhängigkeiten mehr von Hand zu installieren oder Datenbanken anlegen. Das geht nun alles sehr easy in einer Docker-Compose Datei.


Nun habe ich eine Mischung aus Linux VM’s, Container und zwischendurch auch mal eine Windows VM zum testen. Das läuft auch alles ziemlich gut, was mich aber störte, ist die mangelnde Erweiterbarkeit vom NUC. Eine USB HDD diente als Datengrab und ist irgendwie nicht so die “geile Lösung” gewesen. Also machte ich mich nun auf die Suche nach was neuem.



Die Planung 2.0

Im Dezember 2020 hatte ich Nico schon ganze Zeit genervt mit Bauvorschlägen und ich konnte mich nicht recht so entscheiden, was ich nun nehmen sollte und nach reichlich Überlegungen, einen Kriterienkatalog erstellt und anhand dieser, die Hardware ausgewählt.

  • Geringer Energieverbrauch >> war mir sehr wichtig
  • Größe >> steht im Büro und sollte nicht zu auffällig sein
  • Leise >> siehe Aussage davor
  • Ausreichend Platz für die VMs, daher mindestens 1 TB SSD Speicher
  • Erweiterbarkeit für mindestens 3 SATA Platten
  • Server Hardware, wenn möglich

Im Endeffekt ist es die folgende Hardware geworden:

  • Chieftec CI-01B-OP
  • Fujitsu D3644-B Mainboard
  • Intel i3-8100
  • 2 x 16 GB ECC Samsung RAM
  • 1TB Kingston A2000 m.2 SSD
  • 2TB Seagate 2,5 HDD
  • bequiet! PurePower 11 300W Netzteil


Nun möchte ich noch ein wenig auf die gewählte Hardware eingehen:

Gehäuse

Zuerst wollte ich genauso wie Nico, auf ITX Basis aufbauen, aber die Boards, die ich für interessant hielt, waren alle nicht verfügbar und dann habe ich mich entschieden, auf Micro ATX zu wechseln und bin dann beim Chieftec CI-01B-OP gelandet, wo ich maximal 4 x 3,5 Zoll HDDs und unzählige 2.5 HDDs verbauen kann.
 

Mainboard

Das Mainboard heraussuchen erwies sich schwerer als gedacht, als erstes wollte ich ein Gigabyte C246 Board haben, aber die Verfügbarkeit hat mir ein Strich durch die Rechnung gemacht. Dann habe ich mich umgeschaut und es blieben noch Supermicro und das gelobte Fujitsu D3644-B Board über. Der erste Punkt mit dem Stromverbrauch hat mich dazu bewogen, dieses Mainboard auszuwählen. Klar sind IPMI und Dual NICs nett, aber der Stromverbrauch, besonders für IPMI kann man gerne 5 Watt rechnen, waren es mir nicht wert. Wenn der Server im Keller gestanden hätte, hätte ich mich anders entschieden.

CPU

Als Prozessor kommt ein Intel i3-8100 zum Einsatz. Dieser hat 4 Kerne ohne Hyperthreading. Das wichtigste für mich war, die ECC Unterstützung. Diese fehlt zum Beispiel in den i5 und i7 Prozessoren. AMD war kein Thema, in Sachen Idle Verbrauch, hängen die Modelle leider noch hinterher bzw. passende Mainboards zu finden, erwies sich als schwierig.

Die Leistung sollte für die Zukunft ausreichend sein und falls nicht, kann ich immer noch  noch auf die Intel Xeon 2200 Serie setzen. Da wäre das Top Modell ein 8 Kerner mit Hyperthreading.

Arbeitsspeicher

Um in Zukunft auch gewappnet zu sein, habe ich mich für 2 x 16 GB Samsung ECC RAM entschieden. Wahrscheinlich hätten 16 GB für den Anfang auch gereicht, aber hey, mehr ist bekanntlich besser :)

Warum ECC RAM fragen sich sicherlich welche. Ganz einfach, um Bitfehler zu vermeiden und so viel teurer waren diese auch nicht. Wem das nichts sagt, hier nochmal ein Link wofür ECC überhaupt gut ist.

Festplatten


Als Festplatte habe ich eine 1 TB Kingston A2000 SSD ausgewählt. Diese dient als VM Speicher und eine zusätzliche 2 TB 2.5 Zoll HDD von Seagate dient als Datengrab.

Auf ZFS oder Raid werde ich in der Zukunft, aber nicht setzen, sondern eine Mischung aus Mergerfs und Snapraid. Über diese Dinge, werde ich noch einen separaten Artikel zu schreiben, wenn es so weit ist.

Software

Als Hypervisor nutze ich Proxmox. Ich benutze hauptsächlich LXC Container und wenn es nicht anders möglich ist, auch  virtuelle Maschinen, wie für meinen Docker Host.

Auch ich setze verstärkt auf Docker Container, das hat sich für mich einfach als beste Lösung herausgestellt. Nur besonders kritische Dienste, habe ich auf einzelne Container ausgelagert wie zum Beispiel meine Seafile und meine Heimautomatisierung.

Wie man anhand der Grafik sehen kann, langweilt sich der Intel NUC gerade, ich habe noch so einige LXC und Test VMs zum spielen, aber diese haben oft keine allzu lange Lebensdauer und sind deswegen nicht aufgeführt.

Backup

Ich mache mit dem Proxmox Backup Server  Backups auf die 2 TB HDD und sichere per Rclone, diese noch in die Cloud bei Google Drive (natürlich verschlüsselt).

Richtig "sexy" ist das Cloud Backup noch nicht, weil ich falls die lokale Backupplatte ausfällt, ich doch erheblichen Aufwand habe, die Sachen aus der Cloud wiederherzustellen, durch die "Chunk Dedupe" Architektur vom PBS. Da muss ich mir nochmal was einfallen lassen und suche noch eine gute Lösung dafür.

Monitoring

Ich habe auf den alten Pi 3B+ Zabbix installiert und dient als Monitoring Lösung. Falls ich einen neuen Container/VM erstelle, habe ich direkt ein Ansible Playbook, welches diesen automatisch in das Monitoring aufnimmt und das Standard Linux Template von Zabbix zuweist.

Damit bin ich sehr zufrieden und läuft tadellos.

Fazit und Ausblick


Mit dem neuen Server habe ich ausreichend Reserven für die Zukunft. Ich will definitiv weiter mit Kubernetes experimentieren und Erfahrungen sammeln. Der nächste Schritt wäre wohl ein Server rein als NAS aufzuziehen und den LXC Container als NAS Share abzulösen, aber da sehe ich die nächsten 2-3 Jahre noch kein Bedarf (sagte er Anfang 2021 haha).

 


 

 


Tags