Compartilhar via


Usar o Data Box para migrar do NAS (Armazenamento Conectado à Rede) para compartilhamentos de arquivos do Azure

Este artigo sobre migração é um dos vários que envolvem as palavras-chave NAS e Azure Data Box. Verifique se este artigo se aplica ao seu cenário:

  • Fonte de dados: NAS (Armazenamento Conectado à Rede)
  • Rota de migração: NAS ⇒ Data Box ⇒ compartilhamento de arquivos do Azure
  • Nenhum arquivo de cache local: como o objetivo final é usar os compartilhamentos de arquivos do Azure diretamente na nuvem, não existe plano para usar a Sincronização de Arquivos do Azure.

Se seu cenário for diferente, examine a tabela de guias de migração.

Este artigo orienta você de ponta a ponta nas configurações de planejamento, implantação e rede, necessárias para migrar do seu dispositivo NAS para os compartilhamentos de arquivos funcionais do Azure. Este guia usa o Azure Data Box para o transporte de dados em massa (transporte de dados offline).

Aplica-se a

Tipo de compartilhamento de arquivos SMB NFS
Compartilhamentos de arquivos padrão (GPv2), LRS/ZRS Sim Não
Compartilhamentos de arquivos padrão (GPv2), GRS/GZRS Sim Não
Compartilhamento de arquivos premium (FileStorage), LRS/ZRS Sim Não

Metas de migração

O objetivo é mover os compartilhamentos em seu dispositivo NAS para o Azure e fazer com que eles se tornem compartilhamentos de arquivos nativos do Azure. Você pode usar compartilhamentos de arquivos nativos do Azure sem a necessidade de um Windows Server. Essa migração precisa ser feita de forma a garantir a integridade dos dados de produção e a disponibilidade durante a migração. O segundo requer um mínimo de tempo de inatividade, para que ele possa se ajustar ou ter uma janela um pouco maior do que a da manutenção regular.

Visão geral da migração

O processo de migração consiste em várias fases. Você precisará implantar contas de armazenamento do Azure, compartilhamentos de arquivos e configurar a rede. Em seguida, você migrará seus arquivos usando o Azure DataBox e o RoboCopy para acompanhar as alterações. Por fim, você transferirá seus usuários e aplicativos para os compartilhamentos de arquivos do Azure recém-criados. As seções a seguir descrevem em detalhes, as fases do processo de migração.

Dica

Ao retornar a este artigo, use a navegação no lado direito para pular para a fase de migração em que você parou.

Fase 1: identificar quantos compartilhamentos de arquivos do Azure você precisa

Nesta etapa, você determinará quantos compartilhamentos de arquivo do Azure são necessários. Você pode ter mais pastas em seus volumes que você compartilha localmente no momento como compartilhamentos SMB para seus usuários e aplicativos. Dependendo do número de compartilhamentos de arquivos que você deseja migrar para a nuvem, use um mapeamento 1:1 ou o agrupamento de compartilhamentos.

Usar um mapeamento 1:1

Se você tem um número pequeno suficiente de compartilhamentos, é recomendado um mapeamento 1:1. A maneira mais fácil de descrever esse cenário é prever um compartilhamento local que mapeia 1:1 para um compartilhamento de arquivos do Azure.

Usar o agrupamento de compartilhamentos

Se você tem um grande número de compartilhamentos de arquivos, considere o agrupamento de compartilhamentos. Por exemplo, se o departamento de RH (Recursos Humanos) tiver 15 compartilhamentos, considere o armazenamento de todos os dados de RH em um só compartilhamento de arquivo do Azure. Dessa forma, apenas um único compartilhamento de arquivos do Azure na nuvem é necessário para esse grupo de compartilhamentos locais.

Fase 2: implantar recursos de armazenamento do Azure

Nesta fase, você vai provisionar as contas de armazenamento do Azure e os compartilhamentos de arquivos dentro delas.

Lembre-se que um compartilhamento de arquivo do Azure é implantado na nuvem em uma conta de armazenamento do Azure. Para compartilhamentos de arquivos padrão, essa organização faz com que a conta de armazenamento seja uma destino de escala para números de desempenho, como IOPS e taxa de transferência. Se você colocar vários compartilhamentos de arquivos em apenas uma conta de armazenamento, estará criando um pool compartilhado de IOPS e de taxa de transferência para esses compartilhamentos.

