Migrar dados para o Armazenamento de blob do Azure
Se o fluxo de trabalho incluir a movimentação de dados para o Armazenamento de Blob do Azure, certifique-se de que você está usando uma estratégia eficiente. Você deve criar o cache, adicionar o contêiner de blob como um destino de armazenamento e copiar seus dados usando o Azure HPC Cache.
Este artigo explica as melhores maneiras de mover dados para o armazenamento de blobs para usá-los com o Azure HPC Cache.
Dica
Este artigo não se aplica ao armazenamento de blobs montado no NFS (destinos de armazenamento do ADLS-NFS). Você pode usar qualquer método baseado em NFS para preencher um contêiner de blob do ADLS-NFS antes ou depois de adicioná-lo ao HPC Cache. Leia Pré-carregar dados com o protocolo do NFS para saber mais.
Não esqueça desses fatores:
O Azure HPC Cache usa um formato especializado de armazenamento para organizar dados no armazenamento de blobs. Por isso, um destino de armazenamento de blobs deve ser um contêiner novo e vazio ou um contêiner de blob que, anteriormente, era usado para dados do Azure HPC Cache.
Copiar dados por meio do Azure HPC Cache para um destino de armazenamento de back-end é mais eficiente quando você usa vários clientes e operações paralelas. Um comando de cópia simples de um cliente move os dados lentamente.
As estratégias descritas neste artigo funcionam para preencher um contêiner de blob vazio ou para adicionar arquivos a um destino de armazenamento usado anteriormente.
Copiar dados por meio do Azure HPC Cache
O Azure HPC Cache foi projetado para atender a vários clientes simultaneamente, por isso, para copiar dados por meio do cache, você deve usar gravações paralelas de vários clientes.
Os comandos cp
ou copy
tipicamente usados para transferir dados de um sistema de armazenamento para outro são processos de thread único que copiam apenas um arquivo por vez. Isso significa que o servidor de arquivos está ingerindo apenas um arquivo por vez, o que é um desperdício de recursos do cache.
Esta seção explica estratégias para criar um sistema de cópia de arquivos com vários clientes e várias conversas para mover dados para o armazenamento de blobs com o Azure HPC Cache. Ele explica os conceitos de transferência de arquivo e os pontos de decisão que podem ser usados para cópia de dados eficiente usando vários clientes e comandos de cópia simples.
Também explica alguns utilitários que podem ajudar. O utilitário msrsync
pode ser usado para automatizar parcialmente o processo de dividir um conjunto de dados em buckets e usando comandos rsync. O script parallelcp
é outro utilitário que lê o diretório de origem e emite comandos de cópia automaticamente.
Planejamento estratégico
Ao criar uma estratégia para copiar dados em paralelo, você deve compreender as vantagens e desvantagens de tamanho do arquivo, contagem de arquivos e profundidade de diretório.
- Quando os arquivos são pequenos, a métrica de interesse é arquivos por segundo.
- Quando os arquivos são grandes (10 MiBi ou mais), a métrica de interesse é bytes por segundo.
Cada processo de cópia tem uma taxa de transferência e uma taxa de arquivos transferidos, que podem ser medidas pelo tempo o comprimento do comando de cópia e fatorando o tamanho do arquivo e a contagem de arquivos. Explicar como medir as taxas está fora do escopo deste documento, mas é fundamental entender isso, esteja você lidando com arquivos grandes ou pequenos.
As estratégias para ingerir de dados paralelos com o Azure HPC Cache incluem:
Cópia manual - Você pode criar manualmente uma cópia com vários threads em um cliente executando mais de um comando de cópia ao mesmo tempo em segundo plano em relação a conjuntos predefinidos de arquivos ou caminhos. Leia Ingerir dados do Azure HPC Cache – Método de cópia manual para saber mais detalhes.
A cópia parcialmente automatizada com
msrsync
-msrsync
é um utilitário de wrapper que executa vários processos paralelosrsync
. Para mais detalhes, leia Ingerir dados do Azure HPC Cache – método msrsync.Cópia com script com o
parallelcp
- saiba como criar e executar um script de cópia paralela em Ingerir dados do Azure HPC Cache - método de script de cópia de paralela.
Próximas etapas
Depois de configurar o armazenamento, saiba como os clientes podem montar o cache.