20TB Eigenbau-NAS, Backup-NAS bzw. Datenarchiv für kleines Geld
- Details
- Veröffentlicht: Samstag, 27. Oktober 2018 19:47
Meine primäre Datensenke ist schon seit Jahren ein NAS von QNAP. Ich nutze hier i.d.R. nur die Basic-Funktionalitäten Da mein altes NAS nach 6 Jahren zwar noch problemlos funktionierte, aber einerseits aus heutiger Sicht viel zu Gesagt, getan. Nur waren nun zwei Fragen offen - wie sichert man regelmäßig bis zu 11 TB Daten und was wird Das alte NAS so wie es war, als Backup zu verwenden funktioniert leider nicht, da es zu klein und zu langsam war. |
Die Anforderungen waren, so preiswert wie möglich einen riesen Datastore zusammenzubauen. Dieser muss
nicht ständig laufen, d.h. Energieverbrauch spielt eine untergeordnete Rolle. Die Zuverlässigkeit sollte zwar einigermaßen gewährleistet sein, aber nicht zu jedem Preis,
immerhin möchte ich hier keine Daten speichern die es nicht noch einmal woanders gibt bzw. die ich nur "für den Fall der Fälle" noch etwas aufheben möchte. Außerdem sollte das System erweiterbar sein, so dass ich erst bei Bedarf weitere HDDs hinzustecken kann. Als Protokolle benötige ich mindestens SMB und NFS.
Software:
Ich hatte bei der Suche nach einem neuen NAS schon mit div. Software-Eigenbaulösungen experimentiert. Letztlich war es dann aber noch am ehesten
an den wenigen verfügbaren ITX-Gehäusen für viele Festplatten zum fairen Preis gescheitert.
Ich halte dabei FreeNAS mit ZFS für eine Superlösung, allerdings sind hier die Hardwarevoraussetzung für mein Projekt riesig und damit zu teuer.
Für ein 20TB System benötigt man hier schon mal 20GB RAM (em besten ECC) und einen flotten Prozessor. Über Deduplizierung wollen wir mal gar nicht sprechen.
Rockstore - Ein Linux mit BTRFS, vielversprechend aber immer noch nicht das richtige.
NAS4free (XigmaNAS) - auf FreeBSD basierendes NAS, kurz gesagt - auch hier sind die Voraussetzungen für meinen Ansatz noch zu hoch.
Openmediavault - Hier kommt eigentlich alles zusammen, was mein Projekt ausmachen soll:
- die Systemvoraussetzungen sind denkbar gering,
- RAID5 wird unterstützt - soviel Sicherheit sollte schon sein, immerhin dauert ein Neubau des RAIDs und das Übertragen der Daten einige Zeit,
- basiert auf Debian - d.h. ich kann selbst Pakete nach Belieben nachinstallieren,
- und es läuft ein Einplatinencomputern, wo ich hier doch gerade noch einen herumliegen habe.
Hardware:
Ich hatte mich schon immer gefragt, was man mit einem USB-Festplattengehäuse (kein Netzwerk und kein RAID) eigentlich anstellt?
Da war die Idee geboren SOC, Software-NAS und und ein 8-Bay Gehäuse zu kombinieren und zu schauen, wie es funktioniert und was es leistet.
Einen Odroid C1 hatte ich noch rumliegen, SD-Karte rein, Gehäuse bestellt und mit den bestehenden HDDs bestückt. Da die Gesamtkapazität aber höher
als das alte NAS werden sollte brauchte ich noch mehr HDDs, aber für einen ersten Versuch ausreichend. Die passenden fertigen Images gibt es hier.
Da der Odroid nur USB 2.0 hat, waren hier effektiv via SMB/NFS auf einem RAID5 10-15MB/Sek. zu erreichen. Der Aufbau des RAID-5 hat aber schon Tage gebraucht. Damit reicht der Odroid C1 zwar theoretisch aus, aber erstens wird er nicht mehr durch die aktuelle Version 4 unterstützt und zweitens brauch ich mehr als USB 2.0 Speed. Das heißt für die Einkaufsliste zusammenfasstend, ein SOC-Rechner mit USB3.0, mind. 2GB RAM, GBit Ethernet und ein paar weitere Festlpatten. Ebay war hier raus, da man nicht weiß was die Festplatten schon hinter sich haben und außerdem die Preise für gebrauchte schon fast an Neupreise herranreichen. Durch Zufall bin ich auf vom Hersteller überholte Festplatten bei Amazon gestoßen, genau das was ich gesucht habe - preiswert und gut genug.
Hier die Einkaufliste:
Mini-Rechner: Die Wahl fiel auf einen Rock64 2GB mit passenden 5V-Netzteil, einziges Problem es schien keine passenden Gehäuse zu geben
Gehäuse: das preiswerteste Raspi 3 Gehäuse auf Amazon, hier müssen nur drei Löcher gebort werden und schon passt es
Festplattengehäuse: USB 3.0 FANTEC QB-X8US3-6G Festplattengehäuse für bis zu 8 Festplatten
zusätzliche Festplatten: Recertified Western Digital 3TB, hierbei handelt es sich um die gleichen WD green, mit den ich bisher schon gut gefahren bin
(ja ich weiß die sind nicht für NAS-Systeme - funktionieren aber bestens :) )
Zusammenbau und Installation:
Der Zusammenbau ist denkbar einfach, Festplatten rein - von oben beginnend, Rock64 in das Gehäuse einpassen, mit beiliegenden USB-Kabel verbinden, Strom und Netzwerk dran und los geht es.
Wichtig ist m.M.n. eine kleine Einstellungsänderung am Festplattengehäuse. Default werden hier die Festplatten bei jedem Neustart des Rechners die Festplatten ausgeschalten und dann der Reihenfolge
wieder gestartet, da führt gelegentlich zu Verzögerungen / Fehlern beim Start. Mit der Taste an der Front kann man den "Sync" dauerhaft deaktivieren. Problem gelöst.
- Openmediavault:
Die SD-karte wird als komplettes Image direkt am PC befüllt - Anleitung und Links zu den Images gibt es hier
Bei der Installation / ersten Start sind folgende Dinge wichtig und zu beachten:
- man sollte DHCP aktiviert haben und die vergebene IP-Adresse sollte mindestens HTTP Internetzugang haben, denn nur so wird das initiale Setup erfolgreich abgeschlossen,
hierbei etwas Geduld ... einfach warten
- ohne Internet geht es auch, aber dann muss zunächst an der lokalen Konsole IP-Adresse und Keymap konfigriert werden
dpkg-reconfigure keyboard-configuration
nano /etc/network/interfaces
nano /etc/resolv.conf
reboot
- anschließend das System erst einmal aktualisieren, ggf. eingene Pakete hinzufügen, neustarten
apt-get install armbian-config
apt-get update && apt-get upgrade
apt-get install iotop htop iftop
- da bei mir mehrfach die Aktualisierung / Installation der Pakete über die Oberfläche fehlschlugen, habe ich diese auch über die CLI installiert
apt install openmediavault-diskstats openmediavault-webdav openmediavault-backup openmediavault-duplicati openmediavault-rsnapshot openmediavault-luksencryption openmediavault-lvm2 openmediavault-snmp openmediavault-anacron openmediavault-autoshutdown openmediavault-clamav openmediavault-resetperms openmediavault-wol
- ist dies erledigt, kann das System initialisieren werden (bei manchen Images geschah das auch automatisch) und abschließend noch das (Consolen-)Initialpasswort geändert werden
armbian-config
omv-initsystem
passwd
Ab hier kann man nun eigentlich mit dem Webinterface bequem die Einrichtung abschließen, d.h. ein RAID, Freigabeordner etc. erstellen. Ich werde an dieser Stelle das nicht weiter vertiefen,
da gibt es bereits jede Menge gute How-Tos.
Erkenntnisse und Ergebnisse:
Performance-Frontend:
SMB erreiche ich sequentiell 55-75MByte/sec | random ca. 40Mbyte/sec
NFS bis zu 90MByte/Sec
-> Die Performance ist absolut akzeptabel und weit ver meinem alten NAS
Verwendung als Erweiterungsshelf für QNAP-NAS
Ich hatte hierzu keine richtigen Infos finden können, theoretisch gibt es von QNAP ein USB-Shelf, also könnte es ja sein das USB-Gehäuse kann auch als
solches verwendet werden.
-> Es geht, aber man kann die Festplatten nur einzeln formatieren / freigeben, nicht aber zu einem RAID zusammenfassen / hinzufügen
-> es gibt das Gehäuse auch mit RAID, so könnte man sich ein großes ext. RAID-Volumen an ein bestehendes NAS anhängen
Energieverbrauch / Sparmaßnahmen:
Ich habe bei den einzelnen Festplattenen mit den Energiesparoptionen experimentiert, allerdings brauch dabei nur die Performance ein, der Verbrauch war gleich.
Hauptproblem sind die pauschal 30W die das Fantec-Gehäuse braucht, der Stromverbrauch des ROCK64 ist wiederrum kaum messbar. (ohne Gewähr da einfaches Energiekostenmessgerät).
Bei den Festplatten kann man sicher noch mit automatischer Abschaltung einiges im Dauerbetrieb rausholen.
Verschlüsselung:
Ich wollte das RAID / Freigabeordner gern verschlüsseln, trotzdem sollte das System automatisch headless starten.
Leider sind die aktuellen Lösungsansätze hier nicht besondern komfortabel (LUKS etc). Die anderen Softwarelösungen, wie Freenas sind hier schon weiter.
Der Punkt bleibt erstmal offen.
Weitere offene Punkte:
Die Statistikfunktion ist der eingeschränkt bzw. funktioniert gar nicht. Grund ist hier wohl die fehlende RTC auf einem SOC. Auch hier gibt es div. Lösungsansätze.
Hinweis zu Amazon-Links:
Ich kaufe selbst sehr oft bei Amazon, wenn du den Links folgst und hier auch bestellst, erhalte ich ein paar Euro/Cent von Amazon.
Davon werde ich nicht reich, aber es hilft die laufenden Kosten die solch ein Blog eben erzeugt etwas zu reduzieren und auch in Zukunft weitere Artikel hier zu veröffentlichen.