Ejecutar un descubrimiento de invitado

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

Información general

La detección de invitados te permite analizar y recoger datos sobre las aplicaciones que se ejecutan en tus máquinas, lo que incluye tanto instancias de máquina virtual como servidores físicos. También recoge datos sobre la configuración, el hardware y la red del equipo, así como sobre los archivos, servicios y 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 máquinas virtuales que se ejecutan en Azure o las máquinas que se ejecutan de forma local, así como para realizar una evaluación completa de las máquinas virtuales que se ejecutan en VMware y AWS, puedes ejecutar un descubrimiento de invitado. El descubrimiento de invitados usa una secuencia de comandos de colección de invitados para recoger datos sobre la máquina y escribe esos datos en un archivo tar de colección de invitados para máquinas Linux o en un archivo zip para máquinas Windows.

La máquina que aloja la CLI mcdc sube la secuencia de comandos a la máquina de destino, la ejecuta y, a continuación, descarga los resultados. Puedes ejecutar la secuencia de comandos de forma local en el equipo de destino o de forma remota. En función de tu infraestructura, puedes usar la CLI mcdc de las siguientes formas:

  • En las VMs de Linux y Windows implementadas en VMware, la CLI de mcdc admite la ejecución remota con el comando discover vsphere.
  • En los equipos Linux a los que se puede acceder mediante la CLI de mcdc, puedes realizar una detección remota mediante SSH con el comando discover ssh.
  • En los equipos Windows a los que se puede acceder mediante la CLI mcdc, puedes realizar una detección remota con la instrumentación de gestión de Windows (WMI) mediante el comando discover wmi.
  • En las máquinas Linux y Windows que no tengan conexión con la CLI de mcdc, puedes descargar y ejecutar las secuencias de comandos de recogida de invitados de forma local y, a continuación, importar manualmente los datos recogidos a la máquina que aloja la CLI de mcdc.

La secuencia de comandos de recogida de invitados ejecuta una serie de comandos para recoger información sobre la máquina de origen y también recoge información de varios archivos de la máquina.

Antes de empezar

  1. Consulta los requisitos para descargar y ejecutar la CLI de mcdc.
  2. Consulta los requisitos para descargar y ejecutar las secuencias de comandos de recogida de invitados.
  3. Sigue los pasos para descargar la CLI de mcdc.

Recopilar datos de forma remota con las herramientas de VMware

En el caso de las VMs alojadas en vSphere, la CLI de mcdc puede usar VMware Tools para implementar y ejecutar las secuencias de comandos de recogida de forma remota en VMs Linux y Windows. Cuando se usan las herramientas de VMware, la herramienta de línea de comandos mcdc hace lo siguiente:

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

Para recoger datos de forma remota, se necesitan dos conjuntos de credenciales:

  • Nombre de usuario del servidor vCenter que se ha transferido a la interfaz de línea de comandos mcdc para conectarse a vSphere. Debe tener los siguientes privilegios en la máquina virtual:
    • Modificaciones de operaciones de invitado
    • Ejecución del programa de operaciones de invitado
    • Consultas de operaciones de invitados
  • Credenciales de usuario de la VM:
    • En Windows, debes tener privilegios de administrador.
    • En Linux, no es necesario tener acceso de superusuario, pero este acceso permite que la CLI de mcdc recoja los datos necesarios para realizar una evaluación completa.

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

  1. Inicia sesión en la VM de Linux que aloja la CLI de mcdc.
  2. Cambia al directorio en el que has descargado la CLI mcdc.
  3. Comprueba que la máquina virtual esté encendida.
  4. Ejecuta el descubrimiento de invitados:

    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

    Haz los cambios siguientes:

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

Para recoger datos de varias máquinas virtuales de vSphere en paralelo mediante las herramientas de VMware, sigue estos pasos:

  1. Inicia sesión en la VM de Linux que aloja la CLI de mcdc.
  2. Cambia al directorio en el que has descargado la CLI mcdc.
  3. Asegúrate de que todas las máquinas virtuales estén encendidas.
  4. Ejecuta el descubrimiento de invitados:

    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

    Sustituye TIMEOUT_IN_SECONDS por el tiempo de espera en segundos.

    De forma opcional, puedes limitar la detección a solo VMs de Windows o Linux mediante la marca --os-family o cambiar el nivel de paralelismo mediante la marca --max-parallelism.

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

  6. También puedes limitar el descubrimiento a máquinas virtuales específicas con la marca --path, tal como se describe en Ejecutar un descubrimiento de inventario para VMware.

Puede exportar y evaluar estos datos recogidos online en Migration Center o realizar una evaluación offline.

Recoger datos de forma remota a través de SSH

Si el equipo que aloja la CLI de mcdc tiene acceso SSH al equipo Linux de destino (no se admiten equipos Windows), la CLI de mcdc puede conectarse al equipo de destino a través de SSH para recoger datos.

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

  1. Sube la secuencia de comandos de la colección al equipo.
  2. Ejecuta la secuencia de comandos en el equipo con las credenciales de usuario del equipo transferidas a la CLI de mcdc.

  3. Descarga e importa los resultados.

Modos SSH admitidos

Si usas la CLI de mcdc en un equipo Linux, puedes usar dos modos para ejecutar SSH:

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

    Introduce la contraseña cuando se te solicite o usa sshpass para transferir la contraseña o la contraseña del archivo de clave privada en la línea de comandos. Por ejemplo:

    sshpass -p password mcdc discover ssh IP_ADDRESS
    

    Sustituye IP_ADDRESS por la dirección IP del ordenador.

  • Insertado: usa la biblioteca SSH integrada. Este modo te permite usar el cliente SSH integrado si el modo predeterminado no funciona correctamente en tu entorno. Sin embargo, no usa los archivos de configuración SSH locales de forma predeterminada. Puedes usar la marca -i para especificar un archivo de clave privada SSH.

