NAS- & Backup-System im Eigenbau: Aufbau und Software?

Der Kabelbinder

Higitus figitus zumbakazing.
Registriert
März 2009
Beiträge
8.869
Moin,

ich plane gerade den Eigenbau eines NAS- und Backup-Systems und wollte dazu mal eure Meinungen und Erfahrungen einholen. :)
Ich versuche, es kurz und übersichtlich zu halten ...

Hardware:
  • Intel i3-4130
  • ASRock B75M-ITX
  • 8 GB RAM
  • 250 + 500 GB SSD
  • PicoPSU 150 XT + Leicke 120W Netzteil
  • 6 TB Barracuda Compute (ST6000DM003)
  • noch anzuschaffen: NAS-Platte mit 6 TB
  • Raspberry Pi 4 B mit 4 GB RAM
Zielsetzung:

[1] Ein lokaler Austauschordner (SSD) für aktuelle Dokumente, die ständig zwischen Windows und Android synchronisiert werden sollen.​
[2] Ein Datengrab (HDD) für selten genutzte Bilder und Dokumente. Zugriff von Windows und Android.​
[3] Das Gelegentliche Backup dieser beiden Bereiche auf eine externe Platte.​

Mögliches Vorgehen:

NAS auf ITX-System.

Auf der SSD liegen das OS und der Austauschordner [1]. Dazu kommt dann eine neue 6 TB NAS-Platte für das Datengrab [2]. Die Barracuda würde ich als Backup in ein externes Gehäuse packen [3].

[1] Die Synchronisation des Austauschordners auf die Endgeräte könnte ich per SyncThing einrichten.

[2] Parallel würde ich mit sowas wie OMV das Datengrab realisieren und per SMB und bspw. OwnCloud als App einbinden.

[3] Die Backup-Platte im externen Gehäuse würde ich vielleicht irgendwo am Desktop-Rechner oder Router anschließen, damit sie zumindest elektrisch vom NAS getrennt ist. Nur für den Fall, dass das mittlerweile schon 8 Jahre alte PicoPSU bzw. das NT dahinter mal grillen sollte. Da müsste ich aufgrund des Alters und der geplanten "Dauerlast" (zumindest tagsüber immer mindestens im Idle) trotz bisher eher seltener Nutzung aber vielleicht ohnehin mal über einen Ersatz nachdenken. 🤔

Anyway. Die externe Backup-Platte würde ich jedenfalls sporadisch für das Backup anschalten. Da wäre es dann super, wenn direkt automatisch ein Backup von [1] und [2] geschrieben werden würde. Sowas lässt sich mit OMV sicherlich als Aufgabe einrichten. Allerdings weiß ich nicht, ob das so gut funktioniert, wenn der Zeitpunkt des Backups quasi durch das Anschalten der Platte vorgegeben wird. Erwartet OMV, dass seine Platten für solche Aufgaben immer erreichbar sind?
Ansonsten würde ich auch hier mit SyncThing arbeiten und die externe Seagate einfach als Empfänger einrichten, der die Partitionen von [1] und [2] spiegelt und dabei auch nur die Dateien überträgt, die tatsächlich verändert wurden. Bin mir aber nicht sicher, ob auch das so gut funktioniert, wenn die HDD wirklich nur sporadisch erreichbar ist. Wie lange kommt SyncThing da mit seinem Synchronsations-Log überhaupt hinterher? Wäre es möglich, da auch mal 6 Wochen anzustauen?

Würde das alles so in etwa hinhauen?
Habt ihr alternative Vorschläge für die Umsetzung und Software?

Würde mich über eure Eindrücke sehr freuen! :)

Viele Grüße
Kabelbinder
 
