Problembehandlung bei AzCopy v10

In diesem Artikel werden häufige Probleme beschrieben, die bei der Verwendung von AzCopy auftreten können. Sie erhalten darin Hilfe zur Identifizierung der Ursachen für diese Probleme und finden dann Vorschläge zur Problemlösung.

Identifizieren von Problemen

Sie können ermitteln, ob ein Auftrag erfolgreich war, indem Sie sich den Exitcode ansehen.

Wenn der Exitcode 0-success lautet, wurde der Auftrag erfolgreich abgeschlossen.

Wenn der Exitcode 1-error lautet, überprüfen Sie die Protokolldatei. Sobald Sie die genaue Fehlermeldung verstehen, wird es viel einfacher, nach den richtigen Schlüsselwörtern zu suchen und die Lösung herauszufinden. Weitere Informationen finden Sie unter Ermitteln von Fehlern und Fortsetzen von Aufträgen mithilfe von Protokoll- und Plandateien in AzCopy.

Wenn der Exitcode 2-panic lautet, überprüfen Sie, ob die Protokolldatei vorhanden ist. Wenn die Datei nicht vorhanden ist, melden Sie einen Fehler, oder wenden Sie sich an den Support.

403-Fehler

Es ist üblich, dass 403-Fehler auftreten. Manchmal sind sie harmlos und führen nicht zu einer fehlgeschlagenen Übertragung. So könnten Sie beispielsweise in AzCopy-Protokollen sehen, dass eine HEAD-Anforderung 403-Fehler empfangen hat. Diese Fehler treten auf, wenn AzCopy überprüft, ob eine Ressource öffentlich ist. In den meisten Fällen können Sie diese Instanzen ignorieren.

In einigen Fällen können 403-Fehler zu einer fehlgeschlagenen Übertragung führen. Wenn dies geschieht, schlagen weitere Versuche zur Übertragung von Dateien wahrscheinlich so lange fehl, bis Sie das Problem beheben. 403-Fehler können infolge von Authentifizierungs- und Autorisierungsproblemen auftreten. Sie können auch auftreten, wenn Anforderungen aufgrund der Firewallkonfiguration für Speicherkonten blockiert werden.

Probleme bei Authentifizierung/Autorisierung

403-Fehler, die die Datenübertragung verhindern, treten aufgrund von Problemen bei SAS-Token, rollenbasierten Zugriffssteuerungsrollen (Azure RBAC-Rollen) und Konfigurationen für Zugriffssteuerungslisten (ACL) auf.

SAS-Token

Wenn Sie ein Shared Access Signature (SAS)-Token verwenden, überprüfen Sie Folgendes:

  • Die Ablauf- und Startzeiten des SAS-Tokens sind geeignet.

  • Sie haben alle erforderlichen Berechtigungen für das Token ausgewählt.

  • Sie haben das Token mithilfe eines offiziellen SDKs oder Tools generiert. Probieren Sie Storage-Explorer aus, wenn Sie das noch nicht getan haben.

Azure RBAC

Wenn Sie rollenbasierte Zugriffssteuerungsrollen (Azure RBAC-Rollen) über den Befehl azcopy login verwenden, überprüfen Sie, ob Sie über die entsprechenden Azure-Rollen verfügen, die ihrer Identität zugewiesen wurden (z. B. die Rolle „Mitwirkender an Speicherblobdaten“).

Weitere Informationen zu Azure-Rollen finden Sie unter Zuweisen einer Azure-Rolle für den Zugriff auf Blobdaten.

ACLs

Wenn Sie Zugriffssteuerungslisten (Access Control Lists, ACLs) verwenden, überprüfen Sie, ob Ihre Identität in einem ACL-Eintrag für jede Datei oder jedes Verzeichnis angezeigt wird, auf die bzw. das Sie zugreifen möchten. Stellen Sie außerdem sicher, dass jeder ACL-Eintrag die entsprechende Berechtigungsstufe wiedergibt.

