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?
Antworten:
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
quelle
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.
quelle
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.
quelle
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.
quelle
Vielleicht DRBD (Distributed Block Device)?
quelle