Execute uma descoberta de convidados

Este documento descreve os passos para executar os diferentes métodos de deteção de convidados que a CLI fornece.mcdc

Vista geral

A descoberta de convidados permite-lhe analisar e recolher dados sobre as aplicações em execução nas suas máquinas, o que inclui instâncias de máquinas virtuais (VM) e servidores físicos. Também recolhe dados sobre a configuração da máquina, o hardware, a rede, bem como ficheiros, serviços e processos abertos.

Para máquinas executadas em plataformas para as quais a CLI do cliente de descoberta do Migration Center não suporta a descoberta de inventário, como VMs executadas no Azure ou máquinas executadas no local, bem como para uma avaliação completa de VMs executadas no VMware e na AWS, pode executar uma descoberta de convidados. A deteção de convidados usa um script de recolha de convidados para recolher dados sobre a máquina e escreve esses dados num ficheiro tar de recolha de convidados para máquinas Linux ou num ficheiro zip para máquinas Windows.

A máquina que aloja a CLI carrega o script para a máquina de destino, executa-o e, em seguida, transfere os resultados.mcdc Pode executar o script localmente na máquina de destino ou executá-lo remotamente. Consoante a sua infraestrutura, pode optar por usar a mcdcCLI das seguintes formas:

  • Para VMs Linux e Windows implementadas no VMware, a CLI mcdc suporta a execução remota com o comando discover vsphere.
  • Para máquinas Linux acessíveis através da CLI mcdc, pode fazer uma deteção remota através de SSH com o comando discover ssh.
  • Para máquinas Windows acessíveis através da CLI mcdc, pode executar uma deteção remota através da Windows Management Instrumentation (WMI) com o comando discover wmi.
  • Para máquinas Linux e Windows sem ligação à CLI, pode transferir e executar os scripts de recolha de convidados localmente e, em seguida, importar manualmente os dados recolhidos para a máquina que aloja a CLI.mcdcmcdc

O script de recolha de convidados executa uma série de comandos para recolher informações sobre a máquina de origem e também recolhe informações de vários ficheiros na máquina.

Antes de começar

  1. Reveja os requisitos para transferir e executar a CLI mcdc.
  2. Reveja os requisitos para transferir e executar os scripts de recolha de convidados.
  3. Conclua os passos para transferir a CLI mcdc.

Recolha dados remotamente através das ferramentas VMware

Para VMs alojadas no vSphere, a CLI mcdc pode usar as ferramentas VMware para implementar e executar os scripts de recolha remotamente em VMs Linux e Windows. Quando usa as ferramentas VMware, a ferramenta de CLI mcdcfaz o seguinte:

  • Carrega o script de recolha para a VM.
  • Executa o script na VM.
  • Transfere e importa os resultados.

São necessários dois conjuntos de credenciais para recolher dados remotamente:

  • O nome de utilizador do servidor vCenter transmitido à CLI mcdc para estabelecer ligação ao vSphere, que tem de ter os seguintes privilégios na VM:
    • Modificações ao funcionamento de convidados
    • Execução do programa de operações de convidados
    • Consultas de funcionamento de convidados
  • Credenciais do utilizador para a VM:
    • No Windows, tem de ter privilégios de administrador.
    • No Linux, o acesso de raiz não é necessário, mas permite que a CLI recolha os dados necessários para uma avaliação completa.mcdc

Para recolher dados através das ferramentas VMware, siga estes passos:

  1. Inicie sessão na VM do Linux que aloja a CLI mcdc.
  2. Mude para o diretório onde transferiu a CLI mcdc.
  3. Certifique-se de que a VM está ligada.
  4. Execute a descoberta de convidados:

    Linux

    ./mcdc discover vsphere guest --url https://VSPHERE_URL -u VCENTER_USER --vm-user VM_USER VM_ID

    Windows

    mcdc.exe discover vsphere guest --url https://VSPHERE_URL -u VCENTER_USER --vm-user VM_USER VM_ID

    Substitua o seguinte:

    • VCENTER_USER: o utilizador do servidor vCenter
    • VM_USER: o utilizador da VM
    • VM_ID: o nome da VM ou do MOREF
  5. Quando lhe for pedido, introduza a palavra-passe do VCENTER_USER e do VM_USER.

Para recolher dados de várias VMs do vSphere em paralelo através das ferramentas VMware, siga estes passos:

  1. Inicie sessão na VM do Linux que aloja a CLI mcdc.
  2. Mude para o diretório onde transferiu a CLI mcdc.
  3. Certifique-se de que todas as VMs estão ligadas.
  4. Execute a descoberta de convidados:

    Linux

    ./mcdc discover vsphere guest all --url https://VSPHERE_URL -u VCENTER_USER --vm-user VM_USER --timeout TIMEOUT_IN_SECONDS

    Windows

    mcdc.exe discover vsphere guest all --url https://VSPHERE_URL -u VCENTER_USER --vm-user VM_USER --timeout TIMEOUT_IN_SECONDS

    Substitua TIMEOUT_IN_SECONDS pelo tempo limite em segundos.

    Opcionalmente, limite a deteção apenas a VMs do Windows ou Linux através da flag --os-family ou altere o nível de paralelismo através da flag --max-parallelism.

  5. Quando lhe for pedido, introduza a palavra-passe para VCENTER_USER e VM_USER.

  6. Também pode restringir a deteção a VMs específicas através da flag --path, conforme descrito para o VMware em Execute uma deteção de inventário.

