Copie o sistema de ficheiros da máquina de origem

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

Esta página descreve os passos necessários para copiar o sistema de ficheiros da máquina de origem, juntamente com algumas especificações para reduzir o tamanho do sistema de ficheiros copiado.

Crie uma cópia local do sistema de ficheiros da máquina de origem Linux

A CLI Migrate to Containers suporta o acesso a máquinas de origem através de uma ligação SSH direta ou da utilização de gcloud.

SSH direto

Para copiar através do acesso SSH direto, execute o seguinte comando:

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

Substitua o seguinte:

  • USERNAME: o seu nome de utilizador
  • HOSTNAME: o nome do anfitrião
  • PATH_TO_PRIVATE_KEY: o caminho para a chave privada
  • OUTPUT_FILESYSTEM_DIR: o caminho para o diretório de saída no seu computador local onde quer copiar o sistema de ficheiros do computador 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 o seguinte:

  • PROJECT_ID: o ID do projeto
  • ZONE: a zona da sua VM
  • VM_NAME: o nome da VM de origem
  • OUTPUT_FILESYSTEM_DIR: o caminho para a saída do diretório na sua máquina local onde quer copiar o sistema de ficheiros da máquina de origem

Se o computador de origem não tiver um IP público, pode fazer uma das seguintes ações:

  • Se estiver a executar a CLI Migrate to Containers a partir de uma máquina na mesma rede interna, use a flag --internal-ip.
  • Se estiver a executar numa rede diferente, use a flag --tunnel-through-iap.

Para mais informações sobre estas flags, consulte a documentação do gcloud.

Após a conclusão da cópia, é disponibilizada uma cópia do sistema de ficheiros da máquina de origem no diretório de saída especificado.

Reduza o tamanho do sistema de ficheiros copiado

Consoante o computador de origem, o sistema de ficheiros copiado pode ser muito grande. Quanto maior for a cópia, mais tempo demora a conclusão de cada operação e, se não houver espaço suficiente, a operação de cópia falha.

A CLI Migrate to Containers aplica filtros para reduzir o tamanho da cópia, mas, com o conhecimento dado do componente da aplicação, pode modificar os filtros para reduzir ainda mais o tamanho da cópia.

Quando executar novamente o comando copy com os filtros modificados, o conteúdo do diretório de saída é atualizado de acordo com as alterações que aplicou no ficheiro de filtro.

Para modificar os filtros predefinidos, siga estes passos:

  1. Obtenha uma lista dos filtros predefinidos:

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

  3. Use a flag --filters para especificar o ficheiro 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
    

Crie uma cópia local do sistema de ficheiros da máquina de origem do Windows

Para máquinas de origem Windows, tem de copiar as imagens de disco no formato VHD ou VHDX para o processo de migração. No entanto, a CLI Migrate to Containers não suporta a exportação de imagens de disco da plataforma de origem para a sua máquina local.

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

  • Para exportar uma imagem do Compute Engine, siga estes passos:

    1. Exporte a imagem para o Cloud Storage através do comando gcloud compute images export:

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

      Substitua o seguinte:

      • DESTINATION_URI: o URI do Cloud Storage de destino do ficheiro de imagem exportado.
      • IMAGE_NAME: o nome da imagem do disco a exportar.
    2. Transfira a imagem para a sua máquina local:

      gcloud storage cp DESTINATION_URI LOCAL_PATH
      

      Substitua o seguinte:

      • DESTINATION_URI: o URI do Cloud Storage de destino do ficheiro de imagem exportado
      • LOCAL_PATH: o caminho para a pasta local onde quer transferir a imagem

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

  • Para mais informações sobre a exportação de imagens do Amazon EC2, consulte o artigo Exportar uma instância como uma MV através da Importação/Exportação de VMs.

  • Para mais informações sobre a exportação de imagens do Azure Cloud Compute, consulte o artigo Transfira um VHD do Windows a partir do Azure.

  • Para exportar imagens de disco de VMs VMware, primeiro conclua os passos para exportar uma imagem para um ficheiro VMDK. Em seguida, converta o ficheiro VMDK num ficheiro VHD através de ferramentas de terceiros, como o qemu-img.

O que se segue?