Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Problembehandlung bei S3-Dateien
Auf dieser Seite können Sie häufig auftretende Probleme mit S3-Dateien diagnostizieren und lösen.
Der Mount-Befehl schlägt fehl
Der mount -t s3files Befehl schlägt mit einem Fehler fehl.
Häufige Ursachen und Maßnahmen:
„mount.s3files: Befehl nicht gefunden“ — Der S3 Files-Client (amazon-efs-utils) ist nicht installiert oder liegt unter Version 3.0.0. Installieren oder aktualisieren Sie den Client. Weitere Informationen finden Sie unter Voraussetzungen für S3-Dateien.
„Fehler beim Auflösen des DNS-Namens des Dateisystems“ — In der Availability Zone, in der Ihre EC2-Instance ausgeführt wird, gibt es kein Mount-Ziel. Erstellen Sie ein Mount-Ziel in dieser Availability Zone oder starten Sie Ihre Instance in einer Availability Zone, die über ein Mount-Ziel verfügt. Weitere Informationen finden Sie unter Erstellen von Bereitstellungszielen.
Verbindungstimeout — Die Sicherheitsgruppenkonfiguration lässt keinen NFS-Verkehr zu. Stellen Sie sicher, dass die Sicherheitsgruppe des Mount-Ziels eingehendes TCP auf Port 2049 von der Sicherheitsgruppe Ihrer Instance zulässt und dass die Sicherheitsgruppe Ihrer Instance ausgehendes TCP auf Port 2049 zur Sicherheitsgruppe des Mount-Ziels zulässt. Weitere Informationen finden Sie unter Voraussetzungen für S3-Dateien.
„Zugriff verweigert“ beim Mounten — Die Ihrer Rechenressource zugeordnete IAM-Rolle verfügt nicht über die erforderlichen S3 Files-Berechtigungen. Stellen Sie sicher, dass der Rolle die Richtlinie
AmazonS3FilesClientFullAccessoder dieAmazonS3FilesClientReadOnlyAccessverwaltete Richtlinie oder zumindest dies3files:ClientMountentsprechende Berechtigung zugewiesen wurde. Weitere Informationen finden Sie unter Voraussetzungen für S3-Dateien.Botocore nicht installiert — Der Mount Helper benötigt Botocore, um mit Diensten zu interagieren. AWS Installieren Sie Botocore gemäß den Anweisungen in der README-Datei unter. amazon-efs-utils GitHub
Zugriff auf Dateioperationen verweigert
Sie können das Dateisystem mounten, erhalten aber beim Lesen, Schreiben oder Zugreifen auf Dateien die Fehlermeldung „Zugriff verweigert“ oder „Vorgang nicht erlaubt“.
Häufige Ursachen und Maßnahmen:
Fehlende Schreibberechtigung — Wenn Sie lesen, aber nicht schreiben können, stellen Sie sicher, dass die Ihrer Rechenressource zugeordnete IAM-Rolle die
s3files:ClientWriteentsprechende Berechtigung enthält, oder fügen Sie die RichtlinieAmazonS3FilesClientReadWriteAccessoder dieAmazonS3FilesClientFullAccessverwaltete Richtlinie hinzu. Weitere Informationen finden Sie unter AWS Verwaltete Richtlinien für Amazon S3 S3-Dateien.Fehlender Root-Zugriff — Wenn Sie beim Zugriff auf Dateien, die Root gehören (UID 0), Berechtigungsfehler erhalten, verfügt Ihre IAM-Rolle möglicherweise nicht über die
s3files:ClientRootAccessentsprechende Berechtigung. Ohne diese Berechtigung werden alle Operationen als anonymer NFS-Benutzer (normalerweise nfsnobody) ausgeführt, der möglicherweise keinen Zugriff auf die Dateien hat. Hängen Sie dieAmazonS3FilesClientFullAccessverwaltete Richtlinie an oder fügen Sies3files:ClientRootAccesssie Ihrer Richtlinie hinzu.Dateisystemrichtlinie, die den Zugriff verweigert — Wenn Sie eine Dateisystemrichtlinie angehängt haben, stellen Sie sicher, dass diese nicht die Aktionen verweigert, die Ihre Kunden benötigen. Ein „Zulassen“ in der identitätsbasierten Richtlinie oder der Dateisystemrichtlinie reicht für den Zugriff aus. Weitere Informationen finden Sie unter So funktioniert S3 Files mit IAM.
Nichtübereinstimmung der POSIX-Berechtigungen — S3 Files erzwingt POSIX-Standardberechtigungen (Besitzer, Gruppe, andere) für Dateien und Verzeichnisse. Wenn Ihre Anwendung als Benutzer ausgeführt wird, der nicht dem Eigentümer oder der Gruppe der Datei entspricht, kann der Zugriff verweigert werden, selbst wenn die IAM-Berechtigungen korrekt sind. Verwenden Sie einen Zugriffspunkt, um UID/GID für alle Anfragen eine bestimmte Regel durchzusetzen. Weitere Informationen finden Sie unter Access Points für ein S3-Dateisystem erstellen.
Intelligentes Leserouting funktioniert nicht
S3 Files führt intelligentes Leserouting durch, indem es Leseanforderungen automatisch an die für sie am besten geeignete Speicherebene weiterleitet und dabei die vollständige Dateisystemsemantik einschließlich Konsistenz, Sperren und POSIX-Berechtigungen beibehält. Kleine, zufällige Lesevorgänge von aktiv verwendeten Dateien werden aus dem Hochleistungsspeicher bereitgestellt, um eine geringe Latenz zu gewährleisten. Große sequentielle Lese- und Lesevorgänge von Daten, die sich nicht im Dateisystem befinden, werden direkt von Ihrem S3-Bucket aus ausgeführt, um einen hohen Durchsatz zu gewährleisten, ohne dass für das Dateisystem Gebühren anfallen.
Intelligentes Lese-Routing funktioniert möglicherweise nicht, wenn eine der Client-Konnektivitätsmetriken (NFSConnectionAccessibleS3BucketAccessible, undS3BucketReachable) 0 anzeigt oder wenn Sie nicht den erwarteten Lesedurchsatz sehen.
Häufige Ursachen und Maßnahmen:
Fehlende S3-Inline-Richtlinie für die Rechenrolle — Die Ihrer Rechenressource zugeordnete IAM-Rolle muss eine Inline-Policy-Gewährung
s3:GetObjectfür den verknüpften S3-Bucket beinhalten.s3:GetObjectVersionOhne diese Richtlinie kann der Mount-Helper nicht direkt aus S3 lesen und alle Lesevorgänge werden über das Dateisystem abgewickelt. Weitere Informationen finden Sie unter Voraussetzungen für S3-Dateien.S3-Bucket nicht erreichbar — Überprüfen Sie die
S3BucketReachableMetrik. Wenn 0 angezeigt wird, stellen Sie sicher, dass Ihre Rechenressource Netzwerkzugriff auf S3 hat (z. B. über einen VPC-Endpunkt oder ein NAT-Gateway).Datei wurde geändert — Lesevorgänge werden nur direkt von S3 aus bereitgestellt, wenn die Datei nicht über das Dateisystem geändert wurde. Wenn Sie in die Datei geschrieben haben und die Änderungen noch nicht mit S3 synchronisiert wurden, werden Lesevorgänge durch das Dateisystem geleitet, bis die Synchronisation abgeschlossen ist.
Das Dateisystem gibt durchweg einen NFS-Serverfehler zurück
Ein verschlüsseltes Dateisystem gibt ständig NFS-Serverfehler zurück. Diese Fehler können auftreten, wenn S3 Files Ihren KMS-Schlüssel aus einem der folgenden Gründe nicht von AWS KMS abrufen kann:
Der Schlüssel wurde deaktiviert.
Der Schlüssel wurde gelöscht.
Die Erlaubnis für S3 Files, den Schlüssel zu verwenden, wurde widerrufen.
AWS KMS ist vorübergehend nicht verfügbar.
Maßnahme
Vergewissern Sie sich zunächst, dass der AWS KMS-Schlüssel aktiviert ist. Sie können Ihre Schlüssel in der AWS KMS-Konsole einsehen. Weitere Informationen finden Sie unter Anzeigen von Schlüsseln im Entwicklerhandbuch für AWS Key Management Service.
Wenn der Schlüssel nicht aktiviert ist, aktivieren Sie ihn. Weitere Informationen finden Sie unter Aktivieren und Deaktivieren von Schlüsseln im Entwicklerhandbuch für AWS Key Management Service.
Wenn der Schlüssel noch gelöscht werden muss, brechen Sie den Löschvorgang ab und aktivieren Sie den Schlüssel erneut. Weitere Informationen finden Sie im Key Management Service Developer Guide unter Planen und Abbrechen der AWS Schlüssellöschung.
Wenn der Schlüssel aktiviert ist und Sie weiterhin Probleme haben, wenden Sie sich an den AWS Support.
Fehlendes Objekt im S3-Bucket nach dem Schreiben im Dateisystem
Sie haben eine Datei über das Dateisystem geschrieben und erwartet, dass sie als Objekt in Ihrem S3-Bucket erscheint, aber das Objekt ist nicht da. S3 Files stapelt Änderungen für etwa 60 Sekunden, bevor sie nach S3 kopiert werden. Wenn das Objekt immer noch nicht angezeigt wird, ist der Export möglicherweise fehlgeschlagen. In einem solchen Fall werden Sie feststellen, dass die FailedExports CloudWatch Metrik zunimmt.
Maßnahme
Überprüfen Sie den Exportstatus der Datei mithilfe erweiterter Attribute:
getfattr -n "user.s3files.status;$(date -u +%s)" missing-file.txt --only-values
Der Zeitstempel im Attributnamen stellt sicher, dass Sie den neuesten Status erhalten. Beispielausgabe:
S3Key: s3://bucket/prefix/missing-file.txt ExportError: PathTooLong
ExportErrorwird nicht angezeigt, wenn kein Exportfehler vorliegt. S3Keyist leer, wenn ein S3-Objekt nie mit der Datei verknüpft wurde.
In der folgenden Tabelle sind alle möglichen ExportError Werte aufgeführt:
| Fehler | Ursache |
|---|---|
S3AccessDenied |
Die IAM-Rolle, von der S3 Files ausgeht, verfügt nicht über ausreichende Berechtigungen, um in den S3-Bucket zu schreiben. Weitere Informationen finden Sie unter Voraussetzungen für S3-Dateien. |
S3BucketNotFound |
Der Quell-S3-Bucket ist nicht mehr vorhanden oder wurde umbenannt. Stellen Sie sicher, dass er in der erwarteten AWS Region und im erwarteten Konto vorhanden ist. |
InternalError |
Es ist ein interner Systemfehler aufgetreten. |
S3UserMetadataTooLarge |
Die Größenbeschränkung für S3-Benutzermetadaten wurde überschritten. Informationen Nicht unterstützte Funktionen, Beschränkungen und Kontingente zu diesen Grenzwerten finden Sie unter. |
FileSizeExceedsS3Limit |
Die Dateigröße überschreitet die Größenbeschränkung für S3-Objekte. Informationen Nicht unterstützte Funktionen, Beschränkungen und Kontingente zu diesen Beschränkungen finden Sie unter. |
EncryptionKeyInaccessible |
Auf den vom S3-Bucket verwendeten Verschlüsselungsschlüssel kann für S3-Dateien nicht zugegriffen werden. Gewähren Sie S3 Files Zugriff auf Ihren Verschlüsselungsschlüssel. Weitere Informationen finden Sie unter Verschlüsselung. |
RoleAssumptionFailed |
Die Rolle konnte nicht übernommen werden. Überprüfen Sie Ihre Vertrauensrichtlinien. Weitere Informationen finden Sie unter Voraussetzungen für S3-Dateien. |
KeyTooLongToBreakCycle |
S3-Dateien konnten eine zirkuläre Abhängigkeit nicht auflösen (z. B. aufgrund der Umbenennung von zwei Dateien in jeweils andere Namen), da der Dateipfad die S3-Schlüssellängenbeschränkung überschreitet. Kürzen Sie den Verzeichnispfad, um diesen Fehler zu beheben. |
PathTooLong |
Ihr Dateipfad überschreitet die S3-Schlüssellängenbeschränkung. Informationen Nicht unterstützte Funktionen, Beschränkungen und Kontingente zu diesen Beschränkungen finden Sie unter. |
DependencyExportFailed |
Bei einem übergeordneten Element oder einer Abhängigkeit ist ein Exportfehler aufgetreten, der nicht erneut versucht werden kann. Überprüfen Sie den Status des übergeordneten Elements oder aller Abhängigkeiten mithilfe von. getfattr |
S3ObjectArchived |
Das S3-Objekt ist archiviert (S3 Glacier Flexible Retrieval oder S3 Glacier Deep Archive) und kann nicht gelesen werden. Stellen Sie das Objekt zuerst mit dem S3 APIs wieder her. |
S3 Files wiederholt automatisch fehlgeschlagene Exporte. ExportErrorwird nur bei Fehlern angezeigt, die nicht erneut versucht werden können.
Dateien, die im Verzeichnis Lost and Found erscheinen
Dateien wurden in dem .s3files-lost+found- Verzeichnis im Stammverzeichnis Ihres Dateisystems angezeigt. In diesem Fall sehen Sie einen Anstieg der file-system-idLostAndFoundFiles CloudWatch Metrik. Dies tritt auf, wenn ein Synchronisationskonflikt auftritt. Ein Konflikt tritt auf, wenn dieselbe Datei im Dateisystem geändert wird und sich das entsprechende S3-Objekt ändert, bevor S3 Files die Dateisystemänderungen wieder mit S3 synchronisiert. S3 Files behandelt den S3-Bucket als Quelle der Wahrheit, verschiebt die widersprüchliche Datei in das Verzeichnis Lost and Found und importiert die neueste Version aus dem S3-Bucket in das Dateisystem.
Identifizieren von Dateien im Verzeichnis Lost and Found
Wenn S3 Files eine Datei in das Verzeichnis Lost and Found verschiebt, wird dem Dateinamen eine hexadezimale Kennung vorangestellt, um mehrere Versionen derselben Datei zu unterscheiden, die im Laufe der Zeit möglicherweise verschoben werden. Dateinamen, die länger als 100 Zeichen sind, werden gekürzt, um Platz für diesen Bezeichner zu schaffen. Der ursprüngliche Verzeichnispfad der Datei wird im Verzeichnis Lost and Found nicht beibehalten.
Maßnahme
Rufen Sie den ursprünglichen Pfad der Datei und den entsprechenden S3-Objektschlüssel ab:
getfattr -n "user.s3files.status;$(date -u +%s)" .s3files-lost+found-fs-12345678/abcdef1234_report.csv--only-values
Beispielausgabe:
S3Key: s3://bucket/prefix/report.csv FilePath: /data/report.csv
| Feld | Description |
|---|---|
S3Key |
Vollständiger S3-Pfad des Objekts, das den Konflikt verursacht hat, oder leer, wenn das Objekt im S3-Bucket gelöscht wurde. |
FilePath |
Relativer Pfad der Datei vor dem Konflikt. |
Sie können dann entweder die neueste Version aus Ihrem S3-Bucket behalten und die Datei aus dem Verzeichnis Lost and Found löschen, oder Sie können die Datei aus dem Lost & Found-Verzeichnis zurück in ihren ursprünglichen Pfad kopieren, um die S3-Version zu überschreiben.
Anmerkung
Dateien im Verzeichnis Lost and Found verbleiben dort auf unbestimmte Zeit und werden auf die Speicherkosten Ihres Dateisystems angerechnet. Löschen Sie Dateien aus dem Verzeichnis Lost and Found, wenn sie nicht mehr benötigt werden.
Die Synchronisation gerät ins Hintertreffen
Die PendingExports CloudWatch Zahl wächst, was darauf hindeutet, dass Ihr Workload Änderungen schneller generiert, als S3 Files sie mit S3 synchronisieren kann.
Das bedeutet, dass Ihre Arbeitslast möglicherweise die Synchronisierungsrate überschreitet. S3 Files exportiert bis zu 800 Dateien pro Sekunde pro Dateisystem. Erwägen Sie, die Anzahl der Dateiänderungen zu reduzieren oder die Arbeit auf mehrere Dateisysteme zu verteilen. Überwachen Sie die PendingExports Metrik im Laufe der Zeit. Wenn sie sich stabilisiert oder abnimmt, holt S3 Files auf. Wenn es weiter wächst, wenden Sie sich an den AWS Support.
Debug-Logs für Clients aktivieren
Wenn Sie Probleme mit der Bereitstellung, der Konnektivität oder der Umgehung von Lesevorgängen beheben möchten, können Sie die Protokollierung auf Debug-Ebene auf dem S3 Files-Client aktivieren, um mehr Details zu erfassen.
Mounten Sie die Helper- und Watchdog-Protokolle
Bearbeiten /etc/amazon/efs/s3files-utils.conf und ändern Sie die Protokollierungsebene von INFO auf DEBUG:
[DEFAULT] logging_level = DEBUG
Hängen Sie das Dateisystem aus und hängen Sie es erneut ein, damit die Änderung wirksam wird:
sudo umount /mnt/s3files sudo mount -t s3filesfile-system-id:/ /mnt/s3files
Protokolle werden in geschrieben. /var/log/amazon/efs/ Das Mount Helper-Protokoll istmount.log.
Proxyprotokolle (efs-proxy)
Der Proxy verarbeitet den NFS-Verkehr und den S3-Lesebypass. Um die Debug-Protokollierung für den Proxy zu aktivieren, bearbeiten Sie: /etc/amazon/efs/s3files-utils.conf
[proxy] proxy_logging_level = DEBUG
Hängen Sie das Gerät aus und hängen Sie es erneut ein, damit die Änderung wirksam wird. Proxyprotokolle werden in geschrieben. /var/log/amazon/efs/
TLS-Tunnelprotokolle (Stunnel)
TLS-Tunnelprotokolle sind standardmäßig deaktiviert. Um sie zu aktivieren, bearbeiten /etc/amazon/efs/s3files-utils.conf und stellen Sie Folgendes ein:
[mount] stunnel_debug_enabled = true
Um alle Stunnel-Logs für ein Dateisystem in einer einzigen Datei zu speichern, entfernen Sie auch das Kommentarzeichen aus der stunnel_logs_file Zeile:
stunnel_logs_file = /var/log/amazon/efs/{fs_id}.stunnel.log
Größenbeschränkungen für Protokolle
Protokolldateien werden automatisch rotiert. Sie können die maximale Größe und Anzahl rotierter Dateien konfigurieren ins3files-utils.conf:
[DEFAULT] logging_max_bytes = 1048576 logging_file_count = 10
Die Standardeinstellung ist 1 MB pro Protokolldatei mit 10 rotierten Dateien, also maximal 10 MB pro Protokolltyp.
Logs mit dem AWS Support teilen
Wenn Sie sich an den AWS Support wenden, sammeln Sie die Client-Logs und die Konfiguration in einem einzigen Archiv:
sudo tar -czf /tmp/s3files-support-logs.tar.gz \ /var/log/amazon/efs/ \ /etc/amazon/efs/s3files-utils.conf
Fügen /tmp/s3files-support-logs.tar.gz Sie es Ihrer Support-Anfrage bei.