Moin,
bin vor ca. 2 Jahren von OMV (ca. 4 Jahre im Betrieb gehabt) zu Unraid gewechselt und habe es seit dem nie bereut. Keine Ahnung was sich seit dem bei OMV getan hat aber v.a. die Verwaltung der Docker Container fand ich bei Unraid um Welten besser umgesetzt als unter OMV. Kann auch sein das ich einfach zu unfähig bin für OMV :-)
Den Punkt mit den automatischen jedoch sehr sporadischen Backups kann ich nicht ganz nachvollziehen. Wenn du eh über einen längeren Zeitraum kein Backup machst, was hindert dich dann händisch eins anzustoßen da du ja eh die Platte anschalten musst.
Ich ziehe mir immer ein Backup der wichtigsten Dateien auf meinen PC auf nen verschlüsselte Platte die ich einhänge wenn ich mal Bock drauf habe und nutze dann FreeFileSync. Dazu habe ich noch Duplicati in nem Docker Container laufen der nen verschlüsseltes Backup in der Cloud ablegt. FreeFilesync als auch Duplicati machen das Backup inkrementell.
Grüße!
 
Ich benutze auch schon seit Jahren Unraid, ich kann da meinem Vorschreiber nur anschließen, ist einfach, einfach,

CU
redjack
 
  • Gefällt mir
Reaktionen: Hammelkoppter
Raspi ist eher was zum basteln.

Je nach Betriebszeit wäre ein Synology NAS sinnvoller, wegen den geringerem Stromverbrauch und den gestiegenen Stromkosten.

Softwareseitig wäre natürlich ein DSM(Synology) auch weniger wartungsintensiv.
 
Danke für euer Feedback! :)

Hammelkoppter schrieb:
redjack1000 schrieb:
Danke für den Tipp! Ich bin eigentlich ein Freund feier Software und hatte daher zunächst an OMV gedacht.

Unraid ist ja proprietär. Funkt das System viel nach Hause? Ist es in der Handhabung und Instandhaltung wirklich viel einfacher als OMV?

Frage da wirklich ins Blaue. ^^
Habe mich noch nicht sonderlich mit dem Thema beschäftigt.

Hammelkoppter schrieb:
Wenn du eh über einen längeren Zeitraum kein Backup machst, was hindert dich dann händisch eins anzustoßen da du ja eh die Platte anschalten musst.
Ich muss zugeben, dass ich bei der Verwaltung meiner IT-Systeme ziemlich faul bin und die Zeit lieber in andere Dinge stecke. Daher versuche ich, so viel wie möglich zu automatisieren, sodass ich im Grunde nur noch kurz anschließen und später wieder abschalten muss. Je geringer die Hürden, desto höher die Wahrscheinlichkeit, dass ich in kürzeren Abständen Backups anstoße. 😅

Hammelkoppter schrieb:
FreeFilesync als auch Duplicati machen das Backup inkrementell.
Danke für die Tipps!

Ich möchte eigentlich so wenig wie möglich verschiedene Software einbinden, um auch den langfristigen Wartungsaufwand zu reduzieren. Keep it simple, stupid.

Ich habe aktuell schon SyncThing zwischen PC und Smartphone am laufen, um meine täglich bearbeiteten Dokumente zu synchronisieren. Ab dem dritten Client (Tablet) würde ich dann gerne über eine zentrale Instanz gehen, was dann das NAS erledigen soll.
SyncThing hat hier den Vorteil, dass es auch eine Android-App hat und die jeweils aktuellste Datei auf das gesamte System spiegelt. Gegebenenfalls könnte ich damit wie gesagt auch gleich das Backup auf die Externe mit erledigen. Daher hatte ich gedacht, ich lasse das der Einfachheit halber direkt unter einem Dach.

Giggity schrieb:
Je nach Betriebszeit wäre ein Synology NAS sinnvoller, wegen den geringerem Stromverbrauch und den gestiegenen Stromkosten.
Synology, QNAS, ASUSTOR und Co. habe ich mir schon angesehen. Da ich jedoch besondere Ansprüche in Sachen "Silent" habe, komme ich nicht um ein Custom Build mit gedämmtem Gehäuse herum. Habe dazu auch schon ein paar Ideen, die ich beizeiten mal in CAD umsetzen werde.

