Назад | Перейти на главную страницу

Копирование больших файлов на несколько машин в локальной сети

У меня есть несколько больших файлов, которые мне нужно скопировать с одной Linux-машины примерно на 20 других Linux-машин, и все они находятся в одной локальной сети так быстро, как это возможно. Какие инструменты / методы лучше всего подходят для копирования этих файлов, учитывая, что это не будет одноразовая копия. Эти машины никогда не будут подключены к Интернету, и безопасность не является проблемой.

Обновить:

Я спрашиваю об этом потому, что (насколько я понимаю) в настоящее время мы используем scp последовательно, чтобы скопировать файлы на каждую из машин, и мне сообщили, что это «слишком медленно» и ищется более быстрая альтернатива. Согласно тому, что мне сказали, попытка распараллелить scp звонки просто еще больше замедляют его из-за поисков жесткого диска.

BitTorrent. Так Twitter разворачивает некоторые вещи внутри компании.

http://engineering.twitter.com/2010/07/murder-fast-datacenter-code-deploys.html (ссылка на веб-архив)

Как насчет UFTP, он использует многоадресную передачу для одновременной доставки файлов по UDP нескольким клиентам. Не для всех, и я не эксперт в этом, но похоже, что он делает то, что вы хотите.

Вы пытались скопировать эти данные с помощью rsync? Если у вас LAN 1 Гбит или быстрее, копирование более 4 * 20 ГБ не должно быть проблемой.

Как часто будет происходить эта копия? Имеет ли значение, если на это уйдет пара минут?

scp-tsunami это кстати!

https://code.google.com/p/scp-tsunami/

Он обычно используется для распространения образов дисков на кластерах виртуализации, его производительность близка к битторентной, но его проще использовать для повседневного использования.

Настройка общего ресурса NFS и получение каждой машиной из этого общего репозитория больших файлов, вероятно, будет самым быстрым методом (NFS очень быстрый и имеет небольшие накладные расходы).

Вы можете добавить один или два дополнительных сетевых адаптера к исходному серверу и связать их вместе, чтобы повысить пропускную способность.

Реализацией может быть простое задание cron на каждом целевом сервере, которое слепо извлекает из общего ресурса каждый час / день / что угодно. Вы также можете настроить демон для опроса новых файлов; вы также можете просто создать сценарий сеанса управления для SSH (с парами ключей) в каждом целевом поле и дать им указание получить файл при выполнении вашего сценария.