Como usar a ferramenta de descoberta do Linux

O Migrate for Anthos and GKE traz uma ferramenta de autoatendimento que é executada em uma carga de trabalho da VM do Linux para determinar a adequação dela para migração a um contêiner.

A ferramenta gera um relatório que descreve os resultados da análise da VM que descreve todos os problemas que precisam ser resolvidos antes da migração e uma avaliação geral de compatibilidade:

  • Compatibilidade excelente.
  • Uma boa opção com trabalho manual.
  • Requer trabalho menor antes da migração.
  • Precisa de trabalho moderado antes da migração.
  • Precisa de maior trabalho antes da migração.
  • Sem compatibilidade.

Consulte Como calcular a avaliação de compatibilidade para uma descrição de como a ferramenta determina a avaliação geral de compatibilidade de uma VM.

Como funciona a ferramenta

A ferramenta de descoberta do Linux opera em duas fases distintas:

  • Fase de coleta: um script bash chamado m4a-fit-collect.sh coleta informações sobre a VM do Linux a ser migrada e grava os dados coletados em um arquivo .tar. Uma cópia dos dados permanece no sistema de arquivos da VM para uso posterior durante a migração.

  • Fase de análise: a ferramenta m4a-fit-analysis analisa o resultado da fase de coleta, aplica um conjunto de regras e cria uma avaliação de compatibilidade, além de um relatório detalhado que descreve as descobertas da ferramenta. Você pode ver o relatório como um arquivo HTML ou como um arquivo JSON.

É possível executar as ferramentas de coleta e análise na mesma VM. No entanto, se você tiver várias VMs, poderá, em vez disso, executar a ferramenta de coleta em cada VM separadamente e, em seguida, fazer upload do arquivo .tar de cada VM em uma única máquina para análise. A ferramenta m4a-fit-analysis pode processar vários arquivos .tar de uma vez para gerar uma avaliação e uma análise de compatibilidade para cada VM.

Integração com migração de carga de trabalho

Os dados obtidos pela ferramenta de descoberta do Linux sobre uma VM de origem durante a fase de coleta podem ser usados pelo Migrate for Anthos and GKE para gerar partes do plano de migração da VM.

Por exemplo, os dados coletados pela ferramenta de descoberta Linux são usados para descobrir informações sobre os endpoints do serviço expostos pela VM migrada. Portanto, execute a ferramenta em uma VM de origem se quiser preencher automaticamente as informações sobre os endpoints do Serviço. Consulte Como personalizar endpoints de serviço para mais informações.

Ver o relatório de avaliações do fit

Para ver o resultado detalhado do relatório pela ferramenta m4a-fit-analysis, é possível:

  • Abrir o arquivo HTML em um navegador
  • Faça upload do arquivo JSON no Console do Google Cloud

Ver a saída HTML

Abra o arquivo HTML em um navegador para ver o relatório. A imagem a seguir mostra a saída HTML da ferramenta para avaliação de uma VM chamada "my-vm":

A saída HTML do LDT.

Em que:

  • A tabela contém uma linha para cada VM analisada, incluindo um link para detalhes sobre a VM.

  • As colunas Data da coleta de dados, SO identificado, pontuação de adequação M4A e Tipo de carga de trabalho contêm informações resumidas sobre a VM e os resultados da análise.

  • A coluna Informações adicionais contém um link para detalhes sobre cada VM, incluindo informações como portas de escuta, pontos de montagem, pontos de montagem NFS e outras informações.

  • Cada coluna de regra mostra o ID e a descrição da regra, por exemplo, "A1-STO-1: A montagem de rede não é compatível", e os resultados da aplicação de uma regra à VM. Um valor de:

    • Não detectado significa que a regra não detectou problemas de migração.
    • Detectado significa que a regra detectou um problema de migração para a VM. Clique em Detectado para ver os detalhes de saída da regra.

Faça upload do arquivo JSON no Console do Google Cloud

