Загрузка больших файлов на 500+ компьютеров

24

Я работаю с командой, чтобы управлять 500-600 арендованными компьютерами Windows 7 для ежегодной конференции. У нас есть большой объем данных, которые необходимо синхронизировать с этими компьютерами, до 1 ТиБ. Компьютеры разделены на комнаты и подключены через неуправляемые гигабитные коммутаторы. Мы заранее подготавливаем эти компьютеры с помощью установки и настройки Windows, а также любых файлов, которые у нас есть, прежде чем мы отправим базовый образ для репликации прокатной компанией. Каждый год у нас есть подходящие к работе докладчики, на которых может быть размещено до гигабайтов данных, которые необходимо отправить в комнату, в которой они будут представлены. Иногда у них есть только несколько файлов небольшого размера, например, слайд PDF, но они могут иногда быть намного больше> 5 ГиБ.

Наша текущая стратегия продвижения этих файлов - использование пакетных сценариев и RoboCopy. Для больших толчков мы на самом деле используем BitTorrent-клиент для генерации торрент-файла, а затем используем batch-RoboCopy, чтобы вставить торрент в папку на удаленных компьютерах, за которой наблюдает установленный BT-клиент. Часто эти данные должны быть немедленно переданы с небольшим временным окном. У нас есть несколько машин в диспетчерской, которые идентичны машинам на полу, которые мы используем для этих толчков.

Иногда нам нужно выполнить программу на удаленных машинах, и в настоящее время мы используем пакетные и PSexec для решения этой задачи.

Мы хотели бы, чтобы мы могли ответить на эти последние шаги «извини, по своей вине», но этого не произойдет. Метод BT позволил нам получить намного более быстрое время отклика, но весь пакетный процесс может запутаться, когда выполняется несколько заданий. Мы используем Enterprise Ghost для других процессов, и он не очень хорошо работает в таком крупномасштабном масштабе, плюс он действительно довольно дорогой для таких задач раз в год, как эта.

РЕДАКТИРОВАТЬ: Существует жесткое требование, чтобы удаленные машины на этаже работали под управлением Windows. Управляющие машины не имеют жестких требований к ОС. Мне бы очень хотелось держаться подальше от Multicast из-за сложностей с вышестоящими маршрутизаторами. Multicast или BitTorrent - лучший способ для этого? Есть ли другой протокол, который может работать лучше?

WMIF
источник
3
Как хорошо написанный вопрос, мне больно говорить, что вопросы о покупках не по теме на любом из сайтов Stack Exchange . Смотреть вопросы и ответы сложно, давайте пойдем по магазинам и часто задаваемые вопросы для более подробной информации.
Крис С
I would really like to stay away from Multicast because of complications with upstream routers.не могли бы вы уточнить, почему?
Зоредаче
2
Честно говоря, помимо поиска многоадресного решения, ваш домашний процесс BitTorrent и PSExec звучит как лучшее, что вы можете сделать. Возможно, вы захотите обернуть вокруг него какую-нибудь оболочку PowerShell, но это лучшее из того, что я могу вам предложить ...
voretaq7
@ Zoredache - Честно говоря, это отчасти потому, что мне не хватает опыта с многоадресной рассылкой. Я имел дело с Ghost и multicast, и на самом деле не очень хорошие результаты. Восходящее оборудование принадлежит объекту, с которым мы заключаем контракт, и в некоторых местах мы работали с довольно сложными ИТ-группами. Я бы не ожидал, что кто-то из их сотрудников узнает, что такое многоадресная рассылка.
WMIF
@ voretaq7- Я подумал над тем, чтобы поместить интерфейс поверх нашей структуры, но мне было бы трудно сделать это в powershell. Мне было больно изучать PS, в основном потому, что это поведение сильно отличается от более структурированных языков. Если бы я поместил интерфейс поверх него, он, скорее всего, был бы в C #.
WMIF

Ответы:

12

Вам действительно нужна программа многоадресной передачи файлов: UFTP , с достойной документацией и расширениями в стиле proxt для обхода NAT / маршрутизатора.

