Mittwoch, 29. Januar 2014

Mini ITX Server Build

Ich betreibe seit Ewigkeiten immer einen Home Server über den Streaming, Storage usw. abgewickelt wird. Früher waren die NAS Boxen ja wirklich nur dumme Festplatten die einfach am LAN gehangen sind und ich habe doch immer Funktionen gefunden die eine solche Box nicht oder nur teilweise übernehmen konnte.

Mein letztes Modell war dabei ein Asus EEE Box mit einer externen Platte über eSATA. Das war damals so ziemlich das erste Modell der EEE Boxen und eigentlich war der so auch viele Jahre tip-top. Klar war der kleine Atom nicht gerade ein Rechenknecht und den IO Load über die CPU zu handeln auch nicht gerade der beste Ansatz aber was solls. Der Stromverbrauch war gering und er war schön klein und leise.

Der hat jetzt 4-5 Jahre brav gearbeitet aber nun ist er einfach fertig. Ich habe ihn immer wieder gesaugt um den Staub heraus zu bekommen und die Temperatur niedrig zu halten aber es half nichts mehr. In letzter Zeit lief er im Idle bei um die 80°C und entsprechend laut waren auch die kleinen Lüfter mit ihrem hochfrequenten Pfeifen das schon fast schwierig zu übertönen wurde.

Kurz gesagt es war Zeit für etwas Neues!


 Ich habe lange herum überlegt ob ich FreeNAS drauf packe und das ganze Ding wirklich viel mehr in Richtung NAS ausrichte oder doch volles Linux fahre. Im Endeffekt war für mich dann klar, dass ich ein volles Linux möchte. Klar fahren die NAS Boxen alle Linux aber eben irgendwelche speziellen Anpassungen. Da nehm ich doch gleich Arch Linux und kann machen was auch immer mir gerade einfällt!

Ich habe mir den Server selber zusammen gestellt weil ich dann genau das drinnen habe was ich will. Meiner Erfahrung nach kauft man bei Elektronik und speziell im Computerbereich immer teurer wenn man billig kauft. Entweder passt die Leistung nicht oder die Qualität leidet und darum bin ich da sehr strikt bei der Auswahl der Komponenten. Intel CPU, ASUS Mainboard, Noctua bei den Lüftern und Corsair bei so ziemlich allem anderen.

Ich wollte den Server nicht zu groß haben aber eben doch sinnvolle Komponenten verbauen. Mein Ansatz war daher den Mini-ITX Formfaktor zu nehmen. Ganz klein wollte ich dann aber auch wieder nicht da die Komponenten Luft bekommen sollen und wenn ich mal möchte, soll auch noch etwas Raum für Erweiterungen sein.

Nach langem herumsuchen ist dann diese Komponentenliste heraus gekommen:
Intel Core i3-4130T (Amazon)
Asus H81I-PLUS (Amazon)
Corsair RM Series 450Watt (Amazon)
Corsair Vengeance Schwarz 8GB (Amazon)
Corsair LS CSSD-F60GB (Amazon)
Western Digital Red 3TB (Amazon)
Cooler Master Elite 130 (Amazon)
Noctua NH-L9i CPU-Kühler (Amazon)
Noctua NF-S12A PWM (Amazon)

Für den i3 habe ich mich entschlossen weil ich mit den Atom Prozessoren immer wieder längere Zeiten mit voll ausgelasteter CPU erlebt habe. Der i3 hat da schon um einiges Mehr Kraft dahinter und auch ein ganz anderes Chipdesign wodurch die Zeiten mit voller Auslastung viel kürzer ausfallen. Ob sich das dann wirklich mit dem höheren Basisstromverbrauch gegenrechnet ist schwer zu sagen. In Wahrheit ist es mir aber auch eher egal denn ich warte doch recht ungerne auf den Server und das rechtfertigt die stärkere CPU für mich. Dieses Modell hat eine TDP von 35 Watt was auch noch recht niedrig ist.