Para visualizar o relatório no Console do Google Cloud:

  1. Abra a página do Migrate for Anthos and GKE no Console do Google Cloud.

    Acessar a página "Migrar para contêineres"

  2. Selecione a guia Ajustar avaliação.

  3. Selecione Procurar e, em seguida, selecione o arquivo JSON para upload.

  4. Selecione Abrir para ver o relatório.

    O relatório exibe estas seções:

    • Os campos Preparado por, Data da avaliação e Ferramenta de avaliação de adequação contêm informações resumidas sobre o relatório.
    • A área Detalhamento da jornada de migração é exibida:
      • Número total de VMs analisadas
      • Número de VMs prontas para migrar ou contentorização.
      • Número de VMs não prontas para migrar.
    • Uma linha para cada VM analisada, incluindo a avaliação adequada para a VM.
  5. Na tabela VMs avaliadas, selecione o nome de uma VM para visualizar detalhes sobre ela, incluindo informações como portas de detecção, pontos de montagem, pontos de montagem do NFS e outras informações.

    Para a VM selecionada, você também verá cada descrição e ID de regra, bem como o resultado da aplicação da regra:

    A saída do Console do LDT.

Pré-requisitos

A ferramenta de descoberta do Linux tem os seguintes pré-requisitos:

  • A VM de destino que está sendo avaliada precisa estar em execução para garantir que aplicativos, processos e portas abertas sejam detectáveis.

  • Na máquina usada para executar a ferramenta de análise, o m4a-fit-analysis, precisa executar a versão do kernel do Linux posterior à 2.6.23.

  • Execute o script de coleta como sudo.

Como instalar e executar a ferramenta

É necessário fazer o download do script de coleta e da ferramenta de análise. É possível restringir:

  • fazer o download das duas ferramentas para uma única VM.
  • Se tiver várias VMs, fazer o download do script de coleta para cada VM de carga de trabalho e, em seguida, fazer o upload dos dados coletados em uma máquina central para análise pela ferramenta de análise.

Para avaliar uma VM:

  1. Faça login na VM.

  2. Crie um diretório para o script de coleta e para a ferramenta de análise:

    mkdir m4a
    cd m4a
  3. Faça o download do script de coleta para a VM e torne-o executável:

    wget https://anthos-migrate-release.storage.googleapis.com/v1.8.1/linux/amd64/m4a-fit-collect.sh
    chmod +x m4a-fit-collect.sh
  4. Faça o download da ferramenta de análise para a VM e torne-a executável:

    wget https://anthos-migrate-release.storage.googleapis.com/v1.8.1/linux/amd64/m4a-fit-analysis
    chmod +x m4a-fit-analysis
  5. Execute o script de coleta na VM:

    sudo ./m4a-fit-collect.sh

    O script gera um arquivo .tar denominado m4a-collect-machinename-timestamp.tar para o diretório atual e para /var/m4a/m4a-collect-timestamp.tar.

    O carimbo de data/hora está no formato YYYY-MM-DD-hh-mm. Consulte Coletar operação de script para ver uma descrição do formato do arquivo .tar.

    Observação: se você instalou a ferramenta de análise em uma máquina central, faça o upload do arquivo .tar nessa máquina para processamento.

  6. Execute a ferramenta de análise no arquivo .tar:

    ./m4a-fit-analysis m4a-collect-machinename-timestamp.tar

    A ferramenta gera dois arquivos para o diretório atual:

    • Um arquivo HTML chamado analysis-report-timestamp.html. O carimbo de data/hora está no formato YYYY-MM-DD-hh-mm. Visualize esse arquivo em um navegador para examinar o relatório.

    • Um arquivo JSON chamado analysis-report-timestamp.json contendo um formato JSON da saída. É possível usar o arquivo como entrada no Console do Google Cloud.

    Os arquivos de saída contêm informações sobre a análise, inclusive a avaliação de adequação. Consulte formato do arquivo de relatório para mais informações.

    Para executar a ferramenta de análise em vários arquivos .tar, use o comando:

    $ ./m4a-fit-analysis tarFile1 tarFile2 tarFile3 ...

    A ferramenta gera uma única linha para os arquivos de saída de cada arquivo .tar de entrada. No relatório, você pode identificar cada VM pelo nome do host, o que significa que o valor retornado executa o comando hostname na VM.

    Use a opção --verbosity para controlar a saída da ferramenta. As opções incluem: panic, fatal, error(padrão), warning, info, debug e trace.

  7. Abra analysis-report-timestamp.html em um navegador para ver o relatório. Consulte Operação da ferramenta de análise para ver uma descrição do formato do arquivo.

