Ein DIY Homeserver, der extrem stromsparend und dennoch ausreichend leistungsstark ist? Machbar!

Selbstbau-Server die Zweite

Welche Vorteile ein eigener Server hat und wie ich persönlich dieses Projekt realisiert habe, darauf bin ich bereits im älteren Beitrag DIY Homeserver eingegangen. Eineinhalb Jahre lang hat mein dort vorgestellter Mini-Server nun gute Dienste geleistet. So weit, so gut, doch nachdem ich weiter und weiter in die Materie eingetaucht bin, habe ich zunehmend mehr Optimierungspotential gesehen.

Heißt, der bestehende Server wurde zum Backup-Server degradiert und von einem neuen DIY Server abgelöst, den ich in diesem Beitrag vorstellen möchte.

Warum überhaupt ein neuer Server?

Mein Ziel war von Beginn an, einen Homeserver zu betreiben, der nicht mehr als 40 Euro Stromkosten pro Jahr verursacht. Und dieses Ziel habe ich mit meinem alten Host eben nicht ganz erreicht, denn dieser eierte selbst im Leerlauf mit über 18 Watt vor sich hin.

Zudem war ich mit dem von mir eingesetzten Betriebssystem “Unraid” nicht sonderlich zufrieden, sah keinen Bedarf mehr an dem Cache-Array-Prinzip und wollte sowieso mit einem alternativen Server-OS von vorne beginnen.

Welche Hardware darf es diesmal sein?

Um den Stromverbrauch meines neuen Homeservers zu senken, sah ich das größte Optimierungspotential bei den folgenden vier Punkten:

  1. Die Festplatten, welche vor allem beim Anlaufen ordentlich Strom ziehen, müssen durch Solid-State-Drives ersetzt werden.
  2. Der Intel Pentium Silver J5040 muss dem effizienteren Intel N100 weichen.
  3. Die 2.5 GBit Netzwerkkarte muss raus und ich gebe mich mit 1 GBit Onboard LAN zufrieden.
  4. Das externe Netzteil muss durch eines ersetzt werden, das einen höheren Wirkungsgrad aufweist.

Zusammenfassend besteht mein neuer DIY Homeserver somit aus folgenden Komponenten:

GehäuseJonsbo V4 Micro-ATX Cube
Kompakt, stylisch und günstig.
MainboardASRock N100DC-ITX
Kleines, aber feines ITX-Board.
ProzessorIntel Pentium N100 Quad-Core
Onboard gelötet, mit nur 6 Watt TDP.
Arbeitsspeicher1 x 32 GB DDR4 DIMM
Wobei 16 GB auch genügt hätten…
GrafikkarteIntegrated Intel UHD Graphics
De-/encodiert H.265-/HEVC-Videos.
Netzwerkkarte1 GBit LAN onboard
Das muss genügen…
M.2 NVMe SSDToshiba RD400 128 GB
Als Boot-Drive für das OS.
2.5” SATA SSD2 x Samsung 870 EVO 4 TB
Als RAID1 für alle meine Daten.
Zigbee GatewaySonoff ZBDongle-E 3.0
Für die Smarthome-Plattform Home Assistant.
Bluetooth DongleZexmte 5.1 EDR Long Range
Ebenfalls für Home Assistant.
LüfterNoctua NF-A8 80 mm
Per UEFI auf 800 Umdrehungen gedrosselt.
NetzteilLeicke ULL 65 Watt
Sehr effizientes externes Netzteil.

Betriebssystem & Software

Weg von Unraid war das Ziel. Nach kurzen Ausflügen zu TrueNAS Scale und Proxmox bin ich letztendlich bei Ubuntu Server gelandet.

Nachteile

Da ich mich für die Minimal-Installation von Ubuntu Server entschieden habe, musste ich alles, was ich benötige, händisch nachinstallieren und per Kommandozeile konfigurieren: Docker & Docker Compose, die Firewall, KVM/QEMU & Libvirt für Virtualisierung… Sogar das RAID und die Samba-Freigaben musste ich manuell erstellen! Klar, ohne Benutzeroberfläche gibt es keine grafischen Assistenten oder Tools, die das per Mausklick hätten erledigen können.

Vorteile

Abgesehen von der Tatsache, dass ich viel dazu gelernt habe, sorgt ein solch schlichtes Linux System dafür, dass ich jetzt die absolute Kontrolle über mein Server-Betriebssystem habe und alle nur erdenklichen Tweaks anwenden kann. Denn sowohl mit TrueNAS als auch mit Proxmox bin ich – genau wie mit Unraid – immer wieder an einem Punkt angelangt, wo ich etwas nicht so umsetzen konnte, wie ich es gerne gewollt hätte.

Softwareseitige Optimierungen

Leider hat die erste Strommessung ergeben, dass der Verbrauch meines neuen Servers im Leerlauf noch immer bei 15 bis 17 Watt liegt. Dies konnte ich aber letztendlich darauf zurückführen, dass ein blankes Ubuntu Server Betriebssystem eben überhaupt nicht optimiert bzw. auf niedrigen Stromverbrauch getrimmt ist. Also war noch etwas Finetuning angesagt:

  • Ein Kernel-Update von 22.04 auf 24.04 sorgte dafür, dass die recht neue CPU auch den Stromsparmodus “C10 State” erreicht.
  • Mithilfe des Dienstprogramms “PowerTOP” alle vorgeschlagenen Optimierungen umgesetzt.
  • Den CPU Governor dauerhaft von “Performance” auf “Powersave” geändert.
  • Von Home Assistant OS als VM zur Container-Variante gewechselt, um die CPU-Last zu minimieren.
  • Die CPU-Nutzung rechenintensiver Container per Docker Compose auf 50 % limitiert.

Mit folgendem Befehl lässt sich prüfen, welchen CPU Governor die Kerne nutzen:

user@homeserver:~$ cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
powersave
powersave
powersave
powersave

Da der Container “Home Assistant” permanent eine hohe Prozessor-Last verursacht hat, habe ich die CPU-Nutzung einfach per Docker Compose auf 50 % limitiert:

version: "3.9"
services:
  homeassistant:
    container_name: homeassistant
    environment:
      - TZ=Europe/Berlin
    volumes:
      - ./config:/config
    cpus: 0.5 # <-- limitiert die CPU-Nutzung auf 50 %

Fazit

Das Ergebnis kann sich sehen lassen! Aktuell läuft mein neuer DIY Homeserver mit erstaunlichen 11 bis 14 Watt vor sich hin. Der Tagesdurchschnitt liegt bei 13,3 Watt, was bei meinem Strompreis hochgerechnet nur 40,26 € pro Jahr entspricht.

Ich denke, dass ich jetzt an einem Punkt angelangt bin, wo einfach nichts mehr optimiert werden kann. Weiter ließe sich der Stromverbrauch vermutlich nur senken, wenn ich auf die beiden USB-Sticks (Zigbee & Bluetooth) verzichten würde, die ich aber für meine Smarthome-Plattform benötige.