Behandeln von Problemen mit AzCopy v10

Dieser Artikel beschreibt häufige Probleme, die bei der Verwendung von AzCopy auftreten können, hilft Ihnen bei der Identifizierung der Ursachen dieser Probleme und schlägt dann Möglichkeiten vor, sie zu beheben.

Identifizieren von Problemen

Sie können feststellen, ob ein Auftrag erfolgreich ist, indem Sie sich den Exitcode ansehen.

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

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

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

Wenn der Exitcode ein anderer Exitcode ungleich Null ist, kann es sich um einen Exitcode aus dem System handelt. Beispiel: OOMKilled. Informationen zu speziellen Exitcodes finden Sie in der Dokumentation ihres Betriebssystems.

Fehler 403

Es ist üblich, dass 403-Fehler auftreten. Manchmal sind sie harmlos und führen nicht zu einer fehlgeschlagenen Übertragung. In AzCopy-Protokollen können Sie beispielsweise sehen, dass eine HEAD Anforderung 403-Fehler empfangen hat. Diese Fehler werden angezeigt, 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 einem Fehler bei der Übertragung führen. In diesem Fall schlagen andere Versuche, Dateien zu übertragen, wahrscheinlich fehl, bis Sie das Problem behoben haben. Fehler vom Typ 403 können aufgrund von Authentifizierungs- und Autorisierungsproblemen auftreten. Sie können auch auftreten, wenn Anforderungen aufgrund der Firewallkonfiguration des Speicherkontos blockiert werden.

Authentifizierungs-/Autorisierungsprobleme

Fehler 403, die die Datenübertragung verhindern, treten aufgrund von Problemen mit SAS-Token, Rollen der rollenbasierten Zugriffssteuerung (Azure RBAC) und Konfigurationen der Zugriffssteuerungsliste (Access Control List, ACL) auf.

SAS-Token

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

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

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

  • Sie haben das Token mithilfe eines offiziellen SDK oder Tools generiert. Versuchen Sie es, Storage-Explorer, falls noch nicht geschehen.

Azure RBAC

Wenn Sie Azure RBAC-Rollen über den azcopy login Befehl verwenden, überprüfen Sie, ob Ihrer Identität die entsprechenden Azure-Rollen zugewiesen sind (z. B. die Rolle Mitwirkender an Storage-Blobdaten).

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 widerspiegelt.

Weitere Informationen zu ACLs und ACL-Einträgen finden Sie unter Zugriffssteuerungslisten (ACLs) in Azure Data Lake Storage Gen2.

Weitere Informationen dazu, wie Sie Azure-Rollen zusammen mit ACLs integrieren und wie das System diese auswertet, um Autorisierungsentscheidungen zu treffen, finden Sie unter Zugriffssteuerungsmodell in Azure Data Lake Storage Gen2.

Probleme mit Firewall und privaten Endpunkten

Wenn die Speicherfirewallkonfiguration nicht so konfiguriert ist, dass der Zugriff von dem Computer zugelassen wird, auf dem AzCopy ausgeführt wird, geben AzCopy-Vorgänge einen HTTP 403-Fehler zurück.

Übertragen von Daten von oder auf einen lokalen Computer

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

Übertragen von Daten zwischen Speicherkonten

403-Autorisierungsfehler können verhindern, dass Sie Daten zwischen Konten übertragen, indem Sie den Clientcomputer verwenden, auf dem AzCopy ausgeführt wird.

Wenn Sie Daten zwischen Speicherkonten kopieren, stellen Sie sicher, dass der Computer, auf dem AzCopy ausgeführt wird, sowohl auf das Quell- als auch auf das Zielkonto zugreifen kann. Möglicherweise müssen Sie IP-Netzwerkregeln in den Firewalleinstellungen sowohl des Quell- als auch des Zielkontos verwenden, um den Zugriff über die öffentliche IP-Adresse des Computers zuzulassen. Der Dienst verwendet die IP-Adresse des AzCopy-Clientcomputers, um den Quelldatenverkehr für den Zieldatenverkehr zu autorisieren. Informationen zum Hinzufügen einer öffentlichen IP-Adresse zu den Firewalleinstellungen eines Speicherkontos finden Sie unter Gewähren des Zugriffs über einen Internet-IP-Bereich.

Falls Ihre VM keine öffentliche IP-Adresse hat oder nicht haben kann, sollten Sie einen privaten Endpunkt verwenden. Weitere Informationen finden Sie unter Verwenden privater Endpunkte für Azure Storage.

Private Link befindet sich auf VNET-/Subnetzebene. Wenn AzCopy-Anforderungen Private Link durchlaufen sollen, muss AzCopy diese Anforderungen von einem virtuellen Computer senden, der in diesem VNet/Subnetz ausgeführt wird. Wenn Sie z. B. Private Link in VNet1/Subnet1 konfigurieren, der virtuelle Computer, auf dem AzCopy ausgeführt wird, sich jedoch in VNet1/Subnet2 befindet, verwenden AzCopy-Anforderungen keine Private Link, und es wird erwartet, dass sie fehlschlagen.

Wenn TCP-Fehler wie "dial tcp: lookup proxy.x.x: no such host" auftreten, bedeutet dies, dass Ihre Umgebung nicht für die Verwendung des richtigen Proxys konfiguriert ist oder Sie einen erweiterten Proxy verwenden, den AzCopy nicht erkennt.

Sie müssen die Proxyeinstellungen aktualisieren, um die richtigen Konfigurationen widerzuspiegeln. Weitere Informationen finden Sie unter Konfigurieren von Proxyeinstellungen.

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

Hier sind die Endpunkte aufgeführt, die AzCopy verwenden muss:

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

