Ist BitTorrent für das Kopieren von Dateien zwischen Servern am Arbeitsplatz geeignet?

12

Ich habe 1 Quellserver, der ungefähr 30 GB Dateien enthält, die ich auf 7 andere Server kopieren möchte. Ich zZ SCP die Akten vorbei zu den ersten vier Bedienern und wenn diese Übertragung abgeschlossen ist SCP zu den letzten 3 Bedienern.

Wäre es mit BitTorrent schneller, die Dateien auf einmal an alle 7 zu verteilen? Die interne Verbindung ist zwischen den einzelnen Servern bereits schnell und konsistent. Ich weiß, dass der Quellserver wahrscheinlich etwas entlastet wird, aber dauert es nur länger, die Dateien zu verteilen?

Was ist ein guter skriptfähiger Client, den ich von der Shell aus verwenden kann? Ich möchte, dass jeder nach 100% aufhört zu säen.

Edward
quelle

Antworten:

7

Es hängt davon ab, wie Ihr Netzwerk aufgebaut ist und wo die Engpässe liegen, aber es kann schneller sein, BitTorrent zu verwenden. Anstatt 7 Kopien derselben Dateien zu senden, muss Ihr Quellserver theoretisch nur eine Kopie senden, die auf die Empfänger aufgeteilt ist. Bis dahin haben die verbleibenden Peers die Teile, die sie nicht direkt erhalten haben, unter sich geteilt.

Wenn Ihr Netzwerk jedoch Multicast unterstützt, ist es wahrscheinlich einfacher, udpcast , mdp , multisend oder ähnliches einzurichten : Ihre Quelle sendet eine einzelne Kopie der Daten und das Netzwerk leitet sie an alle Empfänger weiter.

vergänglich
quelle
Wir haben uns für die Multicast-Methode mit Udpcast entschieden. Und es funktioniert perfekt!
Edward
3

Der Vorteil von BitTorrent gegenüber anderen Tools zur Dateiverteilung, z. B. rsync , besteht darin, dass Clients beginnen, ihre Daten den anderen Clients anzubieten. Wenn der Server also eine langsame Verbindung zu den Clients hat, ist der Durchsatz viel besser.

BT ist jedoch ein Protokoll, das für globales Teilen ausgelegt ist. Sie müssen also ein Mittel finden, um alle anderen Clients außer den 7, die Sie füttern möchten, auszusperren (oder Ihr Strom wird bald in The Pirate Bay enden).

Was das Anhalten bei 100% betrifft, wird dies jeder BT-Client tun: Da kein Client mehr die Daten anfordert, wird kein Seeding mehr durchgeführt. Die Anwendung wird weiterhin ausgeführt, aber sie verursacht nur einen kleinen Datenverlust zwischen den Clients und dem Tracker, um darauf hinzuweisen, dass sie noch verfügbar sind.

Probieren Sie den originalen BitTorrent-Client aus, der in Python geschrieben ist. Auf diese Weise können Sie die gewünschten Änderungen vornehmen. Leider kann ich keinen Link Geldautomaten finden. Jemand?

[BEARBEITEN] Basierend auf einem Kommentar saua : Wenn Sie einen privaten Tracker verwenden, sollten sich Ihre Torrents nicht unerwartet ausbreiten. Sie sollten jedoch nur einen Torrent-Client aus einer zuverlässigen Quelle verwenden. Andernfalls besteht die Gefahr, dass ein Cracker dem Code eine zusätzliche Funktion hinzufügt, mit der private Torrents an einer Stelle veröffentlicht werden, an der sie nicht angezeigt werden sollen.

Aaron Digulla
quelle
2
Mit einem privaten Tracker ist es einfach, den Torrent nicht öffentlich zu machen.
Joachim Sauer
1
Sind Sie zu 100% sicher, dass der Quellcode des Clients kein "Hey, lass uns einem Hacker-Server von diesem Torrent-Code erzählen" enthält? Ich würde hier lieber nicht meinen Hals riskieren.
Aaron Digulla
7
Wenn Sie einem Teil des Codes nicht vertrauen und ihn trotzdem ausführen, sind Sie am wenigsten besorgt, wenn er Daten über Ihre privaten Torrents enthält.
Michael Borgwardt
1

BitTorrent ist eine großartige Idee, wenn Sie Dateien über einen Baum von Servern replizieren möchten, ohne beispielsweise einen Remote-Befehl an alle Server senden zu müssen, um vom selben Ort zu kopieren. möglicherweise einen Engpass verursachen.

Twitter-Ingenieure haben dies mit großem Erfolg mit Murder gemacht, das jetzt auf Github ist.

http://engineering.twitter.com/2010/07/murder-fast-datacenter-code-deploys.html

jwbensley
quelle
0

Wenn alle 8 Ihrer Server mit Bit Torrent an denselben Abschnitt des Netzwerks angeschlossen sind, ist es unwahrscheinlich, dass dies zu einer Beschleunigung führt. In der Tat würden Sie so viele Kollisionen bekommen, dass es wahrscheinlich sehr langsam wäre. BitTorrent würde die Dinge nur beschleunigen, wenn Sie ein vollständig vermitteltes Netzwerk verwenden und die acht Server unabhängig voneinander miteinander kommunizieren können, ohne die Kommunikation zwischen den anderen Servern zu beeinträchtigen.

Martin Brown
quelle
Guter Punkt - aber gibt es wirklich viele Netzwerke, die nicht mehr voll geschaltet sind?
Phyllis Diller
2
Wann haben Sie das letzte Mal einen Hub gesehen, der Server verbindet? Heutzutage verwenden wir alle Vollduplex-Wählnetze.
Mircea Vutcovici