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

Este artigo fornece instruções detalhadas para usar o utilitário para copiar dados para um contêiner de armazenamento de Blob do Azure para uso com o msrsync Cache HPC do Azure.

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

A msrsync ferramenta pode ser usada para mover dados para um destino de armazenamento back-end para o Cache HPC do Azure. Esta ferramenta é projetada 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 divide o diretório de origem em "buckets" separados e, em seguida, executa processos individuais rsync em cada bucket.

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

Observe que msrsync só pode gravar de e para 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 preencher msrsync o armazenamento de Blob do Azure com o Cache HPC do Azure:

  1. Instalação msrsync e seus pré-requisitos (rsync 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 argumentos prime.py --directory /path/to/some/directory (disponível por download https://github.com/Azure/Avere/blob/main/src/clientapps/dataingestor/prime.py).

    Se não estiver usando prime.pyo , você pode calcular o número de itens com a ferramenta GNU find 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 -f opção para definir o tamanho dos buckets ao executar o comando.

  4. Execute o msrsync comando para copiar arquivos:

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

    Por exemplo, este comando foi projetado para mover 11.000 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