Freigeben über


Behandeln von Problemen mit VM-Erweiterungen für Server mit Azure Arc-Unterstützung

Dieser Artikel enthält Informationen zur Problembehandlung und Behebung von Problemen, die beim Versuch auftreten können, Azure Vm-Erweiterungen auf Azure Arc-fähigen Servern bereitzustellen oder zu entfernen. Weitere Informationen finden Sie unter Verwaltung von virtuellen Maschinen-Erweiterungen mit Azure Arc-fähigen Servern.

Allgemeine Problembehandlung

Daten zum Status der Erweiterungsbereitstellungen können aus dem Azure-Portal abgerufen werden, indem Sie den entsprechenden Computer auswählen und dann Einstellungen > Erweiterungen auswählen.

Führen Sie für die allgemeine Problembehandlung die folgenden Schritte aus. Diese Schritte gelten für alle VM-Erweiterungen.

  1. Stellen Sie sicher, dass der Azure Connected Machine-Agent (azcmagent) verbunden ist und dass die abhängigen Dienste laufen/aktiv sind.

    Führen Sie den Befehl azcmagent show aus, und überprüfen Sie die Ausgabe auf den Status (Azure Arc Proxy kann ignoriert werden):

    Screenshot der Tabelle mit dem Status abhängiger Dienste als ausgeführt oder beendet

    Wenn andere Dienste als Azure Arc Proxy beendet werden, starten Sie sie neu, um Erweiterungsvorgänge fortzusetzen.

  2. Wiederholen Sie die Installation der Erweiterung.

    Erweiterungen können aus verschiedenen Gründen in einem Zustand wie Fehlerhaft oder anderen hängen bleiben. Wenn der Status einer Erweiterung nicht als erfolgreich aufgeführt ist, entfernen Sie die Erweiterung, und installieren Sie sie erneut. Der folgende Azure PowerShell Befehl kann verwendet werden, um eine Erweiterung zu entfernen:

    Remove-AzConnectedMachineExtension -Name <Extension Name> -ResourceGroupName <RG Name> -MachineName <Machine Name>
    
  3. Überprüfen Sie das Protokoll des Gast-Agents, und überprüfen Sie die Aktivität, ab dem Ihre Erweiterung bereitgestellt wurde. Für Windows überprüfen Sie %SystemDrive%\ProgramData\GuestConfig\ext_mgr_logs, und für Linux überprüfen Sie /var/lib/GuestConfig/ext_mgr_logs.

  4. Überprüfen Sie die Erweiterungsprotokolle für die jeweilige Erweiterung auf weitere Details.

    Für Windows Computer:

    • Protokolle werden in C:\ProgramData\GuestConfig gespeichert.
    • Erweiterungseinstellungen und Statusdateien finden Sie in C:\Packages\Plugins.

    Für Linux-Computer:

    • Protokolle werden in /var/lib/GuestConfig gespeichert.
    • Erweiterungseinstellungen und Statusdateien finden Sie in /var/lib/waagent.

    Erweiterungsdienstprotokolle werden in …GuestConfig\ext_mgr_logs\gc_ext.log geschrieben. Dort werden Fehler beim Herunterladen oder Überprüfen der Pakete angezeigt.

  5. Überprüfen Sie erweiterungsspezifische Dokumentationsabschnitte zur Problembehandlung auf Fehlercodes, bekannte Probleme oder andere Details. Die Dokumentation für viele Erweiterungen finden Sie in der Erweiterungstabelle.

  6. Überprüfen Sie die Systemprotokolle. Suchen Sie nach anderen Vorgängen, die die Erweiterung beeinträchtigen könnten, z. B. eine lange andauernde Installation einer anderen Anwendung, die exklusiven Zugriff auf den Paket-Manager erfordert.

Der Erweiterungspfad hat das Flag "noexec" gesetzt.

Beim Bereitstellen einer Erweiterung auf Ihrem Arc-fähigen Server tritt möglicherweise der folgende Fehler auf:

Extension failed to install. Extension returned non-zero exit code for Install: 64. Extension error 
output: Extension path '<full_path>' has the 'noexec' flag set. Extension exit code: 64

