Risolvere i problemi con AzCopy v10

Questo articolo descrive i problemi comuni che potrebbero verificarsi durante l'uso di AzCopy, consente di identificare le cause di tali problemi e quindi suggerisce modi per risolverli.

Identificazione dei problemi

È possibile determinare se un processo ha esito positivo esaminando il codice di uscita.

Se il codice di uscita è , il processo è 0-successstato completato correttamente.

Se il codice di uscita è 1-error, esaminare il file di log. Dopo aver compreso il messaggio di errore esatto, diventa molto più semplice cercare le parole chiave corrette e individuare la soluzione. Per altre informazioni, vedere Trovare errori e riprendere i processi usando i file di log e di piano in AzCopy.

Se il codice di uscita è 2-panic, verificare che il file di log esista. Se il file non esiste, creare un bug o contattare il supporto.

Se il codice di uscita è qualsiasi altro codice di uscita diverso da zero, potrebbe essere un codice di uscita dal sistema. Ad esempio, OOMKilled. Controllare la documentazione del sistema operativo per i codici di uscita speciali.

Errori 403

È comune che si verifichino errori 403. A volte sono benigni e non comportano un trasferimento non riuscito. Ad esempio, nei log di AzCopy è possibile che una HEAD richiesta riceva 403 errori. Questi errori vengono visualizzati quando AzCopy verifica se una risorsa è pubblica. Nella maggior parte dei casi, è possibile ignorare tali istanze.

In alcuni casi, 403 errori possono causare un trasferimento non riuscito. In questo caso, è probabile che altri tentativi di trasferimento dei file non riescano fino a quando non si risolve il problema. Gli errori 403 possono verificarsi a causa di problemi di autenticazione e autorizzazione. Possono verificarsi anche quando le richieste vengono bloccate a causa della configurazione del firewall dell'account di archiviazione.

Problemi di autenticazione/autorizzazione

403 Errori che impediscono il trasferimento dei dati si verificano a causa di problemi con token di firma di accesso condiviso, ruoli di controllo degli accessi in base al ruolo (Controllo degli accessi in base al ruolo) e configurazioni dell'elenco di controllo di accesso (ACL).

Token di firma di accesso condiviso

Se si usa un token di firma di accesso condiviso, verificare quanto segue:

  • La scadenza e l'ora di inizio del token di firma di accesso condiviso sono appropriate.

  • Sono state selezionate tutte le autorizzazioni necessarie per il token.

  • Il token è stato generato usando un SDK o uno strumento ufficiale. Provare Storage Explorer se non è già stato fatto.

Controllo degli accessi in base al ruolo di Azure

Se si usano i ruoli controllo degli accessi in base al ruolo di Azure tramite il azcopy login comando , verificare di avere i ruoli di Azure appropriati assegnati all'identità, ad esempio il ruolo Collaboratore ai dati del BLOB di archiviazione.

Per altre informazioni sui ruoli di Azure, vedere Assegnare un ruolo di Azure per l'accesso ai dati BLOB.

Acl

Se si usano elenchi di controllo di accesso (ACL), verificare che l'identità venga visualizzata in una voce ACL per ogni file o directory a cui si intende accedere. Assicurarsi inoltre che ogni voce ACL rifletta il livello di autorizzazione appropriato.

Per altre informazioni sugli elenchi di controllo di accesso e sulle voci ACL, vedere Elenchi di controllo di accesso (ACL) in Azure Data Lake Storage Gen2.

Per altre informazioni su come incorporare i ruoli di Azure insieme agli elenchi di controllo di accesso e su come il sistema li valuta per prendere decisioni di autorizzazione, vedere Modello di controllo di accesso in Azure Data Lake Storage Gen2.

Problemi relativi al firewall e all'endpoint privato

Se la configurazione del firewall di archiviazione non è configurata per consentire l'accesso dal computer in cui è in esecuzione AzCopy, le operazioni AzCopy restituiscono un errore HTTP 403.

Trasferire dati da o in un computer locale

