Risolvere i problemi relativi ai trasferimenti del file system

Questo documento descrive come risolvere i problemi di trasferimento e agente e dove trovare i log degli agenti per aiutarti a risolverli.

Errori

La tabella seguente descrive i messaggi di errore relativi al trasferimento e come risolvere il problema quali:

Messaggio di errore Tipo di errore Significato dell'errore Come risolvere l'errore
Modificato durante il trasferimento FILE_MODIFIED_FAILURE Il file di origine veniva modificato durante il trasferimento ogni volta Storage Transfer Service ha tentato di copiare il file di origine. Impedisci le scritture sul file specificato durante il successivo Storage Transfer Service operativa.
Trasferimento non riuscito PRECONDITION_FAILURE L'oggetto Cloud Storage associato al file di origine è stato modificato ogni volta che Storage Transfer Service ha tentato di caricare il file. Impedisci a più job di trasferimento di scrivere lo stesso file nello stesso file bucket Cloud Storage utilizzando prefissi univoci degli oggetti Cloud Storage quando crei il trasferimento offerte di lavoro.
Directory di origine non trovata SOURCE_DIR_NOT_FOUND Il percorso di origine specificato non è corretto oppure il percorso è corretto, non tutti gli agenti hanno accesso al percorso. Controlla la configurazione del job di trasferimento e verifica quanto segue:
Impossibile trovare la directory di origine o di destinazione del job ROOT_DIR_NOT_FOUND Il percorso di origine/destinazione specificato non è corretto oppure il percorso è corretto ma non tutti gli agenti hanno accesso al percorso. Controlla la configurazione del job di trasferimento e verifica quanto segue:
File non trovato FILE_NOT_FOUND_FAILURE Il file di origine è stato trovato, ma è stato eliminato prima del trasferimento in di archiviazione ideale in Cloud Storage. Se il file è stato eliminato per errore, ripristinalo in modo che al successivo trasferimento un job può caricarlo.
Impossibile trovare il bucket di destinazione BUCKET_NOT_FOUND Il bucket di destinazione non esiste in Cloud Storage. Verifica che l'ortografia del bucket di destinazione sia corretta e che esista.
Impossibile trovare un oggetto metadati interno METADATA_OBJECT_
NOT_FOUND_FAILURE
Storage Transfer Service archivia i metadati nel bucket di destinazione con prefisso storage-transfer. Se i file di metadati vengono eliminati prima del giorno le operazioni di trasferimento corrispondenti sono state completate, questo errore visualizzati. Evita di eliminare oggetti con il prefisso storage-transfer/ in del bucket di destinazione fino al completamento di tutti i job di trasferimento.
Operazione non riuscita a causa di un nome file non valido INVALID_FILE_NAME Il percorso di un file di origine non è valido. Verifica e correggi il percorso del file specificato. Verifica che il percorso utilizzi supportati da Cloud Storage.
Operazione non riuscita a causa di una classe di archiviazione non valida INVALID_FILE_STORAGE_CLASS La classe di archiviazione per l'origine specificata non consente letture. Trova la documentazione per il tuo cloud provider per determinare come ottenere il in una classe di archiviazione che consente di copiarli.
Operazione non riuscita a causa di un URI della sessione di caricamento ripristinabile non valido SESSION_URI_INVALID L'ID del caricamento ripristinabile o l'URI della sessione è scaduto o annullato. Nuovo tentativo errato per l'errore. Contatta l'assistenza.
Operazione non riuscita a causa di dimensioni del file non valide INVALID_FILE_SIZE Le dimensioni del file non sono valide. Verifica che la dimensione del file sia >= 0 e <= 5 TiB (la dimensione massima dell'oggetto Cloud Storage) per i trasferimenti a Cloud Storage.
Operazione non riuscita a causa delle autorizzazioni PERMISSION_FAILURE e UNAUTHENTICATED Un agente di trasferimento non disponeva delle autorizzazioni sufficienti per eseguire un operativa. Questo errore può verificarsi in due modi:
  • Un agente aveva autorizzazioni Google Cloud insufficienti.
  • Un agente non è riuscito a leggere un file o una directory per insufficienza autorizzazioni per il file system di origine.

Verifica quanto segue:

L'oggetto è soggetto al criterio di conservazione del bucket e non può essere eliminato. sovrascritta o archiviata PERMISSION_FAILURE Il bucket ha un criterio di conservazione attivo e l'oggetto esiste già in nel bucket. Storage Transfer Service non può sovrascrivere gli oggetti esistenti nella di sincronizzare la directory di una VM con un bucket. Questo errore può essere visualizzato se il file è stato modificato all'origine oppure se Storage Transfer Service tenta di caricare due volte a causa delle condizioni di rete e il primo caricamento completato. Verifica che i dati nel bucket Cloud Storage corrispondano le aspettative. Puoi confermare che le dimensioni e l'ora modificata (mtime) del dei file di origine corrispondono alle relative controparti degli oggetti Cloud Storage per eseguire nuovamente il job e verificare che non siano presenti errori.
Il servizio non disponeva di autorizzazioni sufficienti SERVICE_PERMISSION_FAILURE Storage Transfer Service non disponeva di autorizzazioni sufficienti per eseguire una operativa. Storage Transfer Service utilizza un protocollo Servizio gestito da Google account, generalmente nel formato project-PROJECT_NUMBER@storage-transfer-service.iam.gserviceaccount.com, per accedere alle risorse. Per determinare il tuo PROJECT_NUMBER specifico, utilizza Chiamata API googleserviceaccounts.get. Verifica che l'account di servizio abbia i seguenti ruoli:
    .
  • roles/storagetransfer.serviceAgent per il progetto.
  • roles/storage.admin per tutti i bucket di destinazione.
Agente non supportato AGENT_UNSUPPORTED_VERSION La versione dell'agente non è più compatibile con Storage Transfer Service. Si tratta di un errore temporaneo relativo a un aggiornamento dell'agente non valido. Se si verifica, le seguenti:
  1. Interrompi tutti i tuoi agenti.
  2. Esegui il pull dell'immagine Docker più recente eseguendo: sudo docker pull gcr.io/cloud-ingest/tsop-agent
  3. Esegui il comando Docker run per avviare tutto l'agente containers.
Se il problema persiste, contatta il team di assistenza.
Operazione non riuscita a causa di una mancata corrispondenza dell'hash HASH_MISMATCH_FAILURE Ogni volta che Storage Transfer Service tentava di caricare questo file, byte sono stati danneggiati. Di conseguenza, l'hash del file on-premise non corrispondente all'hash dell'oggetto Cloud Storage risultante. Questo errore può essere causato da una serie di potenziali problemi. Se vedi un piccola percentuale di errori di mancata corrispondenza degli hash (meno dell'1%) in un trasferimento, riprova a risolvere il problema. Se noti una grande percentuale di hash errori di mancata corrispondenza (1% o superiore), ti consigliamo di verificare potenziali guasti di memoria, CPU o altri guasti hardware sulla macchina dell'agente.
Operazione non riuscita a causa di una modalità file non supportata UNSUPPORTED_FILE_MODE Storage Transfer Service ha rilevato un file con una modalità non supportata, come un dispositivo, una presa, una pipeline denominata o un file irregolare. Rimuovi questi tipi di file speciali dalla directory di origine.
Operazione non riuscita a causa di un errore nel file system FILESYSTEM_ERROR Un agente ha riscontrato un errore del file system o del sistema operativo quando eseguire un'operazione di file system come lettura, ricerca o stat. Leggi la descrizione dell'errore per capire quale file system operazione non riuscita. Assicurati che il file system sia accessibile on-prem ed è reattivo alle operazioni di base sui file.
Operazione non riuscita a causa di un errore sconosciuto UNKNOWN_FAILURE Si è verificato un errore imprevisto. Leggi la descrizione dell'errore. Se la descrizione dell'errore non contiene informazioni sufficienti per risolvere il problema, contatta l'assistenza.
Operazione non riuscita a causa di una specifica non valida INVALID_SPEC L'agente ha ricevuto una specifica interna danneggiata. Verifica la presenza di eventuali danni ai dati sugli host degli agenti e contatta l'assistenza se non è possibile trovane qualcuno.
Operazione non riuscita a causa di un file manifest vuoto o non valido CONFORMANCE_FAILURE L'agente non può leggere o ottenere byte CSV validi a causa di una formattazione o di voci CSV non valide. Assicurati che le voci del file manifest siano percorsi di file validi. Se la descrizione dell'errore non contiene informazioni sufficienti per risolvere il problema, contatta l'assistenza.
Utilizzare caricamenti ripristinabili invece di caricamenti multiparte a causa errore di autorizzazione negata PERMISSION_FAILURE I caricamenti multiparte sono stati abilitati per questo trasferimento, ma è corretto non sono state impostate autorizzazioni sul bucket. Consulta la sezione Caricamenti multiparte di . Autorizzazioni del file system per le autorizzazioni richieste.

Visualizzazione dei log degli agenti

I log degli agenti contengono informazioni relative ai processi degli agenti e sono utili per risolvere i problemi di connessione dell'agente. Se i tuoi agenti sono elencati come connessi nella console Google Cloud e si verificano errori di trasferimento, consulta Visualizzazione degli errori per vedere un esempio di trasferimento errori. Per visualizzare i log che contengono un record di ogni file Storage Transfer Service: considerati durante un trasferimento, consulta Visualizzazione dei log di trasferimento.

Per impostazione predefinita, i log degli agenti sono archiviati in /tmp. Puoi cambiare la località con --log-dir=logs-directory opzione a riga di comando.

I log hanno il nome:

agent.hostname.username.log.log-level.timestamp

Dove:

  • hostname: il nome host su cui è in esecuzione l'agente.
  • username: il nome utente che esegue l'agente.
  • log-level è uno di:
    • INFO - messaggi informativi
    • ERROR: errori riscontrati durante il trasferimento, ma che non impediscono il job di trasferimento non continui.
    • FATAL: errori riscontrati che impediscono al job di trasferimento di continua.
  • timestamp: timestamp in YYYYMMDD-hhmmss.thread-id formato.

La directory logs contiene link simbolici ai log più recenti per ciascuno livelli di priorità:

  • agent.ERROR
  • agent.FATAL
  • agent.INFO

Velocità di trasferimento bassa

Se il trasferimento dei dati sta richiedendo molto tempo, verifica quanto segue:

  1. La velocità effettiva di lettura del file system deve essere di circa 1,5 volte la velocità di caricamento desiderata. Puoi utilizzare FIO per testare la velocità effettiva di lettura del tuo file system.

    Installa fio:

     sudo apt install -y fio
     

    Crea una nuova directory fiotest:

     TEST_DIR=/mnt/mnt_dir/fiotest
     sudo mkdir -p $TEST_DIR
     

    Testa la velocità effettiva di lettura:

     sudo fio --directory=$TEST_DIR --direct=1
        --rw=randread --randrepeat=0 --ioengine=libaio --bs=1M --iodepth=8
        --time_based=1 --runtime=180 --name=read_test --size=1G
     

    Dopo aver eseguito i comandi precedenti, Fio genera un report. La riga con l'etichetta "bw" rappresenta la larghezza di banda aggregata totale di tutti i thread e può essere utilizzata come proxy per la velocità effettiva di lettura.

  2. Utilizza iPerf3 per controllare le larghezza di banda internet disponibile per Storage Transfer Service.

  3. Assicurati che ciascuno dei tuoi agenti di trasferimento abbia almeno 4 vCPU e 8 GB di RAM.

Se hai controllato le condizioni precedenti, ma il trasferimento continua a lungo volte, puoi aggiungere altri agenti per aumentare il numero connessioni al file system dei tuoi dati.

Per saperne di più su come massimizzare le prestazioni dei tuoi agenti di trasferimento, consulta le best practice degli agenti.

Risoluzione degli errori degli agenti

Le seguenti sezioni descrivono come risolvere i problemi di trasferimento Errori dell'agente:

Gli agenti non sono connessi

Se gli agenti di trasferimento non vengono visualizzati come connessi all'interno della console Google Cloud:

  1. Verifica che gli agenti possano connettersi alle API Cloud Storage:

    1. Esegui questo comando dalla stessa macchina dell'agente di trasferimento testa la connessione dell'agente alle API Cloud Storage:

      gcloud storage cp test.txt gs://my-bucket

      Sostituisci:

      my-bucket con il nome del tuo Cloud Storage di sincronizzare la directory di una VM con un bucket.

  2. Se il progetto utilizza Controlli di servizio VPC, visualizza i log dell'agente per individuare gli errori. Se Controlli di servizio VPC non è configurato correttamente. I log dell'agente INFO contengono il seguente errore:

    Request is prohibited by organization's policy. vpcServiceControlsUniqueIdentifier: id

    In questo output:

Gli agenti sono connessi, ma i job non vanno a buon fine

Se gli agenti vengono visualizzati come connessi ma il job di trasferimento non riesce, controlla dettagli degli errori dei job non riusciti.

Il proxy rifiuta gli indirizzi IP

Se esegui l'utilizzo di un proxy come Squid e utilizzi una lista consentita, potresti notare che alcune richieste vengono rifiutate a causa Indirizzi IP utilizzati al posto dei nomi host.

Per risolvere il problema, utilizza comando docker run per eseguire gli agenti e aggiungi il seguente flag:

--transfer-service-endpoint=storagetransfer.googleapis.com:443

Se utilizzi un endpoint alternativo per raggiungere googleapis.com (ad es. per Private Service Connect), sostituisci googleapis.com con un endpoint alternativo.