Risolvere i problemi in AzCopy v10
Questo articolo illustra i problemi comuni che possono verificarsi quando si usa AzCopy. Questo articolo illustra anche come 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 è 0-success
, il processo è 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 gli 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, registrare un bug o contattare il supporto.
Qualsiasi altro codice di uscita diverso da zero (ad esempio OOMKilled
) potrebbe essere generato dal sistema. Controllare la documentazione del sistema operativo per informazioni su 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 abbia ricevuto errori "403". Questi errori vengono visualizzati quando AzCopy controlla 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 non riescano 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 sono bloccate dalla configurazione del firewall dell'account di archiviazione.
Problemi di autenticazione e autorizzazione
Gli errori "403" che impediscono il trasferimento dei dati si verificano a causa di problemi che coinvolgono token di firma di accesso condiviso, ruoli di controllo degli accessi in base al ruolo di Azure 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 (SAS), assicurarsi che le istruzioni seguenti siano vere:
L'ora di 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 dei BLOB di archiviazione.
Per altre informazioni sui ruoli di Azure, consultare 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 ACL e le relative voci, consultare 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 sul modo in cui 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 host in cui è in esecuzione AzCopy, le operazioni AzCopy restituiscono un codice di errore HTTP "403".
Note
In questo articolo il termine componente di hosting si riferisce a un computer fisico, a una macchina virtuale o a un contenitore.
Ambito consentito per le operazioni di copia
La AllowedCopyScope
proprietà di un account di archiviazione viene usata per specificare gli ambienti da cui è possibile copiare i dati nell'account di destinazione. Questa proprietà viene visualizzata nella portale di Azure come 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 impostata 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 all'interno dello stesso tenant di 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 host 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 di dati tra account usando il componente host client in cui è in esecuzione AzCopy.
Se si copiano dati tra account di archiviazione, assicurarsi che il componente host che esegue AzCopy possa accedere sia all'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 host. Il servizio usa l'indirizzo IP del componente host del client AzCopy per autorizzare il traffico di origine a 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 di indirizzi IP Internet.
Se la macchina virtuale non ha o non può avere un indirizzo IP pubblico, prendere in considerazione l'uso di un endpoint privato. Vedere Usare endpoint privati per Archiviazione di Azure.
Usare Collegamento privato
collegamento privato è a livello di rete virtuale/subnet. Se si vuole che le richieste di AzCopy eseguano collegamento privato, AzCopy deve effettuare tali richieste da una macchina virtuale in esecuzione in tale rete virtuale o 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 le richieste hanno esito negativo.
Errori correlati al proxy
Se si verificano errori TCP, ad esempio "dial tcp: lookup proxy.x.x: no such host", significa che l'ambiente non è configurato per l'uso del proxy corretto o si usa un proxy avanzato che AzCopy non riconosce.
È necessario aggiornare le impostazioni proxy in modo da riflettere le configurazioni corrette. Vedere Configurare le impostazioni proxy.
È anche possibile ignorare il proxy impostando la variabile NO_PROXY="*"
di ambiente .
Ecco 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 un'autorità sconosciuta
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 di hosting perché si tratta della posizione in cui vengono mantenute 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. Vedere La Guida alla migrazione di AzCopy per v8 a v10.
Assicurarsi inoltre di usare i messaggi della Guida predefiniti usando l'opzione -h
insieme a 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, viene fornito uno strumento di formazione disponibile nella guida ai comandi di AzCopy. Questo strumento illustra i comandi AzCopy più comuni e i flag più frequenti. Per trovare comandi di esempio, vedere Trasferire i dati. Se si ha una domanda, provare a cercare prima di tutto i problemi di GitHub esistenti per verificare se è già stata risolta.
Errore dei criteri di accesso condizionale
È possibile che venga visualizzato l'errore seguente quando si richiama il azcopy login
comando :
Impossibile eseguire il comando di accesso: non è stato possibile accedere con tenantID "common", endpoint directory di Azure "https://login.microsoftonline.com", autorest/adal/devicetoken: -REDACTED- AADSTS50005: l'utente ha tentato di accedere a un dispositivo da una piattaforma (sconosciuta) attualmente non supportata tramite i criteri di accesso condizionale. Le piattaforme per dispositivi supportate sono: versioni 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. Il flusso del codice del dispositivo non può garantire che il componente di hosting da cui si sta usando lo strumento AzCopy sia anche da cui si esegue l'accesso.
Se il dispositivo è compreso nell'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 supporta anche le identità gestite e le entità servizio come alternativa all'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 lo 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 troppi dati per la gestione dell'infrastruttura. In tutti i casi, la soluzione alternativa è simile.
Se viene visualizzato ripetutamente un file di grandi dimensioni non riesce a copiare perché determinati blocchi hanno esito negativo ogni volta, provare a limitare il limite di 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 raggiungere un equilibrio complessivo.
Per maggiori 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 dal server al server, AzCopy avvia le chiamate per ogni file da copiare tra gli endpoint di servizio.
Vincoli noti in AzCopy
La copia dei dati dai cloud per enti pubblici ai cloud commerciali non è supportata. Tuttavia, è supportata la copia dei dati dai cloud commerciali ai cloud per enti pubblici.
La copia asincrona lato servizio non è supportata. AzCopy esegue solo la copia sincrona. In altre parole, al termine del processo, i dati sono stati spostati.
Quando si copia in una condivisione file di Azure, se si dimentica di specificare il
--preserve-smb-permissions
flag e non si vuole trasferire di nuovo i dati, è consigliabile usare Robocopy per trasferire le autorizzazioni.Funzioni di Azure ha un endpoint diverso per l'autenticazione MSI. AzCopy non supporta ancora l'autenticazione MSI.
Vedi anche
- Introduzione ad AzCopy
- Trovare gli 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.