Ejecuta un descubrimiento de invitados

En este documento, se describen los pasos para ejecutar los diferentes métodos de descubrimiento de invitados que proporciona la CLI de mcdc.

Descripción general

El descubrimiento de invitados te permite analizar y recopilar datos sobre las aplicaciones que se ejecutan en tus máquinas, lo que incluye instancias de máquina virtual (VM) y servidores físicos. También recopila datos sobre la configuración, el hardware y la red de la máquina, así como los archivos, los servicios y los procesos abiertos.

En el caso de las máquinas que se ejecutan en plataformas para las que la CLI del cliente de descubrimiento de Migration Center no admite el descubrimiento de inventario, como las VMs que se ejecutan en Azure o las máquinas que se ejecutan de forma local, así como para una evaluación completa de las VMs que se ejecutan en VMware y AWS, puedes ejecutar un descubrimiento de invitados. El descubrimiento de invitados usa una secuencia de comandos de recopilación de invitados para recopilar datos sobre la máquina y los escribe en un archivo tar de recopilación de invitados para máquinas Linux o un archivo ZIP para máquinas Windows.

La máquina que aloja la CLI de mcdc sube la secuencia de comandos a la máquina de destino, la ejecuta y, luego, descarga los resultados. Puedes ejecutar la secuencia de comandos de forma local en la máquina de destino o de forma remota. Según tu infraestructura, puedes usar la CLI de mcdc de las siguientes maneras:

  • Para las VMs de Linux y Windows implementadas en VMware, la CLI de mcdc admite la ejecución remota con el comando discover vsphere.
  • En el caso de las máquinas de Linux a las que se puede acceder con la CLI de mcdc, puedes realizar un descubrimiento remoto con SSH con el comando discover ssh.
  • En el caso de las máquinas de Windows a las que puede acceder la CLI de mcdc, puedes realizar un descubrimiento remoto con el Instrumental de administración de Windows (WMI) con el comando discover wmi.
  • En el caso de las máquinas de Linux y Windows sin conexión a la CLI de mcdc, puedes descargar y ejecutar las secuencias de comandos de recopilación de invitados de forma local y, luego, importar manualmente los datos recopilados a la máquina que aloja la CLI de mcdc.

La secuencia de comandos de recopilación de invitados ejecuta una serie de comandos para recopilar información sobre la máquina de origen y también recopila información de varios archivos en la máquina.

Antes de comenzar

  1. Revisa los requisitos para descargar y ejecutar la CLI de mcdc.
  2. Revisa los requisitos para descargar y ejecutar las secuencias de comandos de recopilación de invitados.
  3. Completa los pasos para descargar la CLI de mcdc.

Recopila datos de forma remota con herramientas de VMware

En las VMs alojadas en vSphere, la CLI de mcdc puede usar las herramientas de VMware para implementar y ejecutar las secuencias de comandos de recopilación de forma remota en las VMs de Linux y Windows. Cuando usas las herramientas de VMware, la herramienta de la CLI de mcdc hace lo siguiente:

  • Sube la secuencia de comandos de la recopilación a la VM.
  • Ejecuta la secuencia de comandos en la VM.
  • Descarga e importa los resultados.

Se requieren dos conjuntos de credenciales para recopilar datos de forma remota:

  • El nombre de usuario del servidor de vCenter que se pasa a la CLI de mcdc para conectarse a vSphere, que debe tener los siguientes privilegios en la VM:
    • Modificaciones de las operaciones de invitado
    • Ejecución del programa de operaciones de invitado
    • Consultas de operaciones de invitado
  • Credenciales de usuario para la VM:
    • En Windows, debes tener privilegios de administrador.
    • En Linux, no se requiere acceso raíz, pero el acceso raíz permite que la CLI de mcdc recopile los datos necesarios para una evaluación completa.

Para recopilar datos con las herramientas de VMware, sigue estos pasos:

  1. Accede a la VM de Linux que aloja la CLI de mcdc.
  2. Cambia al directorio en el que descargaste la CLI de mcdc.
  3. Asegúrate de que la VM esté encendida.
  4. Ejecuta el descubrimiento de invitado:

    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

    Reemplaza lo siguiente:

    • VCENTER_USER: el usuario del servidor de vCenter.
    • VM_USER: el usuario de la VM
    • VM_ID: Es el nombre de la VM o MOREF.
  5. Cuando se te solicite, ingresa la contraseña de VCENTER_USER y VM_USER.

