Freitag, 1. April 2016

Vinculum

Wer mich persönlich kennt, der weiß das ich schon seit ca. 10 Jahren immer einen eigenen Homeserver betrieben habe.
Dafür kam im Lauf der Jahre immer wieder andere Hardware und Software zum Einsatz. Da ich meinen aktuellen Server in der nächsten Zeit mal wieder überarbeiten werde, will ich hier erstmal einen Überblick geben warum und wie ich den Server betreibe.

Zuerst mal das "Warum?". Natürlich eine berechtigte Frage. Für die Verwaltung des eigenen Heimnetzwerkes gibt es jede Menge verschiedene Router die ihren Job meistens recht zufriedenstellend erledigen. Will man Dateien für mehrere Geräte verfügbar machen, z.B. für den PC, das Smartphone und das Tablet, gibt es dafür wirklich gute und einfache NAS-Geräte, NAS steht für Network Attached Storage, zu deutsch grob "(ans) Netzwerk Angeschlossener Speicher". Also eigentlich könnte man auf einen Server ja verzichten. Ja, im Prinzip schon.

Aber aus mehreren Gründen will ich das nicht:

1. Kontrolle
Ich habe gerne die totale Kontrolle über alles, was in meinem Netzwerk passiert. Das ist mit einem herkömmlichen Router meist nur eingeschränkt möglich. Zum einen hat man auf einem dedizierten Server mehr Kontrolle über die Einstellungen, zum anderen hat man dort meistens viel ausführlichere Logfiles, so das man eventuelle Fehler leichter zurück verfolgen kann.

2. Spielraum
Ein Router in Kombination mit einem NAS gibt einem zwar auch die grundlegenden Funktionen eines Servers, aber man ist auf den Funktionsumfang festgelegt, den der jeweilige Hersteller vorgesehen hat. Auf einem Router kann man keine zusätzliche Software installieren, und ein NAS kann nur eine begrenzte Anzahl von Festplatten aufnehmen.

3. Effizienz
Für einen Router, ein NAS, eventuell noch einen Netzwerk-Switch oder eine externe USB-Festplatte braucht man jeweils ein eigenes Netzteil. Die haben dann jeweils eine Verlustleistung, und die addiert sich natürlich bei mehreren Geräten. In einem dedizierten Server hat man dagegen nur ein einziges Netzteil, so das Verluste nur an einer Stelle anfallen und bei geeigneter Wahl des Netzteils sehr gering ausfallen.

4. Ordnung
Wie schon erwähnt, für jedes einzelne Gerät braucht man ein eigenes Netzteil, und dann wollen ja alle Geräte untereinander auch noch eine Datenverbindung haben. Das ufert ganz schnell in einen regelrechten Kabelsalat aus. Und der ist nicht nur sehr unschön, sondern kann auch extrem nervig sein wenn man etwas ändern oder erweitern möchte.

Fazit: Ein Homeserver macht irgenwie doch Sinn.

Meine Server habe ich die meiste Zeit mit Linux als Betriebssystem betrieben. Namentlich SuSE Linux und Debian. SuSE lief auf meinen ersten Servern. Einer der ersten war ein Celeron 400 in einem Booksize-Gehäuse. Die Wahl fiel damals auf SuSE weil ich damit schon auf dem Desktop etwas Erfahrung hatte, und sich die damals aktuelle SuSE noch auf wenige 100 MB "eindampfen" ließ. Eine grafische Oberfläche brauchte ich nicht, das System sollte nur stabil und zuverlässig laufen. Damals hatte ich noch keine großen Festplatten, so hatte der Server nur etwa 20 GB Speicher. Davon wollte ich möglichst viel frei haben, um Daten auszutauschen. Und ein schlankes System bedeutet auch weniger Updates und weniger Fehlerquellen. Lange Zeit war ich damit wirklich zufrieden, allerdings hat das Mainboard nach einem Umzug nicht mehr funktioniert, und ein neuer Server musste her.
Da habe ich dann einen Minitower mit einem älteren Pentium Rechner bestückt. Die genauen Spezifikationen weiß ich inzwischen gar nicht mehr. Nachdem ich den lange Zeit wieder mit Linux betrieben habe, wollte ich irgendwann man Bitcoins minen, und das habe ich beim besten Willen nicht zum laufen bekommen. Und da auf meinen Rechnern sowieso die meiste Zeit Windows lief, habe ich dann mal einen Windows-Server betrieben. Dafür kam ein Windows Small Business Server 2003 zum Einsatz, für das ich die Lizenz schon einige Zeit herum liegen hatte. Was mir gut gefallen hat war die Verwaltung mehrerer Windows PC's in einer Domäne. Dabei kann man wirklich auf praktisch alle Funktionen und Einstellungen der angeschloßenen Rechner zugreifen, bis hin zu Einstellungen in der Registry. Und man kann auch viele Einstellungen für alle Rechner gemeinsam festlegen und Verwalten. Aber, die Einstellungen sind oft tief im System vergraben, und wenn man sich nicht wirklich auskennt, muß man viele Optionen sehr mühsam suchen. Und, damit man vernünftig mit dem System arbeiten kann, ist man auf die Remote-Desktop Steuerung angewiesen. Die funktioniert zwar wirklich gut, aber man braucht eben immer ein volles grafisches Windows System, um darauf zugreifen zu können. Ich habe meine SSH vermisst. Zudem hat der PC als Server wirklich viel Strom verbraucht, was mich irgendwann echt in Schwierigkeiten gebracht hat.