Coletar operação de script

O script de coleta executa uma série de comandos do Linux para coletar informações sobre a VM de origem, além de informações de vários arquivos na VM.

As seções a seguir descrevem a operação do script. Também é possível examinar o script em um editor de texto para ver informações mais detalhadas.

Comandos de script

O script executa os seguintes comandos do Linux:

Comando Descrição
netstat -tlnp Listar todas as portas de detecção ativas
ps -o pid,user,%mem,comm,args -e Lista de todos os processos do usuário em execução
dpkg -l Listar pacotes instalados (baseado em debian)
rpm -qa Lista de pacotes instalados (baseado em rpm)
sestatus Acesse o status do SELinux
lsmod Consiga os módulos do kernel carregados
systemctl Listar serviços em execução (baseado em SystemD)
service --status-all Listar serviços em execução (baseado em Init.d /Upstart)
lsof /dev / Listar alças abertas em arquivos e dispositivos de hardware
docker ps Listar contêineres do Docker em execução
ip addr Listar endereços IP atribuídos a NICs
ifconfig Mostrar configurações de NIC e IPs atribuídos
blkid Listar atributos de bloqueio de dispositivos
lsblk --json -p --output NAME,PARTFLAGS,PARTTYPE,UUID,LABEL,FSTYPE" Listar dispositivo de transferência por blocos

Arquivos coletados

O script copia os seguintes arquivos para o arquivo .tar gerado:

Caminho Descrição
/etc/fstab Lista de ativações a serem ativadas na inicialização
/etc/hosts

/etc/resolv.conf

/etc/hostname

/etc/HOSTNAME

/proc/sys/kernel/hostname

Aliases para hosts e dados DNS
/etc/issue

