Server im Eigenbau

Aus MySlug
Wechseln zu: Navigation, Suche

Serverprojekt

Die Komponenten

Notebookplatte

Eine Notebookplatte von Samsung

Nachdem meine Slugs entsprechend betagt sind und doch der eine oder andere Serverdienst einwenig mehr Power benötigt, war meine Überlegung, einen eigenen neuen Miniserver zu bauen. Derzeit sind die intel Atom Prozessoren recht günstig zu haben und als sparsam einzustufen, was den Stromverbrauch betrifft. Also habe ich mir ein intel Atom Board mit einer 270er CPU (1,6 GHz) zugelegt. Dazu ein Mini ITX Gehäuse mit einem externen Netzteil.

Als Speicher verwende ich 2GB Speicher aus dem Hause OCZ, die ordentlich Luft für all die Dienste bieten. Das Zusammenbauen des Servers verlangt einwenig Geduld, da im Mini ITX Gehäuse nicht viel Platz für entsprechende Manövrierungen des Mainboards ist.

Platine ist eingebaut

Das Board ist eingebaut

Nach ein paar Versuchen sitzt das Board dann im Gehäuse und die Komponenten können normalerweise schon verbunden werden.

Allerdings ist zu bedenken, dass der kleine Lüfter, der nicht die CPU sondern den Chipsatz kühlt, doch etwas lauter im Betrieb ist. Wer dann den Server, wie ich es vor habe, daheim im Wohnzimmer oder verbaut im Flur stehen hat, möchte natürlich nicht, dass er von einem läremnden Lüfter auf Dauer gestört wird.

Deswegen habe ich mir noch einen kleinen Austauschlüfter besorgt (Mini-Kaze 400mm), der deutlich leiser arbeitet. Wenn natürlich alles ruhig ist, dann kann man auch diesen hören, macht aber dennoch einen deutlichen Unterschied in der Geräuschentwicklung.

zudem habe ich noch eine kleine Notebookfestplatte aus dem Hause Samsung mit einer Kapazität von 320GB verbaut. Die Platte ist zum einen sehr leise, preislich günstig und entwickelt keine allzu große Abwärme. Das Thema Wärme ist auf jeden Fall zu beachten. Von daher habe ich noch einen Revoltec Gehäuselüfter angebracht, der die warme Luft aus dem Rechner nach außen transportiert.

Ebenso sei anzumerken, dass die Platine einen 12Volt Anschluss besitzt, der auch verwendet werden muss. Zu diesem Zwecke habe ich einen Adapter von 12 Volt Molex auf den 4Pin Anschluss des Mainboards verwendet, über den dann auch der Rechner schließlich startet. Die zusätzlichen Komponetnen wären also Lüfter und einen Adapter, die ich noch hinzukaufen musste:

Lüfter und Adapter

Lüfter und Adapter


Nachdem ich hier ein paar Tests gefahren habe lief der Mini-Server soweit ohne Probleme an. Die SATA Platte wurde ordentlich vom Bios erkannt und ich konnte hier schon einwenig sehen, wie die Temperaturentwicklung in dem Gehäuse aussieht. Da die CPU passiv gekühlt ist darf man natürlich in solchen kleinen Gehäusen keine Temperaturen erwarten, wie man sie normalerweise von seinem Desktop Rechner her kennt.

Über ein externes DVD Laufwerk startete ich dann eine 64bit Debian Linux Netinstall CD und der Kernel wurde ohne Probleme geladen. Die Distribution lief auch relativ sauber durch. Ich hatte nur einwenig Schwierigkeiten beim Netzwerkchip. Hier wollte zunächst Lenny keine Netzwerkverbindung aufbauen. Nach einem Neustart ging es dann allerdings. Was ich dabei herausgefunden habe war, dass es mit dem Kernel eine 50:50 Sache war, dass der Netzwerkcontroller funktionierte. Somit mein Tipp: In so einem Fall eben so oft starten, bis eine Netzverbindung steht.