Si usas la mcdc CLI en un ordenador Windows, solo se admite el modo insertado.

Ejecutar la colección

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

  1. Inicia sesión en el equipo Linux que aloja la CLI de mcdc.
  2. Cambia al directorio en el que has descargado la CLI mcdc.
  3. Recoge datos.

    Linux

    ./mcdc discover ssh IP_HOSTNAME

    Windows

    mcdc.exe discover ssh IP_HOSTNAME

    Para descubrir y recoger recursos de bases de datos, usa la marca --db-engine:

    Linux

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

    Windows

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

    Haz los cambios siguientes:

    • IP_HOSTNAME: el nombre de host IP del equipo.
    • DB_ENGINE: el motor de la base de datos que se va a recoger. Los valores admitidos son sqlserver, mysql y postgresql.
  4. El archivo de clave privada SSH del usuario que invoca la CLI de mcdc se usa para la autenticación SSH.

    Cuando se te pida, introduce el nombre de usuario de una cuenta en el ordenador 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 consigue autenticarse en la máquina con el nombre de usuario, también se te pedirá una contraseña.

Otros casos en los que se usa SSH

Consulta los siguientes casos en los que puede que tengas que 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

    Sustituye USER por el usuario de la máquina.

    Cuando se te pida, introduce 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 clave privada 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 insertado:

    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

    Como la forma insertada del comando no usa los archivos de configuración 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 recogida.

  • Para especificar el archivo de clave privada SSH con el modo insertado, 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 de la CLI mcdc te permite especificar la mayoría de las marcas de SSH. A continuación, pasa estas marcas al comando ssh mediante la marca -a o --ssh-args. Por ejemplo, para usar un proxy SOCKS, haz lo siguiente:

    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

Puede exportar y evaluar estos datos recogidos online en Migration Center o realizar una evaluación offline.

Recoger datos de forma remota a través de WMI

Si quieres realizar una detección de invitado en un equipo Windows de destino con compatibilidad con WMI, puedes usar el comando mcdc discover wmi en el equipo Windows que aloja la CLI mcdc. La colección de WMI solo se admite en la versión de Windows de la CLI de mcdc.

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

  1. Sube la secuencia de comandos de la colección al equipo.
  2. Ejecuta la secuencia de comandos en la máquina con las credenciales de usuario de la máquina que se han transferido a la CLI de mcdc.

  3. Descarga e importa los resultados.

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

  1. Inicia sesión en el equipo Windows que aloja la CLI de mcdc.
  2. Cambia al directorio en el que has descargado la CLI de mcdc.
  3. Recoger datos:

    mcdc.exe discover wmi IP_HOSTNAME
    

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

  4. Introduce tus credenciales cuando se te solicite.

Recoger datos en un ordenador Linux concreto

Para realizar una recogida de invitado de forma local en una máquina Linux, puedes ejecutar la secuencia de comandos mcdc-linux-collect.sh. A continuación, puedes copiar el archivo tar generado por la secuencia de comandos en la máquina que aloja la CLI de mcdc e importarlo con el comando discover import.

Normalmente, el script se ejecuta especificando la opción sudo. También puedes ejecutar la secuencia de comandos con los privilegios del usuario que ejecuta la CLI mcdc. Sin embargo, es posible que la secuencia de comandos no pueda recoger todos los datos necesarios.

  1. Inicia sesión en tu máquina.
  2. Cambia al directorio donde has descargado la secuencia de comandos de la colección de invitados.
  3. Ejecuta la secuencia de comandos de recogida en el equipo:

    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 del archivo tar de la colecció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
     

    También puedes pasar el argumento --output y especificar la ruta en la que quieras guardar el archivo tar.

  4. Copia los datos recogidos del equipo de destino al equipo host.

  5. Importa los datos recogidos en el equipo host:

    Linux

    ./mcdc discover import PATH_TO_TAR

    Windows

    mcdc.exe discover import PATH_TO_TAR

    Sustituye PATH_TO_TAR por la ruta al archivo tar.

Puede exportar y evaluar estos datos recogidos online en Migration Center o realizar una evaluación offline.

Recoger datos en un equipo Windows concreto

Para realizar una recogida de invitado de forma local en un equipo Windows, puedes ejecutar la secuencia de comandos mcdc-windows-collect.ps1. A continuación, puedes copiar el archivo ZIP generado por la secuencia de comandos en la máquina que aloja la CLI de mcdc e importarlo con el comando discover import.

  1. Inicia sesión en tu máquina.
  2. Abre PowerShell con la opción Ejecutar como administrador.
  3. Cambia al directorio en el que has descargado la CLI mcdc.
  4. Ejecuta la secuencia de comandos de recogida en el equipo:

    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.

    También puedes incluir una ruta de salida para especificar otra ubicación:

    .\mcdc-windows-collect.ps1 PATH_FOR_OUTPUT.zip
    
  6. Importa los datos recogidos en el equipo host:

    Linux

    ./mcdc discover import PATH_TO_TAR

    Windows

    mcdc.exe discover import PATH_TO_TAR

    Sustituye PATH_TO_TAR por la ruta al archivo tar.

Puede exportar los datos recogidos y evaluarlos online en Migration Center o realizar una evaluación sin conexión.

Siguientes pasos