У меня есть несколько больших файлов, которые мне нужно скопировать с одной машины Linux на примерно 20 других машин Linux, и все в той же локальной сети настолько быстро, насколько это возможно. Какие инструменты / методы лучше всего подходят для копирования этих файлов, учитывая, что это не будет одноразовой копией. Эти машины никогда не будут подключены к Интернету, и безопасность не является проблемой.
Обновить:
Причина, по которой я спрашиваю об этом, заключается в том, что (насколько я понимаю) мы в настоящее время используем scp
серийно для копирования файлов на каждую из машин, и мне сообщили, что это «слишком медленно», и ищется более быстрая альтернатива. Согласно тому, что мне сказали, попытка распараллелить scp
вызовы просто замедляет его еще больше из-за поиска жесткого диска.
источник
Ответы:
BitTorrent. Это как Twitter разворачивает некоторые вещи внутри себя.
http://engineering.twitter.com/2010/07/murder-fast-datacenter-code-deploys.html (ссылка на веб-архив)
источник
Что касается UFTP , он использует многоадресную рассылку для доставки файлов по UDP нескольким клиентам одновременно. Не для всех, и я не эксперт в этом, но, похоже, он делает то, что вы хотите.
источник
Вы пытались скопировать эти данные с
rsync
? Если у вас локальная сеть 1 Гбит или более, копирование более 4 * 20 ГБ не должно быть проблемой.Как часто будет эта копия? Имеет ли значение, если это займет пару минут, чтобы закончить?
источник
scp-цунами это путь!
https://code.google.com/p/scp-tsunami/
Он обычно используется для распределения образов дисков в кластерах виртуализации, его производительность почти битрорентна, но его проще использовать для повседневного использования.
источник
Настройка общего ресурса NFS и получение каждой машиной доступа к этому общему хранилищу больших файлов, вероятно, будет самым быстрым способом (NFS очень быстрый и имеет небольшие накладные расходы).
Вы можете добавить дополнительный сетевой адаптер или два к исходному серверу и соединить их вместе, чтобы повысить пропускную способность.
Реализация может быть простой задачей cron на каждом целевом сервере, которая слепо выбирает общий ресурс каждый час / день / что угодно. Вы также можете настроить демон для опроса новых файлов; Вы также можете просто записать контрольный сеанс в SSH (с парами ключей) в каждое целевое поле и дать им указание извлечь файл при выполнении сценария.
источник