Ingesta de datos de Azure HPC Cache: método msrsync

En este artículo se proporcionan instrucciones detalladas para usar la msrsync utilidad para copiar datos en un contenedor de Azure Blob Storage para su uso con Azure HPC Cache.

Para más información sobre cómo mover datos a Blob Storage para Azure HPC Cache, lea Traslado de datos a Azure Blob Storage.

La msrsync herramienta se puede usar para mover datos a un destino de almacenamiento back-end para Azure HPC Cache. Esta herramienta está diseñada para optimizar el uso del ancho de banda mediante la ejecución de varios procesos paralelos rsync . Está disponible en GitHub en https://github.com/jbd/msrsync.

msrsync divide el directorio de origen en "cubos" independientes y, a continuación, ejecuta procesos individuales rsync en cada cubo.

Las pruebas preliminares que usan una máquina virtual de cuatro núcleos mostraron la mejor eficacia al usar 64 procesos. Use la msrsync opción -p para establecer el número de procesos en 64.

Tenga en cuenta que msrsync solo puede realizar operaciones de lectura y escritura en volúmenes locales. El origen y el destino deben ser accesibles como unidades locales en la estación de trabajo que se utiliza para emitir el comando.

Siga estas instrucciones para usar msrsync para rellenar Azure Blob Storage con Azure HPC Cache:

  1. Instalación msrsync y sus requisitos previos (rsync y Python 2.6 o posterior)

  2. Determine el número total de archivos y directorios que se van a copiar.

    Por ejemplo, use la utilidad prime.py con argumentos prime.py --directory /path/to/some/directory (disponible mediante la descarga de https://github.com/Azure/Avere/blob/main/src/clientapps/dataingestor/prime.py).

    Si no usa prime.py, puede calcular el número de elementos con la herramienta GNU find de la siguiente manera:

    find <path> -type f |wc -l         # (counts files)
    find <path> -type d |wc -l         # (counts directories)
    find <path> |wc -l                 # (counts both)
    
  3. Divida el número de elementos en 64 para determinar el número de elementos por proceso. Use este número con la -f opción para establecer el tamaño de los cubos al ejecutar el comando.

  4. Emita el msrsync comando para copiar archivos:

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

    Por ejemplo, este comando está diseñado para mover 11 000 archivos en 64 procesos desde /test/source-repository a /mnt/hpccache/repository:

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