Como regra geral, você pode agrupar vários compartilhamentos de arquivos do Azure na mesma conta de armazenamento caso você tenha compartilhamentos de arquivamento ou espere pouca atividade diária nos compartilhamentos. No entanto, se você tiver compartilhamentos altamente ativos (compartilhamentos usados por muitos usuários e/ou aplicativos), é desejável que você implante contas de armazenamento com um compartilhamento de arquivos cada uma. Essas limitações não se aplicam às contas de armazenamento do FileStorage (Premium), no qual o desempenho é provisionado e garantido explicitamente para cada compartilhamento.

Observação

Há um limite de 250 contas de armazenamento por assinatura por região do Azure. Com um aumento de cota, você pode criar até 500 contas de armazenamento por região. Para obter mais informações, confira Aumentar as cotas de conta de Armazenamento do Microsoft Azure.

Outra consideração ao implantar uma conta de armazenamento é a redundância. Confira redundância de Arquivos do Azure.

Se você já fez uma lista dos seus compartilhamentos, você deve mapear cada um deles para a conta de armazenamento que será criada.

Os nomes de seus recursos também são importantes. Por exemplo, se você agrupar vários compartilhamentos para o departamento de RH em uma conta de armazenamento do Azure, deverá nomear a conta de armazenamento adequadamente. Da mesma forma, ao nomear os compartilhamentos de arquivo do Azure, use nomes semelhantes aos usados para as contrapartes locais.

Agora, implante o número apropriado de contas de armazenamento do Azure com o número apropriado de compartilhamentos de arquivos do Azure neles, seguindo as instruções em Criar um compartilhamento de arquivos SMB. Na maioria dos casos, é interessante garantir que a região de cada uma das suas contas de armazenamento seja a mesma.

Fase 3: determinar quantos dispositivos do Azure Data Box você precisa

Inicie esta etapa somente quando você tiver concluído a fase anterior. Os recursos de armazenamento do Azure (contas de armazenamento e compartilhamentos de arquivos) devem ser criados neste momento. Quando estiver pedindo o Data Box, você precisa especificar em quais contas de armazenamento o DataBox está movendo os dados.

Nesta fase você precisa mapear os resultados do plano de migração da fase anterior para os limites das opções de Data Box disponíveis. Essas considerações o ajudarão a criar um plano de quais opções de Data Box você deve escolher e de quantos serão necessários para mover seus compartilhamentos de NAS para os compartilhamentos de arquivos do Azure.

Para determinar quantos dispositivos de cada tipo você precisa, considere estes limites importantes:

  • Qualquer Azure Data Box pode mover dados para até 10 contas de armazenamento.
  • Cada opção de Data Box tem sua própria capacidade de utilização. Consulte opções de Data Box.

Consulte seu plano de migração para saber o número de contas de armazenamento que você decidiu criar e os compartilhamentos em cada uma delas. Em seguida, examine o tamanho de cada um dos compartilhamentos em seu NAS. A combinação dessas informações permite que você otimize e decida qual dispositivo deve enviar dados para quais contas de armazenamento. Você pode fazer com que dois dispositivos Data Box movam arquivos para a mesma conta de armazenamento, mas não divida o conteúdo de um único compartilhamento de arquivo entre 2 Data Box.

Opções de Data Box

Para uma migração padrão, uma ou a combinação dessas duas opções de Data Box deve ser escolhida:

  • Data Box Essa é a opção mais comum. Um dispositivo Data Box robusto, que funciona de forma semelhante a um NAS, será enviado para você. Ele tem uma capacidade utilizável de 80 TiB. Para obter mais informações, consulte a documentação sobre Data Box.
  • Data Box Heavy Esta opção apresenta um dispositivo Data Box robusto sob rodas, que funciona de forma semelhante a um NAS, com uma capacidade de 1 PiB. A capacidade utilizável é de cerca de 20% menos, devido à sobrecarga do sistema de arquivos e de criptografia. Para obter mais informações, consulte a documentação sobre Data Box Heavy.

Aviso

O Data Box Disks não é recomendado para migrações para compartilhamentos de arquivos do Azure. O Data Box Disks não preserva metadados de arquivo, como ACLs (permissões de acesso) e outros atributos.

Fase 4: provisionar um Windows Server temporário

