Neste tutorial, vamos explicar o processo de descoberta e coleta de dados em um lote de instâncias de máquina virtual (VM) do VMware usando a descoberta de convidado da CLI do discovery client do Migration Center. Pode ser difícil monitorar grandes lotes de VMs e solucionar os problemas deles. Recomendamos criar lotes de grupos menores, com menos de 1.000.
Objetivos
Neste tutorial, você aprenderá a:
- Baixar a CLI
mcdc. - Executar uma descoberta de inventário do VMWare.
- Gerar um arquivo CSV com todas as VMs descobertas.
- Dividir o arquivo CSV em vários arquivos CSV com um subconjunto das VMs.
- Executar a descoberta de convidado em todas as VMs de um arquivo CSV.
- Gerar um relatório de avaliação off-line.
Custos
Este tutorial usa recursos locais e não gera custos no Google Cloud.
Antes de começar
Prepare uma máquina do Linux para instalar e executar a CLI
mcdc. A máquina do Linux precisa ter os seguintes requisitos mínimos:glibcversão 2.25 ou mais recente- 4 GB de RAM e 10 GB de espaço em disco
- Conectividade de rede com hosts vCenter e ESX
Você precisa ter um usuário do vSphere com as permissões abaixo:
- Privilégios de leitura para VMs
- Privilégios de leitura para todos os hosts ESX
- Modificar operação de convidado
- Executar programa de operação de convidado
- Consultas de operação de convidado
Baixar a CLI mcdc
- Acesse a máquina do Linux:
ssh MACHINE_IPSubstitua MACHINE_IP pelo endereço IP da sua máquina do Linux.
- Baixe a versão mais recente da CLI
mcdce torne-a executável:curl -O "https://mcdc-release.storage.googleapis.com/$(curl -s https://mcdc-release.storage.googleapis.com/latest)/mcdc" chmod +x mcdc
- Adicione a CLI
mcdcà variável "path" do shell:PATH=$PATH:`pwd`
Realizar uma descoberta de inventário do VMware
Execute a descoberta de inventário:
./mcdc discover vsphere -u USERNAME --url https://VSPHERE_URLSubstitua:
- USERNAME: seu nome de usuário do vCenter
- VSPHERE_URL: o URL da instância do servidor vCenter ou do cliente do vSphere
A saída do comando
discoverserá semelhante a esta:[+] Found 528 VMs Collecting data... 528 / 528 [---------------------------------------------------] 100.00% 5 p/s [✓] Collection completed.
Gerar um arquivo CSV com todas as VMs descobertas
Para gerar um arquivo CSV, use o script export no repositório do Migrate to Containers no GitHub.
O script usa o comando report para gerar um arquivo CSV contendo todas as VMs que foram descobertas na etapa anterior.
Baixe o script:
curl -O https://raw.githubusercontent.com/GoogleCloudPlatform/migrate-to-containers/main/scripts/mcdc/mcdc_discovery_export_guest_tools.sh chmod +x mcdc_discovery_export_guest_tools.shExecute o script e salve o resultado em um arquivo:
./mcdc_discovery_export_guest_tools.sh > VMS_CSV_FILESubstitua VMS_CSV_FILE pelo nome do arquivo CSV.
Dividir o arquivo CSV em vários arquivos CSV com um subconjunto das VMs
Para dividir o arquivo CSV grande em arquivos menores, use o script splitter do repositório do Migrate to Containers no GitHub.
Baixe o script:
curl -O https://raw.githubusercontent.com/GoogleCloudPlatform/migrate-to-containers/main/scripts/mcdc/csv_splitter.sh chmod +x csv_splitter.shExecute o script:
./csv_splitter.sh VMS_CSV_FILE CSV_FILES_PREFIX LINES_PER_FILE VMS_CSV_FILE CSV_FILES_PREFIXSubstitua:
- VMS_CSV_FILE: o arquivo CSV de entrada a ser dividido.
- CSV_FILES_PREFIX: o prefixo dos arquivos CSV gerados.
- LINES_PER_FILE: o número de linhas por arquivo CSV gerado. O valor padrão é
10.
O script gera vários arquivos CSV.
Confira a lista de arquivos CSV gerados:
ls -lrt CSV_FILES_PREFIX*
Executar a descoberta de convidado em todas as VMs de um arquivo CSV
Para executar a descoberta de convidado para as VMs de um arquivo CSV, use o script collection do repositório do Migrate to Containers no GitHub.
Repita essa etapa para cada arquivo CSV gerado na etapa anterior.
O script usa o comando discover vsphere guest para fazer upload e executar o script de coleta de convidado na VM.
É melhor executar esse script em segundo plano e direcionar a saída para um arquivo de registro. Para fazer isso, crie um arquivo de texto que será enviado como entrada para o script.
Crie o arquivo de texto:
cat <<EOF >> INPUT_FILE CSV_FILES_PREFIXCSV_FILE_SUFFIX VSPHERE_URL VSPHERE_USER VSPHERE_PASSWORD VM_USER VM_PASSWORD EOFSubstitua:
- INPUT_FILE: nome de arquivo de entrada
- CSV_FILES_PREFIX: prefixo do nome de arquivo CSV
- CSV_FILE_SUFFIX: sufixo de nome de arquivo CSV
- VSPHERE_URL: o URL da instância do servidor vCenter ou do cliente do vSphere
- VSPHERE_USER: nome de usuário do vCenter
- VSPHERE_PASSWORD: senha do vCenter
- VM_USER: nome de usuário da VM
- VM_PASSWORD: senha da VM
Execute o script de coleção de convidados:
nohup ./mcdc_collect_vms_guest_tools.sh <INPUT_FILE > /tmp/mcdc.out 2>&1 &Repita as etapas 1 e 2 para cada arquivo CSV gerado na etapa anterior.
Gerar um relatório de avaliação off-line
Quando todos os dados forem coletados, será possível gerar um relatório HTML detalhado:
./mcdc report --format html --full > REPORT_NAME.html
A seguir
- Saiba como coletar dados de convidados de instâncias do EC2.
- Saiba mais sobre a CLI
mcdc. - Analise exemplos de scripts.