Jetzt wird natürlich der Rat kommen, das Teil einfach in einen anderen Raum zu packen oder in einen Schrank zu stellen ... wo ich dann leider entgegen muss: Ist aktuell ungünstig. ^^
 
Also Unraid funkt überhaupt nicht nach Hause. Es gibt ne Funktion mit der man deinen Server bei denen registrieren kann und darüber dann auch monitoren kann, muss man aber nicht. Hab ich selbst nicht in Benutzung daher kann ich dir auch nicht zu 100% sagen was man damit alles machen kann.

Wie gesagt, bin damals von OMV weg da die Wartung und Verwaltung meiner Docker Container deutlich vereinfacht ist. Hab mir damals bestimmt 3x meine Seafile Installation beim Update zerschossen und dann einfach kein Bock mehr auf OMV gehabt. Das ist mir seit dem nie wieder passiert. Klar - auch mit Unraid hatte ich hier und da "Problemchen" aber die waren fix gelöst. Hatte vor ein paar Software Versionen immer sporadisch Aussetzer d.h. das ganze System hat sich komplett verabschiedet (ca. 1x im Monat). In den Logs hab ich nix vernünftiges dazu gefunden. Später gab es ein SW Update und seit dem ist Ruhe. Lag wohl an der Netzwerkfunktion des Virtualisierungs Stacks oder so.

Bzgl. Sync - Es gibt ne Syncthing App für Unraid. (Die Dinger heißen zwar Apps, sind aber im Grunde genommen Docker Container).

Weiterhin gibt's auch nen Test Version von Unraid. Kannste dir ja mal auf nem alten Gammel Rechner installieren oder in ne VM.

Wichtig wenn du Unraid einsetzen solltest - das OS wird von nem USB Stick geladen. Da liegt auch die Lizenz drauf die du dann bekommst bzw. ist die an den Stick gebunden.
Kauf also hier nen halbwegs vernünftigen und nimm nicht irgendein 0815 Werbegeschenk vom Versicherungsmakler.

Sollte der Stick mal kaputt gehen, kannst du die Lizenz jedoch auch umziehen. Wichtig dabei ist, nen Backup deines Sticks zu haben.

https://wiki.unraid.net/Manual/Changing_The_Flash_Device
 
  • Gefällt mir
Reaktionen: NOTAUS und Der Kabelbinder
Moin,

die primäre Frage an der Stelle ist wohl, was Du bereit bist an Zeit (und evtl Wissen) in die Angelegenheit zu investieren.

Für das genannte Anwendungsfeld hat man "noch nie" (also seit den 70er Jahren nicht) extra Software oder Apps gebraucht. Aber mußte halt erstmal was tun.

Zu Punkt 1:
Die SSD wird dir da nicht viel nützen, jedenfalls dann, wenn du durch ein 1GbE Netzwerkanschluß limitiert bist. Das schafft die HDD genauso. Vorteil der SSD wäre eher, wenn Du auf dem Gerät etwas laufen lassen willst -- wie zum Beispiel ein DBMS --- wo die Performanceanforderungen auf der lokalen Seite viel höher sind als die für die Verbindungen selber.
Plus, und korrigier mich gerne falls ich da einem Irrtum unterlegen bin, aber IIRC ist SyncThing eine Clientanwendung. Du hast aber an der Stelle eine Serverumgebung.
Rein Architektonisch, wenn auf irgendeinem Client mal das syncthing nicht läuft oder nicht funktioniert oder sonst was, dann hast du ein Problem.

Vorschlag wäre daher, das Modell "Syncthing" nochmal zu überdenken.
Sollen bzw müssen die Daten jeweils auch dann auf den Clients verfügbar sein, wenn keine Verbindung zum Server besteht?
Nein - dann nutze einfach eine Freigabe.
Ja - dann wäre zu schauen. Eine mögliche(!) Option ist an der Stelle auch ein Versionskontrollsystem wie GIT, auch wenn das natürlich je nach Anwendungsfall auch nicht die beste Option ist.


