Aaron Fischer Ingenieur, Vater, Heimwerker, Problemlöser

01 Januar, 2023

DIY Network Attached Storage

TL;DR:

Wie baue ich mir mein eigenes NAS? Das ist mit Open Source und sorgfältig ausgewählten Komponenten nicht schwer. Ich habe mein altes NAS durch ein deutlich besseres ersetzt und dabei noch den Stromverbrauch reduziert.

Warum das ganze?

Seit ich mit Computern zu tun habe (und das ist gefühlt schon mein ganzes Leben) ist es mein Anspruch, selbst Herr meiner Daten zu sein. Angefangen mit Diskettensammlungen hortete ich alles was mir heilig war. Darauf folgten wilde Basteleien mit Festplatten in Wechselrahmen oder auch mal freischwebend an einer NSLU2 von Linksys (natürlich mit der Unslug Firmware). Seit ca. 10 Jahren verwende ich dafür nun ein HP Microserver (N40L Gen1), welcher mit 4 Platteneinschüben ausgestattet ist. Die Platten musste ich alle paar Jahre austauschen, doch der Rest der Hardware blieb gleich. Ab und an musste auch mal der Staub ausgeblasen werden.

N40L

Ein AMD Turion II Neo (2 Core) mit 1.5 GHz Takt und 2 GB RAM reichten aus, um ein minimales Linux zu betreiben. Die vier Platten im Software RAID 5 waren per NFS und SAMBA auf verschiedenene Clients eingebunden (Mac, Linux, Smart TV, Dokumentenscanner). Nach einiger Zeit wechselte ich auf TrueNAS, um eine hübsche GUI zur Administration zu haben und ohne viel Aufwand ZFS zu nutzen. ZFS macht mit 2 GB RAM nicht besonders viel Spaß und so war die Hardware auch schnell an ihrem Maximum angekommen -- genügte aber dennoch einige Jahre für meine Zwecke.

Vor kurzem meldete eine Platte ungewöhnlich viele S.M.A.R.T.-Fehler und ich musste sie aus dem RAID-Verbund lösen. Das macht natürlich immer etwas Bauchschmerzen, da nun die Last auf den verbleibenden Platten verteilt wird und bei einem weiteren Plattenausfall das RAID nicht mehr aufgebaut werden kann. Da die Platten (4x 2TB) generell ihre Lebenszeit überschritten hatten, beschloss ich, auch die Hardware komplett auszutauschen und ein neues NAS von Grund auf neu zu bauen.

Meine Anforderungen

Das neue NAS sollte sich natürlich lohnen und wie meine geliebte N40L Box die nächsten 10+ Jahre unbemerkt seinen Dienst machen.

Auswahl der Komponenten

Fertige NAS-Lösungen wie das DS420+ von Synology oder das TS-451 von QNAP spielen preislich in dem Segment, in dem ich mich bewegen will. Allerdings sind beide Platzhirsche, rein auf die Hardware-Spezifikationen bezogen, sehr mager ausgestattet. Ein Intel Celeron mit 2.4 GHz und 1-4 GB RAM (je nach Modell) sind nicht gerade berauschend. Dies möchte ich wenn möglich überbieten.

Mainboard

Das Herzstück legt den Rahmen für alle weiteren Komponenten fest. Deshalb ist es mir auch sehr schwer gefallen, hier einen geeigneten Kandidaten zu finden. Maßgebend sind Formfaktor, CPU-Sockel und die Ausstattung, die das Mainboard bereits ohne Zusatzkarten mitbringt. Der Formfaktor hängt vom Gehäuse ab, der CPU-Sockel von der verwendeten CPU. Also mussten diese im Vorfeld ausgewählt werden. Ich entschied mich für ein microATX Board mit LGA 1151 Sockel (Details dazu direkt im Anschluss). Da ich bei meinem alten Arbeitgeber einige Erfahrungen mit Supermicro gesammelt habe und mich hier auch im Sortiment etwas auskenne, war die Wahl dann doch zügig auf das X11SSL-F gefallen (nachdem der CPU Sockel feststand, dazu unten mehr).

Mainboard Quelle: Supermicro X11SSL-F Motherboard Manual, Seite 10