/etc/*-release

O nome da distribuição Linux
/etc/network/interfaces

/etc/dhcp/dhclient-up-hooks

/etc/NetworkManager/conf.d/*

/etc/systemd/resolved.conf

/etc/sysconfig/network-scripts/*

/etc/sysconfig/network/*

As interfaces configuradas
/proc/cpuinfo Informações sobre a CPU
/proc/meminfo O uso/total da memória atual na VM
/proc/self/mounts Os dispositivos ativados no momento
/etc/exports Lista de exportações NFS
/opt/IBM/WebSphere/AppServer/properties/version/installed.xml Versão da Websphere (quando instalada no padrão)
/opt/IBM/WebSphere/AppServer/properties/version/WAS.product Informações da Websphere (quando instaladas por padrão)
/sys/class/net/* Informações da placa de rede (NIC)

Diretórios examinados

O script pesquisa os seguintes diretórios, com uma profundidade de dois, para localizar os diretórios de utilitários e software instalados:

  • /opt/
  • /usr/share/
  • /etc/
  • /usr/sbin/
  • /usr/local/bin/

Coletar o formato do arquivo .tar

O script m4a-fit-collect.sh gera um arquivo .tar denominado m4a-collect-machinename-timestamp.tar para o diretório atual e para /var/m4a/m4a-collect-timestamp.tar.

Embora não seja obrigatório, você tem a opção de expandir o arquivo .tar usando o comando:

tar xvf m4a-collect-machinename-timestamp.tar

O arquivo .tar tem o seguinte formato:

collect.log # Log output of the script
files # Directory containing files with their full path from root. For example:
   |- etc/fstab
   |- etc/hostname
   |- etc/network/interfaces
   |- ...
commands # Output of commands run by the script:
   |- dpkg
   |- netstat
   |- ps
   |- ...
found_paths # Text file with the list of installation directories
machinename # Text file with machine name
ostype # Text file with operating system type (Linux)
timestamp # Text file with collection timestamp
version # Text file with version number of the script

Analise a operação da ferramenta

A ferramenta de análise examina o conteúdo do arquivo .tar em uma VM, aplica um conjunto de regras e gera os seguintes arquivos de relatório que contêm os resultados da avaliação e da análise de compatibilidade:

  • um arquivo HTML denominado analysis-report-timestamp.html para o diretório atual. O carimbo de data/hora está no formato YYYY-MM-DD-hh-mm.

  • Um arquivo JSON chamado analysis-report-timestamp.json contendo um formato JSON da saída. É possível usar o arquivo JSON como entrada no Console do Google Cloud.

Como calcular a avaliação adequada

Uma violação de regra detectada pela ferramenta afeta a avaliação final de adequação, em que cada regra tem a própria gravidade predefinida. Por exemplo, a ferramenta detecta que o SELinux está ativado na VM, correspondente à regra A1-STO-3: SELinux aplicado. Essa regra tem uma gravidade "Precisa de trabalho moderado antes da migração" para que a avaliação final da ferramenta seja "Precisa de trabalho moderado antes da migração".

Se a ferramenta detectar várias violações, somente a regra com a maior gravidade será aplicada à avaliação final de compatibilidade. Por exemplo, duas violações de regras são detectadas:

  • Um sistema de arquivos incompatível foi detectado, regra A1-STO-2: sistema de arquivos incompatível, com gravidade "Sem ajuste".

  • O SELinux ativado é detectado com uma gravidade de "Precisa de trabalho moderado antes da migração".

A ferramenta retorna apenas a avaliação de compatibilidade associada à mais grave das duas regras. Portanto, retorna "Sem compatibilidade".

Denunciar conteúdo

O relatório contém as seguintes informações para cada VM:

Campo Descrição
Nome da VM O nome da VM.
Data da coleta de dados O carimbo de data/hora da análise.
SO identificado O sistema operacional que é sempre Linux.
Avaliação de adequação A avaliação de compatibilidade. Consulte para mais informações sobre como interpretar esta avaliação.
Tipo de carga de trabalho

Se detectado, mostra o IBM WebSphere aqui.

Mais informações

Resumo das informações sobre a VM, incluindo:

  • Portas de detecção encontradas na VM.
  • Detectações de disco montados na VM.
  • Pontos de montagem do NFS na VM.

O relatório também contém os resultados da aplicação de cada regra à VM:

Código da regra Descrição Gravidade Observações
A1-STO-1 Montagem de rede incompatível. Se /etc/fstab ou /proc/self/mounts tiver ativações de rede, será preciso adicionar manualmente os volumes CSI ao plano de migração. Opção adequada Consulte Como ativar volumes externos para mais informações sobre como anexar volumes NFS/CIFS ao YAML de implantação.
A1-STO-2 Sistema de arquivos incompatível. Sem compatibilidade Não é possível migrar cargas de trabalho com um sistema de arquivos incompatível.
A1-STO-3 SELinux aplicado na VM. O SELinux não funciona bem em contêineres aninhados, de modo que a recomendação é desativá-lo antes da migração. Precisa de trabalho moderado Desative o SELinux ou aplique manualmente um perfil do apparmor antes da migração.
A1-STO-4-5

Compartilhamento de NFS exportado. Um arquivo de exportação NFS foi detectado e o módulo do kernel do servidor NFS foi carregado.

Duas regras são aplicadas, e cada uma retorna uma gravidade diferente:

  • A1-STO-4: servidor NFS detectado: precisa de esforço moderado
  • A1-STO-5: servidor NFS detectado e tipo de carga de trabalho é servidor da Web: precisa de pouco esforço
Consulte a descrição Migre os servidores NFS para o Cloud Filestore.
A1-NET-1-3

Foi encontrado um listener no endereço IP não 0.0.0.0, o que significa que uma vinculação a uma interface de rede específica foi detectada. Se houver portas sendo detectadas em uma NIC específica (e não 0.0.0.0, * ou loopback), isso geralmente significa que há uma configuração de várias NICs.

Três regras são aplicadas, e cada uma retorna uma gravidade diferente:

  • A1-NET-1: um IP detectado: adequado
  • A1-NET-2: dois ou mais IPs detectados: precisa de pequenas melhorias
  • A1-NET-3: dois ou mais IPs foram detectados na mesma porta: precisam de trabalho moderado
Consulte a descrição Atualize a VM para detectar uma placa de rede (NIC, na sigla em inglês) porque o Migrate for Anthos and GKE é compatível somente com uma NIC.
A1-NET-4

Encontramos uso de várias NICs. A ferramenta ignora dispositivos virtuais, correspondentes a symlinks e dispositivos inativos, de acordo com /sys/class/net/DEVICE/operstate.

Os detalhes do relatório listam todos os NICs detectados.

Precisa de esforço moderado

A existência de várias NICs na VM de origem significa que a VM usa vários endereços IP. No entanto, o GKE e o Anthos não são compatíveis com vários endereços IP. Portanto, uma VM de origem que depende de vários NICs pode não funcionar após a migração.

A1-APP-2

Execução de banco de dados dentro do contêiner. Verifique se você está executando aplicativos de banco de dados que não são adequados para migração:

  • Mysqld
  • Postgres
  • Mongodb
  • Redis-server
  • Cassandra
  • Elasticsearch
Precisa de trabalho mínimo Considere migrar para o Cloud SQL.
A1-APP-3 Docker em execução na VM. Não é possível aninhar o Docker dentro dos contêineres. Se o dockerd estiver em execução: boa compatibilidade Considere o uso do Migrate for Compute Engine ou execute os contêineres diretamente no GKE/Anthos.
A1-NET-5 Uso de hosts estáticos. Foram detectadas definições de hosts estáticos em /etc/hosts. Opção adequada Consulte Como adicionar entradas a Pod /etc/hosts com HostAliases para mais informações sobre como modificar os hosts estáticos.
A1-STO-7 Abra o dispositivo de bloqueio detectado por lsof. Sem compatibilidade Incompatível com o Migrate for Anthos and GKE.

Histórico de versões

Alterações na ferramenta do Migrate for Anthos and GKE 1.8.0

Para a versão do Migrate for Anthos and GKE 1.8.0, adicionamos novos recursos e mudamos os recursos atuais da ferramenta. A tabela a seguir descreve essas alterações:

Alterar Descrição
A avaliação da regra A1-STO-2 foi alterada. Não se atribui mais uma pontuação de adequação baixa quando forem detectados sistemas de arquivos temporários.

Alterações na ferramenta do Migrate for Anthos and GKE 1.7.5

Para a versão do Migrate for Anthos and GKE 1.7.5, adicionamos novos recursos e mudamos os recursos atuais da ferramenta. A tabela a seguir descreve essas alterações:

Alterar Descrição
Agora podem ver o relatório de avaliação de adequação no Console do Google Cloud Faça o upload do arquivo JSON para o Console do Google Cloud para visualização.
Os nomes das colunas foram alterados Os nomes das colunas no relatório gerado foram renomeados.
Várias regras de placa de rede (NIC, na sigla em inglês) adicionadas Agora a ferramenta testa várias NICs. Se for detectada, a ferramenta aplicará uma avaliação adequada de "Precisa de esforço moderado".
Mudar a avaliação de adequação da regra A1-NET-3 Se dois ou mais IPs forem detectados escutando na mesma porta, a avaliação de ajuste agora será "Precisa de trabalho moderado".

Alterações na ferramenta do Migrate for Anthos and GKE 1.7

Para a versão do Migrate for Anthos and GKE 1.7, adicionamos novos recursos e mudamos os recursos atuais da ferramenta. A tabela a seguir descreve essas alterações:

Alterar Descrição
A pontuação de compatibilidade foi removida. Na versão anterior, a pontuação de compatibilidade estava no intervalo de 0 (sem compatibilidade) a 10 (ótima compatibilidade). A pontuação foi substituída por um valor de avaliação, como mostrado acima.
O peso de todas as regras foi removido. O peso de todas as regras foi removido e substituído por um resultado da avaliação.
O formato do relatório de arquivo CSV foi substituído por um arquivo HTML e JSON. Use o arquivo HTML para visualizar o relatório em um navegador e o arquivo JSON como entrada para uma ferramenta de visualização de dados. Veja o formato do arquivo de relatório HTML para saber mais.
Local do arquivo .tar criado por m4a-fit-collect.sh Como na versão anterior, o script grava o arquivo .tar no diretório atual, mas agora também o grava em /var/m4a/m4a-collect-timestamp.tar.
Arquivo de versão adicionado ao arquivo .tar criado por m4a-fit-collect.sh O arquivo contém a versão do script.
Adição de uma nova coluna para o tipo de carga de trabalho detectada Se detectado, mostra o IBM WebSphere aqui.
Adicionamos novos campos de resumo para cada VM no relatório. Esses campos incluem portas de escuta, pontos de montagem, pontos de montagem NFS e outras informações.

A seguir