x509: Von unbekannter Autorität signiertes Zertifikat

Dieser Fehler hängt häufig mit der Verwendung eines Proxys zusammen, der ein SSL-Zertifikat (Secure Sockets Layer) verwendet, dem das Betriebssystem nicht vertraut. Überprüfen Sie Ihre Einstellungen, und stellen Sie sicher, dass das Zertifikat auf Betriebssystemebene vertrauenswürdig ist.

Es wird empfohlen, das Zertifikat dem Stammzertifikatspeicher Ihres Computers hinzuzufügen, da dort die vertrauenswürdigen Autoritäten aufbewahrt werden.

Nicht erkannte Parameter

Wenn Sie eine Fehlermeldung mit dem Hinweis erhalten, dass Ihre Parameter nicht erkannt werden, stellen Sie sicher, dass Sie die richtige Version von AzCopy verwenden. AzCopy V8 und frühere Versionen sind veraltet. AzCopy V10 ist die aktuelle Version, und es handelt sich um eine vollständige Neuschreibung, die keine Syntax mit den vorherigen Versionen teilt. Weitere Informationen finden Sie im AzCopy-Migrationshandbuch für v8 zu v10.

Stellen Sie außerdem sicher, dass Sie integrierte Hilfenachrichten verwenden, indem Sie den -h Schalter mit einem beliebigen Befehl verwenden (z. B. ). azcopy copy -h Weitere Informationen finden Sie unter Hilfe zum Abrufen von Befehlen. Informationen zum Online-Anzeigen derselben Informationen finden Sie unter azcopy copy.

Um Ihnen das Verständnis von Befehlen zu erleichtern, stellen wir ein Schulungstool im AZCOPY COMMAND GUIDE bereit. Dieses Tool veranschaulicht die beliebtesten AzCopy-Befehle zusammen mit den beliebtesten Befehlsflags. Unsere Beispiele finden Sie hier. Wenn Sie eine Frage haben, durchsuchen Sie zunächst vorhandene GitHub-Probleme , um festzustellen, ob sie bereits beantwortet wurden.

Fehler der Richtlinie für bedingten Zugriff

Beim Aufrufen des Befehls wird der azcopy login folgende Fehler angezeigt:

Fehler beim Ausführen des Anmeldebefehls: Fehler bei der Anmeldung mit tenantID "common", Azure directory endpoint "https://login.microsoftonline.com", autorest/adal/devicetoken: -REDACTED- AADSTS50005: Der Benutzer hat versucht, sich von einer Plattform (Unbekannt) bei einem Gerät anzumelden, die derzeit nicht durch 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: 2021-01-05 01:58:28Z

Dieser Fehler bedeutet, dass Ihr Administrator eine Richtlinie für bedingten Zugriff konfiguriert hat, die angibt, von welchem Gerätetyp Sie sich anmelden können. AzCopy verwendet den Gerätecodeflow, der nicht garantieren kann, dass sich der Computer, auf dem Sie das AzCopy-Tool verwenden, auch dort befindet, wo Sie sich anmelden.

Wenn Ihr Gerät in der Liste der unterstützten Plattformen enthalten ist, können Sie möglicherweise Storage-Explorer verwenden, das AzCopy für alle Datenübertragungen integriert (token werden über den Geheimnisspeicher an AzCopy übergeben), 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önnen.

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

Server ausgelastet, Netzwerkfehler oder Timeouts

Wenn eine große Anzahl fehlerhafter Anforderungen mit dem status "503 Server ausgelastet" angezeigt wird, werden Ihre Anforderungen vom Speicherdienst gedrosselt. Wenn Netzwerkfehler oder Timeouts angezeigt werden, versuchen Sie möglicherweise, zu viele Daten über Ihre Infrastruktur hinweg zu übertragen, und diese Infrastruktur hat Probleme damit. In allen Fällen ist die Problemumgehung ähnlich.

Wenn eine große Datei wiederholt fehlschlägt, weil bestimmte Blöcke jedes Mal fehlschlagen, versuchen Sie, die gleichzeitigen Netzwerkverbindungen oder das Durchsatzlimit abhängig von Ihrem spezifischen Fall zu begrenzen. Wir empfehlen Ihnen, die Leistung zunächst drastisch zu senken, zu beobachten, ob sie das anfängliche Problem gelöst hat, und dann die Leistung wieder hochfahren, bis ein Gesamtgleichgewicht erreicht ist.

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

Wenn Sie Daten zwischen Konten mithilfe von AzCopy kopieren, kann sich die Qualität und Zuverlässigkeit des Netzwerks, in dem Sie AzCopy ausführen, auf die Gesamtleistung auswirken. Obwohl Datenübertragungen vom Server zum Server durchgeführt werden, initiiert AzCopy Aufrufe für jede Datei, die zwischen Dienstendpunkten kopiert werden soll.

Bekannte Einschränkungen mit AzCopy

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

  • Asynchrones dienstseitiges Kopieren wird nicht unterstützt. AzCopy führt nur synchrones Kopieren aus. Mit anderen Worten, zu dem Zeitpunkt, zu dem der Auftrag abgeschlossen ist, wurden die Daten verschoben.

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

  • Azure Functions verfügt über einen anderen Endpunkt für die MSI-Authentifizierung, den AzCopy noch nicht unterstützt.

Siehe auch

Kontaktieren Sie uns für Hilfe

Wenn Sie Fragen haben oder Hilfe mit Ihren Azure-Gutschriften benötigen, dann erstellen Sie beim Azure-Support eine Support-Anforderung oder fragen Sie den Azure Community-Support. Sie können auch Produktfeedback an die Azure Feedback Community senden.