Para recopilar datos de varias VMs de vSphere en paralelo mediante las herramientas de VMware, sigue estos pasos:

  1. Accede a la VM de Linux que aloja la CLI de mcdc.
  2. Cambia al directorio en el que descargaste la CLI de mcdc.
  3. Asegúrate de que todas las VMs estén encendidas.
  4. Ejecuta el descubrimiento de invitado:

    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

    Reemplaza TIMEOUT_IN_SECONDS por el tiempo de espera en segundos.

    De forma opcional, limita el descubrimiento solo a VMs de Windows o Linux con la marca --os-family, o cambia el nivel de paralelismo con la marca --max-parallelism.

  5. Cuando se te solicite, ingresa la contraseña de VCENTER_USER y VM_USER.

  6. También puedes definir el alcance del descubrimiento en VMs específicas mediante la marca --path, como se describe para VMware en Ejecuta un descubrimiento de inventario.

Puedes exportar y evaluar estos datos recopilados en línea en Migration Center o ejecutar una evaluación sin conexión.

Recopila datos de forma remota a través de SSH

Si la máquina que aloja la CLI de mcdc tiene acceso SSH a la máquina de Linux de destino (las máquinas de Windows no son compatibles), la CLI de mcdc puede conectarse a la máquina de destino a través de SSH para recopilar datos.

Cuando usas SSH, la CLI de mcdc hace lo siguiente:

  1. Sube la secuencia de comandos de la recopilación a la máquina.
  2. Ejecuta la secuencia de comandos en la máquina con las credenciales de usuario de la máquina que se pasan a la CLI de mcdc.

  3. Descarga e importa los resultados.

Modos de SSH compatibles

Si usas la CLI de mcdc en una máquina de Linux, puedes usar dos modos para ejecutar SSH:

  • Predeterminada: Usa el objeto binario y la configuración ssh en la máquina de la CLI de mcdc. El modo predeterminado puede usar los archivos de configuración de SSH locales de forma predeterminada, como ~/.ssh/config y ~/.ssh/known_hosts, de la estación de trabajo que lo aloja.

    Escríbela cuando se te solicite o usa sshpass para pasar la contraseña o la frase de contraseña del archivo de claves privadas en la línea de comandos. Por ejemplo:

    sshpass -p password mcdc discover ssh IP_ADDRESS
    

    Reemplaza IP_ADDRESS por la dirección IP de la máquina.

  • Incorporado: Usa la biblioteca SSH integrada. Este modo te permite usar el cliente SSH incorporado si el modo predeterminado funciona mal en tu entorno. Sin embargo, no usa los archivos de configuración de SSH locales de forma predeterminada. Puedes usar la marca -i para especificar un archivo de claves privadas SSH.

Si usas la CLI de mcdc en una máquina Windows, solo se admite el modo incrustado.

Ejecuta la colección

Para recopilar datos a través de SSH, sigue estos pasos:

  1. Accede a la máquina de Linux que aloja la CLI de mcdc.
  2. Cambia al directorio en el que descargaste la CLI de mcdc.
  3. Recopila datos:

    Linux

    ./mcdc discover ssh IP_HOSTNAME

    Windows

    mcdc.exe discover ssh IP_HOSTNAME

    Reemplaza IP_HOSTNAME por el nombre de host IP de la máquina.

  4. El archivo de claves privadas SSH del usuario que invoca la CLI de mcdc se usa para la autenticación SSH.

    Cuando se te solicite, ingresa el nombre de usuario de una cuenta en la máquina Linux. La secuencia de comandos de la colección se ejecuta con estas credenciales. Si la clave privada SSH del usuario que invoca la CLI de mcdc no se puede autenticar en la máquina con el nombre de usuario, también se te solicitará una contraseña.

Situaciones adicionales cuando se usa SSH

Consulta las siguientes situaciones en las que es posible que debas modificar el comando:

  • Para especificar el usuario de la máquina con el modo predeterminado, usa la marca -u:

    Linux

    ./mcdc discover ssh -u USER IP_HOSTNAME

    Windows

    mcdc.exe discover ssh -u USER IP_HOSTNAME

    Reemplaza USER por el usuario de la máquina.

    Cuando se te solicite, ingresa la contraseña del usuario.

  • Para especificar el modo detallado, usa la marca -v:

    Linux

    ./mcdc discover ssh -u USER -v IP_HOSTNAME

    Windows

    mcdc.exe discover ssh -u USER -v IP_HOSTNAME

  • Para especificar el archivo de claves privadas SSH, usa la marca -i. Por ejemplo, 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 la contraseña en la línea de comandos, usa el 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

    Debido a que el formulario incorporado del comando no usa los archivos de configuración de SSH locales de forma predeterminada, asegúrate de que el usuario que especifiques en el comando pueda acceder a la máquina a través de SSH y tenga privilegios en la máquina para ejecutar la secuencia de comandos de recopilación.

  • Para especificar el archivo de claves privadas SSH con el modo incorporado, usa la marca -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

  • El comando mcdc de la CLI te permite especificar la mayoría de las marcas de SSH. Luego, pasa estas marcas al comando ssh con la marca -a o --ssh-args. Por ejemplo, para usar un proxy de 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

