Gastsuchanfrage ausführen

In diesem Dokument werden die Schritte zum Ausführen der verschiedenen Methoden zur Gast-Erkennung beschrieben, die die mcdc CLI bietet.

Übersicht

Mit der Gastsuchanfrage können Sie Daten zu den auf Ihren Maschinen ausgeführten Anwendungen scannen und erfassen. Dazu gehören sowohl VM-Instanzen als auch physische Server. Außerdem werden Daten zur Maschinenkonfiguration, Hardware, zum Netzwerk sowie zu offenen Dateien, Diensten und Prozessen erhoben.

Für Maschinen, die auf Plattformen ausgeführt werden, für die die Befehlszeile des Migration Center-Discovery-Clients die Bestandsermittlung nicht unterstützt, z. B. VMs, die auf Azure ausgeführt werden, oder lokale Maschinen, sowie für eine vollständige Bewertung von VMs, die auf VMware und AWS ausgeführt werden, können Sie eine Gastsuchanfrage ausführen. Bei der Gast-Erkennung werden Daten über den Computer mithilfe eines Gasterfassungsskripts erfasst und in eine TAR-Datei für Linux-Computer oder eine ZIP-Datei für Windows-Computer geschrieben.

Die Maschine, auf der die mcdc-Befehlszeile gehostet wird, lädt das Skript auf den Zielcomputer hoch, führt es aus und lädt dann die Ergebnisse herunter. Sie können das Skript lokal auf dem Zielcomputer oder remote ausführen. Je nach Infrastruktur können Sie die mcdc-Befehlszeile auf folgende Weise verwenden:

  • Für Linux- und Windows-VMs, die auf VMware bereitgestellt werden, unterstützt die mcdc-Befehlszeile die Remote-Ausführung mit dem Befehl discover vsphere.
  • Bei Linux-Computern, auf die über die mcdc-Befehlszeile zugegriffen werden kann, können Sie mit dem Befehl discover ssh eine Remote-Erkennung über SSH durchführen.
  • Bei Windows-Computern, auf die über die mcdc-Befehlszeile zugegriffen werden kann, können Sie mit dem Befehl discover wmi eine Remote-Erkennung mithilfe von Windows Management Instrumentation (WMI) durchführen.
  • Bei Linux- und Windows-Computern ohne Verbindung zur mcdc-Befehlszeile können Sie die Gast-Erfassungsskripts lokal herunterladen und ausführen und die erfassten Daten dann manuell auf den Computer importieren, auf dem die mcdc-Befehlszeile gehostet wird.

Das Gasterfassungsskript führt eine Reihe von Befehlen aus, um Informationen zum Quellcomputer zu erfassen. Außerdem werden Informationen aus mehreren Dateien auf dem Computer erfasst.

Hinweise

  1. Sehen Sie sich die Anforderungen für das Herunterladen und Ausführen der mcdc-Befehlszeile an.
  2. Anforderungen für das Herunterladen und Ausführen der Gasterfassungsskripts
  3. Führen Sie die Schritte zum Herunterladen der mcdc-Befehlszeile aus.

Daten mithilfe von VMware-Tools per Remotezugriff erfassen

Für VMs, die auf vSphere gehostet werden, kann die mcdc-Befehlszeile die Sammlungsskripts mit VMware-Tools sowohl auf Linux- als auch auf Windows-VMs bereitstellen und ausführen. Wenn Sie VMware-Tools verwenden, führt das mcdc-CLI-Tool Folgendes aus:

  • Lädt das Erfassungsskript auf die VM hoch.
  • Führt das Skript auf der VM aus.
  • Ergebnisse herunterladen und importieren

Für die Remote-Erfassung von Daten sind zwei Gruppen von Anmeldedaten erforderlich:

  • Der an die mcdc CLI übergebene vCenter-Server-Nutzername für die Verbindung mit vSphere muss die folgenden Berechtigungen auf der VM haben:
    • Gastbetrieb-Änderungen
    • Ausführung des Gastbetriebsprogramms
    • Gastbetrieb-Abfragen
  • Nutzeranmeldedaten für die VM:
    • Unter Windows benötigen Sie Administratorberechtigungen.
    • Unter Linux ist kein Root-Zugriff erforderlich, aber mit Root-Zugriff kann die mcdc-Befehlszeile die für eine vollständige Bewertung erforderlichen Daten erfassen.

