Behandeln von Problemen in AzCopy v10
In diesem Artikel werden häufig auftretende Probleme erläutert, die bei der Verwendung von AzCopy auftreten können. Dieser Artikel hilft Ihnen auch bei der Identifizierung der Ursachen der Probleme und schlägt vor, wie sie behoben werden können.
Identifizieren von Problemen
Sie können ermitteln, ob ein Auftrag erfolgreich war, indem Sie sich den Exitcode ansehen.
Wenn der Beendigungscode lautet, wurde 0-success
der Auftrag erfolgreich abgeschlossen.
Wenn der Ausgangscode lautet 1-error
, überprüfen Sie die Protokolldatei. Nachdem Sie die genaue Fehlermeldung verstanden haben, können Sie einfacher nach den richtigen Schlüsselwörtern suchen und die Lösung ermitteln. Weitere Informationen finden Sie unter Ermitteln von Fehlern und Fortsetzen von Aufträgen mithilfe von Protokoll- und Plandateien in AzCopy.
Wenn der Ausgangscode 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 den Support.
Ein anderer Nichtzero-Exitcode (z OOMKilled
. B. ) kann vom System generiert werden. Informationen zu bestimmten Exitcodes finden Sie in der Dokumentation zu Ihrem Betriebssystem.
Fehler "403"
Fehler "403" sind häufig. Manchmal sind sie gutartig und verursachen keine fehlgeschlagene Übertragung. In AzCopy-Protokollen können Sie beispielsweise sehen, dass eine HEAD
Anforderung "403"-Fehler erhalten 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 eine fehlgeschlagene Übertragung verursachen. Wenn dieses Problem auftritt, schlagen wahrscheinlich andere Versuche zum Übertragen von Dateien fehl, bis Sie das Problem beheben. Fehler "403" können durch Authentifizierungs- und Autorisierungsprobleme verursacht werden. Sie können auch auftreten, wenn Anforderungen durch die Konfiguration der Speicherkontofirewall blockiert werden.
Authentifizierungs- und Autorisierungsprobleme
Fehler "403", die die Datenübertragung verhindern, treten aufgrund von Problemen auf, die SAS-Token, rollenbasierte Zugriffssteuerungsrollen (Azure RBAC) und ACL-Konfigurationen (Access Control List) umfassen.
SAS-Token
Wenn Sie ein SAS-Token (Shared Access Signature) verwenden, stellen Sie sicher, dass die folgenden Anweisungen wahr sind:
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 Azure RBAC-Rollen über den azcopy login
Befehl verwenden, vergewissern Sie sich, dass Ihnen die entsprechenden Azure-Rollen zugewiesen sind (z. B. die Rolle "Mitwirkender von Speicher-BLOB-Daten").
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 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.
Weitere 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 Konfiguration der Speicherfirewall den Zugriff von der Hostkomponente, auf der AzCopy ausgeführt wird, nicht zulässt, geben AzCopy-Vorgänge einen HTTP-Fehlercode "403" zurück.
Notiz
In diesem Artikel bezieht sich der Begriff "Hostingkomponente " auf einen physischen Computer, einen virtuellen Computer (VM) oder einen Container.
Zulässiger Bereich für Kopiervorgänge
Die AllowedCopyScope
Eigenschaft eines Speicherkontos wird verwendet, um die Umgebungen anzugeben, aus denen Sie Daten in das Zielkonto kopieren können. Diese Eigenschaft wird im Azure-Portal als zulässiger Bereich für Kopiervorgänge (Vorschau) konfigurationseinstellung angezeigt. Standardmäßig erhält die Eigenschaft keinen Wert. Die Eigenschaft gibt erst einen Wert zurück, wenn Sie ihn explizit festgelegt haben. Die AllowedCopyScope
Eigenschaft weist drei mögliche Werte auf, wie in der folgenden Tabelle dargestellt.
Wert | Beschreibung |
---|---|
(null ) |
(Standardwert) Ermöglicht das Kopieren von einem beliebigen Speicherkonto in das Zielkonto. |
Microsoft Entra ID |
Ermöglicht das Kopieren von nur Konten, die sich innerhalb desselben Microsoft Entra-Mandanten wie das Zielkonto befinden. |
PrivateLink |
Ermöglicht das Kopieren von nur Speicherkonten mit privaten Links zum gleichen virtuellen Netzwerk wie das Zielkonto. |
Weitere Informationen zu dieser Eigenschaft und der zugehörigen Konfigurationseinstellung finden Sie unter Einschränken der Quelle von Kopiervorgängen auf ein Speicherkonto.
Übertragen von Daten von oder an eine lokale Hostingkomponente
Wenn Sie Daten zwischen einem Speicherkonto und einer lokalen Hostingkomponente hochladen oder herunterladen, stellen Sie sicher, dass die Hostkomponente, die AzCopy ausführt, auf das Quell- oder Zielspeicherkonto zugreifen kann. Möglicherweise müssen Sie IP-Netzwerkregeln in den Firewalleinstellungen der Quell- oder Zielkonten verwenden, um den Zugriff von der öffentlichen IP-Adresse der Hostingkomponente zuzulassen.
Übertragen von Daten zwischen Speicherkonten
Autorisierungsfehler "403" können verhindern, dass Sie Daten zwischen Konten übertragen, indem Sie die Clienthostkomponente verwenden, auf der AzCopy ausgeführt wird.
Wenn Sie Daten zwischen Speicherkonten kopieren, stellen Sie sicher, dass die Hostkomponente, die AzCopy ausführt, sowohl auf die Quelle als auch auf das Zielkonto zugreifen kann. Möglicherweise müssen Sie IP-Netzwerkregeln in den Firewalleinstellungen der Quell- und Zielkonten verwenden, um den Zugriff von der öffentlichen IP-Adresse der Hostingkomponente zuzulassen. Der Dienst verwendet die IP-Adresse der AzCopy-Clienthostingkomponente, um die Quelle 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 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.
Verwenden von Private Link
Private Verknüpfung befindet sich auf der Ebene des virtuellen Netzwerks/Subnetzs. Wenn AzCopy-Anforderungen über den privaten Link gehen sollen, muss AzCopy diese Anforderungen von einer VM ausführen, die in diesem virtuellen Netzwerk/Subnetz ausgeführt wird. Angenommen, Sie konfigurieren den privaten Link in VNet1/Subnetz1, aber der virtuelle Computer, auf dem AzCopy ausgeführt wird, befindet sich in VNet1/Subnet2. In diesem Szenario verwenden AzCopy-Anforderungen keine private Verknüpfung, und die Anforderungen werden erwartet, dass ein Fehler auftritt.
Proxyspezifische Fehler
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. 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 erfordert:
Endpunkte für die Anmeldung | Azure Storage-Endpunkte |
---|---|
login.microsoftonline.com (Azure weltweit) |
(blob | file | dfs).core.windows.net (Azure weltweit) |
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: certificate signed by unknown authority (Zertifikat wurde von unbekannter Autorität signiert)
Dieser Fehler bezieht sich häufig auf die Verwendung eines Proxys, der ein SSL-Zertifikat (Secure Sockets Layer) verwendet, das vom Betriebssystem nicht als vertrauenswürdig eingestuft wird. Überprüfen Sie Ihre Einstellungen, und stellen Sie sicher, dass das Zertifikat auf Betriebssystemebene vertrauenswürdig ist.
Es wird empfohlen, das Zertifikat dem Stammzertifikatspeicher Ihrer Hostingkomponente hinzuzufügen, da dort die vertrauenswürdigen Behörden aufbewahrt werden.
Unbekannte Parameter
Wenn Sie eine Fehlermeldung erhalten, die besagt, 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 ein vollständiges Umschreiben, das keine Syntax für die vorherigen Versionen verwendet. 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 zusammen mit einem beliebigen Befehl verwenden (z. B azcopy copy -h
. ). Lesen Sie dazu Hilfe zum Abrufen von Befehlen. Wenn Sie die gleichen Informationen online anzeigen möchten, lesen Sie azcopy copy.
Um Ihnen zu helfen, Befehle zu verstehen, stellen wir ein Schulungstool bereit, das sich im AzCopy-Befehlshandbuch befindet. Dieses Tool zeigt die beliebtesten AzCopy-Befehle zusammen mit den beliebtesten Befehlsflags. Informationen zum Suchen nach Beispielbefehlen finden Sie unter Übertragen von Daten. Wenn Sie eine Frage haben, versuchen Sie zuerst, vorhandene GitHub-Probleme zu durchsuchen, um festzustellen, ob sie bereits beantwortet wurde.
Fehler bei der Richtlinie für bedingten Zugriff
Beim Aufrufen des azcopy login
Befehls wird möglicherweise die folgende Fehlermeldung angezeigt:
Fehler beim Ausführen des Anmeldebefehls: Fehler beim Anmelden mit tenantID "common", Azure Directory Endpoint "https://login.microsoftonline.com", autorest/adal/devicetoken: -REDACTED- AADSTS50005: Der Benutzer hat versucht, sich von einer Plattform (unbekannt) an einem Gerät anzumelden, das derzeit 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- Timestamp: 2021-01-05 01:58:28Z
Dieser Fehler bedeutet, dass Ihr Administrator eine Richtlinie für bedingten Zugriff konfiguriert hat, die die Art des Geräts angibt, von dem Sie sich anmelden können. AzCopy verwendet den Gerätecodefluss. Der Gerätecodefluss kann nicht garantieren, dass die Hostingkomponente, auf der Sie das AzCopy-Tool verwenden, auch dort ist, wo Sie sich anmelden.
Wenn Ihr Gerät zu der Liste der unterstützten Plattformen gehört, können Sie möglicherweise Storage-Explorer verwenden. Storage-Explorer integriert AzCopy für alle Datenübertragungen (es übergibt Token an AzCopy über den geheimen Speicher), stellt jedoch einen Anmeldeworkflow bereit, der das Übergeben von Geräteinformationen unterstützt. AzCopy selbst unterstützt auch verwaltete Identitäten und Dienstprinzipale als Anmeldealternative.
Wenn Ihr Gerät nicht in der Liste der unterstützten Plattformen enthalten ist, wenden Sie sich an Ihren Administrator, um Hilfe zu erhalten.
Serverbelastungen, Netzwerkfehler oder Timeouts
Wenn eine große Anzahl fehlgeschlagener Anforderungen mit dem Status "503 Server Beschäftigt" angezeigt wird, schränkt der Speicherdienst Ihre Anforderungen ein. Wenn Netzwerkfehler oder Timeouts angezeigt werden, versuchen Sie möglicherweise, zu viele Daten für Ihre Infrastruktur zu übertragen. In allen Fällen ist die Problemumgehung ähnlich.
Wenn eine große Datei immer wieder nicht kopiert werden kann, da bestimmte Blöcke jedes Mal fehlschlagen, versuchen Sie, die gleichzeitigen Netzwerkverbindungen oder den Durchsatzgrenzwert je nach Ihrem jeweiligen Fall zu begrenzen. Wir empfehlen Ihnen, die Leistung zuerst drastisch zu senken, zu beobachten, ob diese Aktion das anfängliche Problem gelöst hat, und dann die Leistung erneut hochfahren, bis Sie eine Gesamtbilanz erzielen.
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, von dem Sie AzCopy ausführen, auf die Gesamtleistung auswirken. Obwohl Daten von Server zu Server übertragen werden, initiiert AzCopy Aufrufe für jede Datei, die zwischen Dienstendpunkten kopiert werden soll.
Bekannte Einschränkungen in 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 die Dateifreigabe in eine Azure-Dateifreigabe kopieren, wenn Sie vergessen haben, die
--preserve-smb-permissions
Kennzeichnung anzugeben und die Daten nicht erneut zu übertragen, sollten Sie die Verwendung von Robocopy in Betracht ziehen, um die Berechtigungen zu übernehmen.Azure Functions verfügt über einen anderen Endpunkt für die MSI-Authentifizierung. AzCopy unterstützt noch keine MSI-Authentifizierung.
Siehe auch
- Erste Schritte mit AzCopy
- Ermitteln von Fehlern und Fortsetzen von Aufträgen mithilfe von Protokoll- und Plandateien in AzCopy
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.