Verteiltes (Netzwerk-)Dateisytem für offline Backup

Horst_33

Lieutenant
Registriert
Dez. 2008
Beiträge
684
Guten Tag,

ich habe mir die letzten Tage Gedanken zu möglichen Backup-Strategien gemacht und würde gerne von anderen Experten wissen, was man von meiner Idee hält bzw. ob es dafür schon fertige Lösungen gibt.

Annahme:
- Es gibt einen großen zentralen Datenspeicher z.B. 4-Bay NAS mit 9 TB Netto Kapazität (z.B. 4x 3TB in RAID 5)
- Kein einzelnes Medium verfügbar, auf das man die wichtigen Nutzdaten des zentralen Speichers (NAS) sichern könnte (z.B. zweites NAS ohne RAID)

Um Kosten zu sparen und bereits vorhandene Hardware zu "recyclen" könnte man ja einen Rechner bauen und dort sämtliche rumliegende Festplatten anschließen und per RAID 0/JBOD zusammen schließen. Angenommen man hätte 18 alte 500GB
Notebook Festplatten (2.5", SATA) könnte man so ein offline 1:1 Backup System bauen, welches z.B. nur jeden Monat hochgefahren wird, gespiegelt wird und anschließend wieder heruntergefahren wird. Das ein Board mit 18 SATA Anschlüssen natürlich unrealistisch/unbezahlbar wäre, ist mir schon klar.

Daher meine Idee:
- Bereits vorhandene komplett freie Festplatten nutzen (z.B. die vorhin erwähnen 2.5" HDDs)
- Freien Speicherplatz von bereits verbauten Festplatten im Netzwerk nutzen (z.B. vom Multi-Media PC, Büro-PC usw.)
- Auf der Ebene von Dateisystemen und/oder Container-Dateien (Dateisystem nicht relevant) arbeiten
- Verteilt auf verschiedene Host-PCs im Netzwerk arbeiten

Beispiel:
- 4x simpler PC mit je 4x 2.5" HDD á 500GB als Pool Node
- 2x simpler PC mit Windows Betriebssystem, aber je 1TB Festplatte, wo je 500GB frei verfügbar sind
- 1x simpler PC mit Linux Betriebssystem, der 2 externe Festplatten via USB mit je 1TB anbieten kann
- Gigabit Netzwerk über das alle Geräte (inkl. zu sicherndes NAS) verfügbar sind
- Einer der Geräte bildet den Master, der alle Komponenten logisch zusammen setzt und die Daten (gerne auch parallel) durchs Netzwerk schiebt und komplett von Hardware/Betriebssystem abstrahiert

Optional:
- Verfügbarkeit von einzelnen "Pools" (HDDs oder ganzen PCs (=Nodes)) ist nicht zwingend notwendig. Analogie z.B. zu ZFS

Das bei so einen Verhau an alter Hardware die Ausfallquote ziemlich hoch ist, ist mir schon klar. Mir geht es mehr um die Machbarkeit des Ganzen. Bisher habe ich noch kein (Netzwerk-) Dateisystem gefunden, was so eine Funktionalität bieten würde. Die Idee kam mir aber, als ich mehr über ClusterFS (Hadoop), Ceph und Netzwerk In-Memory DBs wie HazelCast gelesen habe.

Sollte jemand von euch für so eine Konstellation eine Idee zur Realisierung haben, wäre ich um jeden Tipp hilfreich. Und hier gehts es nicht um den praktischen Einsatz oder was "sinnvoller/besser" wäre. Mir geht es lediglich um das verteilte Speichersystem im Netzwerk mit einer Abstraktion von Hard- und Software zu einem einzigen großen Speicherpool, der über verschiedene Nodes im Netzwerk (also ein GRID und kein Cluster) hinweg funktioniert.
 
Es gibt Datenbanken, die sowas beherrschen. Z.B. Hadoop HDFS oder MongoDB GridFS.

Vielleicht gibt's dafür ja einfache Clients, sodass man das einfach in den Dateimanager als Laufwerk einbinden kann.
 
Danke @benneque für die schnelle Antwort

Ich bin doch noch fündig geworden (Link)
Sobald meine Prüfungen dieses Semester fertig sind, werde ich mich einmal in der Praxis damit beschäftigen. Zusätzlich werde ich mal versuchen einen meiner Professoren für verteilte Systeme dazu zu befragen.

Ich melde mich, wenn es was neues gibt.
 
Das was du vor hast bzw suchst bietet afaik Datastor. Damit kann man z.B. ungenutzten Speicher von Desktop-Systemen zum Storage-Pool von Datastor hinzufügen und die Backups der Server werden dann dezentral auf den Clients gespeichert.

Müsste zumindest Datastor gewesen sein wenn ich mich nicht täusche.

Ansonsten basieren nun einmal die meisten Storage-Systeme darauf, dass die verschiedenen Platten und Pools verfügbar sind und auch GlusterFS aus deinem Link setzt darauf, dass die zugrunde liegenden Pools stets verfügbar sind. Sollte einer ausfallen, so startet direkt die Datenreplikation auf die verbleibenden Hosts.

Was du vor hast benötigt ein Dateisystem das auch zentral ansprechbar ist selbst wenn Teile des Sub-Storages wegbrechen. Ich habe selbst im Studium mal mehr als Basteltrieb etwas ähnliches mit AUFS testweise realisiert.

Dort kombinierst du mehrere Systeme in ein zentrales Filesystem. Beispiel: Du hast einen zentralen Storage-Management-Server auf dem das AUFS läuft. Deine div. Storage-Server mit den Notebookplatten geben diese z.B. per NFS oder CIFS frei. Alle Storage-Server mountest du in dem Mgmt-Server und legst über all diese Mountpoints dein AUFS und präsentierst diesen dann wiederum deinem NAS.

Dein Primärspeicher, das NAS, schreibt jetzt also seine Sicherung auf das ihm gezeigte AUFS wobei dies iSCSI, CIFS, NFS etc sein kann.
Die Sicherung des NAS hat so zwar keinerlei Parität aber du hast es verteilt und das AUFS ist auch verfügbar, wenn einzelne Sub-Systeme nicht verfügbar (aus, kaputt, etc) sind. Die Daten, die auf den nicht verfügbaren Sub-Systemen liegen, sind dann einfach ausgeblendet.
 
Zurück
Oben