Share via


Ingestão de dados do Azure HPC Cache – método msrsync

Este artigo fornece instruções detalhadas sobre como usar o utilitário msrsync a fim de copiar dados para um contêiner de Armazenamento de Blobs do Azure para uso com o Azure HPC Cache.

Para saber mais sobre como mover dados para o armazenamento de BLOBs para o Azure HPC Cache, leia Mover dados para o armazenamento de BLOBs do Azure.

A ferramenta msrsync pode ser usada para mover dados para um destino de armazenamento de back-end no Azure HPC Cache. Essa ferramenta é projetada para otimizar o uso de largura de banda, executando vários processos rsync paralelos. Está disponível no GitHub em https://github.com/jbd/msrsync.

msrsync divide o diretório de origem em "buckets" separados e, em seguida, executa processos rsync individuais em cada bucket.

Testes preliminares usando uma VM de quatro núcleos mostraram a melhor eficiência ao usar 64 processos. Use a opção msrsync-p para definir o número de processos como 64.

Observe que msrsync pode gravar de e para volumes locais. A origem e o destino devem estar acessíveis como montagens locais na estação de trabalho usada para emitir o comando.

Siga estas instruções para usar o msrsync e preencher o Armazenamento de Blobs do Azure com o cache do Azure HPC Cache:

  1. Instalar rsync e seus pré-requisitos (msrsync e Python 2.6 ou posterior)

  2. Determine o número total de arquivos e diretórios a serem copiados.

    Por exemplo, use o utilitário prime.py com os argumentos prime.py --directory /path/to/some/directory (disponíveis baixando https://github.com/Azure/Avere/blob/main/src/clientapps/dataingestor/prime.py).

    Se você não estiver usando prime.py, poderá calcular o número de itens com a ferramenta find GNU da seguinte maneira:

    find <path> -type f |wc -l         # (counts files)
    find <path> -type d |wc -l         # (counts directories)
    find <path> |wc -l                 # (counts both)
    
  3. Divida o número de itens por 64 para determinar o número de itens por processo. Use esse número com a opção -f para definir o tamanho de buckets ao executar o comando.

  4. Emita o comando msrsync para copiar arquivos:

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

    Por exemplo, este comando se destina a mover 11 mil arquivos em 64 processos de /test/source-repository para /mnt/hpccache/repository:

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