Punkt 2: Kannst du so machen, klar. Ist aber nicht notwendig. Samba reicht völlig aus. Ich hab noch nie verstanden warum da alle so Angst davor haben, eine Freigabe in Samba sind drei vier weitere Zeilen in der Konfigurationsdatei. Nichts was man nicht binnen weniger Sekunden aus dem Ärmel schütteln könnte. Dann den Sambadienst Neu laden und fertig.

Außerdem:
- Die Kombination von HDD und SSD leidet immer unter einem Problem, besonders wenn wie Du sagst der HDD Zugriff eher selten ist: Jedesmal wenn das OS auf einen Datenträger versucht zuzugreifen, und sei es nur zur Bestimmung des SMART Status, muß die HDD erst wieder anlaufen und diese Zeit wartest du mit deinem Client, wenn du auf die Daten zugreifen willst. Und ja, auch dann, wenn du "nur" die SSD Daten haben willst. (Bei den HDD Daten sowieso.)
Bei HDD only hast du das Problem nicht, weil die HDD eh läuft.
Bei SSD only auch nicht, weil die vergleichsweise sofort aufwachen und nicht auf langsam aufwachende HDDs gewartet werden muß.
Natürlich könntest du der HDD das Einschlafen verbieten. Aber davon hast du auch nicht besonders viel, wenn du sie nicht besonders oft nutzt; der einzige Unterschied wäre dann der, daß das System länger laut(er) ist.


Vorschlag zum Layout wäre daher in etwa so:
1. OS
Irgendein Linux der Wahl. Oder natürlich was anderes.
2. Software
  • Samba-Server für die Dateifreigabe.
  • rsync für die Synchronisation des Austauschordners. (Hier gibts natürlich jede Menge Alternativen, klar, aber diese sollten allesamt vom Server sammeln und eplizit nicht vom Client schieben.)
  • je nach Komfortanforderung irgendwas zwischen SSH Zugang zur lokalen Konsole und sowas wie webmin für dasselbe über den Browser. SSH reicht üblicherweise völlig - das ist ein Server, der steht da rum und benötigt abseits einer einmaligen Konfiguration nur sehr sehr wenig lokale Interaktion.
  • uniforme (Fest)Speicherplattform. Je nach Laune und Budget eine 8TB SSD oder eine 8TB HDD.
Vorteile der SSD hier sind nur und ausschließlich der lautlose Betrieb. Reaktionszeit betrifft nur das NAS selbst. Die langsamst-mögliche SSD wäre immer noch gut genug.

Wenn ZFS geplant ist, über mehrere Datenträger nachdenken für die Selbstheilungsfunktionen. Und konkret bei HDDs auch die Preise pro GB im Auge behalten, damit du nicht versehentlich für weniger TB mehr bezahlst als nötig.

Optional wenn für SSD entschieden wurde, einfach mal einen Blick auf Netzwerkanbindungen oberhalb 1GbE (oder äquivalent) werfen. Besonders wenn das mehrere (gleichzeitige) Benutzer werden. Für HDD wäre das eher egal, da profitierst du nur bis maximal 2 Benutzer gleichzeitig (wenn überhaupt) bevor die HDD selber limitiert.


PS - jeder Fileserver profitiert von RAM, da dieser in den Dateisystemcache gesteckt werden kann. Wenn du mehr als 8GB verbauen kannst, tu das. Natürlich nicht in Unkosten stürzen, klar, aber wenn noch welcher rumliegen sollte oder du 32GB für ein paar Euro ergattern kannst: zuschlagen.
 
Moin,

kann ich teilweise verstehen. Aber mMn. ist ne Nas Distribution doch etwas einfacher zu handhaben. Da ist alles schön klicky bunti und man muss sich nicht ggf. noch ewig einlesen in gewisse Themen. Ob das jetzt die Einrichtung von Freigaben ist, die Docker Verwaltung, der integrierte Hypervisor, nen Wireguard Server, Festplatten Spin Down, Verschlüsselung etc. etc.
Kann man sich sicherlich alles ablesen, nur hat man ggf. nicht immer Zeit und Lust dazu. Da ist es dann deutlich einfacher mit einer fertigen Lösung.