Und irgendwann habe ich dann den Raspberry Pi entdeckt. Ein Linux-Rechner in Scheckkartengröße, mit stromsparender ARM-Architektur. Zwar nicht besonders leistungsstark, aber für meine Zwecke fast perfekt. Zwar entstand daraus das übelste Kabelchaos aller Zeiten, aber das war für mich erträglich, weil ich alles zusammen in einer kleinen Abstellkammer unterbringen konnte, so das es quasi unsichtbar war. Der Rapberry mit eigenem Netzteil, eine USB-Festplatte mit eigenem Netzteil, ein Netzwerk-Switch mit eigenem Netzteil, eine Fritzbox mit eigenem Netzteil. Und ein paar Netzwerkkabel. Wirklich ziemliches Chaos, bei dem ich selbst zeitweise den Überblick verloren habe. Aber es hat gut funktioniert, obwohl die Datenraten immer relativ schlecht waren. Mehr als 2MB/s ging nicht beim Zugriff auf die USB-Platte über das Netzwerk. Das hatte mehrere Gründe, aber es war für mich soweit eigentlich genug. Ausreichend um Videos über das NJetzwerk zu schauen, was für mich bis heute eine der wichtigsten Funktionen des Servers darstellt. Damals noch mit einer modifizierten X-Box als MediaCenter. Und ein weiterer Einsatzzweck kam dazu, nämlich das abwickeln größerer Downloads. Ich habe eine relativ langsame Internetverbindung mit nur knapp 7 Mbit, und da dauert es schon eine kleine Ewigkeit wenn man ein größeres Linux-Image für den Raspberry laden will, oder gar ein DVD-Image für ein Desktop-Linux. Auch habe ich irgendwann angefangen eine Sammlung von Vorlesungen anzulegen, da sind wirklich viele auf archive.org verfügbar. Alle diese Sachen sind per Torrent verfügbar, da lag es nahe einen Torrent direkt auf dem Raspberry laufen zu lassen. Dadurch musste ich nichtmehr meinen großen Desktop PC dauernd laufen lassen, und große Downloads konnten über Nacht laufen wo sie mich nicht gestört haben.

Das führte dazu, das jemand anderes gerne auch eine solche "Seedbox" haben wollte, wie man einen Torrent-Server auch manchmal nennt. Allerdings hatte er keinen Raspberry, sondern einen Banana Pi, ein sehr ähnliches aber deutlich leistungsstärkeres System. Das Board für die Entwicklung eines passenden Images wurde mir großzügigerweise zur Verfügung gestellt, und verrichtet bis heute seinen Dienst in meinem aktuellen Server. Und irgendwann habe ich auch das Kabelchaos endgültig beseitigt. Dafür habe ich ein ATX-Netzteil verwendet, in einem normalen Minitower Gehäuse. Allerdings mit einem selbstgelöteten Kabelbaum, an einem ATX-Stecker aus einem alten Mainboard. Dadurch konnte ich nicht nur den Banana Pi, sondern auch die inzwischen 5 Festplatten, die Fritzbox und einen zusätzlichen Switch an einem einzigen Netzteil betreiben, das noch reichlich Reserve für weitere Festplatten oder sonstige Erweiterungen bietet. Und es ist alles zusammen in einem einzigen Gehäuse untergebracht, nimmt nur wenig Platz weg und kommt mit einer einzigen Steckdose aus. Die Geschwindigkeit ist für mein 100MBit-Netzwerk bei weitem ausreichend, ich erreiche sowohl beim Lesen als auch beim Schreiben rund 11-12 MB/s, also das Maximum was das Netzwerk hergibt. Der Banana selbst hat einen Gigabit Port, so das hier auch noch deutlich mehr möglich wäre. Da ich aber keinen Gigabit Switch besitze, kann er bisher gar nicht seine volle Leistung entfalten.

So weit, so gut. Und weiter?

Ich werde auch in Zukunft die Speicherkapazität Stück für Stück ausbauen. Inzwischen sind es mehr als 5 Terabyte. Irgendwann werde ich auch den Switch durch ein Gigabit Modell ersetzen, und die Fritzbox ist auch schon ziemlich in die Jahre gekommen. Sie bietet leider nur ein 54MBit WLAN, was mir inzwischen doch zu langsam ist. Außerdem möchte ich gerne die Spannungen des Netzteils genau überwachen können, dafür werde ich einen PIC Mikrocontroller verwenden, der mit dem Banana verbunden wird. Eventuell kommt auch noch ein Display dazu, das dann drahtlos per XBee mit dem Server verbunden wird. Aber da bin ich mir noch nicht ganz sicher. Auch eine Überwachung der Lastströme auf den einzelnen Spannungen wäre denkbar, oder die temperaturabhängige Regelung der Lüfter. Die Abstellkammer in der mein Server steht ist direkt unter dem Dach, und im Sommer wird es da sehr heiß. Teile des Systems haben da schon mal 60 Grad erreicht, was für Festplatten schon ungesund ist.

Sobald ich den Server wieder umbaue, werde ich natürlich hier ausführlich berichten. Dann auch wieder mit Bildern und Details.

Keine Kommentare:

Kommentar veröffentlichen