Bei der Auswahl des Mainboards bin ich wie folgt vorgegangen: Auf der Motherboard Matrix habe ich auf Generation X11 und Single Sockel gefiltert. Über die Suchfunktion (microatx lga 1151 dual lan) habe ich die Ergebnisse auf microATX Formfaktor, LGA 1151 Sockel und zwei LAN Ports eingegrenzt. Zur Typenbezeichnung gibt es hier eine gute Erklärung. Es sollte also ein X11SS*-F sein (X11 = Gen 11, S = Single CPU, S = Skylake CPU, -F = IPMI). Es kommen also das X11SSL-F (L = Kostenoptimiert) und das X11SSM-F (M = voll ausgestattet) in Frage, wobei jetzt nur noch die Frage im Raum steht, ob die L-Variante ausreicht oder ob es das voll ausgestattete Board sein soll. Ein Blick in beide Datenblätter verrät, dass dem X11SSL-F zwei SATA-Ports und ein PCI-E Steckplatz fehlen. Ein kurzer Preisvergleich macht die Entscheidung (bei ca. 100 EUR Unterschied) leicht.

Aber warum Supermicro? Es ist Server-Hardware, die für den Dauereinsatz konstruiert wurde (nicht wie ASUS, Gigabyte oder ASRock), die im Vergleich zu anderen Herstellern (HPE, DELL) günstig sind, eine große Auswahl haben, robust sind (ich habe hunderte Supermicro-Server administriert und nie war bei einem Ausfall das Mainboard das Problem) und es auf eBay einen regen Markt an gebrauchten Boards gibt. So habe ich für ca. 130 EUR (Neupreis ca. 300 EUR) ein X11SSL-F in top Zustand gekommen.

CPU + Kühlung

Doch nun zur Kernfrage: Warum unbedingt der LGA 1151 Sockel? Meine Suche begann eigentlich mit der Auswahl einer leistungsfähigen aber dennoch sehr stromsparenden CPU. Hierzu sollten zuerst zwei Kennzahlen klar sein.

Was bedeutet leistungsfähig? Da CPUs in allen erdenklichen Formen existieren, kann man dies sehr schlecht an der Geschwindigkeit, Anzahl der Kerne oder Größe des Caches festmachen. Deshalb gib es Seiten wie cpubenchmark.net, welche eine definierte Test-Suite entwickelt haben. Diese wird von vielen freiwilligen auf deren Hardware ausgeführt und daraus ein Score (CPU Mark) errechnet -- welcher dann mit anderen CPUs verglichen werden kann. Mein Desktop-PC (AMD Ryzen 5 2400G) hat ein CPU Mark von 8730, die besten CPUs von AMD sind aktuell bei ca. 90.000; kosten aber auch ca. 5.000 EUR (nur die CPU!). Meine alte N40L hat ein CPU Mark von 589. Für das neue NAS wollte ich mich im Bereich von ungefähr 4000 bewegen.

Und was ist mit stromsparend gemeint? Im Idle-Mode verbraucht die CPU natürlich weniger als unter Volllast. Zudem haben die meisten CPUs verschiedene Stromsparoptionen wie Throttling, Power modes etc (C-States), welche sich im BIOS oder on-Demand verändern lassen. Auch hier ist es also schwer, den Begriff messbar zu machen. Eine Kenngröße ist der TDP-Wert (angegeben in Watt). Er beschreibt, wie viel Watt Abwärme von der CPU zu erwarten ist, wenn sie unter echter Last steht. Der Wert wird normalerweise verwendet, um das Kühlsystem der CPU richtig zu dimensionieren. Im Umkehrschluss heißt das aber auch, dass CPUs, die einen höheren TDP-Wert haben, auch mehr Strom verbrauchen. Das ist natürlich nur ein ungefährer Wert.

Nachdem ich die CPU Mega Page etwas durchgearbeitet hatte und mich etwas in diversen Foren eingelesen hatte, bin ich dann bei einer Intel i3-6300T CPU hängen geblieben.

N40L

Das ist eine recht alte CPU der 6ten Generation (siehe hier zum Verständnis der Typenbezeichnung), allerdings mit dem Zusatz T, was für eine Energieoptimierte Variante steht. Sie hat einen TDP von 35 Watt und unterstützt einige C-States, was zudem dafür spricht. Unterstützt ECC RAM und hat bei CPU Mark einen Wert von 4029. Also ein idealer Kompromiss von leistungsfähig und stromsparend. Da die CPU nicht mehr hergestellt wird, musste ich auch hier bei eBay zu einer gebrauchten Variante ausweichen (44 EUR).

