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.
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 :
La copie manuelle. Vous pouvez créer manuellement une copie multithread sur un client en exécutant plusieurs commandes de copie à la fois en arrière-plan sur des ensembles de fichiers ou de chemins prédéfinis. Pour plus d’informations, consultez Ingestion de données Azure HPC Cache - Copie manuelle.
La copie partiellement automatisée avec
msrsync
-msrsync
est un utilitaire wrapper qui exécute plusieurs processusrsync
parallèles. Pour plus d’informations, consultez Ingestion de données Azure HPC Cache - Méthode msrsync.La copie par script avec
parallelcp
. Découvrez comment créer et exécuter un script de copie parallèle dans Ingestion de données Azure HPC Cache - Script de copie parallèle.
Étapes suivantes
Après avoir configuré votre stockage, découvrez comment les clients peuvent monter le cache.