Перенос данных в хранилище Blob-объектов Azure

Если ваш рабочий процесс предусматривает перемещение данных в хранилище BLOB-объектов Azure, он должен использовать эффективную стратегию. Необходимо создать кэш, добавить контейнер BLOB-объектов в качестве целевого объекта хранения, а затем скопировать данные с помощью Azure HPC Cache.

В этой статье рассматриваются лучшие способы переноса данных в хранилище BLOB-объектов для использования со службой Azure HPC Cache.

Совет

Эта статья не применяется к хранилищу BLOB-объектов, подключенного к NFS, (целевые расположения хранилища ADLS-NFS). Вы можете использовать любой метод на основе NFS для заполнения контейнера BLOB-объектов ADLS-NFS до или после добавления в HPC Cache. Дополнительные сведения см. в разделе Предварительная загрузка данных с помощью протокола NFS.

Помните перечисленные ниже моменты.

  • Для организации данных в хранилище BLOB-объектов Azure HPC Cache использует особый формат хранилища. Именно поэтому целевой объект хранилища BLOB-объектов должен быть новым пустым контейнером или контейнером больших двоичных объектов, который ранее использовался для данных Azure HPC Cache.

  • Копирование данных через Azure HPC Cache в серверное целевое расположение хранилища происходит эффективнее, если используется несколько клиентов и параллельных операций. Простая команда копирования из одного клиента переносит данные медленно.

Стратегии, описанные в этой статье, предназначены для заполнения пустого контейнера BLOB-объектов или добавления файлов в ранее используемый целевой объект хранилища.

Копирование данных через Azure HPC Cache

Служба кэша Azure HPC Cache способна одновременно обслуживать несколько клиентов, поэтому для копирования данных через кэш следует использовать параллельные операции записи с нескольких клиентов.

Diagram showing multi-client, multi-threaded data movement: At the top left, an icon for on-premises hardware storage has multiple arrows coming from it. The arrows point to four client machines. From each client machine three arrows point toward the Azure HPC Cache. From the Azure HPC Cache, multiple arrows point to blob storage.

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

В этом разделе рассматриваются стратегии создания многоклиентской многопотоковой системы копирования файлов для переноса данных в хранилище BLOB-объектов с помощью кэша Azure HPC Cache. В ней описываются концепции передачи файлов и точки принятия решений, которые можно использовать для эффективного копирования данных с использованием нескольких клиентов и простых команд копирования.

Здесь также описываются некоторые служебные программы, которые могут помочь. С помощью служебной программы msrsync можно частично автоматизировать процесс разделения набора данных на группы и применение команд rsync. Сценарий parallelcp — это другая служебная программа, которая считывает исходный каталог и выдает команды копирования автоматически.

Стратегическое планирование

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

  • Если файлы малы, нужная метрика — количество файлов в секунду.
  • Если файлы большие (10 MБ или больше), нужная метрика — число байт в секунду.

Каждый процесс копирования имеет пропускную способность и скорость передачи файлов, которые можно измерять по времени команды копирования с учетом размера и количества файлов. Объяснение того, как измерять скорость, выходит за рамки этого документа, но важно понять, с файлами какого размера вы будете работать.

Ниже описаны стратегии параллельного приема данных с помощью кэша Azure HPC Cache.

Следующие шаги

Узнайте, как клиенты могут подключать кэш после настройки хранилища.