Was die Kühlung angeht habe ich mich für den zum Mainboard passenden Kühlkörper entschieden (den SNK-P40046P von Supermicro). Dies ist nur der Kühlkörper ohne Lüfter. Da das Gehäuse (siehe unten) bereits gute Gehäuselüfter hat und ich nicht vor habe die CPU am Anschlag zu fahren wird das ausreichen. Bei der Wärmeleitpaste habe ich nicht gespart (MX-4). Kostenpunkt für Kühler und Paste: ca. 15 EUR.

RAM

Beim RAM gab es nicht wirklich viel Spielraum. Hier gab das Mainboard/CPU schon den Typ an, war nur noch die Frage wie viel und ECC oder nicht. ECC stellt sicher, dass einzelne Bit-Flips im RAM nicht mehr möglich sind. Macht also das System stabiler -- der sich im Preis bemerkbar macht.

N40L

Ich entschied mich für 2 neue 8GB DDR4 Module mit ECC von Samsung. Preislich machte das nur ca. 10 EUR zur nicht-ECC-Variante aus, also entschied ich mich dafür. Bezahlt habe ich für beide Module knapp 90 EUR.

Netzteil

Da ich nicht vor habe, viel Strom zu verbrauchen, braucht es auch kein fettes Netzteil. Es sollte dennoch Kondensatoren eines Markenherstellers haben, also kein NoName-Produkt. Dies sind meist die ersten Komponenten, die kaputt gehen und dann zum Stromausfall führen. In Server-Hardware werden deshalb meist zwei redundante Netzteile verbaut, so dass der Defekt eines Netzteils nicht direkt zum Ausfall des Servers führt und im Live-Betrieb eines der beiden getauscht werden kann.

Sollte das NAS mal für ein paar Stunden wegen eines defekten Netzteils ausfallen, kann ich das verkraften. Ich entschied mich deshalb für ein günstiges 350 Watt Netzteil von Be Quiet.

Gehäuse

Nun zu einem weiteren kontroversen Thema: Das Gehäuse. Hier gibt es unzählige Möglichkeiten. Selbstbau mit Gewindestangen und Alu-Profilen, ein altes Desktop-Gehäuse zweckentfremden, ein 19" Einschubgehäuse kaufen oder einfach alles in eine Bratpfanne legen.

Ein Selbstbau war mir zu aufwändig, ein Desktop-Gehäuse zu plump, eine Bratpfanne kann kein Hot-Swap (oder doch?). Ein 19" Gehäuse mit 4 Hot-Swap Bays wäre ideal gewesen, leider sind die allermeisten sehr tief und passen somit nicht in meinen Serverschrank im Keller. Deshalb schaute ich mich bei den Consumer NAS-Gehäusen um, von denen es mittlerweile eine Hand voll gibt.

N40L

SilverStone hat hier mit der CS3XX-Serie einige interessante Gehäuse im Sortiment. Besonders angetan hat es mir das CS351, für welches ich mich dann am Ende auch entschieden habe. Der Preis ist natürlich stattlich, doch habe ich vor das Gehäuse für die nächsten 10 Jahre zu nutzen.

Platten

Hier habe ich ein günstiges Angebot abgewartet und 4x 4TB WD Red Plus 3.5 Zoll NAS Festplatten gekauft. Bezahlt habe ich für alle zusammen etwas mehr als 300 EUR. Die Platten will ich im RAID-Z2 betreiben, so können zwei Platten ausfallen, ohne dass sich das RAID in Luft auflöst.

N40L

Dem Betriebssystem habe ich eine kleine, günstige 128GB SSD für ca. 15 EUR spendiert. Sollte diese kaputt gehen, ist auch dies kein Problem, da ich vor habe, eine fertige NAS-Distribution zu verwenden. Die Konfiguration kann ich einfach sichern und wieder herstellen.

N40L

Kosten

So, nun zur Übersicht der Materialkosten. Die einzelnen Komponenten (incl. Versandkosten) haben mich ca 550 EUR gekostet. Nicht dabei die Festplatten. Einige Komponenten habe ich gebraucht (aber neuwertig) gekauft. Das Gehäuse mit fast 200 EUR fällt hier schon stark ins Gewicht. Wer also auf ein schickes Gehäuse verzichtet, bekommt das NAS für 350 EUR hin.