Enquanto você aguarda até que seus Data Box do Azure cheguem, você já pode implantar um ou mais Windows Servers que são necessários para executar os trabalhos do RoboCopy.

  • O primeiro uso desses servidores é copiar os arquivos para o Data Box.
  • O segundo uso desses servidores é atualizar as alterações ocorridas no dispositivo NAS enquanto o Data Box está a caminho. Essa abordagem reduz ao mínimo o tempo de inatividade no lado da origem.

A velocidade na qual os trabalhos do RoboCopy funcionam depende principalmente desses fatores:

É importante manter os detalhes referenciados em mente ao decidir sobre a RAM e a contagem de threads que você fornecerá para seus Windows Servers temporários.

Fase 5: preparar para usar os compartilhamentos de arquivos do Azure

Para economizar tempo, você deve prosseguir com essa fase enquanto aguarda até que o Data Box chegue. Com as informações desta fase, você pode decidir como os servidores e usuários dentro e fora do Azure serão habilitados para utilizar seus compartilhamentos de arquivos do Azure. As decisões mais críticas são:

  • Rede: habilite suas redes para rotear o tráfego SMB.
  • Autenticação: configure as contas de armazenamento do Azure para autenticação Kerberos. O AdConnect e o Ingresso no domínio em sua conta de armazenamento permitirá que seus aplicativos e usuários usem sua identidade do AD para autenticação
  • Autorização: as ACLs de nível de compartilhamento para cada compartilhamento de arquivos do Azure permitem que os usuários e grupos do AD acessem um determinado compartilhamento. Dentro de um compartilhamento de arquivos do Azure, as ACLs de NTFS nativa assumirão o controle. A autorização baseada em ACLs de arquivo e pasta funciona como a de compartilhamentos SMB locais.
  • Continuidade dos negócios: a integração de compartilhamentos de arquivos do Azure em um ambiente existente geralmente envolve a preservação de endereços de compartilhamento existentes. Se você ainda não estiver usando Namespaces DFS, considere estabelecer isso em seu ambiente. Assim você mantém inalterados os endereços de compartilhamento que seus usuários e scripts usam. Use o DFS-N como um serviço de roteamento de namespace para SMB, redirecionando destinos de DFS-Namespace para compartilhamentos de arquivos do Azure após a migração.

Este vídeo é um guia e uma demonstração de como expor com segurança compartilhamentos de arquivos do Azure diretamente para os operadores de informações e aplicativos em cinco etapas simples.
O vídeo faz referência à documentação dedicada dos tópicos a seguir. Observe que o Azure Active Directory agora é Microsoft Entra ID. Para obter mais informações, consulte Novo nome para o Azure AD.

Fase 6: copiar arquivos para seu Data Box

Quando o seu DataBox chegar, você precisará configurá-lo com conectividade de rede desimpedida ao seu dispositivo NAS. Siga a documentação de instalação para o tipo de Data Box que você solicitou.

Dependendo do tipo de Data Box, talvez existam ferramentas para copiar Data Box disponíveis para você. Neste ponto, eles não são recomendados para migrações para compartilhamentos de arquivos do Azure, pois não copiam seus arquivos com fidelidade total para o Data Box. Em vez disso, use o RoboCopy.

Quando seu Data Box chegar, ele terá compartilhamentos de SMB pré-configurados disponíveis para cada conta de armazenamento que você especificou no momento que fez seu pedido.

  • Se os arquivos forem para um compartilhamento de arquivos Premium do Azure, haverá um compartilhamento SMB por conta de armazenamento Premium de "Armazenamento de arquivos".
  • Se os arquivos forem para uma conta de armazenamento Standard, haverá três compartilhamentos SMB por conta de armazenamento Standard (GPv1 e GPv2). Somente os compartilhamentos de arquivos que terminam com _AzFiles são relevantes para sua migração. Ignore quaisquer compartilhamentos de bloco e de blob de página.

Siga as etapas da documentação do Azure Data Box:

  1. Conectar-se à caixa de dados
  2. Copiar dados para caixa de dados
  3. Preparar seu Data Box para enviar ao Azure

A documentação vinculada do Data Box especifica um comando RoboCopy. No entanto, o comando não é adequado para preservar a fidelidade completa do arquivo e da pasta. Em vez disso, use este comando:

Robocopy /MT:32 /NP /NFL /NDL /B /MIR /IT /COPY:DATSO /DCOPY:DAT /UNILOG:<FilePathAndName> <SourcePath> <Dest.Path> 
  • Para saber mais sobre os sinalizadores individuais do RoboCopy, confira a tabela na próxima seção RoboCopy.
  • Para saber mais sobre como dimensionar adequadamente a contagem de threads /MT:n, otimizar a velocidade do RoboCopy e tornar o RoboCopy um bom vizinho de seu data center, confira a seção Solução de problemas do RoboCopy.

