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:
Instalar
rsync
e seus pré-requisitos (msrsync
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 os argumentosprime.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 ferramentafind
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)
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.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