Migrar dados

Nesta página, descrevemos como executar uma migração de dados que copia arquivos da máquina local para uma reivindicação de volume permanente (PVC, na sigla em inglês) no cluster de destino.

Essa é uma etapa opcional.

Personalizar a configuração da migração de dados

Quando você conclui uma análise, a CLI do Migrate to Containers pode criar um arquivo de configuração de dados chamado dataConfig.yaml no diretório de saída da análise especificado. Isso indica que, para concluir a migração, você precisa realizar a migração de dados.

Também é possível criar esse arquivo de configuração de dados manualmente para a migração de dados e fornecer informações sobre o volume de dados de destino ou a reivindicação de dados.

Veja a seguir um exemplo de arquivo de configuração de dados:

volumes:
- deploymentPvcName: my-pvc1
  existingPvc:
    name: my-pvc1
  folders:
  - /bin
  - /opt
- deploymentPvcName: my-pvc2
  newPvc:
   spec:
    accessModes:
    - ReadWriteOnce
    resources:
      requests:
        storage: 10G
  folders:
  - /bin
  - /opt

Em que:

  • deploymentPvcName: o nome do PVC a ser usado pelo Migrate to Containers na carga de trabalho implantada para acessar esse volume.

  • existingPvc:

    • name: nome de uma reivindicação de volume permanente (PVC, na sigla em inglês) atual. Defina se você quer migrar volumes de dados para um PVC atual.
  • newPvc: defina se você quer migrar os volumes de dados para um novo PVC. É possível definir o PVC usando a sintaxe de especificações padrão.

    Para mais informações sobre as especificações do PVC do Kubernetes, consulte a documentação do Kubernetes.

  • folders: a pasta que você quer migrar da VM para o PVC. Essas pastas são copiadas para o PVC no mesmo caminho.

É possível editar o arquivo de configuração de dados para vários casos de uso de migração de dados, incluindo:

Usar um PVC existente

Se você já tiver alocado o armazenamento para os dados migrados e tiver um PVC para armazená-los, será possível migrar os dados usando um PVC atual.

Defina um PVC atual no arquivo de configuração de dados (dataConfig.yaml) transmitindo o volume existente no campo existingPvc. Nesse caso, seu arquivo de configuração de dados seria semelhante a:

volumes:
- deploymentPvcName: my-pvc
  existingPvc:
    name: my-pvc
    subpath: /subpath
  folders:
  - /bin
  - /opt

Na amostra anterior, a entrada existingPvc pode conter uma subPath opcional para migrar os dados para o subcaminho do PVC, como mostrado.

Criar novos volumes de dados nas VMs migradas

Se você não alocou armazenamento antecipadamente e quer que seu armazenamento seja criado durante o processo de migração, transmita um campo existingPvc vazio e especifique o armazenamento que quer criar no campo newPvc:

volumes:
- deploymentPvcName: my-pvc
  newPvc:
    spec:
      accessModes:
      - ReadWriteOnce
      resources:
        requests:
          storage: 10G
  folders:
  - /bin
  - /opt

Migrar vários PVCs com vários caminhos de arquivos

É possível especificar o conjunto de diretórios no campo de lista folders de cada entrada na lista volume para cada PVC listado no arquivo de configuração de dados (dataConfig.yaml):

volumes:
- deploymentPvcName: my-pvc1
  existingPvc:
    name: my-pvc1
  folders:
  - /bin
  - /opt
- deploymentPvcName: my-pvc2
  newPvc:
   spec:
    accessModes:
    - ReadWriteOnce
    resources:
     requests:
       storage: 10G
  folders:
  - /bin
  - /opt

Os caminhos listados em folders no arquivo de configuração são copiados para os mesmos caminhos nos PVCs de destino.

Executar a migração de dados

Depois de personalizar seu arquivo de configuração de dados dataConfig.yaml, para migrar os volumes de dados para um PVC no cluster de destino, execute o seguinte comando:

./m2c migrate-data  -i ANALYSIS_OUTPUT_PATH -n NAMESPACE

Substitua:

  • ANALYSIS_OUTPUT_PATH: o caminho em que você salvou a saída da análise que contém o arquivo dataConfig.yaml
  • NAMESPACE: o namespace do cluster de destino do Kubernetes da rede implantada.

A seguir