Dica

Como alternativa ao Robocopy, o Data Box criou um serviço de cópia de dados. Ele pode ser usado para carregar arquivos em seu Data Box com fidelidade total. Siga este tutorial do serviço de cópia de dados e certifique-se de definir o destino correto de compartilhamento de arquivos do Azure.

Fase 7: atualizar o RoboCopy a partir do seu NAS

Depois que o Data Box informar que todos os arquivos e pastas foram colocados nos compartilhamentos de arquivos planejados do Azure, você pode continuar com essa fase. Uma atualização do RoboCopy só é necessária se os dados no NAS foram alterados a partir do momento que a cópia do Data Box foi iniciada. Em determinados cenários em que você usa um compartilhamento para fins de arquivamento, você pode parar as alterações do compartilhamento no seu NAS até que a migração seja concluída. Você também pode atender aos seus requisitos de negócios definindo os compartilhamentos do NAS como somente leitura durante a migração.

Nos casos em que você precisa que um compartilhamento seja de leitura e gravação durante a migração e só disponha de uma pequena janela de inatividade, é importante concluir esta etapa de atualização do RoboCopy antes do failover do acesso do usuário diretamente no compartilhamento de arquivo do Azure.

Nesta etapa você executa os trabalhos do RoboCopy para atualizar seus compartilhamentos em nuvem com as alterações mais recentes de seu NAS desde o momento em que você fez a bifurcação de seus compartilhamentos para o Data Box. Essa atualização do RoboCopy pode terminar rapidamente ou demorar, dependendo da quantidade de rotatividade que aconteceu em seus compartilhamentos NAS.

Execute a primeira cópia local em sua pasta de destino do Windows Server:

  1. Identifique o primeiro local em seu dispositivo NAS.
  2. Identifique o compartilhamento de arquivos do Azure correspondente.
  3. Monte o compartilhamento de arquivos do Azure como uma unidade de rede local no Windows Server temporário
  4. Inicie a cópia usando o RoboCopy conforme descrito

Monte um compartilhamento de arquivos do Azure

Antes de usar o RoboCopy, você precisa tornar o compartilhamento de arquivos do Azure acessível via SMB. A maneira mais fácil é montar o compartilhamento como uma unidade de rede local para o Windows Server que você está planejando usar para o RoboCopy.

Importante

Antes de montar com êxito um compartilhamento de arquivos do Azure para um servidor local do Windows, você precisa concluir a Fase: preparar para usar os compartilhamentos de arquivos do Azure!

Quando estiver pronto, examine o artigo de como Usar um compartilhamento de arquivos do Azure com o Windows e monte o compartilhamento de arquivos do Azure no qual você deseja iniciar a atualização do RoboCopy a partir do NAS.

RoboCopy

O comando RoboCopy a seguir copia apenas as diferenças (arquivos e pastas atualizados) do armazenamento NAS para o compartilhamento de arquivos do Azure.

