Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Risoluzione dei problemi relativi ai file S3
Questa pagina consente di diagnosticare e risolvere i problemi più comuni relativi ai file S3.
Il comando Mount non riesce
Il mount -t s3files comando ha esito negativo e restituisce un errore.
Cause e azioni comuni:
«mount.s3files: command not found» — Il client S3 Files (amazon-efs-utils) non è installato o è precedente alla versione 3.0.0. Installa o aggiorna il client. Per ulteriori informazioni, consulta Prerequisiti per i file S3.
«Impossibile risolvere il nome DNS del file system»: non esiste una destinazione di montaggio nella zona di disponibilità in cui è in esecuzione l'istanza EC2. Crea una destinazione di montaggio in quella zona di disponibilità o avvia l'istanza in una zona di disponibilità con una destinazione di montaggio. Per ulteriori informazioni, consulta Creazione di destinazioni di montaggio.
Connessione scaduta: la configurazione del gruppo di sicurezza non consente il traffico NFS. Verifica che il gruppo di sicurezza del target di montaggio consenta il TCP in entrata sulla porta 2049 dal gruppo di sicurezza dell'istanza e che il gruppo di sicurezza dell'istanza consenta il TCP in uscita sulla porta 2049 verso il gruppo di sicurezza del target di montaggio. Per ulteriori informazioni, consulta Prerequisiti per i file S3.
«Accesso negato» durante il montaggio: il ruolo IAM collegato alla risorsa di calcolo non dispone delle autorizzazioni S3 Files richieste. Verifica che al ruolo sia associata la policy
AmazonS3FilesClientFullAccesso la policyAmazonS3FilesClientReadOnlyAccessgestita, o almeno l'autorizzazione.s3files:ClientMountPer ulteriori informazioni, consulta Prerequisiti per i file S3.botocore non installato: il mount helper richiede che botocore interagisca con i servizi. AWS Installa botocore seguendo le istruzioni nel README su. amazon-efs-utils GitHub
Autorizzazione negata sulle operazioni sui file
È possibile montare il file system ma vengono visualizzati gli errori «Autorizzazione negata» o «Operazione non consentita» durante la lettura, la scrittura o l'accesso ai file.
Cause e azioni comuni:
Autorizzazione di scrittura mancante: se riesci a leggere ma non a scrivere, verifica che il ruolo IAM associato alla risorsa di elaborazione includa l'
s3files:ClientWriteautorizzazione oppure allega la policyAmazonS3FilesClientReadWriteAccesso la policyAmazonS3FilesClientFullAccessgestita. Per ulteriori informazioni, consulta le politiche AWS gestite per Amazon S3 Files.Accesso root mancante: se ricevi errori di autorizzazione durante l'accesso a file di proprietà di root (UID 0), il tuo ruolo IAM potrebbe non disporre dell'
s3files:ClientRootAccessautorizzazione. Senza questa autorizzazione, tutte le operazioni vengono eseguite come utente anonimo NFS (in genere nfsnobody), che potrebbe non avere accesso ai file. Allega la policyAmazonS3FilesClientFullAccessgestita o aggiungilas3files:ClientRootAccessalla tua policy.Politica del file system che nega l'accesso: se hai allegato una politica del file system, verifica che non neghi le azioni necessarie ai tuoi clienti. Un «permesso» nella politica basata sull'identità o nella politica del file system è sufficiente per l'accesso. Per ulteriori informazioni, consulta Come funziona S3 Files con IAM.
Mancata corrispondenza delle autorizzazioni POSIX: S3 Files applica le autorizzazioni POSIX standard (proprietario, gruppo, altri) su file e directory. Se l'applicazione viene eseguita come utente che non corrisponde al proprietario o al gruppo del file, l'accesso può essere negato anche se le autorizzazioni IAM sono corrette. Utilizza un punto di accesso per applicare uno specifico UID/GID per tutte le richieste. Per ulteriori informazioni, consulta Creazione di punti di accesso per un file system S3.
Il routing di lettura intelligente non funziona
S3 Files esegue un routing di lettura intelligente in quanto indirizza automaticamente le richieste di lettura al livello di archiviazione più adatto a loro, mantenendo al contempo la semantica completa del file system, tra cui coerenza, blocco e autorizzazioni POSIX. Le letture casuali di piccole dimensioni dei file utilizzati attivamente vengono eseguite dallo storage ad alte prestazioni per una bassa latenza. Le letture sequenziali di grandi dimensioni e le letture di dati non presenti nel file system vengono eseguite direttamente dal bucket S3 per un throughput elevato, senza costi per i dati del file system.
Il routing di lettura intelligente potrebbe non funzionare se una delle metriche di connettività del client (NFSConnectionAccessible,S3BucketAccessible, andS3BucketReachable) mostra 0 o se non viene visualizzato il throughput di lettura previsto.
Cause e azioni comuni:
Policy in linea S3 mancante sul ruolo di elaborazione: il ruolo IAM associato alla risorsa di elaborazione deve includere una concessione di policy in linea
s3:GetObjectes3:GetObjectVersionsul bucket S3 collegato. Senza questa policy, il mount helper non può leggere direttamente da S3 e tutte le letture passano attraverso il file system. Per ulteriori informazioni, consulta Prerequisiti per i file S3.Il bucket S3 non è raggiungibile: controlla la metrica.
S3BucketReachableSe mostra 0, verifica che la risorsa di elaborazione abbia accesso di rete a S3 (ad esempio, tramite un endpoint VPC o un gateway NAT).Il file è stato modificato: le letture vengono fornite direttamente da S3 solo quando il file non è stato modificato tramite il file system. Se hai scritto sul file e le modifiche non sono ancora state sincronizzate su S3, le letture passano attraverso il file system fino al completamento della sincronizzazione.
Il file system restituisce costantemente l'errore del server NFS
Un file system crittografato restituisce regolarmente errori del server NFS. Questi errori possono verificarsi quando S3 Files non è in grado di recuperare la chiave KMS da AWS KMS per uno dei seguenti motivi:
La chiave è stata disabilitata.
La chiave è stata eliminata.
L'autorizzazione per S3 Files a utilizzare la chiave è stata revocata.
AWS KMS è temporaneamente non disponibile.
Operazione da eseguire
Innanzitutto, verifica che la chiave AWS KMS sia abilitata. Puoi visualizzare le tue chiavi nella console AWS KMS. Per ulteriori informazioni, consulta Visualizzazione di chiavi nella Guida per gli sviluppatori del Servizio AWS di gestione delle chiavi.
Se la chiave non è abilitato, abilitarla. Per ulteriori informazioni, consulta Abilitazione e disabilitazione delle chiavi nella Guida per gli sviluppatori del Servizio AWS di gestione delle chiavi.
Se la chiave è in attesa di cancellazione, annulla l'eliminazione e riattiva la chiave. Per ulteriori informazioni, consulta Pianificazione e annullamento dell'eliminazione delle chiavi nella Key Management Service DeveloperAWS Guide.
Se la chiave è abilitata e i problemi persistono, contatta l' AWS assistenza.
Oggetto mancante nel bucket S3 dopo la scrittura del file system
Hai scritto un file tramite il file system e ti aspettavi che apparisse come oggetto nel bucket S3, ma l'oggetto non c'è. S3 Files memorizza le modifiche in batch per circa 60 secondi prima di copiarle su S3. Se l'oggetto continua a non essere visualizzato, l'esportazione potrebbe non essere riuscita. In tal caso, si vedrà l'aumento della FailedExports CloudWatch metrica.
Operazione da eseguire
Controlla lo stato di esportazione del file utilizzando gli attributi estesi:
getfattr -n "user.s3files.status;$(date -u +%s)" missing-file.txt --only-values
Il timestamp nel nome dell'attributo ti assicura di ottenere lo stato più recente. Output di esempio:
S3Key: s3://bucket/prefix/missing-file.txt ExportError: PathTooLong
ExportErrornon viene visualizzato se non si verifica un errore di esportazione. S3Keyè vuoto se un oggetto S3 non è mai stato collegato al file.
La tabella seguente elenca tutti i ExportError valori possibili:
| Errore | Causa |
|---|---|
S3AccessDenied |
Il ruolo IAM assunto da S3 Files non dispone di autorizzazioni sufficienti per scrivere nel bucket S3. Per ulteriori informazioni, consulta Prerequisiti per i file S3. |
S3BucketNotFound |
Il bucket S3 di origine non esiste più o è stato rinominato. Verifica che esista nella AWS regione e nell'account previsti. |
InternalError |
Si è verificato un errore interno del sistema. |
S3UserMetadataTooLarge |
Il limite di dimensione dei metadati utente S3 è stato superato. Funzionalità, limiti e quote non supportatiPer informazioni su questi limiti, consulta. |
FileSizeExceedsS3Limit |
La dimensione del file supera il limite di dimensione degli oggetti S3. Funzionalità, limiti e quote non supportatiPer informazioni su questi limiti, consulta. |
EncryptionKeyInaccessible |
La chiave di crittografia utilizzata dal bucket S3 è inaccessibile ai file S3. Concedi a S3 Files l'accesso alla tua chiave di crittografia. Per ulteriori informazioni, consulta Encryption (Crittografia). |
RoleAssumptionFailed |
Impossibile assumere il ruolo. Controlla le tue politiche di fiducia. Per ulteriori informazioni, consulta Prerequisiti per i file S3. |
KeyTooLongToBreakCycle |
S3 Files non è riuscito a risolvere una dipendenza circolare (ad esempio, a causa della ridenominazione di due file con il nome dell'altro) perché il percorso del file supera il limite di lunghezza della chiave S3. Abbrevia il percorso della directory per risolvere questo errore. |
PathTooLong |
Il percorso del file supera il limite di lunghezza della chiave S3. Funzionalità, limiti e quote non supportatiPer informazioni su questi limiti, consulta. |
DependencyExportFailed |
Un genitore o una dipendenza presenta un errore di esportazione irreversibile. Controlla lo stato del genitore o di eventuali dipendenze che lo utilizzano. getfattr |
S3ObjectArchived |
L'oggetto S3 è archiviato (S3 Glacier Flexible Retrieval o S3 Glacier Deep Archive) e non può essere letto. Ripristina prima l' APIsoggetto usando S3. |
S3 Files riprova automaticamente le esportazioni non riuscite. ExportErrorviene visualizzato solo per gli errori non riutilizzabili.
File che compaiono nella directory degli oggetti smarriti
I file sono comparsi nella .s3files-lost+found- directory della directory principale del file system. In questo caso, si vede l'aumento della file-system-idLostAndFoundFiles CloudWatch metrica. Ciò si verifica quando si verifica un conflitto di sincronizzazione. Si verifica un conflitto quando lo stesso file viene modificato tramite il file system e l'oggetto S3 corrispondente cambia prima che S3 Files sincronizzi le modifiche del file system con S3. S3 Files considera il bucket S3 come fonte di verità, sposta il file in conflitto nella directory degli oggetti perduti e importa l'ultima versione dal bucket S3 nel file system.
Identificazione dei file nella directory smarrita
Quando S3 Files sposta un file nella directory degli oggetti smarriti, aggiunge al nome del file un identificatore esadecimale per distinguere più versioni dello stesso file che potrebbero essere spostate nel tempo. I nomi di file più lunghi di 100 caratteri vengono troncati per fare spazio a questo identificatore. Il percorso della directory originale del file non viene conservato nella directory degli oggetti smarriti.
Operazione da eseguire
Ottieni il percorso originale del file e la chiave dell'oggetto S3 corrispondente:
getfattr -n "user.s3files.status;$(date -u +%s)" .s3files-lost+found-fs-12345678/abcdef1234_report.csv--only-values
Output di esempio:
S3Key: s3://bucket/prefix/report.csv FilePath: /data/report.csv
| Campo | Description |
|---|---|
S3Key |
Percorso S3 completo dell'oggetto che ha causato il conflitto o vuoto se l'oggetto è stato eliminato nel bucket S3. |
FilePath |
Percorso relativo del file prima del conflitto. |
Puoi quindi conservare la versione più recente dal tuo bucket S3 ed eliminare il file dalla directory degli oggetti smarriti o copiare il file dalla directory degli oggetti smarriti nel percorso originale per sovrascrivere la versione S3.
Nota
I file nella directory persa e trovata rimangono lì a tempo indeterminato e vengono conteggiati ai fini dei costi di archiviazione del file system. Elimina i file dalla directory degli oggetti smarriti quando non sono più necessari.
La sincronizzazione è in ritardo
La PendingExports CloudWatch metrica è in crescita, il che indica che il carico di lavoro genera modifiche più velocemente di quanto S3 Files sia in grado di sincronizzarle con S3.
Ciò significa che il carico di lavoro potrebbe superare la velocità di sincronizzazione. S3 Files esporta fino a 800 file al secondo per file system. Prendi in considerazione la possibilità di ridurre la velocità di modifica dei file o di distribuire il lavoro su più file system. Monitora la PendingExports metrica nel tempo. Se si stabilizza o diminuisce, S3 Files sta recuperando terreno. Se continua a crescere, contatta l' AWS assistenza.
Attivazione dei log di debug del client
Se stai risolvendo i problemi di montaggio, connettività o bypass di lettura, puoi abilitare la registrazione a livello di debug sul client S3 Files per acquisire maggiori dettagli.
Mount helper e watchdog logs
Modifica /etc/amazon/efs/s3files-utils.conf e cambia il livello di registrazione da INFO a DEBUG:
[DEFAULT] logging_level = DEBUG
Smonta e rimontala il file system per rendere effettiva la modifica:
sudo umount /mnt/s3files sudo mount -t s3filesfile-system-id:/ /mnt/s3files
I log vengono scritti in. /var/log/amazon/efs/ Il log mount helper è. mount.log
Registri del proxy (efs-proxy)
Il proxy gestisce il traffico NFS e il bypass di lettura S3. Per abilitare la registrazione di debug per il proxy, modifica: /etc/amazon/efs/s3files-utils.conf
[proxy] proxy_logging_level = DEBUG
Smonta e rimontala per rendere effettiva la modifica. I log del proxy vengono scritti su. /var/log/amazon/efs/
Registri del tunnel TLS (stunnel)
I log del tunnel TLS sono disabilitati per impostazione predefinita. Per abilitarli, modifica /etc/amazon/efs/s3files-utils.conf e imposta quanto segue:
[mount] stunnel_debug_enabled = true
Per salvare tutti i log degli stunnel di un file system in un unico file, decommenta anche la riga: stunnel_logs_file
stunnel_logs_file = /var/log/amazon/efs/{fs_id}.stunnel.log
Limiti di dimensione dei log
I file di registro vengono ruotati automaticamente. È possibile configurare la dimensione e il numero massimi di file ruotati in: s3files-utils.conf
[DEFAULT] logging_max_bytes = 1048576 logging_file_count = 10
L'impostazione predefinita è 1 MB per file di registro con 10 file ruotati, per un massimo di 10 MB per tipo di registro.
Condivisione dei log con Support AWS
Quando contatti AWS Support, raccogli i log e la configurazione del client in un unico archivio:
sudo tar -czf /tmp/s3files-support-logs.tar.gz \ /var/log/amazon/efs/ \ /etc/amazon/efs/s3files-utils.conf
/tmp/s3files-support-logs.tar.gzIncludi nella tua richiesta di supporto.