So erfassen Sie Daten mit VMware-Tools:

  1. Melden Sie sich bei Ihrer Linux-VM an, die die mcdc-Befehlszeile hostet.
  2. Wechseln Sie in das Verzeichnis, in das Sie die mcdc-Befehlszeile heruntergeladen haben.
  3. Die VM muss eingeschaltet sein.
  4. Führen Sie die Gastsuchanfrage aus:

    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

    Ersetzen Sie Folgendes:

    • VCENTER_USER: der vCenter-Servernutzer
    • VM_USER: der VM-Nutzer
    • VM_ID: der Name der VM oder MOREF
  5. Geben Sie bei entsprechender Aufforderung das Passwort für VCENTER_USER und VM_USER ein.

So erfassen Sie Daten aus mehreren vSphere-VMs parallel mit VMware-Tools:

  1. Melden Sie sich bei Ihrer Linux-VM an, die die mcdc-Befehlszeile hostet.
  2. Wechseln Sie in das Verzeichnis, in das Sie die mcdc-Befehlszeile heruntergeladen haben.
  3. Achten Sie darauf, dass alle VMs eingeschaltet sind.
  4. Führen Sie die Gastsuchanfrage aus:

    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

    Ersetzen Sie TIMEOUT_IN_SECONDS durch das Zeitlimit in Sekunden.

    Optional können Sie die Erkennung mit dem Flag --os-family auf Windows- oder Linux-VMs beschränken oder die Parallelitätsstufe mit dem Flag --max-parallelism ändern.

  5. Geben Sie bei entsprechender Aufforderung das Passwort für VCENTER_USER und VM_USER ein.

  6. Sie können die Erkennung auch mit dem Flag --path auf bestimmte VMs beschränken. Dies wird für VMware im Abschnitt VMware-Inventarerkennung ausführen beschrieben.

Sie können diese erfassten Daten online im Migrationscenter exportieren und bewerten oder eine Offlinebewertung durchführen.

Remote-Daten über SSH erfassen

Wenn der Computer, auf dem die mcdc-Befehlszeile gehostet wird, SSH-Zugriff auf den Linux-Zielcomputer hat (Windows-Computer werden nicht unterstützt), kann die mcdc-Befehlszeile über SSH eine Verbindung zum Zielcomputer herstellen, um Daten zu erfassen.

Bei Verwendung von SSH führt die mcdc-Befehlszeile Folgendes aus:

  1. Lädt das Erfassungsskript auf den Computer hoch.
  2. Führt das Skript auf dem Computer mit den Anmeldedaten des Computer-Nutzers aus, die an die mcdc-Befehlszeile übergeben werden.

  3. Ergebnisse herunterladen und importieren

Unterstützte SSH-Modi

Wenn Sie die mcdc-Befehlszeile auf einem Linux-Computer verwenden, können Sie SSH in zwei Modi ausführen:

  • Standard:Verwendet die ssh-Binärdatei und die Konfigurationen auf der mcdc-CLI-Maschine. Im Standardmodus können die lokalen SSH-Konfigurationsdateien wie ~/.ssh/config und ~/.ssh/known_hosts standardmäßig von der Workstation verwendet werden, die sie hostet.

    Geben Sie das Passwort ein, wenn Sie dazu aufgefordert werden, oder verwenden Sie sshpass, um das Passwort oder die Passphrase für die private Schlüsseldatei in der Befehlszeile zu übergeben. Beispiel:

    sshpass -p password mcdc discover ssh IP_ADDRESS
    

    Ersetzen Sie IP_ADDRESS durch die IP-Adresse des Computers.

  • Eingebettet:Verwendet die integrierte SSH-Bibliothek. In diesem Modus können Sie den eingebetteten SSH-Client verwenden, wenn im Standardmodus in Ihrer Umgebung Fehler auftreten. Die lokalen SSH-Konfigurationsdateien werden jedoch nicht standardmäßig verwendet. Mit dem Flag -i können Sie eine private SSH-Schlüsseldatei angeben.

Wenn Sie die mcdc-CLI auf einem Windows-Computer verwenden, wird nur der eingebettete Modus unterstützt.

Sammlung ausführen

