Heimserver

Heimserver

Einleitung

Ein Heimserver ist ein spannendes Hobby für alle, die Freude an Technik haben und gern Neues ausprobieren. Dabei richtet man zu Hause einen kleinen Server ein, der zum Beispiel Fotos, Dokumente, Musik oder Filme speichert und im eigenen Netzwerk verfügbar macht. So lernt man Schritt für Schritt, wie Computer, Netzwerke und Datensicherung funktionieren. Ein Heimserver muss nicht teuer oder kompliziert sein – oft reicht schon ein älterer PC oder ein kleiner Mini-Computer, um erste Erfahrungen zu sammeln.

Server für den Heimgebrauch: Kaufen oder selber bauen

Wer einen Heimserver nutzen möchte, kann entweder ein fertiges Gerät kaufen oder selbst einen Server zusammenstellen. Besonders beliebt sind sogenannte NAS-Systeme, die speziell für das Speichern und Teilen von Dateien gemacht sind. Sie sind meist einfach einzurichten und daher gut für Einsteiger geeignet. Wer gern bastelt und mehr lernen möchte, kann einen Heimserver auch selbst bauen, zum Beispiel aus einem älteren Computer oder einem kleinen Mini-PC. Das erfordert etwas mehr Geduld, bietet dafür aber mehr Freiheit und Spaß am Ausprobieren und ist damit auch ein ideales Hobby.

Server für den Heimgebrauch I: Kleiner Raspberry Server

Für kleinere Server-Anwendungen, z.B. im Bereich Heimautomation kann schon ein Server auf Basis des Raspberry Pi ausreichend sein. Ein grosser Vorteil ist dabei, dass ein Raspberry nur sehr wenig Stom verbraucht und trotzdem erstaunlich viel Leistung für einfache Aufgaben hat. Typische Anwendungsbeispiele sind:

  • Kleiner Dateiserver (Fileserver)
  • Heim-Automations-Server, z.B. Home Assistant, NodeRed, OpenHAB, Mosquitto/MQTT Server
  • 3D-Druck-Server, z.B. Octoprint
  • Drucker-Server, z.B. für AirPrint
  • Adblock-Server, z.B. PiHole (Anleitung)
  • Media-Server, z.B. OpenELEC, OSMC
Als Basis für einen Server dient normalerweise das Raspberry Pi OS Lite (unter Raspberry Pi OS (other) im Raspberry Pi Imager), welches dann ohne graphischen Desktop installiert wird. Alternativ kann man auch Ubuntu Server im Raspberry Pi Imager auswählen. Einige der anderen Server-Anwendungen lassen sich ebenfalls direkt aus dem Pi Imager installieren.
Die Installation ist denkbar einfach: Es braucht dazu eine Micro-SD Karte (min 16 GB), den Raspberry Pi Imager und einen PC mit dem man die SD-Karte beschreiben kann. Im Pi Imager wählt man dann das gewünschte System aus und schreibt es auf die SD-Karte. Diese dann in den Raspberri Pi einstecken und starten. Voila. 

Server für den Heimgebrauch II: Heimserver auf PC Basis

Wenn man etwas mehr Leistung braucht, z.B. um einen Fileserver mit mehreren Festplatten oder einen Virtualisierungs-Server zu betreiben, reicht ein Raspberry Pi nicht mehr aus. Für daheim ist ein klassischer Rack-Server aber auch nicht ideal, da diese normalerweise viel zu laut und energiehungrig sind. Wer nicht selber basteln will oder kann, für den sind fertig konfigurierte NAS-Server (Network Attached Storage, z.B. von Synology oder QNAP) das Richtige. Diese haben umfangreiche Funktionen für Filesharing, Medienserver und können meist auch virtuelle Maschinen ausführen.

Wer allerdings Spass am Basteln hat und gerne flexibel sein möchte, der kann sich selber ein System zusammenbauen:

Hardware

Bei der Hardware kann man für erste Versuche schon mal auf einen klassischen Desktop PC zurückgreifen um darauf den Server zu installieren. Für einen permanenten Betrieb sollte man aber darauf achten, dass das System möglichst energieeffizient ist. Für einen Fileserver sollte man auch Redundanz bei den Festplatten einplanen – beim Ausfall einer einzelnen Disk sind sonst alle Daten weg. Für grosse Datenmengen die nicht viel gebraucht werden (z.B. Bilder- oder Videosammlungen) bieten klassische Harddisks ein gutes Preis-Leistungs-Verhältnis. Für Server-Anwendungen die regelmässig auf die Disk(s) zugreiffen sind diese nicht ideal, da setzt man dann besser eine SSD ein.

Für ein einfaches System hat man dann eine SSD für das Server-Betriebssystem und zwei HD’s für die Daten. Wenn man mit dem Server keine Virtualisierung machen will, dann kann die SSD auch klein sein, z.B. 100-250 GB. Wenn virtuelle Maschinen ausgeführt werden sollen, dann muss man auch genügend RAM vorsehen, da jede VM jeweils ihren eigenen Speicher braucht. Dann sind da so ab 32 GB vernünftig, für einfache Fileserver reichen auch 8GB. 

Heute gibt es auch sehr interessante, leistungsfähige und sparsame Mini-PC’s oder NUC’s, die gerade für einfachere Heimserverprojekte gut ausreichen, aber halt wenig Möglichkeiten zur Aufrüstung oder Redundanz geben. Beispiele sind die Intel/Asus NUC PC’s, Zotac ZBOX, MSI Cubi, GMTec etc. mit mindestens 4-Kern Prozessor und min 8GB RAM. So ein Mini-PC eignet sich u.a. sehr gut als Basis für die Heimautomatisierung. 

