Azure HPC Cache dados ingerir - método msrsync

Este artigo dá instruções detalhadas para utilizar o msrsync utilitário para copiar dados para um recipiente de armazenamento Azure Blob para utilização com HPC Cache Azure.

Para saber mais sobre a mudança de dados para o armazenamento blob para o seu HPC Cache Azure, leia os dados do Move para o armazenamento da Azure Blob.

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

msrsync rompe o diretório de origem em "baldes" separados e, em seguida, executa processos individuais rsync em cada balde.

Os testes preliminares utilizando um VM de quatro núcleos mostraram a melhor eficiência quando utilizaram 64 processos. Utilize a opção msrsync-p para definir o número de processos para 64.

Note que msrsync só pode escrever de e para os volumes locais. A fonte e o destino devem estar acessíveis como suportes locais no posto de trabalho utilizado para emitir o comando.

Siga estas instruções para a utilização msrsync para povoar o armazenamento da Azure Blob com HPC Cache Azure:

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

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

    Por exemplo, utilize o utilitário prime.py com argumentos prime.py --directory /path/to/some/directory (disponíveis através do download https://github.com/Azure/Avere/blob/main/src/clientapps/dataingestor/prime.py).

    Se não utilizar 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. Utilize este número com a opção -f de definir o tamanho dos baldes quando executar 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 de /teste/repositório de origem para /mnt/hpccache/repositório:

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