Se si caricano o si scaricano dati tra un account di archiviazione e un computer locale, assicurarsi che il computer che esegue AzCopy sia in grado di accedere all'account di archiviazione di origine o di destinazione. Potrebbe essere necessario usare le regole di rete IP nelle impostazioni del firewall degli account di origine o di destinazione per consentire l'accesso dall'indirizzo IP pubblico del computer.

Trasferire dati tra account di archiviazione

Gli errori di autorizzazione 403 possono impedire il trasferimento di dati tra account usando il computer client in cui è in esecuzione AzCopy.

Se si copiano dati tra account di archiviazione, assicurarsi che il computer che esegue AzCopy sia in grado di accedere sia all'account di origine che all'account di destinazione. Potrebbe essere necessario usare le regole di rete IP nelle impostazioni del firewall degli account di origine e di destinazione per consentire l'accesso dall'indirizzo IP pubblico del computer. Il servizio userà l'indirizzo IP del computer client AzCopy per autorizzare l'origine al traffico di destinazione. Per informazioni su come aggiungere un indirizzo IP pubblico alle impostazioni del firewall di un account di archiviazione, vedere Concedere l'accesso da un intervallo IP Internet.

Nel caso in cui la macchina virtuale non abbia o non possa avere un indirizzo IP pubblico, provare a usare un endpoint privato. Vedere Usare endpoint privati per Archiviazione di Azure.

collegamento privato è a livello di rete virtuale/subnet. Se si desidera che le richieste AzCopy vengano eseguite collegamento privato, AzCopy deve effettuare tali richieste da una macchina virtuale in esecuzione in tale rete virtuale/subnet. Ad esempio, se si configura collegamento privato in VNet1/Subnet1 ma la macchina virtuale in cui viene eseguito AzCopy si trova in VNet1/Subnet2, le richieste AzCopy non useranno collegamento privato e si prevede che abbiano esito negativo.

Se si verificano errori TCP, ad esempio "dial tcp: lookup proxy.x.x: no such host", significa che l'ambiente non è configurato per usare il proxy corretto o che si usa un proxy avanzato che AzCopy non riconosce.

È necessario aggiornare le impostazioni proxy per riflettere le configurazioni corrette. Vedere Configurare le impostazioni proxy.

È anche possibile ignorare il proxy impostando la variabile NO_PROXY="*"di ambiente .

Ecco gli endpoint che AzCopy deve usare:

Endpoint di accesso Endpoint di Archiviazione di Azure
login.microsoftonline.com (Azure globale) (blob | file | dfs).core.windows.net (Azure globale)
login.chinacloudapi.cn (Azure Cina) (blob | file | dfs).core.chinacloudapi.cn (Azure Cina)
login.microsoftonline.de (Azure Germania) (blob | file | dfs).core.cloudapi.de (Azure Germania)
login.microsoftonline.us (Azure US Government) (blob | file | dfs).core.usgovcloudapi.net (Azure US Government)

x509: certificato firmato da autorità sconosciute

Questo errore è spesso correlato all'uso di un proxy, che usa un certificato SSL (Secure Sockets Layer) non considerato attendibile dal sistema operativo. Verificare le impostazioni e assicurarsi che il certificato sia attendibile a livello di sistema operativo.

È consigliabile aggiungere il certificato all'archivio certificati radice del computer, in quanto è qui che vengono conservate le autorità attendibili.

Parametri non riconosciuti

Se viene visualizzato un messaggio di errore che indica che i parametri non sono riconosciuti, assicurarsi di usare la versione corretta di AzCopy. AzCopy V8 e le versioni precedenti sono deprecate. AzCopy V10 è la versione corrente ed è una riscrittura completa che non condivide alcuna sintassi con le versioni precedenti. Fare riferimento alla Guida alla migrazione di AzCopy per la versione da v8 a v10.

Assicurarsi inoltre di usare i messaggi della Guida predefiniti usando l'opzione -h con qualsiasi comando (ad esempio: azcopy copy -h). Vedere Ottenere la Guida per i comandi. Per visualizzare le stesse informazioni online, vedere azcopy copy.

