Exécuter une détection d'invités

Ce document décrit les étapes à suivre pour exécuter les différentes méthodes de découverte d'invités fournies par la CLI mcdc.

Présentation

La découverte d'invités vous permet d'analyser et de collecter des données sur les applications exécutées sur vos machines, y compris les instances de machines virtuelles (VM) et les serveurs physiques. Il collecte également des données sur la configuration, le matériel et le réseau de la machine, ainsi que sur les fichiers, services et processus ouverts.

Pour les machines exécutées sur des plates-formes pour lesquelles la CLI du client de découverte du centre de migration n'est pas compatible avec la découverte de l'inventaire, telles que les VM exécutées sur Azure ou les machines exécutées sur site, ainsi que pour une évaluation complète des VM exécutées sur VMware et AWS, vous pouvez exécuter une découverte d'invités. La découverte d'invités utilise un script de collecte d'invités pour collecter des données sur la machine et les écrire dans un fichier tar de collection d'invités pour les machines Linux ou un fichier zip pour les machines Windows.

La machine qui héberge la CLI mcdc importe le script sur la machine cible, l'exécute, puis télécharge les résultats. Vous pouvez exécuter le script localement sur la machine cible ou à distance. En fonction de votre infrastructure, vous pouvez choisir d'utiliser la CLI mcdc comme suit:

  • Pour les VM Linux et Windows déployées sur VMware, la CLI mcdc prend en charge l'exécution à distance avec la commande discover vsphere.
  • Pour les machines Linux accessibles par la CLI mcdc, vous pouvez effectuer une découverte à distance à l'aide de SSH avec la commande discover ssh.
  • Pour les machines Windows accessibles par la CLI mcdc, vous pouvez effectuer une découverte à distance à l'aide de Windows Management Instrumentation (WMI) avec la commande discover wmi.
  • Pour les machines Linux et Windows sans connexion à la CLI mcdc, vous pouvez télécharger et exécuter les scripts de collecte invités localement, puis importer manuellement les données collectées sur la machine hébergeant la CLI mcdc.

Le script de collecte d'invités exécute une série de commandes pour collecter des informations sur la machine source, ainsi que des informations provenant de plusieurs fichiers sur la machine.

Avant de commencer

  1. Consultez les conditions requises pour télécharger et exécuter la CLI mcdc.
  2. Consultez les conditions requises pour télécharger et exécuter les scripts de collecte d'invités.
  3. Suivez la procédure pour télécharger la CLI mcdc.

Collecter les données à distance à l'aide des outils VMware

Pour les VM hébergées sur vSphere, la CLI mcdc peut utiliser les outils VMware pour déployer et exécuter les scripts de collecte à distance sur des VM Linux et Windows. Lorsque vous utilisez les outils VMware, l'outil CLI mcdc:

  • importe le script de collecte sur la VM ;
  • exécute le script sur la VM.
  • télécharge et importe les résultats.

Deux ensembles d'identifiants sont requis pour collecter des données à distance :

  • Le nom d'utilisateur du serveur vCenter transmis à la CLI mcdc pour se connecter à vSphere, qui doit disposer des droits suivants sur la VM :
    • Modifications d'opération d'invité
    • Exécution du programme d'opération d'invité
    • Requêtes concernant les opérations d'invités
  • Identifiants utilisateur pour la VM :
    • Sous Windows, vous devez disposer des droits d'administrateur.
    • Sous Linux, l'accès racine n'est pas nécessaire, mais il permet à la CLI mcdc de collecter les données requises pour une évaluation complète.

Pour collecter des données à l'aide des outils VMware, procédez comme suit:

  1. Connectez-vous à votre VM Linux hébergeant la CLI mcdc.
  2. Accédez au répertoire dans lequel vous avez téléchargé la CLI mcdc.
  3. Assurez-vous que la VM est allumée.
  4. Exécutez la détection d'invités :

    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

    Remplacez les éléments suivants :

    • VCENTER_USER : utilisateur du serveur vCenter
    • VM_USER : utilisateur de la VM
    • VM_ID: nom de la VM ou du fichier MOREF
  5. Lorsque vous y êtes invité, saisissez le mot de passe pour VCENTER_USER et VM_USER.

Pour collecter des données provenant de plusieurs VM vSphere en parallèle à l'aide des outils VMware:

  1. Connectez-vous à votre VM Linux hébergeant la CLI mcdc.
  2. Accédez au répertoire dans lequel vous avez téléchargé la CLI mcdc.
  3. Assurez-vous que toutes les VM sont allumées.
  4. Exécutez la détection d'invités :

    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

    Remplacez TIMEOUT_IN_SECONDS par le délai avant expiration, en secondes.

    Vous pouvez éventuellement limiter la découverte aux seules VM Windows ou Linux à l'aide de l'option --os-family, ou modifier le niveau de parallélisme à l'aide de l'option --max-parallelism.

  5. Lorsque vous y êtes invité, saisissez le mot de passe pour VCENTER_USER et VM_USER.

  6. Vous pouvez également définir la découverte sur des VM spécifiques à l'aide de l'option --path, comme décrit pour VMware dans Exécuter une découverte d'inventaire.