Dieser Effekt trat bei meinem Board allerdings nur mit der 64bit Variante auf. Die 32bit Version ging soweit ohne Probleme. Auf der 64bit Basis ist das Problem mit einem neueren Kernel dann behoben. Hier empfiehlt sich umbedingt, einen neuen Kern zu installieren bzw. selbst zu kompilieren.

Installation

Installation im Nähzimmer

Der Server musste dann noch ein paar Tests durchmachen. Zudem war es hier interessant zu sehen, wie sich die Maschine nach einiger Zeit in der Wärmeentwickung verhält. Hier muss ich sagen änderte sich nach einigen Stunden Laufzeit die Temperatur kaum. Da die CPU aber auch kein Throttling beherscht bleibt auch die Abwärme relativ konstant, wenn der Prozessor seine Betriebstemperatur erreicht hat.

Natürlich muss noch die Secure-Shell installiert werden, damit man die Kiste irgendwann von der Tastatur und dem Monitor abklemmen kann. Nachdem ich einen neuen Kernel kompiliert und installiert habe, der auch stabil zwei Tage durchgelaufen ist war es dann soweit. Der Rechner wurde abgebaut und zu meinen Telefongerätschaften in den Schrank im Flur gestellt und dort direkt an meinen Router angeschlossen.

Der Datendurchsatz wurde dadurch auch besser, da zu Testzwecken eine Verbindung nur über WLan (aus dem Nähzimmer) möglich war. Die Temperatur stieg allerdings dann im Schrank um ein paar Grad an, da der Luftstrom natürlich etwas eingeschränkt ist. Die Stabilität hat aber bislang nicht darunter gelitten. Ebenso erreicht die Festplatte auch keine kritische Temperatur und bleibt in der Regel um die 38°C.

Um die komplette Anlage (DSL Modem, NTBA, Telefon und Server) vor einem Stromausfall zu schützen habe ich noch eine USV angeschlossen, die in solchen Fällen das System puffert und mit Strom versorgt. Das komplette Setup (3 x Slug, Mini Server, DSL Modem/Router und ISDN Telefon) verbraucht nun ca. 60 Watt. Wobei rund 40 Watt an den Mini- Server gehen. Der Stromverbrauch könnte noch geringer sein, da der Chipsatz hier noch am meisten Strom zieht. Es ist davon auszugehen, dass es in absehbarer Zeit sparsamere Chipsätze gibt.

Schrank

Cowboys im Schuhschrank

Der Rechner beherbergt nun einen Apache Webserver mit php und mysql. Zudem einen imap-Server (Dovecot) und einen ioquake3 Spieleserver. Für ftp ist der proftp zuständig und als MTA exim 4. Der Server ist soweit kaum wirklich ausgelastet, also hat ordentlich Luft für all diese Aufgaben.

Das Gerät arbeitet soweit zuverlässig und stabil Einen Absturz oder Aufhänger hatte ich bislang noch nicht. Selbst die Dienste selbst scheinen soweit stabil zu laufen. Hier ist auch anzumerken, dass bei sowas auch ein Markenspeicher verwendet werden sollte. Ein Speicher, der nicht sauber arbeitet kann einen schier zur Verzweiflung bringen, da eine langwierige Fehlersuch im Bereich der installierten Software kaum zu einem Ergebnis führt.

Der Server wird über einen Cronjob täglich aktualisiert und ebenso der ioquake3 Server wird automatisch neu kompiliert, sollte auf dem SVN Tree ein neuer Quellcode vorhanden sein. Entsprechende Tutorials hierzu finden sich bereits hier auf der Page, bzw. werden noch folgen.

Neben der täglichen Aktualisierung und den regelmäßigen Kernelupdates (derzeit wird jeder neue Vanilla Kernel hierauf neu übersetzt und installiert) wird der Rechner über iptables und fail2ban gesichert. Da der Server ständig am Netz hängt ist es durchaus sinnvoll, über ein derartiges Konzept nachzudenken. Zudem haben wir noch die Hardwarefirewall, die zumindest eingehenden Traffic entsprechend filtert, bzw. unterbindet.

Pierre