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

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

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

Tip

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

Имейте в виду следующие факты:

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

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

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

Копирование данных с помощью Azure HPC Cache

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

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

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

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

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

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

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

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

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

К стратегиям параллельного приема данных с помощью Azure HPC Cache относятся следующие стратегии:

Дальнейшие действия

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