Este tutorial explica o processo de descoberta e recolha de dados num lote de instâncias de máquinas virtuais (VM) do VMware através da descoberta de convidados da CLI do cliente de descoberta do centro de migração. Pode ser difícil monitorizar e resolver problemas de grandes lotes de VMs. Recomendamos que agrupe em lotes mais pequenos de menos de 1000.
Objetivos
Neste tutorial, vai aprender a:
- Transfira a
mcdc
CLI. - Execute uma descoberta de inventário do VMWare.
- Gere um ficheiro CSV com todas as VMs descobertas.
- Divida o ficheiro CSV em vários ficheiros CSV que contenham um subconjunto das VMs.
- Execute a deteção de convidados em todas as VMs num ficheiro CSV.
- Gere um relatório de avaliação offline.
Custos
Este tutorial usa recursos no local e não incorre em Google Cloud custos.
Antes de começar
Prepare uma máquina Linux para instalar e executar a CLI
mcdc
. A máquina Linux tem de cumprir os seguintes requisitos mínimos:glibc
versão 2.25 ou posterior- 4 GB de RAM e 10 GB de espaço em disco
- Conetividade de rede aos anfitriões vCenter e ESX
Certifique-se de que tem um utilizador do vSphere com as autorizações necessárias:
- Privilégios de leitura para VMs
- Privilégios de leitura para todos os anfitriões ESX
- Modificações ao funcionamento de convidados
- Execução do programa de operações de convidados
- Consultas de funcionamento de convidados
Transfira a CLI mcdc
- Estabeleça ligação à máquina Linux:
ssh MACHINE_IP
Substitua MACHINE_IP pelo endereço IP da sua máquina Linux.
- Transfira a 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 da shell:PATH=$PATH:`pwd`
Faça uma descoberta de inventário do VMware
Execute a descoberta de inventário:
./mcdc discover vsphere -u USERNAME --url https://VSPHERE_URL
Substitua o seguinte:
- USERNAME: o seu nome de utilizador do vCenter
- VSPHERE_URL: o URL da instância do vCenter Server ou do vSphere Client
O resultado do comando
discover
tem o seguinte aspeto:[+] Found 528 VMs Collecting data... 528 / 528 [---------------------------------------------------] 100.00% 5 p/s [✓] Collection completed.
Gere um ficheiro CSV com todas as VMs descobertas
Para gerar um ficheiro CSV, use o script export
do repositório Migrate to Containers no GitHub.
O script usa o comando report
para gerar um ficheiro CSV com todas as VMs que foram descobertas no passo anterior.
Transfira o guião:
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 guarde o resultado num ficheiro:
./mcdc_discovery_export_guest_tools.sh > VMS_CSV_FILE
Substitua VMS_CSV_FILE pelo nome que quer dar ao ficheiro CSV.
Divida o ficheiro CSV em vários ficheiros CSV com um subconjunto das VMs
Para dividir o ficheiro CSV grande em ficheiros CSV mais pequenos, use o script splitter
do repositório Migrate to Containers no GitHub.
Transfira o guião:
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 o seguinte:
- VMS_CSV_FILE: o ficheiro CSV de entrada a dividir.
- CSV_FILES_PREFIX: o prefixo dos ficheiros CSV gerados.
- LINES_PER_FILE: o número de linhas por ficheiro CSV gerado. O valor predefinido é
10
.
O script gera vários ficheiros CSV.
Veja a lista de ficheiros CSV gerados:
ls -lrt CSV_FILES_PREFIX*
Execute a deteção de convidados em todas as VMs num ficheiro CSV
Para executar a deteção de convidados para as VMs num ficheiro CSV, use o
script collection
do repositório do GitHub Migrate to Containers.
Repita este passo para cada ficheiro CSV gerado no passo anterior.
O script usa o comando discover vsphere guest
para carregar e executar o script de recolha de convidados na VM.
É melhor executar este script em segundo plano e direcionar a saída para um ficheiro de registo. Para tal, tem de criar um ficheiro de texto que é transmitido como entrada para o script.
Crie o ficheiro de texto:
cat <<EOF >> INPUT_FILE CSV_FILES_PREFIXCSV_FILE_SUFFIX VSPHERE_URL VSPHERE_USER VSPHERE_PASSWORD VM_USER VM_PASSWORD EOF
Substitua o seguinte:
- INPUT_FILE: nome do ficheiro de entrada
- CSV_FILES_PREFIX: Prefixo do nome do ficheiro CSV
- CSV_FILE_SUFFIX: sufixo do nome do ficheiro CSV
- VSPHERE_URL: o URL da instância do vCenter Server ou do vSphere Client
- VSPHERE_USER: nome de utilizador do vCenter
- VSPHERE_PASSWORD: palavra-passe do vCenter
- VM_USER: nome de utilizador da VM
- VM_PASSWORD: palavra-passe da VM
Execute o guião de recolha de convidados:
nohup ./mcdc_collect_vms_guest_tools.sh <INPUT_FILE > /tmp/mcdc.out 2>&1 &
Repita os passos 1 e 2 para cada ficheiro CSV gerado no passo anterior.
Gere um relatório de avaliação offline
Depois de recolher todos os dados, pode gerar um relatório HTML detalhado:
./mcdc report --format html --full > REPORT_NAME.html
O que se segue?
- Saiba como recolher dados de convidados de instâncias do EC2.
- Saiba mais acerca da CLI
mcdc
. - Analise os exemplos de scripts.