Ich habe ein paar große Dateien, die ich von einem Linux-Computer auf ungefähr 20 andere Linux-Computer kopieren muss, alle so schnell wie möglich im selben LAN. Welche Tools / Methoden eignen sich am besten zum Kopieren dieser Dateien, da dies keine einmalige Kopie sein wird? Diese Computer werden niemals mit dem Internet verbunden, und Sicherheit ist kein Problem.
Aktualisieren:
Der Grund für meine Anfrage ist, dass wir (soweit ich es verstehe) derzeit scp
seriell verwenden, um die Dateien auf jeden der Computer zu kopieren, und mir wurde mitgeteilt, dass dies "zu langsam" ist und nach einer schnelleren Alternative gesucht wird. Nach dem, was mir gesagt wurde, scp
verlangsamt der Versuch, die Anrufe zu parallelisieren, sie aufgrund von Festplattensuchen einfach weiter.
quelle
Antworten:
BitTorrent. Auf diese Weise stellt Twitter einige Dinge intern bereit.
http://engineering.twitter.com/2010/07/murder-fast-datacenter-code-deploys.html (Link zum Webarchiv)
quelle
Wie wäre es mit UFTP? Es verwendet Multicast, um Dateien über UDP an mehrere Clients gleichzeitig zu liefern. Nicht für jedermann und ich bin kein Experte dafür, aber es klingt so, als würde es tun, was Sie wollen.
quelle
Haben Sie versucht, diese Daten mit zu kopieren
rsync
? Wenn Sie über ein 1-Gbit-LAN oder schneller verfügen, sollte das Kopieren über 4 * 20 GB kein Problem sein.Wie oft wird diese Kopie erscheinen? Ist es wichtig, wenn es ein paar Minuten dauert, bis es fertig ist?
quelle
scp-tsunami es ist der weg!
https://code.google.com/p/scp-tsunami/
Es wird häufig zum Verteilen von Festplattenabbildern auf Virtualisierungsclustern verwendet. Die Leistung ist nahezu unbegründet, aber für den täglichen Gebrauch einfacher zu verwenden.
quelle
Das Einrichten einer NFS-Freigabe und das Abrufen jeder Maschine von diesem gemeinsam genutzten Repo großer Dateien ist wahrscheinlich die schnellste Methode (NFS ist sehr schnell und hat wenig Overhead).
Sie können dem Quellserver eine oder zwei zusätzliche Netzwerkkarten hinzufügen und diese miteinander verbinden, um einen besseren Durchsatz zu erzielen.
Die Implementierung kann ein einfacher Cron-Job auf jedem Zielserver sein, der jede Stunde / jeden Tag / was auch immer blind von der Freigabe abruft. Sie können auch einen Daemon einrichten, um nach neuen Dateien abzufragen. Sie können auch einfach eine Kontrollsitzung in SSH (mit Schlüsselpaaren) in jede Zielbox schreiben und sie anweisen, die Datei abzurufen, wenn Sie Ihr Skript ausführen.
quelle