BitTorrent est-il bon pour copier des fichiers entre des serveurs sur le lieu de travail?

12

J'ai 1 serveur source contenant environ 30 Go de fichiers que je souhaite copier sur 7 autres serveurs. Je SCP actuellement les fichiers sur les quatre premiers serveurs et lorsque ce transfert est terminé, SCP vers les 3 derniers serveurs.

Est-ce que l'utilisation de BitTorrent serait plus rapide pour distribuer les fichiers aux 7 à la fois? La connexion en interne est déjà rapide et cohérente entre chacun des serveurs. Je sais que cela prendrait probablement une certaine charge sur le serveur source, mais cela prendrait-il juste plus de temps pour distribuer les fichiers?

Qu'est-ce qu'un bon client scriptable que je pourrais utiliser à partir du shell? Je voudrais que tout le monde arrête de semer après 100%.

Edward
la source

Réponses:

7

Cela dépend de la configuration de votre réseau et de l'emplacement des goulots d'étranglement, mais oui, il peut être plus rapide d'utiliser BitTorrent. En théorie, au lieu d'envoyer 7 copies des mêmes fichiers, votre serveur source ne devrait envoyer qu'une seule copie, répartie entre les récepteurs. Au moment où cela se produit, les pairs restants auront partagé les parties qu'ils n'ont pas reçues directement entre eux.

Si votre réseau prend en charge la multidiffusion, il est probablement plus facile de configurer udpcast , mdp , multisend ou quelque chose comme ça: votre source enverra une seule copie des données et le réseau l'acheminera vers tous les destinataires.

éphémère
la source
Nous avons fini par utiliser la méthode de multidiffusion en utilisant Udpcast. Et ça marche parfaitement!
Edward
3

L'avantage de BitTorrent par rapport aux autres outils de distribution de fichiers, par exemple rsync , est que les clients commencent à offrir leurs données aux autres clients, donc si le serveur a une connexion lente aux clients, le débit sera bien meilleur.

Cependant, BT est un protocole conçu pour le partage mondial. Vous devrez donc trouver un moyen de verrouiller tous les autres clients, mais les 7 que vous souhaitez nourrir (ou votre torrent se retrouvera bientôt sur The Pirate Bay).

En ce qui concerne l'arrêt à 100%, chaque client BT le fera: Aucun client ne demandant plus les données, il n'y aura plus d'ensemencement. L'application continuera de fonctionner mais ne fera que générer un petit filet de données entre les clients et le tracker pour leur indiquer qu'elles sont toujours disponibles.

Essayez le client BitTorrent d'origine écrit en Python. Cela vous permettra d'apporter toutes les modifications que vous désirez. Malheureusement, je ne trouve pas de lien ATM. N'importe qui?

[EDIT] Basé sur un commentaire saua : Si vous utilisez un tracker privé, vos torrents ne devraient pas se répandre de manière inattendue. Cela dit, vous ne devez utiliser un client torrent qu'à partir d'une source fiable. Sinon, vous pourriez risquer qu'un cracker ait mis une petite fonctionnalité supplémentaire dans le code qui publie des torrents privés quelque part où vous ne voulez pas qu'ils apparaissent.

Aaron Digulla
la source
2
Ne pas rendre le torrent public se fait facilement en utilisant un tracker privé.
Joachim Sauer
1
Êtes-vous sûr à 100% que le code source du client ne contient pas un morceau de code "hé, parlons à un serveur pirate de ce torrent"? Je préfère ne pas risquer mon cou ici.
Aaron Digulla
7
Si vous ne faites pas confiance à un morceau de code et ne l'exécutez pas de toute façon, le fait de divulguer des données sur vos torrents privés est le moindre de vos soucis.
Michael Borgwardt le
1

BitTorrent est une excellente idée si vous souhaitez répliquer des fichiers via une arborescence de serveurs sans par exemple avoir à émettre une commande à distance sur tous les serveurs pour copier depuis le même endroit; provoquant potentiellement un goulot d'étranglement.

Les ingénieurs de Twitter ont fait cela avec beaucoup de succès avec Murder, qui est maintenant sur github.

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

jwbensley
la source
0

Si tous les 8 de vos serveurs sont connectés à la même section du réseau à l'aide de Bit Torrent, il est peu probable d'accélérer les choses. En fait, vous obtiendriez tellement de collisions que ce serait probablement très lent. BitTorrent n'accélérerait les choses que si vous utilisez un réseau entièrement commuté et que les huit serveurs peuvent se parler indépendamment sans affecter la communication entre les autres serveurs.

Martin Brown
la source
Bon point - mais y a-t-il vraiment de nombreux réseaux qui ne sont plus entièrement commutés?
phyllis diller
2
À quand remonte la dernière fois où vous avez vu un hub connecter des serveurs? De nos jours, nous utilisons tous des réseaux commutés en duplex intégral.
Mircea Vutcovici