Ich betreibe ja schon seit Jahren jeden selbstgenutzten Dienst bzw. jede selbstgenutzte Anwendung selbst, soweit möglich. Nicht, weil das einfach, günstiger oder besser wäre, sondern weil ich schon immer das Prinzip des dezentralisierten Internets besser fand und mir meine Daten lieber bei mir sind. Außerdem lernt man dabei auch noch was.
Letzte Woche war es mal an der Zeit, die etwas in die Jahre gekommene Infrastruktur zu überarbeiten. Es war nichts kaputt, es lief bis auf hier und da mal einen kleinen Schluckauf ganz gut, aber ich habe irgendwie ein wenig den Überlick verloren.
Auf einigen Maschinen wurden nach und nach unzählige Anwendungen installiert oder ausprobiert, die wiederum unzählige Abhängigkeiten mitbrachten. Zeit, dass man das mal aufschreibt.
Prinzipiell hat sich an meiner Nutzung nichts geändert, ich benutze clientseitig nach wie vor Windows (aktuell 10 1607), dazu primär einen Windows-Server bei mir Zuhause, sowie diverse in der Welt verteilte Linux basierte (v)Server.
Bis vorletzte Woche sah es ungefähr so aus:
- Primärer Server Zuhause, Windows Server 2008 R2 Standard (ein Intel Atom D510 auf einem ASUS AT5NM10-I)
Macht bei mir den Domaincontroller, den Exchange-Server und es laufen diverse Windows basierte Anwendungen darauf, z. B. Emby für das Media-Zeug.
Nebenbei ist er damit auch primäres Datenlager, für den „Mediahaufen“ benutze ich kostengünstiges Drivepooling mit DriveBender und inzwischen 4x 2 TB USB-Festplatten.
- Ein vollvirtualisierter (KVM) vServer bei netcup (1 dedizierter Kern, 4 GB RAM)
Dies war der einzige wirkliche externe Server für alles, Mailserver, Webserver und diverse Anwendungen für ausschließlich private Nutzung. Hier sah es ziemlich durcheinander aus…
- Ein kleiner OpenVZ Container bei RamNode (128 MB RAM)
War der primäre Nameserver, sowohl autoritativ für eigene Zonen, also auch primärer Resolver
- Ein weiterer kleiner OpenVZ Container bei BuyVM (128 MB RAM)
War der sekundäre Nameserver und ebenfalls sekundärer Resolver
- Ein kleinerer Storage-OpenVZ Container bei Time4VPS (512 MB RAM, 512 GB Storage)
Einfach nur als Lager für (verschlüsseltes) Offsite-Backup
- Ein Raspberry Pi 2
FHEM für Hausautomatisierungs-Zeug
- Noch ein Raspberry Pi 2
Am TV, mit Kodi, vor allem als Client für Emby und Tvheadend
- Und noch ein Raspberry Pi 2
Mit 2 USB DVB-C Receivern (Sundtek) und Tvheadend, bringt TV an diverse Endgeräte und dient als PVR
- Und dann noch ein Raspberry Pi 2
Mit Nagios, für Monitoring-Geschichten
Ziel war es vor allem, Anwendungen mit vielen Abhängigkeiten zu kapseln. Außerdem gefallen mir die vielen Raspberry Pis irgendwie nicht mehr, schöne kleine Geräte, aber bei manchen Anwendungszwecken merkt man halt doch die begrenzte Leistung und auch die Zuverlässigkeit ist zwar gut, aber vor allem das Thema Image-Backup der kleinen Dinger (im laufenden Betrieb) ist problematisch.
Eigene Vollvirtualisierung mit vielen VMs wäre schön, ist aber dann doch zu ineffizent und am Ende zu teuer. Von Docker und Konsorten bin ich irgendwie nicht so angetan, ich habe da doch lieber „was richtiges“, deswegen stand ziemlich schnell fest – eigene Container-Virtualisierung soll her.
Der Windows-Server Zuhause ist unverändert geblieben (wird ersetzt, wenn es Windows Server 2016 gibt, dann auch mit neuer Hardware, wird wohl ein größerer Umzug, an dem Ding hängt relativ viel) und auch der kleine OpenVZ Container bei Time4VPS als Offsite-Backup Datenlager ist noch da.
Die Raspberry Pis am TV für Kodi und für Tvheadend als TV-Empfänger sind auch geblieben, für diese beiden Anwendungszwecke sind die nach wie vor eigtl. völlig außreichend.
Ansonsten sieht es nun so aus:
- Ein größerer KVM virtualisierte vServer bei netcup (1 dedizierte Kern, 4 GB RAM) mit Proxmox
Ausschließlich für Container-Virtualisierung, hier läuft- Ein Container für Anwendungen, die ausschließlich privat genutzt werden
- Ein Container für öffentliche Anwendungen, wie z. B. diesen Blog
- Ein Container der meinen Mailserver (Postfix, Dovecot, etc., Exchange Zuhause holt die Mails hier ab) spielt
- Ein Container als primärer DNS-Server und wieder auch Resolver (PowerDNS)
- Ein Container als Reverse-Proxy der die Verbindungen zu den ganzen anderen Container managed, da der Host nur eine externe IPv4 hat (nginx und HAProxy)
- Ein kleinerer KVM virtualisierter vServer bei netcup (1 virtueller Kern, 2 GB RAM) mit ebenfalls Proxmox, als Backup gedacht, hier läuft
- Ein Container, der den sekundären Nameserver und Resolver macht (auch PowerDNS)
- Wieder ein Container als Reverse-Proxy wegen nur einer externen IP
- Auch Zuhause läuft nun ein Server mit Proxmox, dazu habe ich neue Hardware angeschafft, stromsparend und leise sollte es sein, deswegen einen Intel Celeron N3150 auf einem Asus N3150I-C (mit 4 GB RAM und einer noch vorhandenen 120 GB SSD), dazu ein leises „be quiet! Pure Power 9 CM 80+“-Netzteil (man hört echt nichts von dem Ding).
Ich finde es echt erstaunlich, was mit durchschnittlich 10 Watt inzwischen so möglich ist, das Ding ist absolut flott. 2 Raspberry Pis mit ggf. USB-Hubs brauchen mindestens genauso viel Strom, sind aber defintiv lange nicht so performant. Dank Intel VT-x Unterstützung laufen hier unter Proxmox nicht nur Container, sondern sogar ein vollvirtualsierter (KVM) Server.- Wieder ein Container für Reverse-Proxy Dinge, managed alle Verbindungen von außen nach Zuhause
- Ein Container für private Anwendungen die Zuhause laufen sollen
- Ein Container mit Icinga, icingaweb2 und Icinga Director (Monitoring)
- Ein vollvirtualisierte Server für FHEM
KVM hier wegen der doch vielen USB-Geräte zur Hausautomatisierung die hier angeschlossen sind, mit LXC-Containern habe ich das versucht, z. B. der HomeMatic Funk-Konfigurationsadapter wollte aber einfach nicht funktionieren
Am Ende sind es jetzt viel mehr (v)Server bzw. Container, aber die Abhängigkeiten sind besser gekapselt. Auch die Möglichkeit von Snapshots und Backups sind mit virtuellen Maschinen einfach deutlich besser und flexibler.
Da das aber nun so viele Endpunkte sind, muss ich mir unbedingt bald mal sowas wie Ansible oder ähnliches genauer zu Gemüte führen.
Die Auslastung der 3 neuen VM-Hosts liegt jeweils bei ca. 50 %, da ist also auch noch Luft nach oben und es kommt ja sicher noch das ein oder andere dazu oder man braucht mal Platz um etwas zu testen.
In hier folgenden Beiträgen werde ich auf das ein oder andere was ich so benutze und vor allem wie mal genauer eingehen.