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:
Instalação
msrsync
e seus pré-requisitos (rsync
e Python 2.6 ou posterior)Determine o número total de arquivos e diretórios a serem copiados.
Por exemplo, use o utilitário
prime.py
com argumentosprime.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.py
o , você pode calcular o número de itens com a ferramenta GNUfind
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)
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.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