Beim Mainboard habe ich bedeutend länger überlegt und mich letztendlich für das kleinere Asus entschieden. Der primäre Punkt dabei war die Entscheidung kein Raid zu fahren und damit benötige ich nicht mehr als 2 SATA3 Ports. Raid ist für mich immer so eine Sache. Für den Server wäre nur ein Raid für Redundanz in Frage gekommen und da auch nur Raid 1 denn wenn schon redundant dann wirklich. Der Punkt ist nur, dass ich auf dem Server nur sehr wenige Daten habe die wirklich weh tun würden wenn sie weg sind.

Ich nutze generell externe Platten sowohl für den wirklichen Datenspeicher als auch den Backup und die werden immer wieder über Docking Stations aktualisiert die über eSATA am Rechner hängen. Die Daten am Server sind also nicht "Langzeit" gespeichert sondern nur im Durchlauf oder dort abgelegt um sie immer online zur Verfügung zu haben - etwa Musik. Ich bin bei den Backups recht selektiv - ich sichere zwar doppelt auf externe, nicht immer eingeschaltete Festplatten aber ich sichere nur das was mir wirklich weh tun würde wenn es weg ist. Von meinen 6TB externen Datenspeicher sind gerade mal 2 TB wirklich gesichert. Der Rest ... nun ja wenn die Dinge weg sind ist das zwar doof aber kein Beinbruch. Meine Form von sauber machen. Wirklich passiert ist bisher nichts weil ich schon darauf achte die SMART Daten immer wieder auszulesen und zu prüfen wie es der Disk geht.


Ich habe mich also gegen den Raid entschieden und damit sind einige Mainboards mit mehr schnellen SATA Ports ausgefallen. Man muss ja nicht mit Gewalt teuer kaufen :D Die 3TB WD Red war dann irgendwie die logische Wahl. Ich habe mit WD bisher sehr gute Erfahrungen gemacht und die Red ist auch noch für NAS, also 24/7 Betrieb, optimiert. Im alten Server waren 2TB extern + 300GB intern also war auch die Größe recht schnell gefunden.

Die SSD im Server war dann mehr eine "ach was solls" Entscheidung. Es ist jetzt nicht so, dass sie sehr teuer ist aber notwendig ist sie auch nicht unbedingt. Sie hilft eventuell etwas mit den Stromverbrauch zu senken weil die HDD in den Stromsparmodus gehen kann wenn das OS auf der SSD liegt, rechnen wird sich das aber vermutlich nie. In Wahrheit ging es mir hier eher darum die Performance vom Desktop, der natürlich das OS auf einer SSD hat, auch am Server zu haben. Wie gesagt - notwendig ist das überhaupt nicht denn eigentlich läuft dort nichts was den Durchsatz brauchen würde. Dennoch macht es Spaß wenn der Server in 2 Sekunden bootet und auch IO-lastige Aktionen ohne die sonst üblichen Verzögerungen fertig werden ;)

Ähnlich ist es mit den 8GB RAM. In einem Arch Linux Home-Server 8GB zu verbauen ist schon fast lächerlich denn das OS verwendet davon nicht mehr als 500-800MB. Dennoch Linux nimmt sich was es bekommen kann als Puffer und hilfts nicht so schadet es auch nicht. Der wirklich belegte RAM ist laut top bisher nie über die 800 MB gegangen aber aufgefüllt wurden die 8GB schon. Samba, lighttp usw nehmen sich schon was da ist. Wenn man es sonst nicht braucht kompiliert man eben irgendwas in der RAM-Disk oder nimmt sie zum Entpacken.

Das Gehäuse hat mir optisch ganz gut gefallen und es ist recht durchdacht. Es ist auch nach dem Einbau aller Komponenten noch genug Platz. Den Seitenlüfter habe ich raus geworfen und den den Frontlüfter gegen den Noctua ersetzt. In Kombination mit dem Noctua CPU-Lüfter ist das Ganze nicht zu hören.