Vous pouvez exporter et évaluer ces données collectées en ligne dans le centre de migration, ou exécuter une évaluation hors connexion.

Collecter les données à distance via SSH

Si la machine hébergeant la CLI mcdc dispose d'un accès SSH à la machine Linux cible (les machines Windows ne sont pas compatibles), la CLI mcdc peut se connecter à la machine cible via SSH pour collecter des données.

Lorsque vous utilisez SSH, la CLI mcdc effectue les opérations suivantes:

  1. importe le script de collecte sur la machine ;
  2. Exécute le script sur la machine avec les identifiants utilisateur de la machine transmis à la CLI mcdc.

  3. télécharge et importe les résultats.

Modes SSH compatibles

Si vous utilisez la CLI mcdc sur une machine Linux, vous pouvez exécuter SSH de deux manières:

  • Par défaut:utilise le binaire ssh et les configurations de la machine CLI mcdc. Le mode par défaut peut utiliser les fichiers de configuration SSH locaux par défaut, tels que ~/.ssh/config et ~/.ssh/known_hosts, de la station de travail qui l'héberge.

    Saisissez le mot de passe lorsque vous y êtes invité, ou utilisez sshpass pour transmettre le mot de passe ou la phrase secrète du fichier de clé privée sur la ligne de commande. Exemple :

    sshpass -p password mcdc discover ssh IP_ADDRESS
    

    Remplacez IP_ADDRESS par l'adresse IP de la machine.

  • Intégré:utilise la bibliothèque SSH intégrée. Ce mode vous permet d'utiliser le client SSH intégré si le mode par défaut ne fonctionne pas dans votre environnement. Toutefois, il n'utilise pas les fichiers de configuration SSH locaux par défaut. Vous pouvez utiliser l'indicateur -i pour spécifier un fichier de clé privée SSH.

Si vous utilisez la CLI mcdc sur une machine Windows, seul le mode intégré est compatible.

Exécuter la collection

Pour collecter des données via SSH, procédez comme suit:

  1. Connectez-vous à la machine Linux hébergeant la CLI mcdc.
  2. Accédez au répertoire dans lequel vous avez téléchargé la CLI mcdc.
  3. Collectez des données:

    Linux

    ./mcdc discover ssh IP_HOSTNAME

    Windows

    mcdc.exe discover ssh IP_HOSTNAME

    Remplacez IP_HOSTNAME par le nom d'hôte IP de la machine.

  4. Le fichier de clé privée SSH de l'utilisateur qui appelle la CLI mcdc est utilisé pour l'authentification SSH.

    Lorsque vous y êtes invité, saisissez le nom d'utilisateur d'un compte sur la machine Linux. Le script de collecte s'exécute en utilisant ces identifiants. Si la clé privée SSH de l'utilisateur appelant la CLI mcdc ne parvient pas à s'authentifier auprès de la machine avec le nom d'utilisateur, vous êtes également invité à saisir un mot de passe.

Autres scénarios lorsque vous utilisez SSH

Vous devrez peut-être modifier la commande dans les scénarios suivants:

  • Pour spécifier l'utilisateur de la machine avec le mode par défaut, utilisez l'indicateur -u:

    Linux

    ./mcdc discover ssh -u USER IP_HOSTNAME

    Windows

    mcdc.exe discover ssh -u USER IP_HOSTNAME

    Remplacez USER par l'utilisateur de la machine.

    Lorsque vous y êtes invité, saisissez le mot de passe de l'utilisateur.

  • Pour spécifier le mode détaillé, utilisez l'indicateur -v:

    Linux

    ./mcdc discover ssh -u USER -v IP_HOSTNAME

    Windows

    mcdc.exe discover ssh -u USER -v IP_HOSTNAME

  • Pour spécifier le fichier de clé privée SSH, utilisez l'option -i. Par exemple, pour spécifier .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

  • Pour spécifier le mot de passe sur la ligne de commande, utilisez le mode intégré:

    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

    Comme la forme intégrée de la commande n'utilise pas les fichiers de configuration SSH locaux par défaut, assurez-vous que l'utilisateur que vous spécifiez dans la commande peut accéder à la machine via SSH et dispose de privilèges sur la machine pour exécuter le script de collecte.

  • Pour spécifier le fichier de clé privée SSH avec le mode intégré, utilisez l'indicateur -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

  • La commande CLI mcdc vous permet de spécifier la plupart des options SSH. Il transmet ensuite ces options à la commande ssh à l'aide de l'option -a ou --ssh-args. Par exemple, pour utiliser un proxy 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