Pode exportar e avaliar estes dados recolhidos online no centro de migração ou executar uma avaliação offline.

Recolha dados remotamente através de SSH

Se a máquina que aloja a CLI mcdc tiver acesso SSH à máquina Linux de destino (as máquinas Windows não são suportadas), a CLI mcdc pode estabelecer ligação à máquina de destino através de SSH para recolher dados.

Quando usa o SSH, a CLI mcdc faz o seguinte:

  1. Carrega o script de recolha para o computador.
  2. Executa o script na máquina com as credenciais do utilizador da máquina transmitidas para a CLI mcdc.

  3. Transfere e importa os resultados.

Modos SSH suportados

Se estiver a usar a CLI mcdc numa máquina Linux, pode usar dois modos para executar o SSH:

  • Predefinição: usa o ficheiro binário ssh e as configurações na máquina da CLI mcdc. O modo predefinido pode usar os ficheiros de configuração SSH locais por predefinição, como ~/.ssh/config e ~/.ssh/known_hosts, da estação de trabalho que o aloja.

    Introduza a palavra-passe quando lhe for pedido ou use sshpass para transmitir a palavra-passe do ficheiro de chave privada na linha de comandos. Por exemplo:

    sshpass -p password mcdc discover ssh IP_ADDRESS
    

    Substitua IP_ADDRESS pelo endereço IP do computador.

  • Incorporado: usa a biblioteca SSH integrada. Este modo permite-lhe usar o cliente SSH incorporado se o modo predefinido não funcionar corretamente no seu ambiente. No entanto, não usa os ficheiros de configuração SSH locais por predefinição. Pode usar a flag -i para especificar um ficheiro de chave privada SSH.

Se estiver a usar a CLI mcdc num computador Windows, apenas o modo incorporado é suportado.

Executar a coleção

Para recolher dados através de SSH, siga estes passos:

  1. Inicie sessão na máquina Linux que aloja a CLI mcdc.
  2. Mude para o diretório onde transferiu a CLI mcdc.
  3. Recolha dados.

    Linux

    ./mcdc discover ssh IP_HOSTNAME

    Windows

    mcdc.exe discover ssh IP_HOSTNAME

    Para descobrir e recolher recursos de bases de dados, use a flag --db-engine:

    Linux

    ./mcdc discover ssh IP_HOSTNAME --db-engine=DB_ENGINE

    Windows

    mcdc.exe discover ssh IP_HOSTNAME --db-engine=DB_ENGINE

    Substitua o seguinte:

    • IP_HOSTNAME: o nome de anfitrião do IP da máquina.
    • DB_ENGINE: o motor da base de dados a recolher. Os valores suportados são sqlserver, mysql e postgresql.
  4. O ficheiro de chave privada SSH do utilizador que invoca a CLI mcdc é usado para a autenticação SSH.

    Quando lhe for pedido, introduza o nome de utilizador de uma conta na máquina Linux. O script de recolha é executado com estas credenciais. Se a chave privada SSH do utilizador que invoca a CLI mcdc não conseguir autenticar-se na máquina com o nome de utilizador, também lhe é pedida uma palavra-passe.

Cenários adicionais quando usa SSH

Veja os seguintes cenários em que pode ter de modificar o comando:

  • Para especificar o utilizador da máquina com o modo predefinido, use a flag -u:

    Linux

    ./mcdc discover ssh -u USER IP_HOSTNAME

    Windows

    mcdc.exe discover ssh -u USER IP_HOSTNAME

    Substitua USER pelo utilizador da máquina.

    Quando lhe for pedido, introduza a palavra-passe do utilizador.

  • Para especificar o modo detalhado, use a flag -v:

    Linux

    ./mcdc discover ssh -u USER -v IP_HOSTNAME

    Windows

    mcdc.exe discover ssh -u USER -v IP_HOSTNAME

  • Para especificar o ficheiro de chave privada SSH, use a flag -i. Por exemplo, para especificar .ssh/my_private_key:

    Linux

    ./mcdc discover ssh -i ~/.ssh/my_private_key -u USER IP_HOSTNAME

    Windows

    mcdc.exe discover ssh -i ~/.ssh/my_private_key -u USER IP_HOSTNAME

  • Para especificar a palavra-passe na linha de comandos, use o modo incorporado:

    Linux

    ./mcdc discover ssh --ssh-client embedded -u USER --passphrase PASSWORD IP_HOSTNAME

    Windows

    mcdc.exe discover ssh --ssh-client embedded -u USER --passphrase PASSWORD IP_HOSTNAME

    Uma vez que a forma incorporada do comando não usa os ficheiros de configuração SSH locais por predefinição, certifique-se de que o utilizador especificado no comando consegue aceder à máquina através de SSH e tem privilégios na máquina para executar o script de recolha.

  • Para especificar o ficheiro de chave privada SSH com o modo incorporado, use a flag -i:

    Linux

    ./mcdc discover ssh --ssh-client embedded -i ~/.ssh/id_rsa -u USER --password PASSWORD IP_HOSTNAME

    Windows

    mcdc.exe discover ssh --ssh-client embedded -i ~/.ssh/id_rsa -u USER --password PASSWORD IP_HOSTNAME

  • O comando da CLI mcdc permite-lhe especificar a maioria das flags SSH. Em seguida, passa estas flags para o comando ssh através da flag -a ou --ssh-args. Por exemplo, para usar um proxy SOCKS:

    Linux

    ./mcdc discover ssh -u USER -a '-o' -a 'ProxyCommand=nc -X 5 -x 127.0.0.1:proxy port %h %p' IP_HOSTNAME

    Windows

    mcdc.exe discover ssh -u USER -a '-o' -a 'ProxyCommand=nc -X 5 -x 127.0.0.1:proxy port %h %p' IP_HOSTNAME

