У меня есть 1 исходный сервер, который содержит около 30 ГБ файлов, которые я хочу скопировать на 7 других серверов. В настоящее время я передаю файлы SCP на первые четыре сервера, а после завершения этой передачи SCP - на последние 3 сервера.
Будет ли использование BitTorrent быстрее распределять файлы по всем 7 одновременно? Внутреннее соединение уже быстрое и согласованное между каждым из серверов. Я знаю, что это, вероятно, потребует некоторой нагрузки от исходного сервера, но займет ли это больше времени для распространения файлов?
Какой хороший скрипт-клиент я мог бы использовать из оболочки? Я бы хотел, чтобы все прекратили посев после 100%.
источник
Преимущество BitTorrent перед другими инструментами распространения файлов, например, rsync , заключается в том, что клиенты начинают предлагать свои данные другим клиентам, поэтому, если у сервера медленное соединение с клиентами, пропускная способность будет намного выше.
BT - это протокол, предназначенный для глобального обмена. Поэтому вам нужно будет найти способ заблокировать всех остальных клиентов, кроме 7, которых вы хотите кормить (или ваш торрент скоро окажется в The Pirate Bay).
Что касается остановки на 100%, каждый BT-клиент сделает это: так как ни один клиент больше не запрашивает данные, больше не будет заполнения. Приложение будет по-прежнему работать, но оно будет вызывать лишь небольшую струйку данных между клиентами и трекером, сообщая, что они все еще доступны.
Попробуйте оригинальный BitTorrent-клиент, написанный на Python. Это позволит вам вносить любые изменения, которые вы пожелаете. К сожалению, я не могу найти ссылку банкомата. Кто-нибудь?
[РЕДАКТИРОВАТЬ] На основе комментария saua : Если вы используете частный трекер, ваши торренты не должны распространяться неожиданно. Тем не менее, вы должны использовать торрент-клиент только из надежного источника. В противном случае вы можете рискнуть тем, что какой-нибудь взломщик добавит в код небольшую дополнительную функцию, которая публикует частные торренты там, где вы не хотите, чтобы они появлялись.
источник
BitTorrent - отличная идея, если вы хотите реплицировать файлы через дерево серверов, например, без необходимости выдавать удаленную команду всем серверам для копирования из одного места; потенциально вызывает узкое место.
Инженеры Twitter сделали это с большим успехом с Murder, которая сейчас на github.
http://engineering.twitter.com/2010/07/murder-fast-datacenter-code-deploys.html
источник
Если все 8 ваших серверов подключены к одному и тому же участку сети с использованием Bit Torrent, вряд ли это ускорит процесс. На самом деле вы получите так много столкновений, что это будет очень медленно. BitTorrent только ускорит процесс, если вы используете полностью коммутируемую сеть, и восемь серверов могут общаться друг с другом независимо, не влияя на связь между другими серверами.
источник