Puedes exportar y evaluar estos datos recopilados en línea en Migration Center o ejecutar una evaluación sin conexión.

Recopila datos de forma remota a través de WMI

Si deseas realizar un descubrimiento de invitados en una máquina de Windows de destino con compatibilidad con WMI, puedes usar el comando mcdc discover wmi en la máquina de Windows que aloja la CLI de mcdc. La recopilación de WMI solo se admite en la versión de Windows de la CLI de mcdc.

Cuando se usa WMI, la CLI de mcdc hace lo siguiente:

  1. Sube la secuencia de comandos de recopilación a la máquina.
  2. Ejecuta la secuencia de comandos en la máquina con las credenciales de usuario de la máquina que se pasan a la CLI de mcdc.

  3. Descarga e importa los resultados.

Para recopilar datos a través de WMI, sigue estos pasos:

  1. Accede a la máquina de Windows que aloja la CLI de mcdc.
  2. Cambia al directorio en el que descargaste la CLI de mcdc.
  3. Recopila datos:

    mcdc.exe discover wmi IP_HOSTNAME
    

    Reemplaza IP_HOSTNAME por el nombre de host IP de la máquina.

  4. Ingresa tus credenciales cuando se te solicite.

Recopila datos en una máquina de Linux individual

Para realizar una recopilación de invitados de forma local en una máquina de Linux, puedes ejecutar la secuencia de comandos mcdc-linux-collect.sh. Luego, puedes copiar el archivo tar que genera la secuencia de comandos en la máquina que hosting la CLI de mcdc y, luego, importarlo con el comando discover import.

Por lo general, debes ejecutar la secuencia de comandos si especificas la opción sudo. De manera opcional, puedes ejecutar la secuencia de comandos con los privilegios del usuario que ejecuta la CLI de mcdc. Sin embargo, es posible que la secuencia de comandos no pueda recopilar todos los datos requeridos.

  1. Accede a tu máquina.
  2. Cambia al directorio en el que descargaste la secuencia de comandos de recopilación de invitados.
  3. Ejecuta la secuencia de comandos de recopilación en la máquina:

    sudo ./mcdc-linux-collect.sh
    

    La secuencia de comandos genera un archivo tar llamado mcdc-collect-MACHINE_NAME-TIMESTAMP.tar en el directorio actual. La marca de tiempo tiene el formato YYYY-MM-DD-hh-mm.

    Haz clic para ver el formato de archivo tar de la recopilación de invitados

    El archivo tar tiene el siguiente 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
     

    De manera opcional, puedes pasar el argumento --output y especificar la ruta de acceso en la que deseas guardar el archivo tar.

  4. Copia los datos recopilados de la máquina de destino a la máquina anfitrión.

  5. Importa los datos recopilados en la máquina anfitrión:

    Linux

    ./mcdc discover import PATH_TO_TAR

    Windows

    mcdc.exe discover import PATH_TO_TAR

    Reemplaza PATH_TO_TAR por la ruta de acceso al archivo tar.

Puedes exportar y evaluar estos datos recopilados en línea en Migration Center o ejecutar una evaluación sin conexión.

Recopila datos en una máquina individual con Windows

Para realizar una recopilación de invitados de forma local en una máquina Windows, puedes ejecutar la secuencia de comandos mcdc-windows-collect.ps1. Luego, puedes copiar el archivo ZIP que genera la secuencia de comandos en la máquina que aloja la CLI de mcdc y, luego, importarlo con el comando discover import.

  1. Accede a tu máquina.
  2. Abre PowerShell mediante la opción Ejecutar como administrador.
  3. Cambia al directorio en el que descargaste la CLI de mcdc.
  4. Ejecuta la secuencia de comandos de recopilación en la máquina:

    powershell -ExecutionPolicy ByPass -File .\mcdc-windows-collect.ps1
    
  5. La secuencia de comandos genera un archivo ZIP llamado mcdc-collect-MACHINE_NAME-TIMESTAMP.zip en el directorio actual.

    De manera opcional, puedes incluir una ruta de acceso de salida para especificar una ubicación diferente:

    .\mcdc-windows-collect.ps1 PATH_FOR_OUTPUT.zip
    
  6. Importa los datos recopilados en la máquina anfitrión:

    Linux

    ./mcdc discover import PATH_TO_TAR

    Windows

    mcdc.exe discover import PATH_TO_TAR

    Reemplaza PATH_TO_TAR por la ruta de acceso al archivo tar.

Puedes exportar los datos recopilados y evaluarlos en línea en Migration Center, o bien ejecutar una evaluación sin conexión.

¿Qué sigue?