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

Оптимизация отправки файлов через vpn-соединение между сайтами

У меня есть vpn-соединение типа «сеть-сеть» между двумя центрами обработки данных (один в Сан-Хосе, другой в Торонто).

Мне нужно отправить файл размером 32 ГБ с одного постоянного тока на другой - КАК МОЖНО БЫСТРЕЕ.

Я нашел сценарий оболочки, который соединяет файлы меньшего размера размером 32 ГБ, а затем использует scp для параллельной передачи.

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

Очевидно, что чем больше процессов scp я запускаю на сервере, тем больше нагрузка на этот сервер.

Забудьте на минуту о межсайтовом взаимодействии, потому что, пока его ipsec и ваши конечные точки не являются тостерами, маловероятно, что это будет узким местом, и взгляните на bbcp:

http://www.slac.stanford.edu/~abh/bbcp/

Вот строка из Perl-скрипта, который мы использовали во время последней миграции, который предъявлял те же требования, что и вы, то есть быстро перемещал данные

sprintf('/usr/local/bin/bbcp -a -F -s 16 -P 10 -T "ssh -x -a -oFallBackToRsh=no %%I -l %%U %%H /usr/local/bin/bbcp" -d . -v %s %s:%s',
  join(' ', @files_to_copy), $remote_host, $destination_dir);

Поиграйте с параметрами, особенно с количеством потоков.

Вопросы, на которые вы хотите получить ответы:

  • какова задержка ссылок
  • каков может быть джиттер пакетов
  • какова общая максимальная пропускная способность, которую я могу ожидать
  • кого / что еще я буду топтать, забирая всю ссылку

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

Я бы посмотрел на rsync для чего-нибудь такого большого.

Что-то вроде:

rsync -ave "ssh -c arcfour -o Compression = no -x" исходный_файл пользователь @ пункт назначения: / путь / к / назначению

http://en.wikipedia.org/wiki/RC4

Таким образом, если частичное копирование будет прервано по какой-либо причине, вы сможете возобновить загрузку, используя внутренние компоненты rsync.

Если вы готовы рассмотреть коммерческие решения, Aspera или Значительный намного быстрее, чем scp, sftp или rsync.