Vous pouvez exporter et évaluer ces données collectées en ligne dans le centre de migration, ou exécuter une évaluation hors connexion.

Collecter des données à distance via WMI

Si vous souhaitez effectuer une découverte d'invités sur une machine Windows cible compatible avec WMI, vous pouvez utiliser la commande mcdc discover wmi sur la machine Windows hébergeant la CLI mcdc. La collection WMI n'est compatible qu'avec la version Windows de la CLI mcdc.

Lorsque vous utilisez WMI, la CLI mcdc effectue les opérations suivantes:

  1. importe le script de collecte sur la machine ;
  2. exécute le script sur la machine avec les identifiants utilisateur de la machine transmis à la CLI mcdc.

  3. télécharge et importe les résultats.

Pour collecter des données via WMI, procédez comme suit:

  1. Connectez-vous à la machine Windows hébergeant la CLI mcdc.
  2. Accédez au répertoire dans lequel vous avez téléchargé la CLI mcdc.
  3. Collectez des données:

    mcdc.exe discover wmi IP_HOSTNAME
    

    Remplacez IP_HOSTNAME par le nom d'hôte IP de la machine.

  4. Saisissez vos identifiants lorsque vous y êtes invité.

Collecter les données sur une machine Linux individuelle

Pour effectuer une collecte d'invités localement sur une machine Linux, vous pouvez exécuter le script mcdc-linux-collect.sh. Vous pouvez ensuite copier le fichier tar généré par le script sur la machine qui héberge la CLI mcdc, puis l'importer avec la commande discover import.

Vous exécutez généralement le script en spécifiant l'option sudo. Vous pouvez éventuellement exécuter le script en utilisant les droits de l'utilisateur qui exécute la CLI mcdc. Cependant, le script pourrait ne pas être en mesure de collecter toutes les données requises.

  1. Connectez-vous à votre machine.
  2. Accédez au répertoire dans lequel vous avez téléchargé le script de collecte d'invités.
  3. Exécutez le script de collecte sur la machine:

    sudo ./mcdc-linux-collect.sh
    

    Le script génère un fichier tar nommé mcdc-collect-MACHINE_NAME-TIMESTAMP.tar dans le répertoire actuel. L'horodatage est au format YYYY-MM-DD-hh-mm.

    Cliquez pour afficher le format de fichier tar de la collecte d'invités

    Le fichier tar a le format suivant :

    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
     

    Vous pouvez également transmettre l'argument --output et spécifier le chemin d'accès où vous souhaitez enregistrer le fichier tar.

  4. Copiez les données collectées de la machine cible vers la machine hôte.

  5. Importez les données collectées sur la machine hôte:

    Linux

    ./mcdc discover import PATH_TO_TAR

    Windows

    mcdc.exe discover import PATH_TO_TAR

    Remplacez PATH_TO_TAR par le chemin d'accès au fichier tar.

Vous pouvez exporter et évaluer ces données collectées en ligne dans le centre de migration, ou exécuter une évaluation hors connexion.

Collecter les données sur une machine Windows individuelle

Pour effectuer une collecte d'invités localement sur une machine Windows, vous pouvez exécuter le script mcdc-windows-collect.ps1. Vous pouvez ensuite copier le fichier ZIP généré par le script sur la machine qui héberge la CLI mcdc, puis l'importer à l'aide de la commande discover import.

  1. Connectez-vous à votre machine.
  2. Ouvrez PowerShell à l'aide de l'option Exécuter en tant qu'administrateur.
  3. Accédez au répertoire dans lequel vous avez téléchargé la CLI mcdc.
  4. Exécutez le script de collecte sur la machine:

    powershell -ExecutionPolicy ByPass -File .\mcdc-windows-collect.ps1
    
  5. Le script génère un fichier ZIP nommé mcdc-collect-MACHINE_NAME-TIMESTAMP.zip dans le répertoire actuel.

    Vous pouvez éventuellement inclure un chemin de sortie pour spécifier un emplacement différent:

    .\mcdc-windows-collect.ps1 PATH_FOR_OUTPUT.zip
    
  6. Importez les données collectées sur la machine hôte:

    Linux

    ./mcdc discover import PATH_TO_TAR

    Windows

    mcdc.exe discover import PATH_TO_TAR

    Remplacez PATH_TO_TAR par le chemin d'accès au fichier tar.

Vous pouvez exporter les données collectées et les évaluer en ligne dans le centre de migration, ou exécuter une évaluation hors connexion.

Étape suivante