So erfassen Sie Daten über SSH:

  1. Melden Sie sich auf dem Linux-Computer an, auf dem die mcdc-Befehlszeile gehostet wird.
  2. Wechseln Sie in das Verzeichnis, in das Sie die mcdc-Befehlszeile heruntergeladen haben.
  3. Daten erfassen

    Linux

    ./mcdc discover ssh IP_HOSTNAME

    Windows

    mcdc.exe discover ssh IP_HOSTNAME

    Verwenden Sie das Flag --db-engine, um Datenbank-Assets zu erkennen und zu erfassen:

    Linux

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

    Windows

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

    Ersetzen Sie Folgendes:

    • IP_HOSTNAME: Der IP-Hostname des Computers.
    • DB_ENGINE: die Datenbank-Engine, die erfasst werden soll. Unterstützte Werte sind sqlserver, mysql und postgresql.
  4. Die private SSH-Schlüsseldatei des Nutzers, der die mcdc-Befehlszeile aufruft, wird für die SSH-Authentifizierung verwendet.

    Geben Sie bei Aufforderung den Nutzernamen eines Kontos auf dem Linux-Computer ein. Das Erfassungsskript wird mit diesen Anmeldedaten ausgeführt. Wenn der private SSH-Schlüssel des Nutzers, der die mcdc-Befehlszeile aufruft, nicht bei der Maschine mit dem Nutzernamen authentifiziert werden kann, werden Sie auch zur Eingabe eines Passworts aufgefordert.

Zusätzliche Szenarien bei der Verwendung von SSH

In den folgenden Szenarien müssen Sie den Befehl möglicherweise ändern:

  • Verwenden Sie das Flag -u, um den Nutzer der Maschine im Standardmodus anzugeben:

    Linux

    ./mcdc discover ssh -u USER IP_HOSTNAME

    Windows

    mcdc.exe discover ssh -u USER IP_HOSTNAME

    Ersetzen Sie USER durch den Maschinenbenutzer.

    Geben Sie bei Aufforderung das Passwort für den Nutzer ein.

  • Verwenden Sie das Flag -v, um den ausführlichen Modus anzugeben:

    Linux

    ./mcdc discover ssh -u USER -v IP_HOSTNAME

    Windows

    mcdc.exe discover ssh -u USER -v IP_HOSTNAME

  • Verwenden Sie das Flag -i, um die private SSH-Schlüsseldatei anzugeben. So geben Sie beispielsweise .ssh/my_private_key an:

    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

  • Verwenden Sie den eingebetteten Modus, um das Passwort in der Befehlszeile anzugeben:

    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

    Da die eingebettete Form des Befehls standardmäßig nicht die lokalen SSH-Konfigurationsdateien verwendet, muss der im Befehl angegebene Nutzer über SSH auf den Computer zugreifen können und über Berechtigungen auf dem Computer verfügen, um das Sammelskript auszuführen.

  • Wenn Sie die private SSH-Schlüsseldatei im eingebetteten Modus angeben möchten, verwenden Sie das Flag -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

  • Mit dem Befehl mcdc der Befehlszeile können Sie die meisten SSH-Flags angeben. Anschließend werden diese Flags mit dem Flag -a oder --ssh-args an den Befehl ssh übergeben. So verwenden Sie beispielsweise einen Socks-Proxy:

    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

Sie können diese erfassten Daten online im Migrationscenter exportieren und bewerten oder eine Offlinebewertung durchführen.

Remote-Daten über WMI erfassen

Wenn Sie eine Gastsuchanfrage auf einem Windows-Zielcomputer mit WMI-Unterstützung ausführen möchten, können Sie den Befehl mcdc discover wmi auf dem Windows-Computer verwenden, auf dem die mcdc-Befehlszeile gehostet wird. Die WMI-Erfassung wird nur in der Windows-Version der mcdc-Befehlszeile unterstützt.

Bei Verwendung von WMI führt die mcdc-Befehlszeile folgende Schritte aus:

  1. Lädt das Erfassungsskript auf den Computer hoch.
  2. Führt das Skript auf dem Computer mit den Anmeldedaten des Computer-Nutzers aus, die an die mcdc-Befehlszeile übergeben werden.

  3. Ergebnisse herunterladen und importieren