robocopy <SourcePath> <Dest.Path> /MT:20 /R:2 /W:1 /B /MIR /IT /COPY:DATSO /DCOPY:DAT /NP /NFL /NDL /XD "System Volume Information" /UNILOG:<FilePathAndName> 
Comutador Significado
/MT:n Permite que o Robocopy execute multithreading. O padrão de n é 8. O máximo é 128 threads. Embora uma alta contagem de threads ajude a saturar a largura de banda disponível, isso não significa que a migração sempre será mais rápida com mais threads. Testes com Arquivos do Azure indicam que entre 8 e 20 mostra um desempenho equilibrado para uma execução de cópia inicial. Execuções /MIR subsequentes são afetadas progressivamente pela computação disponível vs. largura de banda de rede disponível. Para as execuções subsequentes, relacione de forma mais aproximada o valor de contagem de threads com a contagem de núcleos do processador e a contagem de threads por núcleo. Considere se os núcleos precisam ser reservados para outras tarefas que um servidor de produção possa ter. Testes com o serviço Arquivos do Azure mostraram que até 64 threads produzem um bom desempenho, mas somente se os processadores puderem mantê-los ativos ao mesmo tempo.
/R:n Contagem máxima de novas tentativas de um arquivo cuja primeira tentativa de cópia falha. O Robocopy tentará n vezes antes que o arquivo falhe permanentemente ao copiar na execução. É possível otimizar o desempenho de sua execução: escolha um valor de dois ou três se você acreditar que os problemas de tempo limite causaram falhas no passado. Isso pode ser mais comum em links de WAN. Escolha não tentar novamente ou um valor de um se você acreditar que o arquivo falhou ao copiar porque estava ativamente em uso. Tentar novamente alguns segundos depois poderá não ser tempo suficiente para que o estado em uso do arquivo seja alterado. Os usuários ou os aplicativos que mantêm o arquivo aberto podem precisar de horas a mais. Nesse caso, aceitar que o arquivo não foi copiado e capturá-lo em uma de suas execuções de Robocopy subsequentes planejadas, pode conseguir eventualmente copiar o arquivo com êxito. Isso ajuda a execução atual a concluir mais rapidamente sem ser prolongada pelo excesso de tentativas que, basicamente, resulta na maioria das falhas de cópia devido a arquivos ainda abertos após o tempo limite de repetição.
/W:n Especifica o tempo que o Robocopy espera para tentar copiar um arquivo que não foi copiado com êxito em uma tentativa anterior. n é o número de segundos de espera entre as novas tentativas. /W:n geralmente é usado junto com /R:n.
/B Executa o Robocopy do mesmo modo que um aplicativo de backup faria. Essa opção permite que o Robocopy mova arquivos para os quais o usuário atual não tem permissões. A opção de backup depende da execução do comando do Robocopy em um console elevado de administrador ou janela do PowerShell. Se você usar o Robocopy para Arquivos do Azure, monte o compartilhamento de Arquivos do Azure usando a chave de acesso da conta de armazenamento vs. uma identidade de domínio. Caso contrário, as mensagens de erro podem não levar intuitivamente a uma resolução do problema.
/MIR (Espelhar a origem para o destino.) Permite que o Robocopy copie apenas os deltas entre a origem e o destino. Subdiretórios vazios serão copiados. Itens (arquivos ou pastas) que foram alterados ou que não existem no destino serão copiados. Os itens que existem no destino, mas não na origem, serão eliminados (excluídos) do destino. Ao usar essa opção, faça a correspondência exata das estruturas de pasta de origem e de destino. Fazer a correspondência significa copiar do nível correto de pasta da origem para o nível de pasta correspondente no destino. Somente dessa maneira uma cópia "atualizada" pode ser bem-sucedida. Quando a origem e o destino não corresponderem, o uso de /MIR causará exclusões e novas cópias em grande escala.
/IT Garante que a fidelidade seja preservada em determinados cenários de espelhamento.
Por exemplo, se um arquivo apresentar uma alteração de ACL e uma atualização de atributo entre duas execuções do Robocopy, ele será marcado como oculto. Sem /IT, a alteração de ACL pode não ser percebida pelo Robocopy e não ser transferida para o local de destino.
/COPY:[copyflags] A fidelidade da cópia do arquivo. Padrão: /COPY:DAT. Sinalizadores de cópia: D = Dados, A = Atributos, T = Carimbos de data/hora, S = Segurança = NTFS ACLs, O = Informações do proprietário, U = InforDções de auditoria. As informações de auditoria não podem ser armazenadas em um compartilhamento de arquivo do Azure.
/DCOPY:[copyflags] Fidelidade da cópia de diretórios. Padrão: /DCOPY:DA. Sinalizadores de cópia: D = Dados, A = Atributos, = T Carimbos de data/hora.
/NP Especifica que não será exibido o progresso da cópia de cada arquivo e pasta. A exibição do progresso reduz significativamente o desempenho da cópia.
/NFL Especifica que os nomes de arquivo não são registrados. Melhora o desempenho da cópia.
/NDL Especifica que os nomes de diretório não são registrados. Melhora o desempenho da cópia.
/XD Especifica os diretórios a serem excluídos. Ao executar o Robocopy na raiz de um volume, considere excluir a pasta System Volume Information oculta. Se usado conforme projetado, todas as informações serão específicas para o volume exato desse sistema exato e poderão ser reconstruídas sob demanda. Copiar essas informações não será útil na nuvem ou quando os dados forem copiados de volta para outro volume do Windows. Deixar esse conteúdo para trás não deverá ser considerado perda de dados.
/UNILOG:<file name> Grava o status no arquivo de log como Unicode. (Substitui o log existente.)
/L Somente para uma execução de teste
Os arquivos somente devem ser listados. Eles não serão copiados, não excluídos e não terão carimbo de data/hora. Usado com frequência com /TEE para saída do console. Os sinalizadores do script de exemplo, como /NP, /NFL e /NDL, talvez precisem ser removidos para que você possa obter os resultados de teste documentados corretamente.
/Z Usar com cautela
Copia os arquivos no modo de reinicialização. Essa opção é recomendada somente em um ambiente de rede instável. Ela reduz significativamente o desempenho da cópia devido ao registro em log extra.
/ZB Usar com cautela
Usa o modo de reinicialização. Se o acesso for negado, esta opção usa o modo backup. Essa opção reduz significativamente o desempenho da cópia devido ao ponto de verificação.