Dieser Fehler tritt auf, wenn der Azure Arc-Agent versucht, eine Erweiterung aus einem Dateisystempfad zu installieren oder auszuführen, der mit dem Flag noexec bereitgestellt wird – in diesem Fall der in der Fehlermeldung angegebene Erweiterungspfad. Die noexec Bereitstellungsoption verhindert, dass Binärdateien oder Skripts aus diesem Dateisystem ausgeführt werden. Erweiterungen müssen Installationsskripte als Teil des Setups ausführen; daher schlägt die Installation fehl, wenn sich das Arbeitsverzeichnis der Erweiterung auf einem noexec Einbindungspunkt befindet.

Dies wird in gehärteten Linux-Umgebungen am häufigsten gesehen, in denen Pfade wie /var, /var/lib, /opt oder benutzerdefinierte Bereitstellungspunkte aus Sicherheitsgründen explizit mit noexec bereitgestellt werden. Um die Blockierung der Erweiterungsinstallation aufzuheben, sollten Sie sicherstellen, dass das von Azure Arc für die Erweiterungsinstallation verwendete Dateisystem die Ausführung ermöglicht.

Erneute Bereitstellung des Dateisystems mit exec Um die Blockierung der Erweiterungsinstallation aufzuheben, aktualisieren Sie die Bereitstellungskonfiguration so, dass das Dateisystem, das den Erweiterungspfad hostt, die Ausführung zulässt. Wenn es von Ihrer Sicherheitsrichtlinie erlaubt wird, hängen Sie das betroffene Dateisystem ohne den noexec-Parameter mit dem folgenden Befehl erneut ein.

sudo mount -o remount,exec <mount-point>

Wenn die Bereitstellung in /etc/fstab definiert ist, aktualisieren Sie den Eintrag, um noexec zu entfernen und das Dateisystem erneut einzuhängen, um die Änderung auch nach Neustarts beizubehalten. Andernfalls müssen Sie möglicherweise die Bereitstellung erneut durchführen, wenn eine Erweiterungsaktualisierung erforderlich ist. Wenden Sie diese Änderung nur auf Dateisysteme an, bei denen die Ausführung von Binärdateien unter den Sicherheitsanforderungen Ihrer Organisation akzeptabel ist.

Wiederholen Sie nach dem Aktualisieren der Einhängekonfiguration die Erweiterungsinstallation.

Bekannte Probleme

HandlerManifest.json Datei ist für die Erweiterung nicht vorhanden.

Die Erweiterung ist in einem Deleting Zustand blockiert. Im Erweiterungsdienstprotokoll (gc_ext.log) wird der folgende Fehler angezeigt:

HandlerManifest.json file does not exist for extension

Analyse

Der Erweiterung fehlt die Datei "HandlerManifest.json". Dies kann passieren, wenn die Erweiterung nicht ordnungsgemäß deinstalliert wurde.

Solution

  1. Verwenden Sie zum Entfernen der Erweiterung die Parameter az connectedmachine extension delete, --extension-name, --machine-name und --resource-group.

  2. Wenn sich die Erweiterung noch im gleichen Zustand befindet, versuchen Sie, die Erweiterung manuell vom Computer zu entfernen. Einige Erweiterungen erfordern möglicherweise zusätzliche Bereinigungsschritte. Weitere Anleitungen finden Sie in der erweiterungsspezifischen Dokumentation in der Erweiterungstabelle.

    Für Windows Computer:

    • Navigieren Sie zu C:\Packages\Plugins\.
    • Löschen des Ordners, der der Erweiterung entspricht

    Für Linux-Computer:

    • Navigieren Sie zu /var/lib/waagent/.
    • Löschen des Ordners, der der Erweiterung entspricht
  3. Deinstallieren Sie die Erweiterung von Azure, und installieren Sie sie dann erneut.

Nächste Schritte

Wenn Ihr Problem hier nicht aufgeführt wird oder Sie es nicht lösen können, besuchen Sie einen der folgenden Kanäle, um Unterstützung zu erhalten:

  • Erhalten Sie Antworten von Azure Experten über Microsoft Q& A.
  • Öffnen Sie eine Supportanfrage, um Unterstützung zu erhalten. Weitere Informationen finden Sie unter Create an Azure-Support request.