Weitere Informationen zu ACLs und ACL-Einträgen finden Sie unter Verwalten von Zugriffssteuerungslisten (Access Control Lists, ACLs) in Azure Data Lake Storage Gen2.

Informationen dazu, wie Sie Azure-Rollen zusammen mit ACLs einbinden und wie diese vom System zum Treffen von Autorisierungsentscheidungen ausgewertet werden, finden Sie unter Zugriffssteuerungsmodell in Azure Data Lake Storage Gen2.

Probleme bei Firewall und privaten Endpunkten

Wenn die Speicherfirewall nicht so konfiguriert wird, dass der Zugriff von dem Computer aus zulässig ist, auf dem AzCopy ausgeführt wird, geben AzCopy-Vorgänge einen „HTTP 403-Fehler“ zurück.

Übertragen von Daten von einem oder an einen lokalen Computer

Wenn Sie Daten zwischen einem Speicherkonto und einem lokalen Computer hoch- oder herunterladen, stellen Sie sicher, dass der Computer, auf dem AzCopy ausgeführt wird, auf das Quell- oder das Zielspeicherkonto zugreifen kann. Möglicherweise müssen Sie IP-Netzwerkregeln in den Firewalleinstellungen des Quell- oder des Zielkontos verwenden, um den Zugriff auf die öffentliche IP-Adresse des Computers zu ermöglichen.

Übertragen von Daten zwischen Speicherkonten

403-Autorisierungsfehler können verhindern, dass Sie Daten zwischen Konten mithilfe des Clientcomputers übertragen, auf dem AzCopy ausgeführt wird.

Stellen Sie beim Kopieren von Daten zwischen Speicherkonten sicher, dass der Computer, auf dem AzCopy ausgeführt wird, auf das Quellkonto und das Zielkonto zugreifen kann. Möglicherweise müssen Sie IP-Netzwerkregeln in den Firewalleinstellungen des Quell- und Zielkontos verwenden, um den Zugriff auf die öffentliche IP-Adresse des Computers zu ermöglichen. Der Dienst verwendet die IP-Adresse des AzCopy-Clientcomputers zum Autorisieren des Datenverkehrs zwischen Quelle und Ziel. Informationen zum Hinzufügen einer öffentlichen IP-Adresse zu den Firewalleinstellungen eines Speicherkontos finden Sie unter Gewähren des Zugriffs aus einem Internet-IP-Adressbereich.

Wenn Ihre VM keine öffentliche IP-Adresse hat oder haben kann, sollten Sie einen privaten Endpunkt verwenden. Lesen Sie dazu Verwenden von privaten Endpunkten für Azure Storage.

Ein Private Link befindet sich auf der virtuellen Netzwerkebene (VNet)/Subnetzebene. Wenn Sie möchten, dass AzCopy-Anforderungen eine private Verbindung durchlaufen sollen, muss AzCopy diese Anforderungen von einer VM senden, die in diesem VNet/Subnetz ausgeführt wird. Wenn Sie beispielsweise eine private Verbindung in VNet1/Subnetz1 konfigurieren, aber die VM, auf der AzCopy ausgeführt wird, sich in VNet1/Subnetz2 befindet, nutzen AzCopy-Anforderungen die private Verbindung nicht und werden voraussichtlich fehlschlagen.

Wenn TCP-Fehler wie z. B. dial tcp: lookup proxy.x.x: no such host auftreten, bedeutet dies, dass Ihre Umgebung für die Verwendung des richtigen Proxys nicht konfiguriert wurde oder dass Sie einen erweiterten Proxy verwenden, der von AzCopy nicht erkannt wird.

Sie müssen die Proxyeinstellungen aktualisieren, damit sie die richtigen Konfigurationen wiedergeben. Lesen Sie dazu Konfigurieren von Proxyeinstellungen.