Importante

É recomendável usar um Windows Server 2022. Ao usar um Windows Server 2019, verifique se o nível de patch mais recente, ou pelo menos a atualização KB5005103 do SO, está instalado. Ele contém correções importantes para determinados cenários de Robocopy.

Dica

Confira a seção de Solução de problemas se o RoboCopy estiver afetando seu ambiente de produção, relatando muitos erros ou não estiver processando tão rápido quanto o esperado.

Migração do usuário

Quando você executa o comando do RoboCopy pela primeira vez, seus usuários e aplicativos ainda estão acessando os arquivos no NAS e possivelmente os alteram. É possível que o RoboCopy tenha processado um diretório, passe para o próximo e, em seguida, um usuário no local de origem (NAS) adicione, altere ou exclua um arquivo que agora não será processado nesta execução do RoboCopy. O comportamento é esperado.

A primeira execução é feita para movimentação em massa dos dados alterados para o compartilhamento de arquivos do Azure. Esta cópia inicial pode demorar. Confira a seção de Solução de problemas para obter mais informações sobre o que pode afetar as velocidades do RoboCopy.

Depois que a execução inicial for concluída, execute o comando novamente.

A segunda execução do RoboCopy para o mesmo compartilhamento é concluído mais rapidamente, pois só precisa transportar alterações ocorridas desde a última execução. Você pode executar os trabalhos várias vezes para o mesmo compartilhamento.

O tempo de inatividade sendo aceitável, você precisa remover o acesso dos usuários aos seus compartilhamentos no NAS. Você pode fazer isso em qualquer etapa para impedir que os usuários alterarem o conteúdo e a estrutura dos arquivos e pastas. Um exemplo é apontar seu DFS-Namespace para um local não existente ou alterar as ACLs raiz no compartilhamento.

Execute uma última rodada do RoboCopy. Ele escolhe todas as alterações que podem ter sido perdidas. A duração desta etapa final depende da velocidade da verificação do RoboCopy. Você pode estimar o tempo (que é igual ao seu tempo de inatividade) medindo quanto tempo a execução anterior levou.

Crie um compartilhamento na pasta do Windows Server e ajuste sua implantação do DFS-N para apontar para ele. Não esqueça de definir as mesmas permissões de nível de compartilhamento que estão em seu compartilhamento SMB do NAS. Se você tiver um NAS de classe corporativa conectado ao domínio, os SIDs do usuário correspondem automaticamente aos usuários existentes no Active Directory, e o RoboCopy copia arquivos e metadados com total fidelidade. Se você usou usuários locais em seu NAS, precisa recriar esses usuários como usuários locais do Windows Server, e mapear os SIDs existentes que o RoboCopy moveu para o Windows Server para os SIDs dos novos usuários locais do Windows Server.

Você concluiu a migração de um compartilhamento/grupo de compartilhamentos para um volume ou raiz comum.

Você pode tentar executar algumas dessas cópias em paralelo. Recomenda-se processar o escopo de um compartilhamento de arquivos do Azure por vez.

Solucionar problemas

A taxa de velocidade e êxito de uma determinada execução do RoboCopy dependerá de vários fatores:

  • IOPS no armazenamento da origem e do destino
  • a largura de banda de rede disponível entre a origem e o destino
  • a capacidade de processar rapidamente arquivos e pastas em um namespace
  • o número de alterações entre as execuções do RoboCopy
  • o tamanho e o número de arquivos que você precisa copiar

Considerações sobre IOPS e largura de banda