Z.T. SSD ... Unter Unraid kannste z.b. die kleinere SSD als Schreib-Cache benutzen d.h. alles was du auf das NAS achreibst, landet dann erstmal hier. Der Cache ist völlig transparent d.h. es ist keine extra Freigabe oder so. Je nach Füllstand oder Schedule wird der Cache dann auf die eigentliche Platte (in deinem Fall die HDD) runter geschrieben. Kannst das Ding auch als Lesecache betreiben, kommt halt auf den Anwendungsfall an.
Die größere SSD kannste dann bspw. für VMs und Docker Container benutzen. Dazu nimmste dann ein Plugin das sich Unassigned Devices nennt.
 
Iqra schrieb:
rsync für die Synchronisation des Austauschordners. (Hier gibts natürlich jede Menge Alternativen, klar, aber diese sollten allesamt vom Server sammeln und eplizit nicht vom Client schieben.
Rsync würde ich auch bevorzugen und dann mit Hilfe von nem "scheduld task" einfach nach belieben ausführen, würde gar nicht erst mit so nem Schnick Schnack wie SyncThing oder Duplicati anfangen, sehe da kein Mehrwert zu rsync

Iqra schrieb:
Wenn ZFS geplant ist, über mehrere Datenträger nachdenken für die Selbstheilungsfunktionen. Und konkret bei HDDs auch die Preise pro GB im Auge behalten, damit du nicht versehentlich für weniger TB mehr bezahlst als nötig.
Reichen ja schon 2 im Mirror Betrieb, mehr würde ich eh aufgrund von Stromverbrauch heutzutage gar nicht mehr haben wollen.
Ergänzung ()

@Der Kabelbinder
edit: mal über Truenas Scale oder Core nachgedacht ? die bringen ZFS von Haus aus mit, möchte das ganze ZFS System echt nicht mehr missen. Vorallem Selbstheilung und Snapshots sind Gold wert :) ( zum Glück musste ich von beiden noch kein Gebrauch machen)
 
Zuletzt bearbeitet:
Iqra schrieb:
Die SSD wird dir da nicht viel nützen
Dessen bin ich mir bewusst. Ich habe dennoch zwei, eigentlich sogar drei kleinere SSD auf Halde. Daher würde ich die bzw. eine davon gerne als lautlosen Systemspeicher verwenden.

Iqra schrieb:
... muß die HDD erst wieder anlaufen und diese Zeit wartest du mit deinem Client, wenn du auf die Daten zugreifen willst.
Die NAS-Platte würde ich tagsüber durchlaufen lassen und nachts über in den Stand-by schicken. Der Spin-down würde vermutlich eh ständig durch irgendeinen Client unterbunden werden. Da es eine NAS-Platte wird, kann die in der Kernzeit dann auch direkt durchlaufen.

Iqra schrieb:
Sollen bzw müssen die Daten jeweils auch dann auf den Clients verfügbar sein, wenn keine Verbindung zum Server besteht?
Gut, dass du fragst. Ja! Genau das ist tatsächlich Sinn des Ganzen. Der Austauschordner (nicht Datengrab) soll auch "offline" bzw. außerhalb des Netzwerks verfügbar sein und Änderungen beim Wiedereintreten ins Netzwerk automatisch hochgeladen/synchronisiert werden.

Heißt, die Dateien sollen auf den Endgeräten nicht nur in irgendeinen temporären Ordner gezogen werden, sondern offline verfügbar und bearbeitbar bleiben. Sobald das Netzwerk wieder erreichbar ist, sollen veränderte Dateien automatisch synchronisiert und aufs NAS geladen werden.

Genau deshalb hatte ich ja SyncThing eingebracht, weil es genau das im nämlich ziemlich gut beherrscht. Unter Windows kann man sowas auch mit bspw. OwnCloud machen. Deren Android-App ist allerdings eher so lala, weil es veränderte Dateien nicht automatisch synchronisiert (nämlich nur neue bzw. umbenannte Dateien tatsächlich hochlädt).

