У меня есть несколько больших файлов, которые мне нужно скопировать с одной 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 (с парами ключей) в каждом целевом поле и дать им указание получить файл при выполнении вашего сценария.