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.