Хорошо ли BitTorrent для копирования файлов между серверами на рабочем месте?

12

У меня есть 1 исходный сервер, который содержит около 30 ГБ файлов, которые я хочу скопировать на 7 других серверов. В настоящее время я передаю файлы SCP на первые четыре сервера, а после завершения этой передачи SCP - на последние 3 сервера.

Будет ли использование BitTorrent быстрее распределять файлы по всем 7 одновременно? Внутреннее соединение уже быстрое и согласованное между каждым из серверов. Я знаю, что это, вероятно, потребует некоторой нагрузки от исходного сервера, но займет ли это больше времени для распространения файлов?

Какой хороший скрипт-клиент я мог бы использовать из оболочки? Я бы хотел, чтобы все прекратили посев после 100%.

Эдвард
источник

Ответы:

7

Это зависит от того, как устроена ваша сеть и где узкие места, но да, использование BitTorrent может быть быстрее. Теоретически, вместо того, чтобы отправлять 7 копий одних и тех же файлов, вашему исходному серверу нужно будет отправить только 1 копию, распределенную между получателями. К тому времени, когда это произойдет, остальные участники будут разделять части, которые они не получили, непосредственно между собой.

Если сеть поддерживает многоадресную рассылку, хотя, это, вероятно , проще установить udpcast , MDP , multisend , или что - то вроде этого: Ваш источник будет посылать одну копию данных, а маршрутная сеть будет ли она все получателям.

ephemient
источник
В итоге мы использовали многоадресный метод с использованием Udpcast. И это работает отлично!
Эдвард
3

Преимущество BitTorrent перед другими инструментами распространения файлов, например, rsync , заключается в том, что клиенты начинают предлагать свои данные другим клиентам, поэтому, если у сервера медленное соединение с клиентами, пропускная способность будет намного выше.

BT - это протокол, предназначенный для глобального обмена. Поэтому вам нужно будет найти способ заблокировать всех остальных клиентов, кроме 7, которых вы хотите кормить (или ваш торрент скоро окажется в The Pirate Bay).

Что касается остановки на 100%, каждый BT-клиент сделает это: так как ни один клиент больше не запрашивает данные, больше не будет заполнения. Приложение будет по-прежнему работать, но оно будет вызывать лишь небольшую струйку данных между клиентами и трекером, сообщая, что они все еще доступны.

Попробуйте оригинальный BitTorrent-клиент, написанный на Python. Это позволит вам вносить любые изменения, которые вы пожелаете. К сожалению, я не могу найти ссылку банкомата. Кто-нибудь?

[РЕДАКТИРОВАТЬ] На основе комментария saua : Если вы используете частный трекер, ваши торренты не должны распространяться неожиданно. Тем не менее, вы должны использовать торрент-клиент только из надежного источника. В противном случае вы можете рискнуть тем, что какой-нибудь взломщик добавит в код небольшую дополнительную функцию, которая публикует частные торренты там, где вы не хотите, чтобы они появлялись.

Аарон Дигулла
источник
2
Недостаточно сделать торрент публичным, используя частный трекер.
Йоахим Зауэр
1
Вы на 100% уверены, что исходный код клиента не содержит «эй, давайте расскажем хакерскому серверу об этом торрентном» куске кода? Я бы предпочел не рисковать моей шеей здесь.
Аарон Дигулла
7
Если вы не доверяете фрагменту кода и все равно запускаете его, утечка данных о ваших личных торрентах - это наименьшее из ваших беспокойств.
Майкл Боргвардт
1

BitTorrent - отличная идея, если вы хотите реплицировать файлы через дерево серверов, например, без необходимости выдавать удаленную команду всем серверам для копирования из одного места; потенциально вызывает узкое место.

Инженеры Twitter сделали это с большим успехом с Murder, которая сейчас на github.

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

jwbensley
источник
0

Если все 8 ваших серверов подключены к одному и тому же участку сети с использованием Bit Torrent, вряд ли это ускорит процесс. На самом деле вы получите так много столкновений, что это будет очень медленно. BitTorrent только ускорит процесс, если вы используете полностью коммутируемую сеть, и восемь серверов могут общаться друг с другом независимо, не влияя на связь между другими серверами.

Мартин Браун
источник
Хороший вопрос - но действительно ли существует много сетей, которые больше не переключаются полностью?
Филлис Диллер
2
Когда в последний раз вы видели хаб, соединяющий серверы? В настоящее время мы все используем полнодуплексные коммутируемые сети.
Мирча Вутцовичи