Partager via


Ingestion de données Azure HPC Cache - méthode msrsync

Cet article fournit des instructions détaillées sur l’utilisation de l’utilitaire msrsync pour copier des données dans un conteneur de stockage Blob Azure à utiliser avec Azure HPC Cache.

Pour en savoir plus sur le déplacement de données vers le stockage Blob pour votre cache Azure HPC Cache, lisez Déplacer des données vers le stockage Blob Azure.

L’outil msrsync peut être utilisé pour déplacer des données vers une cible de stockage back-end pour Azure HPC Cache. Cet outil est conçu pour optimiser l’utilisation de la bande passante en exécutant plusieurs processus parallèles rsync . Il est disponible à partir de GitHub à l’adresse https://github.com/jbd/msrsync.

msrsync décompose le répertoire source en « compartiments » distincts, puis exécute des processus individuels rsync sur chaque compartiment.

Les tests préliminaires utilisant une machine virtuelle à quatre cœurs ont montré une meilleure efficacité lors de l’utilisation de 64 processus. Utilisez l’option msrsync-p pour définir le nombre de processus sur 64.

Notez que msrsync peut uniquement écrire vers et depuis des volumes locaux. La source et la destination doivent être accessibles en tant que montages locaux sur la station de travail utilisée pour émettre la commande.

Suivez ces instructions pour utiliser msrsync afin de configurer le stockage Blob Azure avec Azure HPC Cache :

  1. Installer msrsync et ses prérequis (rsync et Python 2.6 ou version ultérieure)

  2. Déterminez le nombre total de fichiers et de répertoires à copier.

    Par exemple, utilisez l’utilitaire prime.py avec des arguments prime.py --directory /path/to/some/directory (disponibles en téléchargeant https://github.com/Azure/Avere/blob/main/src/clientapps/dataingestor/prime.py).

    Si vous n’utilisez prime.pypas, vous pouvez calculer le nombre d’éléments avec l’outil GNU find comme suit :

    find <path> -type f |wc -l         # (counts files)
    find <path> -type d |wc -l         # (counts directories)
    find <path> |wc -l                 # (counts both)
    
  3. Divisez le nombre d’éléments de 64 pour déterminer le nombre d’éléments par processus. Utilisez ce numéro avec l’option -f pour définir la taille des compartiments lorsque vous exécutez la commande.

  4. Émettez la msrsync commande pour copier des fichiers :

    msrsync -P --stats -p64 -f<ITEMS_DIV_64> --rsync "-ahv --inplace" <SOURCE_PATH> <DESTINATION_PATH>
    

    Par exemple, cette commande est conçue pour déplacer 11 000 fichiers dans 64 processus de /test/source-repository vers /mnt/hpccache/repository :

    mrsync -P --stats -p64 -f170 --rsync "-ahv --inplace" /test/source-repository/ /mnt/hpccache/repository