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%.
fuente
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.
fuente
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
fuente
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.
fuente