¿BitTorrent es bueno para copiar archivos entre servidores en el lugar de trabajo?

12

Tengo 1 servidor de origen que contiene aproximadamente 30 GB de archivos que quiero copiar a otros 7 servidores. Actualmente SCP los archivos a los primeros cuatro servidores y cuando esa transferencia se completa SCP a los últimos 3 servidores.

¿Usar BitTorrent sería más rápido para distribuir los archivos a los 7 a la vez? La conexión interna ya es rápida y consistente entre cada uno de los servidores. Sé que probablemente quitaría algo de carga del servidor de origen, pero ¿tomaría más tiempo distribuir los archivos?

¿Qué es un buen cliente programable que podría usar desde el shell? Me gustaría que todos dejaran de sembrar después del 100%.

Eduardo
fuente

Respuestas:

7

Depende de cómo esté dispuesta su red y dónde están los cuellos de botella, pero sí, puede ser más rápido usar BitTorrent. En teoría, en lugar de enviar 7 copias de los mismos archivos, su servidor de origen solo debería enviar 1 copia, dividida entre los receptores. Para cuando eso suceda, los pares restantes habrán compartido las partes que no recibieron directamente entre ellos.

Sin embargo, si su red admite multidifusión, probablemente sea más fácil configurar udpcast , mdp , multisend o algo así: su fuente enviará una sola copia de los datos, y la red lo enrutará a todos los destinatarios.

efímero
fuente
Terminamos con el método de multidifusión usando Udpcast. ¡Y funciona perfectamente!
Edward
3

La ventaja de BitTorrent sobre otras herramientas de distribución de archivos, digamos rsync , es que los clientes comienzan a ofrecer sus datos a otros clientes, por lo que si el servidor tiene una conexión lenta con los clientes, el rendimiento será mucho mejor.

Sin embargo, BT es un protocolo diseñado para compartir globalmente. Por lo tanto, tendrá que encontrar un medio para bloquear a todos los demás clientes, excepto los 7 que desea alimentar (o su torrente pronto terminará en The Pirate Bay).

En cuanto a detenerse al 100%, cada cliente de BT hará eso: dado que ningún cliente solicita más los datos, no habrá más siembra. La aplicación aún se ejecutará, pero solo provocará un pequeño goteo de datos entre los clientes y el rastreador para indicar que todavía están disponibles.

Pruebe el cliente original de BitTorrent que está escrito en Python. Esto le permitirá realizar las modificaciones que desee. Lamentablemente, no puedo encontrar un enlace ATM. ¿Nadie?

[EDITAR] Basado en un comentario saua : Si usa un rastreador privado, sus torrents no deberían extenderse inesperadamente. Dicho esto, solo debes usar un cliente torrent de una fuente confiable. De lo contrario, podría arriesgarse a que algún cracker haya puesto una pequeña característica adicional en el código que publica torrents privados en algún lugar donde no desea que aparezcan.

Aaron Digulla
fuente
2
No hacer público el torrent se hace fácilmente usando un rastreador privado.
Joachim Sauer
1
¿Estás 100% seguro de que el código fuente del cliente no contiene un código de "oye, digamos a algún servidor de hackers acerca de este torrente"? Prefiero no arriesgar mi cuello aquí.
Aaron Digulla 03 de
77
Si no confía en un fragmento de código y lo ejecuta de todos modos, hacer que pierda datos sobre sus torrents privados es la menor de sus preocupaciones.
Michael Borgwardt
1

BitTorrent es una gran idea si desea replicar archivos a través de un árbol de servidores sin, por ejemplo, tener que emitir un comando remoto a todos los servidores para copiar desde el mismo lugar; potencialmente causando un cuello de botella.

Los ingenieros de Twitter hicieron esto con gran éxito con Murder, que ahora está en github.

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

jwbensley
fuente
0

Si los 8 servidores están conectados a la misma sección de la red usando Bit Torrent, es poco probable que acelere las cosas. De hecho, obtendría tantas colisiones que probablemente sería muy lento. BitTorrent solo aceleraría las cosas si está utilizando una red totalmente conmutada y los ocho servidores pueden comunicarse entre sí de forma independiente sin afectar la comunicación entre los otros servidores.

Martin Brown
fuente
Buen punto, pero ¿hay realmente muchas redes por ahí que ya no están completamente conmutadas?
phyllis diller
2
¿Cuándo fue la última vez que vio un hub que conecta servidores? En la actualidad, todos estamos utilizando redes conmutadas full duplex.
Mircea Vutcovici