Risolvere i problemi in AzCopy v10
Questo articolo illustra i problemi comuni che potrebbero verificarsi quando si usa AzCopy. Questo articolo consente anche di identificare le cause dei problemi e suggerisce come 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-success
stato completato correttamente.
Se il codice di uscita è 1-error
, esaminare il file di log. Dopo aver compreso il messaggio di errore esatto, è possibile cercare più facilmente le parole chiave corrette e determinare 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 se il file di log esiste. Se il file non esiste, creare un bug o contattare il supporto.
Qualsiasi altro codice di uscita diverso da zero, ad OOMKilled
esempio , potrebbe essere generato dal sistema. Controllare la documentazione del sistema operativo per i codici di uscita speciali.
Errori "403"
Gli errori "403" sono comuni. A volte sono benigni e non causano un trasferimento non riuscito. Ad esempio, nei log di AzCopy è possibile che una HEAD
richiesta riceva errori "403". Questi errori vengono visualizzati quando AzCopy verifica se una risorsa è pubblica. Nella maggior parte dei casi, è possibile ignorare tali istanze.
In alcuni casi, gli errori "403" possono causare un trasferimento non riuscito. Se si verifica questo problema, è probabile che altri tentativi di trasferimento dei file abbiano esito negativo fino a quando non si risolve il problema. Gli errori "403" possono essere causati da problemi di autenticazione e autorizzazione. Possono verificarsi anche se le richieste vengono bloccate dalla configurazione del firewall dell'account di archiviazione.
Problemi di autenticazione e autorizzazione
Errori "403" che impediscono il trasferimento dei dati a causa di problemi che coinvolgono 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, assicurarsi che le istruzioni seguenti siano vere:
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 , 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 consente l'accesso dal componente di hosting in cui è in esecuzione AzCopy, le operazioni AzCopy restituiscono un codice di errore HTTP "403".
Nota
In questo articolo il termine componente di hosting si riferisce a un computer fisico, una macchina virtuale o un contenitore.
Ambito consentito per le operazioni di copia
La AllowedCopyScope
proprietà di un account di archiviazione viene utilizzata per specificare gli ambienti da cui è possibile copiare i dati nell'account di destinazione. Questa proprietà viene visualizzata nel portale di Azure come impostazione di configurazione Ambito consentito per le operazioni di copia (anteprima). Per impostazione predefinita, alla proprietà non viene assegnato un valore. La proprietà non restituisce un valore finché non viene impostato in modo esplicito. La AllowedCopyScope
proprietà ha tre valori possibili, come illustrato nella tabella seguente.
Valore | Descrizione |
---|---|
(null ) |
(Valore predefinito) Consente la copia da qualsiasi account di archiviazione all'account di destinazione. |
Microsoft Entra ID |
Consente la copia solo da account che si trovano all'interno dello stesso tenant Microsoft Entra dell'account di destinazione. |
PrivateLink |
Consente la copia solo da account di archiviazione con collegamenti privati alla stessa rete virtuale dell'account di destinazione. |
Per altre informazioni su questa proprietà e sull'impostazione di configurazione associata, vedere Limitare l'origine delle operazioni di copia a un account di archiviazione.
Trasferire dati da o a un componente di hosting locale
Se si caricano o si scaricano dati tra un account di archiviazione e un componente di hosting locale, assicurarsi che il componente di hosting che esegue AzCopy possa 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 componente di hosting.
Trasferire dati tra account di archiviazione
Gli errori di autorizzazione "403" possono impedire il trasferimento dei dati tra account usando il componente di hosting client in cui è in esecuzione AzCopy.
Se si copiano dati tra account di archiviazione, assicurarsi che il componente di hosting che esegue AzCopy possa 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 componente di hosting. Il servizio usa l'indirizzo IP del componente di hosting 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.
Usare collegamento privato
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. Si supponga, ad esempio, di configurare collegamento privato in VNet1/Subnet1, ma la macchina virtuale in cui viene eseguito AzCopy si trova in VNet1/Subnet2. In questo scenario le richieste AzCopy non usano collegamento privato e si prevede che le richieste non riescano.
Errori correlati al proxy
Se si verificano errori TCP come "dial tcp: lookup proxy.x.x: no such host", significa che l'ambiente non è configurato per usare il proxy corretto o 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 .
Di seguito sono riportati gli endpoint richiesti da AzCopy:
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 componente host perché è 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 versioni precedenti sono deprecati. 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
insieme a qualsiasi comando , azcopy copy -h
ad esempio . 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 nella guida ai comandi azcopy. Questo strumento illustra i comandi AzCopy più diffusi insieme ai flag di comando più diffusi. Per trovare i comandi di esempio, vedere Trasferire i dati. Se si ha una domanda, provare prima a cercare i problemi di GitHub esistenti per verificare se è già stata data una risposta.
Errore dei criteri di accesso condizionale
Quando si richiama il comando, potrebbe essere visualizzato 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 di codice del dispositivo. Il flusso di codice del dispositivo non può garantire che anche il componente di hosting in cui si usa lo strumento AzCopy sia il percorso da cui si esegue l'accesso.
Se il dispositivo è tra l'elenco delle piattaforme supportate, potrebbe essere possibile usare Storage Explorer. Storage Explorer 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 come alternativa di accesso.
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 stato "503 Server occupato", il servizio di archiviazione limita le richieste. Se vengono visualizzati errori di rete o timeout, è possibile che si tenti di eseguire il push di un numero eccessivo di dati da gestire per l'infrastruttura. In tutti i casi, la soluzione alternativa è simile.
Se viene visualizzato ripetutamente un errore di copia di un file di grandi dimensioni perché alcuni blocchi 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 questa azione ha risolto il problema iniziale e quindi aumentare di nuovo le prestazioni fino a ottenere 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 in 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
--preserve-smb-permissions
flag 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. AzCopy non supporta ancora l'autenticazione MSI.
Vedere anche
- Introduzione ad AzCopy
- Trovare errori e riprendere i processi usando i file di log e di piano in AzCopy
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.