Problemas com a CLI do Migrate to Containers
Neste documento, descrevemos soluções alternativas para alguns problemas que podem ser encontrados ao trabalhar com a CLI do Migrate to Containers.
Falha na operação de cópia devido a erros de permissão
Para ter acesso de leitura em todo o sistema de arquivos, o comando copy
é executado usando um superusuário na máquina de origem. No entanto, às vezes, a operação de cópia ainda falha devido a erros de permissão. Esse problema acontece porque, em alguns casos, até mesmo o superusuário não tem acesso de leitura a alguns diretórios na máquina de origem.
Nesses casos, pode aparecer uma mensagem de erro semelhante a esta:
E rsync rsync: send_files failed to open "/var/lib/lxcfs/cgroup/blkio/blkio.reset_stats": Permission denied (13)
...
E rsync rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1865) [generator=3.2.7]
Error: failed to copy fs from GCP VM "petclinic-springboot": failed copying vm to "/tmp/copy-1411243774": exit status 23
Uma solução alternativa para esse problema é criar um filtro personalizado para excluir esses diretórios da operação de cópia.
Por exemplo, para excluir o diretório /var/lib/lxcfs
da operação de cópia, adicione o seguinte filtro personalizado no arquivo de filtros:
- /var/lib/lxcfs
Para mais informações, consulte Reduzir o tamanho do sistema de arquivos copiado.
Falha na autenticação da operação de cópia usando o gcloud
Se você usar o gcloud
para executar o comando copy
com sudo
, em alguns casos, a operação de cópia talvez não seja autenticada na máquina de origem. Esse problema acontece porque o gcloud
é executado com o mesmo superusuário que executa a CLI do Migrate to Containers, e o superusuário não tem as mesmas credenciais que o usuário padrão.
Nesses casos, pode aparecer uma mensagem de erro semelhante a esta:
E ssh init ERROR: (gcloud.compute.ssh) There was a problem refreshing your current auth tokens: ('Failed to retrieve TOKEN from the Google Compute Engine metadata service. Status: 404 Response:\nb\'"No service account scopes specified."\'', <google.auth.transport.requests._Response object at 0x7fecf5c75550>)
E ssh init Please run:
E ssh init
E ssh init $ gcloud auth login
E ssh init
E ssh init to obtain new credentials.
E ssh init
E ssh init If you have already logged in with a different account:
E ssh init
E ssh init $ gcloud config set account ACCOUNT
E ssh init
E ssh init to select an already authenticated account to use.
Error: failed to initiate a connection with GCP VM "tomcat-server": exit status 1
Uma solução alternativa para esse problema é tentar executar o comando copy
usando o gcloud
sem sudo
.
Falha no comando analyze
ao usar a versão Snap do Docker
Se você usar a versão Snap do Docker, o comando analyze
falhará.
Nesses casos, pode aparecer uma mensagem de erro semelhante a esta:
I Unpacking file system...
I Running analysis...
Error: running analysis failed: failed to run container: Error response from daemon: invalid mount config for type "bind": bind source path does not exist: PATH
Uma solução alternativa para esse problema é instalar o Docker novamente sem usar Snap. Para mais informações, consulte Instalar o Docker Engine.