Die Frage nach "Client oder Server" ist bei SyncThing übrigens gar nicht so relevant. SyncThing ist relativ light-weighted und funktioniert in Instanzen (Nodes), die alle untereinander senden und empfangen können. Wer sendet und wer empfängt, kann alles frei konfiguriert werden. Das System loggt auch veränderte Dateien und übermitteilt diese als Request automatisch an verbundene Instanzen. Dadurch muss nicht stumpf in z.B. 60-Sekunden-Schritten auf Versionsunterschiede gescannt werden, was insbesondere auf Smartphones (Akkuverbrauch) sehr praktisch ist. Sind alles so kleine Details, die SyncThing wirklich sehr souverän umgesetzt hat.

Und bitte nicht falsch verstehen. Bin eigentlich gar nicht so auf SyncThing festgenagelt. Ein Alternativsystem müsste wenn, dann aber auch mit einem vergleichbaren (Android-kompatiblen) Feature-Set kommen. Und das ist glaube ich gar nicht mal so einfach, weil die meisten Tools auf eine konstante Live-Verbindung zu einem zentralen Server setzen, mit dem kontinuierlich synchronisiert wird. SyncThing hingegen geht ja den Weg, auch offline zu funktionieren und zieht sich im Nachhinein dann immer die aktuellste Version, die es unter den Instanzen finden kann. Keine Ahnung, ob es dafür ernsthafte Alternativen gibt. 🤔

Hammelkoppter schrieb:
Da ist alles schön klicky bunti und man muss sich nicht ggf. noch ewig einlesen in gewisse Themen.
Finde ich langfristig auch praktischer, als ein gesamtes Linux-System mit allen Dependencies pflegen zu müssen.

Paddy0293 schrieb:
Rsync würde ich auch bevorzugen und dann mit Hilfe von nem "scheduld task" einfach nach belieben ausführen, würde gar nicht erst mit so nem Schnick Schnack wie SyncThing oder Duplicati anfangen, sehe da kein Mehrwert zu rsync
Wo genau läge denn der praktische Benefit von Rsync für meine Szenarien 1-3? :)

Paddy0293 schrieb:
mal über Truenas Scale oder Core nachgedacht ?
Gestern Abend tatsächlich noch ein Video über TrueNAS gesehen.
Interessantes Konzept. Ich befürchte allerdings, dass ich nicht zu dieser Zielgruppe zähle.
 
Zuletzt bearbeitet:
Kleines Update.

Ich habe mich jetzt vorerst auf Unraid festgelegt und werde versuchen, darüber auch Syncthing laufen zu lassen. Habe mir zur Sicherheit auch schon mal einen passenden USB-Stick mit SLC-Speicher besorgt, der für den 24/7-Betrieb ausgelegt ist.

Noch ist nichts umgesetzt, aber habe mir schon mal ein Tutorial angesehen. Frage mich jetzt, wie ich das Caching am besten anlegen sollte. Gerade mit Blick auf die SSD, die ich noch zur Hand habe. RAM-Cache, SSD-Cache oder beides gleichzeitig? Da ich keine USV habe, dann wohl auch am besten mit kurzem Schreibintervall, um Datenverlust vorzubeugen.

Und: Meine größte zur Verfügung stehende SSD hat momentan tatsächlich 1TB. Heißt, die HDD (Datengrab) werde ich vermutlich nur sehr, sehr selten brauchen. So selten, dass es eigentlich keinen Sinn macht, sie permanent durchlaufen zu lassen. Wäre eine günstige SMR-Platte wie die Seagate Compute dann nicht völlig ausreichend? Vorausgesetzt, Unraid weckt die Platte nicht ständig zum Health-Check oder Ähnliches und Syncthing lässt sie ebenfalls in Ruhe. Das müsste ich wohl noch in der Praxis herausfinden.
 
Zurück
Oben