Крис С
источник
Я все еще просматриваю документацию по указанной вами ссылке, но пока не вижу упоминаний о низкоуровневых вещах. Под этим я подразумеваю, полагается ли это на точку многоадресной встречи, которая должна быть установлена ​​в каком-либо маршрутизаторе вверх по цепочке? Я полагаюсь на местоположение для предоставления своего шлюза, поэтому у меня нет собственного центрального маршрутизатора, который может обеспечить эту функцию. Есть ли в UFTP способ эмулировать это в программном обеспечении?
WMIF
Это тот тип результатов, который я часто получаю при работе с многоадресной рассылкой, и поэтому я заявил, что хотел бы избежать этого. serverfault.com/questions/56487/…
WMIF
Я не знаком с программным или аппаратным обеспечением по этому вопросу, но у меня не возникало подобных проблем в моих настройках. Многоадресная передача будет выполняться со скоростью самого медленного клиента, поэтому, если у вас разные «страты» клиентских скоростей, вы можете запустить несколько многоадресных сеансов для каждой страты (хотя это не влияет на время завершения, просто позволяет быстрее завершать работу компьютеров раньше). Промежуточные коммутаторы и маршрутизаторы должны поддерживать многоадресную рассылку, прокси-серверы могут до некоторой степени снизить это, но если вам нужна производительность, вам понадобится надежная / способная сетевая инфраструктура.
Крис С
Коммутаторы, задействованные для инфраструктуры этого вопроса, неуправляемы. Маршрутизаторы будут разными для каждого местоположения, и я не могу гарантировать, что они поддерживают многоадресную рассылку. Есть ли способ, которым я мог бы заставить свой собственный маршрутизатор свисать в сторону, но все же участвовать в его многоадресной части? Я спрашиваю, потому что я не думаю, что это возможно.
WMIF
Управление напрямую не влияет на поддержку переключения для многоадресной рассылки. Все 1 ГБ Ethernet-коммутаторы необходимы для поддержки многоадресной передачи (хотя старые и особенно дешевые реализуют ее как широковещательную передачу, которая выполняет свою работу); Старые переключатели обычно делали это уже. Отсутствие поддержки маршрутизатора - вот почему вам нужно настроить прокси-серверы (по одному для каждого сегмента сети с многоадресной изоляцией). Очевидно, что использовать маршрутизаторы, поддерживающие многоадресную рассылку, будет проще всего, но настройка прокси-серверов не страшна (если их не много).
Крис С
5

Возможно, вы захотите разобраться в убийстве

Убийство - это метод использования Bittorrent для распространения файлов на большое количество серверов в производственной среде. Это обеспечивает масштабируемое и быстрое развертывание в средах от сотен до десятков тысяч серверов, где централизованные системы распределения не могли бы функционировать иначе

,

Убийство было разработано людьми в твиттере , и они ежедневно используют его для распространения файлов.

Дженс Тиммерман
источник
4

Возможно, появилось новое решение: BitTorrent Sync

Позднее редактирование: на самом деле в эти дни я бы, вероятно, порекомендовал ассистента git-приложения или синхронизации, но есть много альтернатив

ptman
источник
Я думаю, не просто еще один, а очень хороший в этом случае!
Argeman
Я согласен. Я нашел это на /. и в настоящее время я настраиваю несколько тестовых сценариев, чтобы посмотреть, будет ли он работать так же хорошо, как кажется.
WMIF
Я только что провел крупномасштабный тест с BT Sync и обнаружил, что он использует 239.192.0.0 для многоадресного широковещательного трафика. У меня не было контроля над сетевой инфраструктурой, поэтому я не мог полностью анализировать, но это вызывало заметный всплеск исходящего интернет-трафика. В сочетании с некоторыми общими проблемами несоответствия синхронизации файлов, и это вызвало достаточно проблем, поэтому мне пришлось его закрыть. К сожалению, потому что он прекрасно работал на меньших масштабах, чем на 50 компьютерах.
WMIF
1

У меня может быть идея для вас, которая поможет. Извините, я не до конца понимаю, почему это должно быть настолько сложным, но если вам нужно, чтобы конечному пользователю было проще и все же было легко и быстро получить доступ к данным в локальной сети, возможно, вы могли бы пойти с Устройство NAS. У меня есть Synology DS1812 +, он может RSYNC с другим приводом Synology или различными устройствами, поддерживающими RSYNC, у него есть немного торрент-совместимое приложение под названием «Download Station», я знаю, что вы можете загружать торрент-файлы из отсека для дисков, и я считаю, что вы также можете создать или опубликуйте торрент-файл с этим приложением, чтобы другие могли загрузить нужный им файл. Он имеет приложения для мобильных устройств Apple и Android. Он также может выполнять FTP-передачи. Этот отсек для дисков может дать вам возможность быстро отправить файл и затем быстро и легко распределить его по локальной сети. Я предлагаю размещать данные в локальной сети только для того, чтобы обеспечить более быстрый доступ для пользователей локальной сети, но прелесть этих устройств NAS в том, что вы можете разместить их в любом месте онлайн, если у них есть быстрое подключение к Интернету. Возможно, одно из высокопроизводительных устройств Synology NAS подойдет для ваших нужд.

Synology имеет виртуальный интерфейс, который вы можете просмотреть, чтобы лучше понять, будет ли это полезно для вас. Я вставлю ссылку ниже в виртуальный интерфейс

http://www.synology.com/products/dsm_livedemo.php?lang=us

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

Я надеюсь, что это поможет и, как я уже сказал, прости меня, если я не правильно понимаю вопрос.

Фрэнк Р
источник
1
Я не уверен, что это лучше, чем то, что он делает сейчас. WMIF не хочет ждать, пока пользователи начнут сами получать данные; ожидается, что его / ее команда предварительно подготовит файлы данных к компьютерам, когда они станут им доступны.
mfinni
@mfinni правильно. Задача состоит в том, чтобы убедиться, что все файлы, которые нам даны, загружены на компьютеры конференц-зала до того, как посетители ступят в комнату.
WMIF