Software: Fileserver

Für einen Server, der nur als Fileserver verwendet wird, gibt es komplette Lösungen die Open Source sind. Die bekanntesten Lösungen sind:

Alle Systeme sind sehr leistungsfähig, man sollte aber vorab ein paar Tutorials anschauen um die Bedienung zu verstehen. Bei TrueNAS sollten auch min. 8 GB RAM im System sein, empfohlen werden 16GB.
 
Software: Virtualisierungs-Server
Möchte man verschiedene Systeme in einer virtuellen Umgebung testen oder betreiben, dann ist eine Virtualisierungslösung notwendig. Für den privaten Gebrauch gibt es einige freie Möglichkeiten:

Von den Virtualisierungslösungen ist wohl XCP die einfachste für den Heimgebrauch. Über das Control Center lassen sich viele Funktionen nutzen, aber nicht alle – vollen Zugang bietet Xen Orchestra, das aber je nach Leistungsumfang kostenpflichtig ist.

Proxmox bietet erlaubt den Zugang zu allen Funktionen auch in der feien Version. Es ist sehr leistungsfähig, benötigt aber etwas mehr Einarbeitungszeit. Mit Proxmox lassen sich auch einzelne Hardware-Komponenten direkt an eine virtuelle Maschine durchreichen, so dass man z.B. eine Grafikkarte oder HD’s exklusiv für eine VM nutzen kann.

vSphere ist die freie Variante der professionellen Virtualisierungslösung vom VMWare die etwas an Funktionen reduziert ist. Für den privatgebrauch sollte das allerdings keine wirkliche Einschränkung sein.

Für die Installation lädt man sich normalerweise das Iso-Image herunter und lädt das dann mit einem Imaging tool wie Rufus auf einen genügend grossen USB-Stick. Dann bootet man den Server-Rechner vom USB Stick (ggf. Boot-Reihenfolge im BIOS anpassen) und folgt den Installationsanweisungen. Für einen Server sollte man in jedem Fall eine feste IP Adresse vergeben (ggf. im Router), damit man den Server danach über diese Adresse erreichen kann.

Proxmox installieren

Wie gerade beschrieben braucht es für die Installation von Proxmox erst ein ISO image. Dieses lädt man hier herunter: Proxmox VE ISO

Das Iso file dann mit Rufus auf einen USB Stick kopieren und einen PC damit booten (typische Tasten für das Boot Menu: F12, F11, Esc, Del). Bei der Installation wählt man die passende Disk (Achtung: Disk wird komplett gelöscht) und die Installationssprache aus, und muss dann das Passwort für den user «root» (=Administrator) vergeben. Bei den Netzwerkeinstellungen die passende Netzwerkschnittstelle wählen und einen Domänennamen vergeben (z.B. mit Endung «.local»). Für Proxmox wird eine feste IP Adresse vergeben, die im heimischen Netzwerk-Bereich liegt (z.B. 192.168.1.200) und unter Gateway und DNS die Adresse des eigenen Routers. Danach wird die Installation abgeschlossen und nach dem Neustart wird die IP Adresse angezeigt, unter der man den Proxmox Server erreichen kann (z.B. https://192.168.1.200:8006).

Proxmox Dashboard
Dashboard Übersicht in Proxmox

In der Weboberfläche sieht man nun ganz links den Server und darunter dann die Virtuellen Maschinen oder Container die man auf dem Server einrichtet. Zur Einrichtung vom virtuellen Maschinen oder Containern kann man entweder via die Buttons «Create VM» bzw. «Create CT» eine entsprechende Maschine einrichten, oder aber man macht das, sofern verfügbar, über ein Helper script:

Helper Skripte

Unter https://community-scripts.org/scripts findet man eine grosse Sammlung von Installationsskripten, die man einfach in der Shell des entsprechenden Servers eingeben kann. Dazu ganz Links den Server anwählen und dann in der mittleren Spalte «>_ Shell» anclicken. In der Shell rechts kann man dann den entsprechenden Befehl den man von den Helper Scripts kopiert hat mit einem Rechtsclick > Paste einfügen und ausführen. Damit wird mit einem einzigen Befehl eine Maschine installiert. Da sich Proxmox eher an bezahlende Kunden richtet, reklamiert das System dann oft, dass keine Subscription für die Enterprise-Paketquellen verfügbar sei. Um das zu verhindern, kann man das Helper Script Proxmox VE Post Install in der Shell laufen lassen.

Über die Helper Skripte lassen sich verschiedene Systeme ganz einfach installieren:

  • Linux Betriebssysteme: Debian, Ubuntu, etc.
  • Heimautomatisierung: Home assistant, OpenHAB, ESPHome etc.
  • Cloudserver: Nextcloud, Owncloud
  • Medienserver: Plex, Jellyfin, OpenMediaVault 
  • und vieles mehr. 

Heimserver unterhalten

Ein eigener und selbst aufgebauter Heimserver kann natürlich optimal an die eigenen Bedürfnisse angepasst werden und bietet sehr viel Raum für kreative Experimente. Allerdings muss man sich auch im Klaren sein, dass man selber für die Wartung und Sicherheit verantwortlich ist. Daher ist es wichtig, dass man regelmässig die aktuellen Sicherheitsupdates installiert und regelmässig Backups macht.