Pode exportar e avaliar estes dados recolhidos online no centro de migração ou executar uma avaliação offline.

Recolha dados remotamente através da WMI

Se quiser realizar uma deteção de convidados numa máquina Windows de destino com suporte de WMI, pode usar o comando mcdc discover wmi na máquina Windows que aloja a CLI mcdc. A recolha de WMI é suportada apenas na versão do Windows da CLI mcdc.

Quando usa a WMI, a CLI mcdc faz o seguinte:

  1. Carrega o script de recolha para o computador.
  2. Executa o script no computador com as credenciais do utilizador do computador transmitidas para a CLI mcdc.

  3. Transfere e importa os resultados.

Para recolher dados através da WMI, siga estes passos:

  1. Inicie sessão no computador Windows que aloja a CLI mcdc.
  2. Mude para o diretório onde transferiu a mcdc CLI.
  3. Recolha dados:

    mcdc.exe discover wmi IP_HOSTNAME
    

    Substitua IP_HOSTNAME pelo nome do anfitrião IP do computador.

  4. Introduza as suas credenciais quando lhe for pedido.

Recolha dados numa máquina Linux individual

Para realizar uma recolha de convidados localmente numa máquina Linux, pode executar o script mcdc-linux-collect.sh. Em seguida, pode copiar o ficheiro TAR gerado pelo script para a máquina que aloja a CLI mcdc e importá-lo com o comando discover import.

Normalmente, executa o script especificando a opção sudo. Opcionalmente, pode executar o script usando os privilégios do utilizador que executa a CLI mcdc. No entanto, o script pode não conseguir recolher todos os dados necessários.

  1. Inicie sessão na máquina.
  2. Mude para o diretório onde transferiu o script de recolha de convidados.
  3. Execute o script de recolha na máquina:

    sudo ./mcdc-linux-collect.sh
    

    O script gera um ficheiro TAR denominado mcdc-collect-MACHINE_NAME-TIMESTAMP.tar no diretório atual. A data/hora está no formato YYYY-MM-DD-hh-mm.

    Clique para ver o formato de ficheiro TAR da coleção de convidados

    O ficheiro 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 the version of the script
     

    Opcionalmente, pode transmitir o argumento --output e especificar o caminho onde quer guardar o ficheiro TAR.

  4. Copie os dados recolhidos da máquina de destino para a máquina anfitriã.

  5. Importe os dados recolhidos no computador anfitrião:

    Linux

    ./mcdc discover import PATH_TO_TAR

    Windows

    mcdc.exe discover import PATH_TO_TAR

    Substitua PATH_TO_TAR pelo caminho para o ficheiro TAR.

Pode exportar e avaliar estes dados recolhidos online no centro de migração ou executar uma avaliação offline.

Recolha dados num computador Windows individual

Para realizar uma recolha de convidados localmente numa máquina Windows, pode executar o script mcdc-windows-collect.ps1. Em seguida, pode copiar o ficheiro ZIP gerado pelo script para a máquina que aloja a CLI mcdc e importá-lo com o comando discover import.

  1. Inicie sessão na máquina.
  2. Abra o PowerShell através da opção Executar como administrador.
  3. Mude para o diretório onde transferiu a CLI mcdc.
  4. Execute o script de recolha na máquina:

    powershell -ExecutionPolicy ByPass -File .\mcdc-windows-collect.ps1
    
  5. O script gera um ficheiro ZIP denominado mcdc-collect-MACHINE_NAME-TIMESTAMP.zip para o diretório atual.

    Opcionalmente, pode incluir um caminho de saída para especificar uma localização diferente:

    .\mcdc-windows-collect.ps1 PATH_FOR_OUTPUT.zip
    
  6. Importe os dados recolhidos no computador anfitrião:

    Linux

    ./mcdc discover import PATH_TO_TAR

    Windows

    mcdc.exe discover import PATH_TO_TAR

    Substitua PATH_TO_TAR pelo caminho para o ficheiro TAR.

Pode exportar os dados recolhidos e avaliá-los online no Migration Center ou executar uma avaliação offline.

O que se segue?