Zustand Komponente Preis (EUR)
gebraucht SNK-P0046P CPU Heatsink 9,99
gebraucht Supermicro X11SSL-F Mainboard 131,99
gebraucht 2x 8GB DDR4 ECC RAM 89,90
gebraucht Intel i3 6300T CPU 44,00
neu Silverstone SST-C351B Gehäuse 192,89
neu Be Quiet 350 Watt Netzteil 34,84
neu 128 GB Patriot SSD 14,28
neu 10x SATA 3 Kabel 7,94
neu MX-4 Wärmeleitpaste 3,55
Versandkosten 21.98
Summe 551,36

(Stand: 09/2022)

Aufbau

Jeder der schon einmal einen PC selbst zusammengebaut hat, sollte hier keinerlei Probleme haben. Das meiste passt nur an einer Stelle in einer Richtung. Das Handbuch für das Mainboard hilft hier bei den Details. Auf eine Blende bei den hinteren Anschlüssen habe ich aus Kostengründen verzichtet.

Es lohnt sich, ein Firmware-Update für das BMC und das BIOS zu machen, sowie alles auf Werkseinstellungen zurückzusetzen. Das lässt sich bequem über das IPMI machen. Um alle Features nutzen zu können, benötigt man eine super sichere Lizenz.

TrueNAS

Über TrueNAS möchte ich hier nicht ausführlich schreiben. Es gibt einige NAS-Betriebssysteme, TrueNAS (ehemals FreeNAS) ist eine der bekannteren. TrueNAS CORE kann frei verwendet werden und ist Open Source. Bevor ich das NAS mit meinen Daten befüllt hatte, habe ich noch ein paar Experimente mit diversen Ausfall-Szenarios gemacht. Dafür mussten ein paar alte Platten herhalten. Konfiguriert in einem RAID-Z2 (weiter unten mehr dazu) ist das System extem ausfallsicher. Ich habe Platten im laufenden Betrieb gezogen, wieder eingesteckt, mehrere während eines großen Kopiervorgangs gezogen, an anderer Stelle wieder eingesteckt usw. Den RAID-Verbund habe ich nicht kaputt bekommen. Das gab mir noch einmal das (mir sehr wichtige) Vertrauen in ZFS und TrueNAS.

Zu zwei Aspekten möchte ich dennoch ein paar Details beschreiben. Die Art der Plattenkonfiguration und die Netzwerk-Anbindung.

Plattenkonfiguration

Da ich TrueNAS einsetze, ist ZFS die Wahl des Dateisystems. Dies hat gegenüber herkömmlichen Dateisystemen ein paar Features, auf die ich nicht verzichten wollte. (Mehr dazu auf dem verlinkten Wikipedia-Artikel). Für mein Setup habe ich mich für ein RAID-Z2 entschieden, was einem RAID-6 entspricht. Hier können zwei Platten ausfallen, ohne dass es zum Datenverlust kommt. Sind alle Platten in einem großen Pool, lassen sich so beliebig viele Datasets anlegen/löschen. Wer hier einen besseren Einblick in ZFS haben möchte, kann sich die OpenZFS Dokumentation mal näher ansehen, es lohnt sich.

Für die Platten selbst bietet TrueNAS einige Energiesparoptionen an. Hier lassen sich Standby, Spindown, und andere Power Management Settings festlegen.

Netzwerk-Konfiguration (LACP)

N40L

Wie weiter oben schon erwähnt, wollte ich auf jeden Fall eine gute Anbindung. An meinem Unifi Switch (USW-24-G1) lässt sich LACP einfach für bestimmte Ports konfigurieren. Wichtig dabei ist nur, dass die Ports fortlaufend sind. So habe ich bei mir Port 17 und 18 gewählt.

LACP unifi

In TrueNAS lässt sich Link Aggregation unter Network -> Interfaces einstellen. Dies sieht bei mir wie folgt aus.

LACP truenas

Fazit

Dies soll auf keinen Fall eine vollständige Nachbau-Anleitung für ein NAS darstellen. Ich habe hier nur meinen Prozess beschrieben, wie ich mir mein NAS zusammengestellt und aufgesetzt habe. Jeder hat andere Anforderungen und demnach auch andere Rahmenparameter. Deshalb habe ich die Auswahl der Hardware-Komponenten so ausführlich beschrieben. Ich hoffe, ich habe damit dem einen oder der anderen ein paar Tips für das eigene Setup gegeben.

Und habe ich meine Anforderungen an den Strombedarf erfüllt? Tatsächlich, ja. Das neue NAS misst bei normaler Nutzung ca. 35-45 Watt. Also sogar noch stromsparender als das alte, langsamere System.

Danke an @mezzo für die Verbesserungen und das Korrekturlesen.