Моей компании регулярно требуется отправлять около 2 ТБ данных из США в Великобританию (размер сжатой дельты составляет 2 ТБ). Несмотря на то, что у каждой стороны хорошее подключение к Интернету, прямая отправка файлов слишком медленная и ненадежная. При скорости 1 МБ / с передача займет более 20 дней, если она завершится без ошибок.
В результате, лучшее решение, найденное до сих пор, - «отправить кирпич», т.е. отправка жесткого диска обычной почтой.
Мне было интересно, существует ли какой-нибудь сервис, который предлагает лучшее сетевое соединение на разных континентах? Я рассматривал возможность использования AWS S3, но их стоимость исходящего трансфера довольно высока ...
Заметка: проблема не в ПО. Мы уже используем rsync. Он хорошо работает и надежен. Проблема заключается в скорости и надежности интернет-соединений через Атлантику. Как сказал отвечающий, выделенная ссылка не входит в наш бюджет. Я ищу экономичное решение, которое было бы немного более практичным, чем доставка диска.
Что ж, в вашем квестоне отсутствует определенная важная информация:
Еще пара вариантов:
Обычный старый HTTP поддерживает возобновление загрузки - через Range
поле в заголовке запроса.
Итак, если у вас есть сервер, поддерживающий это (на самом деле, любое производственное программное обеспечение, такое как nginx
, apache
, lighthttpd
и gazillions другие, получение всего файла означало бы запускать что-то вроде этого на клиенте:
while true; do
wget -nd -c http://server:port/path/to/the/file && break
done
Продвинутое программное обеспечение, такое как rsync
поддерживает возобновление передачи файлов с использованием передовых технологий, которые позволяют синхронизировать две иерархии каталогов даже при наличии обновлений файлов между соседними сеансами синхронизации.
Я не уверен, но в Windows ™ robocopy
должен уметь обслуживать как бедняк rsync
: это не который хорошо поддерживает обновления на стороне источника, но IIRC может возобновить передачу.
Существуют и другие инструменты синхронизации "делай это неважно", такие как SyncThing.
Обратите внимание, что HTTP и robocopy
ожидайте, что у вас есть постоянное сетевое соединение между сервером и клиентом; если он предоставляется через VPN, вам может потребоваться настроить его производительность.
rsync
может использовать SSH для создания и общения с удаленным rsync
пример; и вам может потребоваться настроить этот вызов SSH, чтобы он использовал самый быстрый доступный шифр, отключить сжатие и т. д.
Если это всегда 2 ТБ совершенно новых данных, я бы сказал, проверьте наличие реального оптоволоконного интернет-соединения 1 ГБ (коммерческое). Однако это может не входить в ваш бюджет. (не в оскорбление) ...
Тем не менее, если бы изо дня в день менялась только «небольшая» сумма 2 ТБ, я бы перенес только те данные, которые отличаются от полных 2 ТБ.
rsync отлично подойдет для этого. В Интернете есть множество руководств о том, как использовать rsync для этого.
Тем не менее, возникает также вопрос: конфиденциальны ли ваши данные?
Если это так, я бы запустил и инициировал SSH-туннель до rsync или rsync напрямую с параметрами ssh.
Если Интернет, то нет варианта, я бы сказал, связка жестких дисков емкостью 3 ТБ и рабочий процесс UPS / FedEx для отправки и получения диска по расписанию ... Это может быть дешевле, чем подключение к Интернету только для этого ...
Никогда не стоит недооценивать пропускную способность фургона (или самолета), полного кассет!
Если у вас нет полной среды для настройки веб-сервера и тому подобного, вы всегда можете использовать: https://github.com/warner/magic-wormhole
Он имеет возможности перезапуска / повтора и может быть запущен в ряде служб.
Еще один инструмент, который я использовал для перевода из Лондона в Нью-Йорк: https://github.com/fast-data-transfer/fdt