Copiar o sistema de arquivos da máquina de origem

A modernização de um componente do aplicativo requer a criação de uma cópia do sistema de arquivos da máquina de origem.

Nesta página, descrevemos as etapas necessárias para copiar o sistema de arquivos da máquina de origem com algumas especificações para reduzir o tamanho do sistema de arquivos copiado.

Criar uma cópia local do sistema de arquivos da máquina de origem do Linux

A CLI do Migrate to Containers é compatível com o acesso a máquinas de origem por meio de uma conexão SSH direta ou de gcloud.

SSH direto

Para copiar usando o acesso SSH direto, execute o seguinte comando:

./m2c copy ssh [USERNAME@]HOSTNAME \
  -i PATH_TO_PRIVATE_KEY \
  -o OUTPUT_FILESYSTEM_DIR

Substitua:

  • USERNAME: seu nome de usuário.
  • HOSTNAME: nome do host
  • PATH_TO_PRIVATE_KEY: o caminho para a chave privada
  • OUTPUT_FILESYSTEM_DIR: o caminho para o diretório de saída na máquina local em que você quer copiar o sistema de arquivos da máquina de origem.

gcloud

Se a máquina de origem tiver um IP público, execute o seguinte comando:

./m2c copy gcloud \
  -p PROJECT_ID \
  -z ZONE \
  -n VM_NAME \
  -o OUTPUT_FILESYSTEM_DIR

Substitua:

  • PROJECT_ID: o ID do projeto
  • ZONE: a zona da VM;
  • VM_NAME: o nome da VM de origem.
  • OUTPUT_FILESYSTEM_DIR: o caminho para a saída do diretório na máquina local em que você quer copiar o sistema de arquivos da máquina de origem.

Se a máquina de origem não tiver um IP público, realize uma destas ações:

  • Se você estiver executando a CLI do Migrate to Containers em uma máquina da mesma rede interna, use a sinalização --internal-ip.
  • Se você estiver executando em uma rede diferente, use a sinalização --tunnel-through-iap.

Para mais informações sobre essas sinalizações, consulte a documentação da gcloud.

Depois que a cópia é concluída, uma cópia do sistema de arquivos da máquina de origem fica disponível no diretório de saída especificado.

Reduzir o tamanho do sistema de arquivos copiado

Dependendo da máquina de origem, o sistema de arquivos copiado pode ser muito grande. Quanto maior for a cópia, mais tempo levará para cada operação ser concluída e, se não houver espaço suficiente, a operação de cópia falhará.

A CLI do Migrate to Containers aplica filtros para reduzir o tamanho da cópia. No entanto, com o conhecimento fornecido do componente do aplicativo, é possível modificar os filtros para reduzir ainda mais o tamanho da cópia.

Quando você executa o comando copy novamente com os filtros modificados, o conteúdo do diretório de saída é atualizado de acordo com as alterações aplicadas no arquivo de filtro.

Para modificar os filtros padrão, siga estas etapas:

  1. Veja uma lista dos filtros padrão:

    ./m2c copy default-filters > filters.txt
    
  2. Edite o arquivo filters.txt para remover diretórios irrelevantes. O arquivo usa o formato de regra de filtro rsync, conforme especificado na página de documentação de rsync.

  3. Use a sinalização --filters para especificar o arquivo de filtro com o comando copy.

    SSH direto

    ./m2c copy ssh [USERNAME@]HOSTNAME \
      -i PATH_TO_PRIVATE_KEY \
      -o OUTPUT_FILESYSTEM_DIR \
      --filters filters.txt
    

    gcloud

    ./m2c copy gcloud \
      -p PROJECT_ID \
      -z ZONE \
      -n VM_NAME \
      -o OUTPUT_FILESYSTEM_DIR \
      --filters filters.txt
    

Criar uma cópia local do sistema de arquivos da máquina de origem do Windows

Para máquinas de origem do Windows, é necessário copiar as imagens do disco no formato VHD ou VHDX para o processo de migração. No entanto, a CLI do Migrate to Containers não é compatível com a exportação de imagens do disco da plataforma de origem para a máquina local.

  • Para exportar um disco de instância de máquina virtual (VM) do Compute Engine, primeiro crie uma imagem do disco e, em seguida, exporte-a para a máquina local.

  • Para exportar uma imagem do Compute Engine, execute as seguintes etapas:

    1. Exporte a imagem para o Cloud Storage usando o comando gcloud compute images export:

      gcloud compute images export \
        --export-format vhdx \
        --destination-uri DESTINATION_URI \
        --image IMAGE_NAME
      

      Substitua:

      • DESTINATION_URI: o destino de URI do Cloud Storage para o arquivo de imagem exportado.
      • IMAGE_NAME: o nome da imagem de disco a ser exportada.
    2. Faça o download da imagem na máquina local:

      gsutil cp DESTINATION_URI LOCAL_PATH
      

      Substitua:

      • DESTINATION_URI: o destino de URI do Cloud Storage do arquivo de imagem exportado
      • LOCAL_PATH: o caminho para a pasta local em que você quer fazer o download da imagem

    Para mais informações, consulte Exportar uma imagem personalizada para o Cloud Storage.

  • Para mais informações sobre como exportar imagens do Amazon EC2, consulte Como exportar uma instância como uma VM usando Importação/Exportação de VM.

  • Para mais informações sobre como exportar imagens do Azure Cloud Compute, consulte Fazer o download de um VHD Windows do Azure.

  • Para exportar imagens do disco da VM do VMware, primeiro conclua as etapas para exportar uma imagem para um arquivo VMDK. Em seguida, converta o arquivo VMDK em um arquivo VHD usando ferramentas de terceiros, como qemu-img.

A seguir