Sie können den Proxy auch umgehen, indem Sie die Umgebungsvariable „NO_PROXY="*"“ festlegen.

Hier sind die Endpunkte, die AzCopy verwenden muss:

Anmeldeendpunkte Azure Storage-Endpunkte
login.microsoftonline.com (global Azure) (blob \| file \| dfs).core.windows.net (global Azure)
login.chinacloudapi.cn (Azure China) (blob \| file \| dfs).core.chinacloudapi.cn (Azure China)
login.microsoftonline.de (Azure Germany) (blob \| file \| dfs).core.cloudapi.de (Azure Germany)
login.microsoftonline.us (Azure US Government) (blob \| file \| dfs).core.usgovcloudapi.net (Azure US Government)

x509: certificate signed by unknown authority (Zertifikat wurde von unbekannter Autorität signiert)

Dieser Fehler ist oft mit der Verwendung eines Proxys verknüpft, der ein Secure Sockets Layer (SSL)-Zertifikat nutzt, dem vom Betriebssystem nicht vertraut wird. Überprüfen Sie Ihre Einstellungen, und stellen Sie sicher, dass das Zertifikat auf Betriebssystemebene vertrauenswürdig ist.

Wir empfehlen, das Zertifikat dem Stammzertifikatspeicher Ihres Computers hinzuzufügen, da die vertrauenswürdigen Stellen dort aufbewahrt werden.

Unbekannte Parameter

Wenn Sie eine Fehlermeldung mit der Information erhalten, dass Ihre Parameter nicht erkannt werden, vergewissern Sie sich, dass Sie die richtige Version von AzCopy verwenden. AzCopy V8 und frühere Versionen sind veraltet. AzCopy V10 ist die aktuelle Version und ein komplettes Rewrite, das keine Syntax mit den vorherigen Versionen teilt. Weitere Informationen finden Sie in diesem Migrationsleitfaden hier.

Stellen Sie außerdem sicher, dass integrierte Hilfemeldungen genutzt werden, indem Sie bei jedem Befehl den Schalter -h eingeben (Beispiel: azcopy copy -h). Lesen Sie dazu Hilfe zum Abrufen von Befehlen. Wenn Sie die gleichen Informationen online anzeigen möchten, lesen Sie azcopy copy.

Damit Sie Befehle besser verstehen können, stellen wir ein Schulungstool hier bereit. Dieses Tool zeigt die beliebtesten AzCopy-Befehle zusammen mit den beliebtesten Befehlsflags. Unsere Beispiele dazu finden Sie hier. Wenn Sie irgendeine Frage haben, versuchen Sie zuerst, nach bestehenden GitHub-Problemen zu suchen, um zu sehen, ob sie bereits beantwortet wurde.

Fehler bei der Richtlinie für bedingten Zugriff

Wenn Sie den Befehl azcopy login aufrufen, kann der folgende Fehler angezeigt werden.

„Fehler beim Ausführen des Anmeldebefehls: Fehler beim Anmelden mit MandantenID "common", Azure Directory-Endpunkt „https://login.microsoftonline.com", autorest/adal/devicetoken: -REDACTED- AADSTS50005: Benutzer haben versucht, sich bei einem Gerät von einer Plattform (Unbekannt) anzumelden, die zurzeit nicht über die Richtlinie für bedingten Zugriff unterstützt wird. Unterstützte Geräteplattformen sind: iOS, Android, Mac und Windows-Varianten. Ablaufverfolgungs-ID: –REDACTED– Korrelations-ID: –REDACTED– Zeitstempel: 05.01.2021 01:58:28Z“

Dieser Fehler bedeutet, dass Ihr Administrator eine Richtlinie für bedingten Zugriff konfiguriert hat, die festlegt, über welchen Gerätetyp Sie sich anmelden können. AzCopy verwendet den Gerätecodefluss, der nicht garantieren kann, dass der Computer, auf dem Sie das Tool AzCopy verwenden, auch der Computer ist, über den Sie sich anmelden.