Wer sich jetzt noch wundert warum ich für so einen doch eher "kleinen" Rechner ein 450W Netzteil verbaue, der soll man einen Blick auf die Details davon werfen. Es ist ein 80 Plus Gold Netzteil und das bedeutet beste Effizienz auch schon bei schwacher Last. Dieses spezielle Model verhält sich so, dass es den Lüfter überhaupt nicht startet wenn es nicht sein muss. In meinem Build ist es daher ein passives Netzteil aber wenn es irgendwo mal notwendig wäre könnte es auch aktiv kühlen. Wichtig war mir auch das modulare Kabelmanagement damit ich nicht Unmengen an Kabeln irgendwo im Gehäuse unterbringen muss die nur den Luftstrom behindern.


Soviel zur Hardware. Die Software war grundsätzlich klar: Arch Linux
Wer diese Distribution nicht kennt dem möchte ich auf mein Arch Review hinweisen. Kurz gesagt Arch ist wunderbar kompakt, topaktuell und schnell. Nebenher fördertes noch das KnowHow denn man muss wissen was man tut.

Ich habe bei diesem Setup den Apache gegen lighttp ersetzt. Apache ist ja ein super Webserver, keine Frage, aber für meine Anwendung ist er viel zu viel. Klar kann man alle Module raus werfen bzw. abdrehen aber man kann auch gleich in Richtung Leichtgewicht gehen und das habe ich versucht. Die Config ist anders aber da ist keine magic dabei und wenn mans mal gemacht hat ist er einfach nur schnell und braucht dabei fast keine Ressourcen. Es ist jetzt nicht so als hätte der Server zu wenig Power aber ich wollte lighttp auch mal ausprobieren und ich bin sehr happy damit.

Ansonsten hat sich eigentlich in der Software nichts zum Vorgänger geändert. Ok der neue Server hat Gummiboot als Bootloader weil UEFI und nicht mehr GRUB aber das ist auch nur ein Detail. Mein erster UEFI Setup war ein Kampf aber wenn man das schon mal gemacht hat und nicht auf Windows auch noch achten muss, ist UEFI wirklich eine feine Sache.



Ich bin absolut zufrieden mit dem Build denn alles was ich wollte habe ich damit erreicht!
Er ist flüsterleise - ich meine wirklich leise, nicht leise in der Art, dass man ihn nicht hört wenn man auf der anderen Seite des Raums ist und Radio läuft, sondern man hört ihn auch fast nicht wenn man daneben sitzt und der Raum ansonsten still ist. Ein leichtes Geräusch von bewegter Luft und gelegentlich die Platte aber das wars dann auch schon. Er ist schnell - ein mandb update geht zack zack und ich bekomme ihn im normalen Gebrauch nicht mal auf Lastspitzen von 50%. Klar kann ich ihn auslasten wenn ich will aber das normale Zeug schafft das nicht.
Man kann so einen Server sicher billiger bauen und man könnte den so wohl auch problemlos als Desktop nutzen (evtl. noch ne Graka rein wenns etwas mehr sein soll) aber ich bin happy und hoffe auf viele Jahre treue und ruhige Dienste!


Nachtrag
Habe mich wohl zu früh gefreut. Irgend etwas sorgt  für korrupte Files und ich habe die Ursache bisher nicht festmachen können. Die Disks schauen auch nach mehrfachen badblock checks absolut sauber aus. Aktuell vermute ich ein RAM Problem aber ich kann es noch nicht fest machen weil memtest noch läuft. Mal schauen was da schuld ist :/

Nachtrag 2
Memtest hat nicht wirklich etwas gebracht aber ich habe trotzdem mal die RAM Module gegen welche aus meinem PC ersetzt. Das sind eigentlich die selben nur nicht low profile also sollte in Punkto Kompatibilität kein Problem auftreten. Wie auch immer mit diesen Modulen sind die Fehler sofort verschwunden!
Blöde Sache aber immerhin konnte ich isolieren wo der Fehler her kam und Amazon ist ja zum Glück super wenn es mal Troubles mit irgend einem Teil gibt. 

Keine Kommentare:

Kommentar veröffentlichen