Vorüberlegungen
Dieses Jahr wird wohl als das DIY Jahr in die Geschichte eingehen. So viel Zeit für Projekte (@Corona) hatte ich noch nie.
Bisher habe mich immer von der NAS Thematik abgesehen. Das hatte verschiedene Gründe. Bei mir ist der primäre Einsatzzweck das Backup mehrerer Rechner.
Festplatten sind heute oft deutlich schneller als 1 Gbit Netze (das theoretische Maximum liegt bei einem Gbit Netz bei 125 MB/s, praktisch sind es oft eher 90 MB/s, eine Moderne Festplatte schafft heute ca. 250 MB/s). Somit war die per USB 3.0 angebundene Festplatte immer die deutlich flottere Alternative und zudem deutlich günstiger als ein NAS.
Weiterhin benötigt ein NAS ständig Strom, erzeugt Wärme und Geräusche. Festplatten können einen gerade im Wohnbereich auf Dauer nerven, wenn sie mit kleinen Lüftern kombiniert werden und rund um die Uhr laufen. Beides ist in NAS oft der Fall.
Seit längerer Zeit stehen bereits 10 Gbit Netze zur Verfügung aber die Kosten sind immens, wenn man mehrere Rechner vernetzen will. Ein Switch kostet je nach Portanzahl gerne mal mehrere hundert Euro und braucht aktive Belüftung und oft 30 oder 40 Watt Strom. Zusätzlich erzeugen diese Switches Lärm. Diese Variante war für mich absolut unattraktiv.
Es gibt zwar auch optische Switches (SFP+) für 10 Gbit im Bereich von 120€ aber dafür sind mir keine USB Adapter als Gegenstück bekannt. Somit braucht man zusätzliche Transceiver z.B. für Odroid H2+ und z.B. ein evtl. vorhandenes Notebook und somit treibt man den Preis schnell wieder deutlich in die Höhe.
Update 04.10.2021 Mittlerweile bekommt man 5 Port RJ45 10GBit Switches für 275€ mit bis zu 10 Jahren Garantie und ohne Lüfter.
Update Ende
Update 30.09.2022 Mittlerweile gibt es einen SFP+ Thunderbolt Adapter von QNAP, der als Gegenstück für eine 10 GBit Netzwerkkarte mit SFP+ Anschluss dienen kann. Auch Switches mit 4x SFP+ und diversen 1GBit Ports oder auch andere Konstellationen sind im bezahlbaren Rahmen von unter <275€ und mit passiver Kühlung verfügbar.
Update Ende
Seit einer Weile stehen nun 2,5 Gbit Netze bzw. Geräte für 2,5 Gbit zu günstigeren Preisen zur Verfügung. Je Rechner kann man für einen USB Adapter ca. 40€ veranschlagen. Seit wenigen Tagen steht auch der erste bezahlbare Switch für ca. 115€ zur Verfügung (QNAP QSW-1105-5T 5 Port).
Da ich mit dem Raspberry Pi bereits experimentiert hatte und bereits feststand, dass ich einen Minirechner für Linux, Spielereien und Backup nutzen möchte, war der Schritt zum Eigenbau-NAS ziemlich klein.
Warum ein NAS?
Ein NAS hat den Vorteil, dass man von x Stellen darauf zugreifen kann. Statt lokal USB Platten anzustöpseln (für den Hauptrechner, für den Zweitrechner, für das Notebook, für den SAT Receiver, usw.) hat man nur noch eine zentrale Datensammlung die im gesamten Heimnetz verfügbar ist.
Theoretisch benötigt man somit weniger Festplatten und lokale Datensilos. Dazu kommt, dass man mit dem Dateisystem freie Hand hat. Während man bei Windows auf NTFS beschränkt ist und beim SAT Receiver ggf. auf Spezialformate (siehe Technisat), hat man in der Linux Welt die freie Auswahl und kann moderne Systeme mit Copy on Write und Komprimierung nutzen.
Weiterhin braucht man nicht überlegen wo die Daten liegen, wenn man ein zentrales NAS für die Ablage nutzt (Festplatte A, Festplatte B oder doch irgendwo anders?). Heute ist es in der Regel so, dass die meisten Geräte eh per LAN verkabelt sind, somit ist der Schritt die Datenablage auch per Netzwerk anzubinden konsequent.
Was kostet ein DIY NAS?
Die Hardware:
- Odroid H2+ (ca. 140€ – nicht mehr erhältlich / Odroid H3 ca. 205€)
- RAM 32GB Ripjaws 2400 (ca. 100€, 8-16GB reichen auch, wenn man nicht virtualisieren will und ZFS als Dateisystem ausschließt)
- NVMe SSD WD SN550 (70€ 0,5TB bis 120€ 1TB) – Update 31.12.2021 mittlerweile ersetzt durch SATA SSD 2TB (ca. 180€)
- Festplatten je nach Bedarf (in meinem Fall alte WD 4TB und neue Seagate Exos X14 mit 12TB für ca 300€) – Update 31.12.2021 mittlerweile wurden die beiden vorgenannten Festplatten ersetzt durch 2x 18TB Segate Exos (aktuell ca. 600€ für die beiden HDDs)
- Gehäuse Kolink Satellite (ca. 40€)
- Netzteil, Kabel, Schalter (40€)
- 3D Druck Boardhalter und Mini-ITX-Blende (ca. 25€)
- Noctua Lüfter 120mm 5V – NF-F12 5V (20€) – Update 31.12.2021 Nach Update mit 2 modernen Festplatten habe ich zusätzlich vorne einen zweiten Lüfter verbaut. Die Lüfter laufen beide mit Minimaldrehzahl von 300 RPM und nur, wenn die Festplatten aktiv sind, oder der Odroid H2+ / H3 eine gewisse Mindesttemperatur überschreitet (somit 40€)
- Sharkoon HDD Vibe Fixer (15€)
- Bereits vorhanden (zwei weitere Rahmen wie Sharkoon, Metallbleche, Schrauben und Befestigungsmaterial)
Abzüglich der Festplatte rund 500€
Dafür bekommt ihr:
- Ein Dateisystem eurer Wahl btrfs / ZFS / ext4
- 32GB für virtuelle Maschinen oder viel Platz für Zwischenpuffern von Daten (der Odroid ist für Textverarbeitung, Tabellenkalkulation, im Internet surfen, Mails als vollwertiger Desktop Ersatz nutzbar). Selbst Windows 10 lässt sich problemlos installieren (das habe ich selbst bisher nicht gemacht aber Videos dazu gesehen).
- 2×2,5 Gbit Schnittstellen (einschließlich Link Aggregation was einem aber mangels passenden Switches eher wenig nützt)
- Maximale Flexibilität (beliebige Software, 10 Gbit Erweiterung über NVMe Karte oder über NVMe Karte 6 SATA Anschlüsse)
- Die NVMe SSD könnt ihr auch gegen eine Karte tauschen, mit der weitere SATA Festplatten angesteuert werden können. Dann ist eher der direkte Vergleich mit einem fertig NAS gegeben oder ihr könnt alternativ Port Multiplier nutzen, um aus den 2 SATA Anschlüssen z.B. 4 zu machen.
Und ein NAS von der Stange?
Am ehesten vergleichbar ist aktuell der QNAP TS-453D-4G. Der bietet 4 Bays (also doppelt so viel wie der Odroid H2+ Anschlüsse hat, 2×2,5 Gbit, 4GB Ram statt 32GB, keine 1TB SSD für das Betriebssystem) ein vorgegebenes Betriebssystem und ausschließlich ext4 als Dateisystem.
Die Kosten liegen bei rund 600€. Wenn man die SSD und den RAM in dem Beispiel oben raus rechnet (das entspricht dann dem QNAP), gut 300€ mehr als der Selbstbau aber dafür mit Anschlussmöglichkeiten für zwei weitere Laufwerke.
Der Adapter für 4 weitere Laufwerke über den NVMe Anschluss kostet rund 40€ und dann braucht man für das Betriebssystem ggf. einen 64GB eMMC Baustein statt der NVMe SSD oder man nutzt eine SATA SSD. D.h. für 75 – 100€ (on Top auf die 300) hat man quasi die gleiche Ausstattung wie der QNAP, liegt also 200€ günstiger mit deutlich mehr Flexibilität.
Wie sieht das DIY NAS aus?
Mein erster 3D Druck Auftrag (ich habe mich für die günstigste Variante entschieden, wie man an der Druckqualität erkennt). Das Material ist aber hinreichend stabil, wenn auch kein optisches Highlight. Odroid H2+ von unten mit Boardhalter und WD SN550 1TB NVMe SSD für das Betriebssystem und zwei mal 16GB RAM
Odroid H2+ von oben mit Powertaster und Board als 3D Druck
Odroid H2+ in eingebautem Zustand im Mini-ITX Gehäuse. Sagen wir es sieht semiprofessionell aus. Das Loch für den Schalter nach dem 3D Druck einzubringen war keine gute Idee, dafür ist das Material nicht stabil genug gewesen, da der 3D Druck nicht massiv war (das hängt vom Material ab und wie hoch die Füllung ist). Somit ist etwas ausgebrochen aber mit Etwas Ponal lies sich das beheben. 🙂
Seitenansicht. Links Odroid H2+ auf 3D Druck Halter befestigt an den Mini-ITX Befestigungsbohrungen. Rechts Sharkoon Vibe Fixer, auf dem ich mit den Blechen noch zwei weitere HDD Halter befestige. Die starren Füße am Vibe Fixer habe ich später noch durch Gummipuffer getauscht. Am Lüfter befindet sich ein Blech um einen Teil der Luft auf den Odroid H2+ zu lenken. Der Hauptteil der bewegten Luft geht Richtung HDDs.
Gehäuse von oben ohne Festplatte
Von oben – die oberste Festplatte von dem potenziellen 3er Stapel
Fast finaler Ansatz des Aufbaus: Geändert habe ich die Befestigungsrahmen der Festplatten. Oben nutze ich noch zwei Rahmen ohne die Gummiringe als Befestigung. Die Platten sind unten mit Gummischeiben unter den Festplatten verschraubt. Das hat zu viele Vibrationen erzeugt. Somit habe ich die Rahmen durch andere mit Gummiringen zur Aufhängung der Festplatten ersetzt.
Finaler Aufbau mit beiden Festplatten frei hängend und Gummipuffern unten drunter.
Geschlossenes Gehäuse von oben
Geschlossenes Gehäuse von vorne
Die Temperaturen:
Die Seagate ist heliumgefüllt und somit effizienter als die alte Western Digital Festplatte. Die Seagate bewegt sich beim Temperaturbereich zwischen 35 – 40°C je nach Last. Die WD bei ca. 5°C mehr (Zimmertemperatur ca. 25°C und 800 RPM Lüfterdrehzahl).
Der Odroid H2+ liegt bei ca. 30°C an den drei Boardsensoren im Leerlauf. Die CPU Sensoren bei 45°. Der Lüfter ist dabei angenehm leise. Bei Datenübertragung gehen die Kerne auf 65°C hoch und sind somit noch weit vom kritischen Bereich von 95°C entfernt.
Das kann man von den Festplatten in Kombination mit dem Gehäuse leider nicht sagen. Obwohl die Platten maximal entkoppelt sind, ist das Blech so dünn, dass es durch das Geräusch der Festplatten angeregt wird und dieses eher verstärkt. Das kann einem bei geringer Entfernung gerade bei der alten WD auf den Senkel gehen.
Da ich die Festplatten aber nach 10 Minuten in den Standby schicke ist es nicht so dramatisch.
Update 30.09.2020: Ich habe später das komplette Gehäuse noch mit selbstklebenden Bitumenmatten ausgekleidet, die Schwingungen minimieren.
Der Stromverbrauch:
Im Idle mit Samba, Apache, Nginx, Mysql, Firewall, DHCP, Bind, Webmin, Webadm, Slapd, Openotp, Elasticsearch, Memcached, PHP, Redis, Proftp, TS3 Server, Opendkim, Postfix, Dovecot, Openvpn, SSH-Server.
- WD, Seagate, Odroid H2+, Ubuntu 20.04, USB Stick, MicroSD Card Reader, 1Gbit USB Netzwerkadapter, NVMe SSD, 4 Port USB 3.0 Hub, Lüfter – 21 Watt
- WD, Odroid H2+, Ubuntu 20.04, USB Stick, MicroSD Card Reader, 1Gbit USB Netzwerkadapter, NVMe SSD, 4 Port USB 3.0 Hub, Lüfter – 18 Watt
- Seagate, Odroid H2+, Ubuntu 20.04, USB Stick, MicroSD Card Reader, 1Gbit USB Netzwerkadapter, NVMe SSD, 4 Port USB 3.0 Hub, Lüfter – 12 Watt
- Odroid H2+, Ubuntu 20.04, USB Stick, SD Card Reader, 1Gbit USB Netzwerkadapter, NVMe SSD, 4 Port USB 3.0 Hub, Lüfter – 9 Watt
- Odroid H2+, Lüfter, NVMe SSD, Ubuntu 20.04 ca. 6-7 Watt
- 4 Port USB 3.0 Hub, USB Stick, MicroSD Card Reader ca. 1 Watt
- 1 GBit USB Adapter ca. 1 Watt
- WD ca. 9 Watt (Idle) – lt. Datenblatt 8,1 Watt
- Seagate ca. 3 Watt (Idle) – lt. Datenblatt 5 Watt (nach 2 Minuten ca. 3 Watt mit Idle_B, das habe ich gemessen)
An dem Beispiel sieht man wie viel Strom alte Festplatten benötigen. Die Seagate hat interne Sparmechanismen, die gegriffen haben und ohne externe Tools bereits den Stromverbrauch senken.
Die Performanz:
- Lokale SSD in Windows PC über Netzwerk auf NVMe SSD mit Windows Explorer (Luks, Btrfs, ZSD1 Komprimierung) in der Spitze ca. 220MB/s, Einbrüche auf 70 MB/s, im Durchschnitt ca 175 MB/s (das Limit ist in dem Fall dank schlechter Parallelisierung der Btrfs Komprimierung der Prozessor des Odroid, die Verschlüsselung sollte dank Hardwareunterstützung keine Rolle für die Performanz spielen)
- NVMe SSD (Luks, Btrfs, ZSD1 Komprimierung) auf lokale SSD auf dem Windows PC mit dem Windows Explorer in der Spitze bis 290 MB/s, im Schnitt ca. 200 MB/s (wo das Limit in dem Fall liegt ist mir nicht klar, der Odroid Prozessor ist nicht ausgelastet mit der Dekomprimierung, in der Vergangenheit habe ich aber bereits beobachtet, dass der Windows Explorer limitiert)
- Die iperf3 Messungen waren für mich überhaupt nicht nachvollziehbar. Der i225V schafft in Senderichtung zum Odroid ca. 2,4 Gbit, die Realtek Chips kämpfen mit bescheidenen Treibern. Je nach Version (habe ich 2,15 Gbit) geschafft und das waren nicht die aktuellen Treiber von Realtek, sondern die automatisch von Windows installierten Treiber. In der Gegenrichtung Odroid nach PC liegt das von mir erreichte Maximum bei ca. 1,5 Gbit (unabhängig davon ob Realtek oder Intel auf dem PC die Gegenstelle gebildet haben). Sehr dubios. Update 18.08.2021 – Nun sind die Treiber für die Realtek Chips im Ubuntu Kernel enthalten, bei einer aktuellen Messung Realtek zu Realtek komme ich in beide Richtungen in etwa auf 2,25 Gbit gemessen mit iperf – also nicht die 3er Version und default Einstellungen – bei iperf3 ergibt sich noch immer das ungleiche Bild, dass ich oben beschrieben habe) Update Ende
Anmerkung: Ich rate davon ab über den QNAP QSW-1105-5T 5 Port sowohl Internet als auch den NAS Verkehr laufen zu lassen. Wenn man die Leitung zum NAS auslastet sind die Latenzen enorm. Stattdessen sollte man dafür einen separaten Adapter nutzen (1 Gbit per USB reicht vollkommen). Einige PCs bieten heute auch schon zwei Netzwerkschnittstellen an, dann ist kein Zusatzadapter erforderlich.
Ich habe übrigens auch BTRFS ohne Komprimierung getestet. NTFS war extrem lahm (liegt vermutlich am Linux Treiber), FAT32 und ext4 waren bei den Tests auch nicht schneller als BTRFS mit Komprimierung.
Der praktische Nutzen:
Der Nutzen muss sich final noch erweisen. Unter Linux ist er definitiv gegeben weil man dort immer ohne Probleme auf das NAS zugreifen kann. Bei True Image wird das NAS nicht automatisch gefunden. Bevor man im Notfall lange rumbastelt und das irgendwie Treiber integriert, nimmt man schnell mal wieder die USB Platte und schwups schon war das NAS für die Katz.
Dazu kommt, dass die Qualität bei Acronis True Image leider von Version zu Version und von Upgrade zu Upgrade sehr stark schwankend ist. Für Rescuemedien müssen Treiber für die jeweiligen Netzwerkchips hinzufügt werden. Selbst die 2020er Version findet weder den Intel 225V (2,5 Gbit), noch den 219V (1 Gbit), noch den Realtek 8156 (2,5 Gbit). Selbst wenn die Netzwerkchips per Treiber gefunden sind, muss man manuelle Schritte durchführen, damit das NAS erkannt wird. Die Performanz ist bei den Rescuemedien generell schlecht und reizt nicht mal ein Gbit LAN aus, was die Performanzgewinne partiell wieder aushebelt.
Update 04.10.2021: Die Performanz ist wohl nicht alleine ein Problem von True Image (auch aber eben nicht nur). Der Odroid hat pro Kern eine überschaubare Rechenleistung. Samba nutzt in der Regel (Ausnahme: Stichwort RSS fähige Netzwerkadapter) nur einen Kern (Details siehe hier). Die Samba Versionen kleiner 4.12 sind zudem noch langsamer als die aktuelleren Versionen (Wechsel der Verschlüsselungstechnik). True Image läuft per FTP Anbindung an den Odroid deutlich schneller. Dann allerdings nur FTP (non secure), also nur für das interne Netz geeignet. Diesbezüglich ist Acronis ziemlich vorsintflutlich unterwegs. Mit FTP bekomme ich ca. 1,8 GBit hin mit den 2,5 Gbit Adaptern und meiner Festplatte. Mit einem 2,5 GBit Adapter und Samba 4.13 gehen mit Glück etwas mehr als ein GBit mit True Image. Mit einem 10GBit Netz erreiche ich rund 2,5 Gbit netto. Sehr seltsam das Ganze. Acronis ist daran aber offenbar auch nicht unschuldig, denn mit einem Filetransfer über den Windows Explorer auch mit Samba erreicht man locker die Maximalgeschwindigkeit einer Sata SSD. eigentlich sollte man meinen das Acronis identische Werte erreicht.
Ich habe mittlerweile auch eine große Blu Ray / UHD Sammlung auf das NAS überspielt. Das NAS hält somit über 300 Filme und gut 700 Serienfolgen vorrätig.
Update Ende
Zusammenfassung:
Abseits von einer manuellen Ubuntu Installation mit allen Einzelkomponenten kann man für den NAS Einsatzzweck auch Fertiglösungen wie z.B. Freenas nutzen, verliert damit aber wieder einen Teil der Flexibilität.
Der Odroid H2+ ist über den NVMe Slot recht flexibel. Es lässt sich auch 5Gbit (USB) oder 10Gbit (NVMe) Ethernet nachrüsten. In letzterem Fall allerdings nur mit 2 SATA HDDs oder mit Port Multipliern (wobei Port Multiplier nur für 2 HDD pro Port Sinn machen, wenn parallele Zugriffe erfolgen – ansonsten verliert man zu viel Performanz – d.h. mit Port Multipliern kommt man auf insgesamt 4 HDDs). Das sollte für die meisten Setups ausreichend sein.
Für mich ist der Odroid H2+ aktuell das beste NAS, sofern man maximal 2-4 HDDs dauerhaft betreiben möchte. Darüber hinaus ist ein professionelles NAS je nach Anwendungsfall ggf. besser geeignet.
Update 04.10.2021: Ich habe mittlerweile einen SATA Port Replikator im Odroid H2+ getestet. Bis 4 Laufwerke sollte es bei Festplatten keinen Performanzverlust geben (also 2 an jedem Port). Allerdings wird das von der Stromversorgung wohl ziemlich grenzwertig sein je nach HDDs und Anlaufstrom der Festplatten. Man kann zwar ein etwas größeres Netzteil nutzen (bis ca. 80 – 100 Watt) aber es gibt es Limits für den Odroid H2+ bei der Stromversorgung pro Port und somit auch insgesamt. Ich habe neben den beiden HDDs eine SSD angeschlossen (2xHDD an einem Port mit Port Multiplier, SSD an dem anderen – das läuft problemlos). Die M2 SSD ist nun rausgeflogen und dafür ist eine 10GBit Netzwerkkarte rein gekommen, die über einen M2 > PCIe 4x Adapter mit Kabel von ADT-Link angeschlossen ist. Die Wärmeentwicklung bei den Karten von Asus / TP-Link mit dem AQC 107 ist zwar nicht gering aber passiv kühlbar und der Odroid H2+ kann die Karte locker versorgen.
10GBit Karte mit AQC107 von Asus am Odroid (der Stromadapter wird benötigt, fehlt aber im Foto noch)
Auf dem Kopf, das NAS ist umgedreht, die SSD befindet sich an einem regulären 2,5″ Einbauplatz des Gehäuses
Und noch mal auf dem Kopf, der Port Multiplier befindet sich oberhalb der zwei Festplatten
Port Multiplier von oben links, rechts daneben die 2TB SSD
Update Ende
Update 30.09.2022: Ich bin mittlerweile auf SFP+ Netzwerkkarten mit dem AQC100S umgestiegen, weil dieser deutlich weniger Strom verbraucht. Die oben gezeigte Asus Karte benötigt ca. 6-7 Watt und wird verhältnismäßig warm. Der AQC100S benötigt weniger als ein Watt. D.h. selbst mit DAC Kupfer oder AOC Lichtleiterkabel kann man pro Port grob 1 Watt rechnen. Dementsprechend bleibt auch der Kühler viel kälter, obwohl er viel kleiner ist.
Nach meinen Tests funktionieren folgende PCIe Karten mit dem Odroid H2+:
- Zyxel XGN100F / Trendnet TEG-10GECSFP (Version v2.0R) – beide SFP+ und mit dem AQC100S (Stromverbrauch ca. 1 Watt)
- Asus XG-C100C – RJ45 (Stromverbrauch ca. 6 Watt)
Nicht funktioniert hat bei mir die Delock 89100, obwohl sie auch auf dem AQC100S basiert.
Update Ende
Als einzigen Fehler beim Kauf meiner Komponenten würde ich ggf. das Gehäuse einstufen. Allerdings stellt sich die Frage, ob man dann nicht in ganz anderen Preisregionen landet, wenn man ein Gehäuse mit dickerem Blech oder gar Dämmung möchte. Ich habe zumindest nichts besseres entdeckt was kompakt und günstig ist. Bessere Gehäuse kosten dann eher das doppelte (z.B. Fractal Design Node 304 – und die Standardkabel für den Odroid könnten dann zu den Festplatten bereits etwas kurz sein) und sind auch größer. Wer allerdings auf meine Bastelei zur Festplattenbefestigung von oben verzichten möchte, kann die Festplatten in dem genannten Gehäuse direkt befestigen.
Um das Gehäuse wirklich beurteilen zu können, muss man das aber in der Realität begutachten und nicht nur anhand von Fotos im Netz.
Ich habe im Nachgang noch etwas Dämmmaterial in mein Gehäuse eingebracht und die klappernden Staubfilter entfernt, die eh so große Löcher hatten, dass sie quasi wirkungslos sind.
Fazit:
Ob man ein NAS “braucht” ist individuell sehr unterschiedlich. Das selbstbau NAS ist deutlich flexibler als die Lösung von der Stange aber eben auch um einiges aufwendiger.
Ich finde den Odroid H2+ absolut klasse, aber nicht unbedingt primär als NAS. Sehr viel mehr als Minicomputer für Windows, Linux oder als Server, wofür die meisten NAS nur sehr bedingt geeignet sind. Der NAS Part ist für mich eher ein mitgenommenes Abfallprodukt, dass ich gerne dazu nehme.
Update: Im Nachgang zum Test sind auch einige kleine Barebones / NICs z.B. mit Tigerlake CPUs erschienen, die ggf. deutlich mehr Rechenpower liefern und auch 2,5 GBit Adapter zur Verfügung stellen. Preislich dürfte man in vergleichbaren Regionen landen. Die Kühlung bei derartigen Geräten ist aber oft sehr laut, da sehr kleine Lüfter verwendet werden. Zusätzlich benötigt man dann noch ein externes Gehäuse z.B. mit USB 3.0 Anbindung für die Festplatten.