Wenn Ihr Gerät in der Liste der unterstützten Plattformen aufgeführt wird, können Sie möglicherweise Storage-Explorer verwenden, der AzCopy für alle Datenübertragungen integriert (er übergibt Token an AzCopy über den geheimen Speicher), aber einen Anmeldeworkflow bereitstellt, der die Übergabe von Geräteinformationen unterstützt. AzCopy selbst unterstützt auch verwaltete Identitäten und Dienstprinzipale, die als Alternative verwendet werden könnten.

Wenn Ihr Gerät in der Liste der unterstützten Plattformen nicht aufgeführt wird, wenden Sie sich an Ihren Administrator, um Hilfe zu erhalten.

Server ausgelastet, Netzwerkfehler, Zeitüberschreitungen

Wenn eine große Anzahl von fehlgeschlagenen Anforderungen mit dem Status 503 Server Busy angezeigt wird, werden Ihre Anforderungen vom Speicherdienst gedrosselt. Wenn Netzwerkfehler oder Zeitüberschreitungen angezeigt werden, versuchen Sie möglicherweise, zu viele Daten in Ihrer Infrastruktur zu pushen, und diese Infrastruktur hat Schwierigkeiten bei der Verarbeitung. In allen Fällen ist die Problemumgehung ähnlich.

Wenn eine große Datei aufgrund von bestimmten Blöcken immer wieder fehlschlägt, versuchen Sie, die gleichzeitigen Netzwerkverbindungen oder den Durchsatz je nach Ihrem spezifischen Fall zu begrenzen. Wir schlagen vor, dass Sie zuerst die Leistung drastisch verringern, beobachten, ob das ursprüngliche Problem gelöst wurde, und dann die Leistung wieder hochfahren, bis eine Gesamtbilanz erreicht wird.

Weitere Informationen finden Sie unter Optimieren der Leistung von AzCopy mit Azure Storage.

Wenn Sie Daten zwischen Konten mithilfe von AzCopy kopieren, könnte die Qualität und Zuverlässigkeit des Netzwerks, aus dem Sie AzCopy ausführen, die Gesamtleistung beeinträchtigen. Obwohl Daten von Server zu Server übertragen werden, initiiert AzCopy Aufrufe für jede Datei, die zwischen Dienstendpunkten kopiert werden soll.

Bekannte Einschränkungen bei AzCopy

  • Das Kopieren von Daten aus Government-Clouds in kommerzielle Clouds wird nicht unterstützt. Dagegen wird das Kopieren von Daten aus kommerziellen Clouds in Government-Clouds unterstützt.

  • Asynchrones dienstseitiges Kopieren wird nicht unterstützt. AzCopy führt nur synchrones Kopieren durch. Mit anderen Worten: Als der Auftrag abgeschlossen war, wurden die Daten verschoben.

  • Wenn Sie beim Kopieren in eine Azure-Dateifreigabe vergessen haben, das Flag --preserve-smb-permissions anzugeben, und Sie die Daten nicht erneut übertragen möchten, sollten Sie die Berechtigungen mithilfe von Robocopy übertragen.

  • Bei Azure Functions gibt es einen anderen Endpunkt für die MSI-Authentifizierung, den AzCopy noch nicht unterstützt.

Bekannte temporäre Probleme

Es gibt ein Dienstproblem mit Auswirkung auf AzCopy 10.11+, das mithilfe der API „PutBlobFromURL“ Blobs kopiert, die kleiner als die angegebene Blockgröße sind (deren Standard 8 MiB ist). Wenn der Benutzer über eine Firewall (VNet/IP/PL/SE-Richtlinie) für das Quellkonto verfügt, könnte die API PutBlobFromURL fälschlicherweise die Nachricht 409 Copy source blob has been modified zurückgeben. Die Problemumgehung besteht in der Verwendung von AzCopy 10.10.

Weitere Informationen