So erfassen Sie Daten über WMI:

  1. Melden Sie sich auf dem Windows-Computer an, auf dem die mcdc CLI gehostet wird.
  2. Wechseln Sie in das Verzeichnis, in das Sie die mcdc-Befehlszeile heruntergeladen haben.
  3. Daten erheben:

    mcdc.exe discover wmi IP_HOSTNAME
    

    Ersetzen Sie IP_HOSTNAME durch den IP-Hostnamen des Computers.

  4. Geben Sie Ihre Anmeldedaten ein, wenn Sie dazu aufgefordert werden.

Daten auf einem einzelnen Linux-Computer erfassen

Wenn Sie eine lokale Gastsammlung auf einem Linux-Computer durchführen möchten, können Sie das mcdc-linux-collect.sh-Skript ausführen. Anschließend können Sie die vom Skript generierte TAR-Datei auf den Computer kopieren, auf dem sich die mcdc-Befehlszeile befindet, und sie mit dem Befehl discover import importieren.

In der Regel führen Sie das Skript mit der Option sudo aus. Optional können Sie das Skript mit den Berechtigungen des Nutzers ausführen, der die mcdc-Befehlszeile ausführt. Das Skript kann jedoch möglicherweise nicht alle erforderlichen Daten erfassen.

  1. Melden Sie sich auf Ihrem Computer an.
  2. Wechseln Sie in das Verzeichnis, in das Sie das Gasterfassungsskript heruntergeladen haben.
  3. Führen Sie das Erfassungsskript auf dem Computer aus:

    sudo ./mcdc-linux-collect.sh
    

    Das Skript gibt eine TAR-Datei namens mcdc-collect-MACHINE_NAME-TIMESTAMP.tar in das aktuelle Verzeichnis aus. Der Zeitstempel hat das Format YYYY-MM-DD-hh-mm.

    Klicken Sie hier, um das TAR-Dateiformat der Gasterfassung anzusehen.

    Die TAR-Datei hat das folgende Format:

    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
     

    Optional können Sie das Argument --output übergeben und den Pfad angeben, in dem die TAR-Datei gespeichert werden soll.

  4. Kopieren Sie die erfassten Daten von der Zielmaschine auf den Host.

  5. Importieren Sie die erfassten Daten auf dem Hostcomputer:

    Linux

    ./mcdc discover import PATH_TO_TAR

    Windows

    mcdc.exe discover import PATH_TO_TAR

    Ersetzen Sie PATH_TO_TAR durch den Pfad zur TAR-Datei.

Sie können diese erfassten Daten online im Migrationscenter exportieren und bewerten oder eine Offlinebewertung durchführen.

Daten auf einem einzelnen Windows-Computer erfassen

Wenn Sie eine Gasterfassung lokal auf einem Windows-Computer durchführen möchten, können Sie das Skript mcdc-windows-collect.ps1 ausführen. Anschließend können Sie die vom Skript generierte ZIP-Datei auf den Computer kopieren, auf dem sich die mcdc-Befehlszeile befindet, und sie mit dem Befehl discover import importieren.

  1. Melden Sie sich auf Ihrem Computer an.
  2. Öffnen Sie PowerShell mit der Option Als Administrator ausführen.
  3. Wechseln Sie in das Verzeichnis, in das Sie die mcdc-Befehlszeile heruntergeladen haben.
  4. Führen Sie das Erfassungsskript auf dem Computer aus:

    powershell -ExecutionPolicy ByPass -File .\mcdc-windows-collect.ps1
    
  5. Das Skript gibt eine ZIP-Datei namens mcdc-collect-MACHINE_NAME-TIMESTAMP.zip in das aktuelle Verzeichnis aus.

    Optional können Sie einen Ausgabepfad angeben, um einen anderen Speicherort festzulegen:

    .\mcdc-windows-collect.ps1 PATH_FOR_OUTPUT.zip
    
  6. Importieren Sie die erfassten Daten auf dem Hostcomputer:

    Linux

    ./mcdc discover import PATH_TO_TAR

    Windows

    mcdc.exe discover import PATH_TO_TAR

    Ersetzen Sie PATH_TO_TAR durch den Pfad zur TAR-Datei.

Sie können die erfassten Daten exportieren und online im Migrationscenter auswerten oder eine Offlinebewertung durchführen.

Nächste Schritte