Verteilen Großer Dateien

Manchmal kommt es vor, dass man große Datenmengen im LAN auf viele Rechner kopieren möchte. Der normale Ansatz alles von einem Rechner aus auf alle anderen zu kopieren ist zwar einfach aber dauert ewig.

Ein Ausweg ist hier ein P2P Netzwerk zu benutzen. Speziell bietet sich dafür Torrent an. Hierbei wird ein Rechner benötigt, der die Datei vollständig hat. Anschließend kopieren sich die anderen Rechner die Daten von diesem. Dabei tauschen die Rechner aber auch ihre Daten untereinander aus. Sodass nicht ein Rechner die gesamte Last trägt, sondern auf alle Rechner verteilt werden kann.

Beim Kopieren einer 5GB großen Datei auf 30 Rechner habe ich so statt 3Stunden nur 15Minuten benötigt.

Unter Debian/Ubuntu lässt sich das ganze wie folgt lösen:

Erstellen des Torrent-Metafiles

Zuerst wird ein Torrent-Metafile erstellt.

btmakemetafile [FILE] [Tracker]
  • [File] die zu Verteilende Datei
  • [Tracker] URL des Trackers
    • http://[rechnername]:6969/announce

Starten des Trackers

Anschließend wird der Tracker auf dem Rechner gestartet.

bttracker --dfile /tmp/dfile --port 6969

Das D-File liefert die Statistik

Starten des Bittorrent-Clients

btdownloadheadless [torrentfile]