Azure HPC Cache ingestão de dados - método msrsync

Este artigo fornece instruções detalhadas para usar a msrsync utilidade para copiar dados para um contentor de armazenamento Azure Blob para utilização com o Azure HPC Cache.

Para saber mais sobre como mover dados para armazenamento Blob para o seu Azure HPC Cache, leia Mover dados para armazenamento Azure Blob.

A ferramenta msrsync pode ser usada para mover os dados para um destino de armazenamento de back-end no Azure HPC Cache. Esta ferramenta foi concebida para otimizar a utilização da largura de banda através da execução de múltiplos processos paralelos rsync . Está disponível no GitHub em https://github.com/jbd/msrsync.

msrsync divide o diretório de origem em "baldes" separados e depois executa processos individuais rsync em cada balde.

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

Note que msrsync só pode escrever para e a partir de volumes locais. A origem e o destino devem ser acessíveis como montagens locais na estação de trabalho usada para emitir o comando.

Siga estas instruções para utilizar msrsync o Azure HPC Cache para povoar o armazenamento Azure Blob.

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

  2. Determine o número total de ficheiros e diretórios a copiar.

    Por exemplo, use a utilidade prime.py com argumentos prime.py --directory /path/to/some/directory (disponível ao descarregar https://github.com/Azure/Avere/blob/main/src/clientapps/dataingestor/prime.py).

    Se não usar prime.py, pode calcular o número de itens com a ferramenta GNU find da seguinte forma:

    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. Usa este número com a -f opção de definir o tamanho dos buckets quando executares o comando.

  4. Emita o msrsync comando para copiar ficheiros:

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

    Por exemplo, este comando foi concebido para mover 11.000 ficheiros em 64 processos do /test/source-repository para /mnt/hpccache/repository:

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