Nessa categoria, você precisa considerar as capacidades do armazenamento de origem, do armazenamento de destinoe da rede que os conecta. A taxa de transferência máxima possível é determinada pelos três componentes mais lentos. Verifique se sua infraestrutura de rede está configurada para dar suporte a velocidades de transferência ideais em suas melhores capacidades.

Cuidado

Embora a cópia mais rápida possível seja muitas vezes mais desejável, considere a utilização da rede local e do dispositivo NAS para outras tarefas muitas vezes comercialmente críticas.

Copiar o mais rápido possível pode não ser desejável quando há um risco de que a migração possa monopolizar os recursos disponíveis.

  • Considere quando é melhor executar migrações em seu ambiente: durante o dia, fora do horário de expediente ou durante os fins de semana.
  • Considere também a rede QoS em um Windows Server para limitar a velocidade do RoboCopy.
  • Evite o trabalho desnecessário para as ferramentas de migração.

O RoboCopy pode inserir atrasos entre pacotes especificando a opção /IPG:n, em que n é medido em milissegundos entre os pacotes do RoboCopy. O uso dessa opção pode ajudar a evitar a monopolização de recursos em ambos os dispositivos com restrição de e/s e links de rede lotados.

/IPG:n não pode ser usado para a limitação de rede exata em determinados Mbps. Em vez disso, use a QoS de rede do Windows Server. O RoboCopy conta totalmente com o protocolo SMB para todas as necessidades de rede. Usar o SMB é o motivo pelo qual o RoboCopy não pode influenciar a taxa de transferência da rede em si, mas pode retardar seu uso.

Uma linha de pensamento semelhante se aplica ao IOPS observado no NAS. O tamanho do cluster no volume do NAS, os tamanhos de pacotes e uma série de outros fatores influenciam o IOPS observado. A introdução do atraso entre pacotes geralmente é a maneira mais fácil de controlar a carga no NAS. Teste vários valores, por exemplo, de cerca de 20 milissegundos (n=20) a múltiplos desse número. Depois de introduzir um atraso, você poderá avaliar se os outros aplicativos agora podem funcionar conforme o esperado. Essa estratégia de otimização permitirá que você encontre a velocidade ideal do RoboCopy em seu ambiente.

Velocidade de processamento

O RoboCopy percorrerá o namespace para o qual ele está apontado e avaliará cada arquivo e pasta para cópia. Cada arquivo será avaliado durante uma cópia inicial e durante as cópias de atualização. Por exemplo, execuções repetidas de RoboCopy/MIR em relação aos mesmos locais de armazenamento de origem e de destino. Essas execuções repetidas são úteis para minimizar o tempo de inatividade de usuários e aplicativos, e para melhorar a taxa geral de êxito dos arquivos migrados.

Geralmente, o padrão é considerar a largura de banda como o fator mais limitador em uma migração, e isso pode ser verdadeiro. Mas a capacidade de enumerar um namespace pode influenciar no tempo total para copiar ainda mais para namespaces maiores com arquivos menores. Considere que a cópia de 1 TiB de arquivos pequenos levará consideravelmente mais tempo do que a cópia de 1 TiB de menos arquivos com um tamanho maior, supondo que todas as outras variáveis permaneçam iguais. Portanto, você poderá ter uma transferência lenta se estiver migrando um grande número de arquivos pequenos. Este é um comportamento esperado.

A causa dessa diferença é a capacidade de processamento necessária para percorrer um namespace. O RoboCopy dá suporte a cópias em vários threads por meio do parâmetro /MT:n, em que n significa o número de threads a serem usados. Portanto, ao provisionar um computador especificamente para o RoboCopy, considere o número de núcleos de processador e sua relação com a contagem de threads que eles fornecem. O mais comum são dois threads por núcleo. O núcleo e a contagem de threads de um computador são pontos de dados importantes para decidir quais valores de vários threads /MT:n devem ser especificados. Considere também quantos trabalhos do RoboCopy você planeja executar em paralelo em um determinado computador.

Mais threads copiarão nosso exemplo de 1 TiB de arquivos pequenos consideravelmente mais rápido do que menos threads. Ao mesmo tempo, o investimento extra de recursos em nossos 1 TiB de arquivos maiores pode não produzir benefícios proporcionais. Uma alta contagem de threads tentará copiar mais arquivos grandes pela rede simultaneamente. Essa atividade extra de rede aumenta a probabilidade de se restringir pela taxa de transferência ou pelo IOPS de armazenamento.

