Share via


Déplacer les données dans le stockage d’objets blob Azure

Si votre workflow comprend le déplacement des données vers le stockage Blob Azure, vérifiez que vous utilisez une stratégie efficace. Vous devez créer le cache, ajouter le conteneur d’objets blob en tant que cible de stockage, puis copier vos données en utilisant Azure HPC Cache.

Cet article fournit les meilleures méthodes pour déplacer des données vers le stockage blob en vue d’une utilisation avec Azure HPC Cache.

Conseil

Cet article ne s’applique pas au stockage blob monté sur NFS (cibles de stockage ADLS-NFS). Vous pouvez utiliser n’importe quelle méthode basée sur NFS pour remplir un conteneur d’objets blob ADLS-NFS avant ou après son ajout à HPC Cache. Pour en savoir plus, lisez Précharger des données avec le protocole NFS.

Gardez à l’esprit les points suivants :

  • Azure HPC Cache utilise un format de stockage spécialisé permettant d’organiser les données dans le stockage blob. C’est pour cela qu’une cible de stockage blob doit être soit un nouveau conteneur vide, soit un conteneur d’objets Blob précédemment utilisé pour les données Azure HPC Cache.

  • La copie de données via Azure HPC Cache à une cible de stockage principal est plus efficace lorsque vous utilisez plusieurs clients et des opérations parallèles. Si vous utilisez une simple commande de copie sur un client, la copie des données se fera lentement.

Les stratégies décrites dans cet article fonctionnent pour remplir un conteneur d’objets blob vide ou pour ajouter des fichiers à une cible de stockage précédemment utilisée.

Copier des données via Azure HPC Cache

Azure HPC Cache est conçu pour servir plusieurs clients simultanément. Par conséquent, pour copier des données via le cache, vous devez utiliser des écritures parallèles à partir de plusieurs clients.

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.

Les commandes cp ou copy qui sont généralement utilisées pour transférer des données d’un système de stockage à un autre sont des processus monothread qui ne copient qu’un seul fichier à la fois. Cela signifie que le serveur de fichiers ne reçoit qu’un fichier à la fois, ce qui représente un gaspillage des ressources du cache.

Cette section décrit des stratégies de création d’un système de copie de fichiers multiclient et multithread pour déplacer des données vers le stockage blob avec Azure HPC Cache. Il explique les concepts de transfert de fichiers et les points de décision qui peuvent être utilisés pour une copie efficace des données à l’aide de plusieurs clients et de simples commandes de copie.

Il décrit également quelques utilitaires qui peuvent être utiles. L’utilitaire msrsync peut servir à automatiser partiellement le processus de division d’un jeu de données en compartiments et d’utilisation des commandes rsync. Le script parallelcp est un autre utilitaire qui lit le répertoire source et émet automatiquement des commandes de copie.

Planification stratégique

Quand vous créez une stratégie pour copier des données en parallèle, vous devez comprendre les compromis en termes de taille de fichier, nombre de fichiers et profondeur de répertoire.

  • Lorsque les fichiers sont petits, la métrique d’intérêt est fichiers par seconde.
  • Lorsque les fichiers sont volumineux (10 MiBi ou plus), la métrique d’intérêt est octets par seconde.

Chaque processus de copie a un débit et un taux de transfert de fichiers qui peuvent être mesurés en minutant la longueur de la commande de copie et en tenant compte de la taille de fichier et du nombre de fichiers. L’explication de la mesure des débits et taux n’entre pas dans le cadre de ce document, mais il est impératif de comprendre si vous allez traiter des fichiers de petite ou grande taille.

Les stratégies d’ingestion de données parallèle avec Azure HPC Cache sont les suivantes :

Étapes suivantes

Après avoir configuré votre stockage, découvrez comment les clients peuvent monter le cache.