Verzeichnissynchronisierung mit automatischer Peererkennung

10

Ich arbeite mit einem Cluster von Linux-Servern, die sich hinter der automatischen Skalierungsfunktion der Amazon Cloud befinden ( Dokumentation ). Es gibt Dateien, die sich auf jedem Server ansammeln. Es handelt sich um Cache-Dateien für die Anwendung. Ich suche nach einer automatisierten Möglichkeit, damit die Server diesen Ordner untereinander synchronisieren.

  • Rsync würde funktionieren, wenn jemand eine clevere Möglichkeit hätte, Peer-Erkennung durchzuführen.
  • Gleiches gilt für Unison.
  • Wir haben auch erwogen, ein SaaS wie Dropbox zu verwenden.
  • Gluster scheint übertrieben zu sein, und ich bin mir nicht sicher, wie einfach es ist, einen neuen Computer automatisch dem Cluster beizutreten.

Im Idealfall wird ein neuer Server gestartet, der seine Peers erkennt und mit der Synchronisierung des Ordners beginnt. Ab diesem Zeitpunkt gewinnt ein neuester Dateistempel die P2P-Synchronisation.

Gibt es da draußen etwas, das das tut?

Caleb
quelle
Dieser macht keine Peer-Erkennung, kann aber trotzdem von Interesse sein - mrsync.sourceforge.net .
Faheem Mitha

Antworten:

1

Sie wissen, wie seltsam es auch klingen mag, aber die Verwendung von rtorrent mit aktiviertem DHT im privaten ec2-Bereich könnte funktionieren

Das würde dir geben

  • Automatische Peer-Erkennung
  • Verifizierte Dateistatus (yay für Hashes)
  • Minimale Konfigurationsanforderungen (fügen Sie den Magneten (oder die virtuelle IP für den neuesten Torrent) für den Torrent im Startskript hinzu.)
  • Skalierbarkeit
Tacticus
quelle
1

Rsync Upstream bietet Unterstützung für SLP (Service Location Protocol). Es ist in Vanilla-rsync-Quellen nicht aktiviert, aber Sie finden die SLP-Unterstützung in rsync-patches tarball auf der rsync-Homepage (slp.diff). Zum Beispiel wird das SUSE rsync-Paket mit diesem Patch erstellt. Ich weiß nichts über andere Distributionen.

Ich bin mir nicht sicher, ob Sie danach suchen, und ich habe auch keine Erfahrung mit SLP.

Petr Uzel
quelle
0

Vielleicht fehlt mir hier etwas, aber gibt es einen Grund, warum Sie nicht einfach ein einfaches NFS-Verzeichnis einrichten und alle Maschinen das bereitstellen lassen? Jedes Mal, wenn die App die neue Cache-Datei schreibt, sollte sie nur alle alten überschreiben.

opsguy
quelle
1
Hallo opsguy. Was Sie vermissen, ist, was passiert, wenn der Computer mit dem NFS ausfällt? Wir versuchen, einen einzelnen Fehlerpunkt für den Cache zu beseitigen.
0

Ich bin mir ziemlich sicher, dass es ein Amazon-Verwaltungstool gibt, z. B. Command Line Tools , mit dem Sie ein Boot-Skript schreiben können, mit dem Knoten sich gegenseitig über private oder öffentliche IP-Adressen erkennen können.

Übrigens sind rsync und Unison nicht das richtige Werkzeug, wenn sie Änderungen sehr häufig im Cache verteilen müssen. In diesem Fall sollten Sie ein wirklich verteiltes Dateisystem in Betracht ziehen.

Marco Solieri
quelle
0

Vielleicht DRBD (Distributed Block Device)?

MSpike
quelle
1
Vielen Dank für Ihre Antwort, aber es fehlt Substanz. DRBD ist nicht so bekannt, dass es zumindest keinen Link benötigt. Aber wirklich, Sie sollten mehr Informationen geben: Warum ist DRBD geeignet? Wie würde es funktionieren? Besonders wenn man bedenkt, dass Kevin Gluster für übertrieben hielt: Warum sollte DRBD nicht so sein?
Gilles 'SO - hör auf böse zu sein'
Mir ist gerade klar geworden, dass Sie nach einer automatischen Peer-Erkennung suchen, daher ist diese nicht für Sie geeignet. DRBD ist ein Blockgerät auf Ihrer realen Hardware oder auf einem bestimmten Volume, das dann über das Netzwerk synchronisiert wird.
MSpike