Durante um primeiro trabalho do RoboCopy em um destino vazio ou uma execução diferencial com muitos arquivos alterados, é provável que você se depare com uma restrição causada pela taxa de transferência da sua rede. Comece com uma alta contagem de threads para uma execução inicial. Uma alta contagem de threads, mesmo além dos threads disponíveis no momento no computador, ajuda a saturar a largura de banda de rede disponível. As execuções /MIR subsequentes são impactadas progressivamente pelo processamento de itens. Menos alterações em uma execução diferencial significam menos transporte de dados pela rede. Sua velocidade agora é mais dependente de sua capacidade de processar itens de namespace do que movê-los no link de rede. Para as execuções subsequentes, relacione o valor de contagem de threads com a contagem de núcleos do processador e a contagem de threads por núcleo. Pondere se os núcleos precisam ser reservados para outras tarefas que um servidor de produção possa ter.

Dica

Regra geral: o provisionamento em excesso da contagem de threads (/MT:n) é útil para a primeira execução do RoboCopy, que vai transferir muitos dados de uma rede de maior latência. As execuções seguintes terão menos dados diferentes a copiar, e é mais provável que você queira alterar de taxa de transferência de rede restrita para computação restrita. Nessas circunstâncias, é melhor corresponder a contagem de threads do RoboCopy com a de threads realmente disponíveis no computador. O excesso de provisionamento nesse cenário pode levar a mais mudanças de contexto no processador, e provavelmente vai retardar a cópia.

Evitar trabalho desnecessário

Evite alterações em grande escala em seu namespace. Por exemplo, mover arquivos entre diretórios, alterar propriedades em grande escala ou alterar permissões (ACLs de NTFS). As alterações de ACL, especialmente, podem ter um alto impacto, porque elas têm em geral um efeito de alteração em cascata em arquivos inferiores na hierarquia de pastas. As consequências podem ser:

  • tempo de execução do trabalho do RoboCopy estendido porque cada arquivo e pasta afetados por uma alteração de ACL precisam ser atualizados
  • o reuso de dados movidos antes pode precisar ser copiado novamente. Por exemplo, mais dados precisarão ser copiados quando as estruturas de pasta forem alteradas depois que os arquivos já tiverem sido copiados anteriormente. Um trabalho de RoboCopy não pode "reproduzir" uma alteração de namespace. O próximo trabalho deve limpar os arquivos transportados anteriormente para a estrutura de pastas antiga e carregar os arquivos na nova estrutura de pastas mais uma vez.

Outro aspecto importante é usar a ferramenta RoboCopy com eficiência. Com o script RoboCopy recomendado, você criará e salvará um arquivo de log para erros. Erros de cópia podem ocorrer. Isso é normal. Esses erros geralmente tornam necessário executar várias vezes uma ferramenta de cópia, como o RoboCopy. Uma execução inicial, digamos de um NAS para o DataBox ou um servidor para um compartilhamento de arquivos do Azure. E uma ou mais execuções extras com o switch /MIR para capturar e tentar novamente os arquivos que não foram copiados.

Você deve estar preparado para executar várias vezes o RoboCopy em um determinado escopo de namespace. As execuções sucessivas terminarão mais rapidamente, pois elas têm menos a ser copiado, mas são restritas cada vez mais pela velocidade de processamento do namespace. Quando você executa várias vezes, é possível acelerar cada rodada fazendo com que o RoboCopy não tente copiar tudo em uma determinada execução. Essas opções do RoboCopy podem fazer uma diferença significativa:

  • /R:n n = com que frequência você tenta copiar um arquivo com falha e
  • /W:n n = quantos segundos aguardar entre repetições

/R:5 /W:5 é uma configuração razoável que você pode ajustar para sua preferência. Neste exemplo, um arquivo com falha será repetido cinco vezes, com tempo de espera de cinco segundos entre as repetições. Se o arquivo ainda não for copiado, o próximo trabalho do RoboCopy tentará novamente. Em geral, arquivos que falharam porque estão em uso ou devido a problemas de tempo limite podem eventualmente ser copiados com êxito dessa forma.

Próximas etapas

Existe muito mais coisas para conhecer sobre compartilhamentos de arquivos do Azure. Os artigos a seguir ajudam a entender as opções avançadas, práticas recomendadas e também contêm ajuda para a solução de problemas. Estes artigos se vinculam à documentação do compartilhamento de arquivos do Azure, conforme apropriado.