Загружает / загружает файлы gsutil rsync bucket1 bucket2 локально?

#google-cloud-platform #google-cloud-storage

# #google-cloud-platform #google-облачное хранилище

Вопрос:

У меня немой вопрос.

Итак, у меня есть террабайты данных для rsync между двумя сегментами GCP.

Я не слишком уверен в том, как gsutil rsync работает за кулисами.

Нужно ли загружать файлы локально, прежде чем загружать их в пункт назначения, или он просто волшебным образом перемещает вещи из исходного корзины в пункт назначения?

Ответ №1:

Ответ на ваш вопрос содержится в документации gsutil rsync:

Примечание 2. Если вы синхронизируете большой объем данных между облаками, вы можете рассмотреть возможность создания учетной записи Google Compute Engine и запуска gsutil там. Поскольку передача данных gsutil от одного поставщика к другому происходит через компьютер, на котором запущен gsutil, выполнение этого может значительно ускорить выполнение передачи, чем запуск gsutil на вашей локальной рабочей станции.

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

Комментарии:

1. но это кросс-провайдер, верно? Итак, если его GCP -> GCP, то ему не нужно его загружать

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

Ответ №2:

Я выполнил тест с RSYNC флагами отладки и заметил это поведение

При перемещении объекта (с помощью cp или rsync) между сегментами он не загружается на ваш локальный компьютер, я использовал файл объемом ~ 4 ГБ и glances для измерения использования сети во время операции rsync объекты были непосредственно перемещены в целевую корзину

Если вы запустите следующую команду, вы заметите, что SDK выполняет post-запрос, указывающий на перемещение между сегментами

gsutil -d rsync gs://sourcebucket gs://targetbucket

 https://storage.googleapis.com/storage/v1/b/sourcebucket/o/bigfile.iso/rewriteTo/b/targetbucket/o/bigfile.iso
 

Rewriteto поведение задокументировано здесь

Комментарии:

1. вы правы. Я был бы осторожен, -d хотя он удаляет все, чего нет в исходном коде

2. gsutil -d является ли флаг отладки gsutil, если вы ставите -d после того, как rsync работает, как вы упомянули