Neste tutorial, explicamos o processo de descoberta e coleta de dados em um lote de instâncias de máquina virtual (VM) da VMware usando a descoberta de convidado da CLI do discovery client da Central de migração. Grandes lotes de VMs podem ser difíceis de monitorar e solucionar problemas. Recomendamos criar lotes em grupos menores com menos de 1.000.
Objetivos
Neste tutorial, você aprenderá a:
- fazer o download da 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 convidados em todas as VMs em um arquivo CSV;
- gerar um relatório de avaliação off-line.
Custos
Este tutorial usa recursos no local e não gera custos no Google Cloud.
Antes de começar
Prepare uma máquina Linux para instalar e executar a CLI
mcdc
. A máquina Linux precisa ter os seguintes requisitos mínimos:glibc
versão 2.25 ou posterior- 4 GB de RAM e 10 GB de espaço em disco
- Conectividade de rede com hosts vCenter e ESX
Verifique se você tem um usuário do vSphere com as permissões necessárias:
- 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
Faça o download da CLI mcdc
- Conecte-se à máquina Linux:
ssh MACHINE_IP
Substitua MACHINE_IP pelo endereço IP da sua máquina Linux.
- Faça o download da versão mais recente da CLI
mcdc
e 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
ao caminho do shell:PATH=$PATH:`pwd`
Realizar uma descoberta de inventário da VMware
Execute a descoberta de inventário:
./mcdc discover vsphere -u USERNAME --url https://VSPHERE_URL
Substitua:
- USERNAME: seu nome de usuário do vCenter
- VSPHERE_URL: o URL da instância do servidor vCenter ou do cliente vSphere
A saída do comando
discover
vai ser 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.
Faça o download do 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.sh
Execute o script e salve a saída em um arquivo:
./mcdc_discovery_export_guest_tools.sh > VMS_CSV_FILE
Substitua 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 CSV menores, use o script splitter
do repositório do Migrate to Containers no GitHub.
Faça o download do script:
curl -O https://raw.githubusercontent.com/GoogleCloudPlatform/migrate-to-containers/main/scripts/mcdc/csv_splitter.sh chmod +x csv_splitter.sh
Execute o script:
./csv_splitter.sh VMS_CSV_FILE CSV_FILES_PREFIX LINES_PER_FILE VMS_CSV_FILE CSV_FILES_PREFIX
Substitua:
- 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.
Veja a lista de arquivos CSV gerados:
ls -lrt CSV_FILES_PREFIX*
Executar a descoberta de convidado em todas as VMs em um arquivo CSV
Para executar a descoberta de convidado para as VMs em um arquivo CSV, use o script collection
no repositório do GitHub do Migrate to Containers.
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á transmitido 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 EOF
Substitua:
- 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 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
. - Examine exemplos de scripts.