Per comprendere i comandi, è disponibile uno strumento di formazione disponibile in AZCOPY COMMAND GUIDE. Questo strumento illustra i comandi AzCopy più diffusi insieme ai flag di comando più diffusi. I nostri esempi sono qui. Se si ha una domanda, provare prima a cercare i problemi esistenti di GitHub per verificare se la risposta è già stata eseguita.

Errore dei criteri di accesso condizionale

Quando si richiama il comando, è possibile ricevere l'errore azcopy login seguente:

Non è stato possibile eseguire il comando di accesso: non è stato possibile eseguire l'accesso con tenantID "common", endpoint della directory di Azure "https://login.microsoftonline.com", autorest/adal/devicetoken: -REDACTED- AADSTS50005: l'utente ha provato ad accedere a un dispositivo da una piattaforma (sconosciuta) attualmente non supportata tramite i criteri di accesso condizionale. Le piattaforme per dispositivi supportate sono: versioni di iOS, Android, Mac e Windows. ID traccia: -REDACTED- ID correlazione: -REDACTED- Timestamp: 2021-01-05 01:58:28Z

Questo errore indica che l'amministratore ha configurato un criterio di accesso condizionale che specifica il tipo di dispositivo da cui è possibile accedere. AzCopy usa il flusso del codice del dispositivo, che non può garantire che anche il computer in cui si usa lo strumento AzCopy sia il percorso in cui si esegue l'accesso.

Se il dispositivo è tra l'elenco delle piattaforme supportate, potrebbe essere possibile usare Storage Explorer, che integra AzCopy per tutti i trasferimenti di dati (passa i token ad AzCopy tramite l'archivio segreto) ma fornisce un flusso di lavoro di accesso che supporta il passaggio delle informazioni sul dispositivo. AzCopy stesso supporta anche identità gestite ed entità servizio, che possono essere usate come alternativa.

Se il dispositivo non è presente nell'elenco delle piattaforme supportate, contattare l'amministratore per assistenza.

Server occupato, errori di rete o timeout

Se viene visualizzato un numero elevato di richieste non riuscite con lo stato "503 Server occupato", le richieste vengono limitate dal servizio di archiviazione. Se vengono visualizzati errori di rete o timeout, è possibile che si stia tentando di eseguire il push di un numero eccessivo di dati nell'infrastruttura e che l'infrastruttura abbia difficoltà a gestirli. In tutti i casi, la soluzione alternativa è simile.

Se un file di grandi dimensioni ha ripetutamente esito negativo a causa di determinati blocchi che hanno esito negativo ogni volta, provare a limitare le connessioni di rete simultanee o il limite di velocità effettiva a seconda del caso specifico. È consigliabile ridurre drasticamente le prestazioni in un primo momento, osservare se è stato risolto il problema iniziale, quindi aumentare di nuovo le prestazioni fino a raggiungere un equilibrio complessivo.

Per altre informazioni, vedere Ottimizzare le prestazioni di AzCopy con Archiviazione di Azure.

Se si copiano dati tra account usando AzCopy, la qualità e l'affidabilità della rete da cui si esegue AzCopy potrebbero influire sulle prestazioni complessive. Anche se i trasferimenti di dati da server a server, AzCopy avvia le chiamate per ogni file da copiare tra gli endpoint del servizio.

Vincoli noti con AzCopy

  • La copia di dati da cloud per enti pubblici a cloud commerciali non è supportata. È tuttavia supportata la copia di dati da cloud commerciali a cloud per enti pubblici.

  • La copia asincrona sul lato servizio non è supportata. AzCopy esegue solo la copia sincrona. In altre parole, al termine del processo, i dati sono stati spostati.

  • Quando si esegue la copia in una condivisione file di Azure, se si dimentica di specificare il flag --preserve-smb-permissions e non si vuole trasferire nuovamente i dati, provare a usare Robocopy per trasferire le autorizzazioni.

  • Funzioni di Azure ha un endpoint diverso per l'autenticazione msi, che AzCopy non supporta ancora.

Vedere anche

Contattaci per ricevere assistenza

In caso di domande o bisogno di assistenza, creare una richiesta di supporto tecnico oppure formula una domanda nel Supporto della community di Azure. È possibile anche inviare un feedback sul prodotto al feedback della community di Azure.