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 Befehl Mount 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 ist älter als Version 3.0.0. Installieren oder aktualisieren Sie den Client. Weitere Informationen finden Sie unter Voraussetzungen für S3-Dateien.
„Der DNS-Name des Dateisystems konnte nicht aufgelöst werden“ — 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 ein Mount-Ziel hat. Weitere Informationen finden Sie unter Erstellen von Bereitstellungszielen.
Zeitüberschreitung bei der Verbindung — Die Sicherheitsgruppenkonfiguration lässt keinen NFS-Verkehr zu. Vergewissern Sie sich, 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 an Port 2049 an die 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-Dateiberechtigungen. Stellen Sie sicher, dass der Rolle die
AmazonS3FilesClientFullAccessoder dieAmazonS3FilesClientReadOnlyAccessverwaltete Richtlinie oder zumindest dies3files:ClientMountentsprechende Berechtigung zugeordnet ist. 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 von amazon-efs-utils auf. GitHub
Die Erlaubnis wurde für Dateioperationen verweigert
Sie können das Dateisystem mounten, erhalten aber beim Lesen, Schreiben oder Zugreifen auf Dateien die Fehlermeldung „Berechtigung verweigert“ oder „Vorgang nicht zulässig“.
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 dieAmazonS3FilesClientReadWriteAccessoder dieAmazonS3FilesClientFullAccessverwaltete Richtlinie an. Weitere Informationen finden Sie unter AWS Verwaltete Richtlinien für Amazon 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 (in der Regel 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 die von Ihren Kunden benötigten Aktionen nicht verweigert. 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.
POSIX-Berechtigungskonflikt — S3 Files erzwingt Standard-POSIX-Berechtigungen (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, auch wenn die IAM-Berechtigungen korrekt sind. Verwenden Sie einen Zugriffspunkt, um eine bestimmte Anforderung UID/GID für alle durchzusetzen. Weitere Informationen finden Sie unter Access Points für ein S3-Dateisystem erstellen.
Intelligentes Leserouting funktioniert nicht
S3 Files führt intelligentes Lese-Routing durch, da Leseanforderungen automatisch an die für sie am besten geeignete Speicherebene weitergeleitet werden, wobei die vollständige Dateisystemsemantik einschließlich Konsistenz, Sperren und POSIX-Berechtigungen beibehalten wird. Kleine, zufällige Lesevorgänge aktiv verwendeter 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 aus Ihrem S3-Bucket bereitgestellt, um einen hohen Durchsatz zu erzielen, ohne dass für das Dateisystem Datengebü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-Richtlinie enthalten, die eine Inline-Richtlinie für den verknüpften S3-Bucket gewährt
s3:GetObject.s3:GetObjectVersionOhne diese Richtlinie kann der Mount-Helper nicht direkt aus S3 lesen und alle Lesevorgänge werden durch das Dateisystem geleitet. 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 dann direkt von S3 ausgeführt, 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, durchlaufen Lesevorgänge das Dateisystem, bis die Synchronisation abgeschlossen ist.
Das Dateisystem gibt konsistent einen NFS-Serverfehler zurück
Ein verschlüsseltes Dateisystem gibt ständig NFS-Serverfehler zurück. Diese Fehler können auftreten, wenn S3-Dateien Ihren KMS-Schlüssel aus einem der folgenden Gründe nicht von AWS KMS abrufen können:
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 unter Planen und Abbrechen der Schlüssellöschung im AWS Key Management Service Developer Guide.
Wenn der Schlüssel aktiviert ist und weiterhin Probleme auftreten, 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 wartet eine Zeit der Inaktivität beim Schreiben (60 Sekunden), bevor Änderungen zurück in Ihren S3-Bucket exportiert werden. Wenn das Objekt nach diesem Zeitraum immer noch nicht angezeigt wird, ist der Export möglicherweise fehlgeschlagen. In einem solchen Fall sehen Sie, 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 nie ein S3-Objekt mit der Datei verknüpft wurde.
In der folgenden Tabelle sind alle möglichen ExportError Werte aufgeführt:
| Fehler | Ursache |
|---|---|
S3AccessDenied |
Die IAM-Rolle, die S3 Files annimmt, verfügt nicht über ausreichende Berechtigungen, um in den S3-Bucket zu schreiben. Weitere Informationen finden Sie unter Voraussetzungen für S3-Dateien. |
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. |
EncryptionKeyInaccessible |
Auf den vom S3-Bucket verwendeten Verschlüsselungsschlüssel können S3-Dateien nicht zugreifen. Gewähren Sie S3 Files Zugriff auf Ihren Verschlüsselungsschlüssel. Weitere Informationen finden Sie unter Verschlüsselung. |
RoleAssumptionFailed |
Konnte die Rolle nicht übernehmen. Prü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 Grenzwerten finden Sie unter. |
DependencyExportFailed |
Bei einem übergeordneten Objekt oder einer Abhängigkeit ist ein Exportfehler aufgetreten, der nicht wiederholt 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 mithilfe der S3-APIs wieder her. |
S3 Files versucht automatisch, fehlgeschlagene Exporte erneut zu versuchen. ExportErrorwird nur für Fehler angezeigt, die nicht wiederholt werden können.
S3-Objekt ist im Dateisystem nicht sichtbar
Ein Objekt ist in Ihrem S3-Bucket vorhanden, erscheint aber nicht im Dateisystem. Der Objektschlüsselname entspricht möglicherweise keinem gültigen POSIX-Dateipfad. S3-Dateien unterstützen nicht den Zugriff auf S3-Schlüsselnamen mit leeren Pfadkomponenten (foo//bar), relativen Pfadkomponenten (foo/./bar,foo/../bar), Schlüsselnamen, die Null-Bytes enthalten, oder Schlüsselnamen, bei denen eine Pfadkomponente 255 Byte überschreitet. Objekte mit inkompatiblen Schlüsselnamen werden nicht in das Dateisystem importiert.
Dateien, die im Verzeichnis „Verloren und gefunden“ erscheinen
Dateien wurden in dem .s3files-lost+found- Verzeichnis im Stammverzeichnis Ihres Dateisystems angezeigt. In diesem Fall sehen Sie, wie sich die file-system-idLostAndFoundFiles CloudWatch Metrik erhöht. Dies tritt auf, wenn ein Synchronisierungskonflikt auftritt. Ein Konflikt tritt auf, wenn dieselbe Datei über das 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 Informationsquelle, verschiebt die widersprüchliche Datei in das Verzeichnis Lost & Found und importiert die neueste Version aus dem S3-Bucket in das Dateisystem.
Identifizieren von Dateien im Verzeichnis „Verloren und gefunden“
Wenn S3 Files eine Datei in das Verzeichnis „Verloren und gefunden“ verschiebt, wird dem Dateinamen eine hexadezimale ID vorangestellt, um mehrere Versionen derselben Datei zu unterscheiden, die im Laufe der Zeit verschoben werden können. 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 „Verloren und gefunden“ 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 „Verloren und gefunden“ löschen oder die Datei aus dem Verzeichnis „Verloren und gefunden“ zurück in ihren ursprünglichen Pfad kopieren, um die S3-Version zu überschreiben.
Anmerkung
Dateien im Verzeichnis „Verloren und gefunden“ verbleiben auf unbestimmte Zeit dort und werden auf Ihre Speicherkosten im Dateisystem angerechnet. Löschen Sie Dateien aus dem Verzeichnis „Verloren und gefunden“, wenn sie nicht mehr benötigt werden.
Die Synchronisation gerät ins Hintertreffen
Die PendingExports CloudWatch Metrik wächst, was darauf hindeutet, dass Ihr Workload Änderungen schneller generiert, als S3 Files sie mit S3 synchronisieren kann.
Dies bedeutet, dass Ihre Arbeitslast möglicherweise die Synchronisationsrate überschreitet. S3 Files exportiert bis zu 800 Dateien pro Sekunde pro Dateisystem. Erwägen Sie, die Geschwindigkeit der Dateiänderungen zu reduzieren oder die Arbeit auf mehrere Dateisysteme zu verteilen. Überwachen Sie die PendingExports Metrik im Laufe der Zeit. Wenn es sich stabilisiert oder abnimmt, holt S3 Files auf. Wenn es weiter wächst, wenden Sie sich an den AWS Support.
Client-Debug-Protokolle aktivieren
Wenn Sie Mount-, Verbindungs- oder Lesebypass-Probleme beheben, können Sie die Protokollierung auf Debug-Ebene auf dem S3 Files-Client aktivieren, um weitere Details zu erfassen.
Mount-Helper- und Watchdog-Protokolle
Bearbeiten /etc/amazon/efs/s3files-utils.conf und ändern Sie die Protokollierungsstufe 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
In Protokolle werden geschrieben. /var/log/amazon/efs/ Das Mount-Helper-Protokoll istmount.log.
Proxy-Protokolle (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. In die Proxyprotokolle werden geschrieben. /var/log/amazon/efs/
TLS-Tunnel-Protokolle (Stunnel)
TLS-Tunnelprotokolle sind standardmäßig deaktiviert. Um sie zu aktivieren, bearbeiten /etc/amazon/efs/s3files-utils.conf und legen Sie Folgendes fest:
[mount] stunnel_debug_enabled = true
Um alle Stunnel-Logs für ein Dateisystem in einer einzigen Datei zu speichern, entkommentieren Sie auch die stunnel_logs_file Zeile:
stunnel_logs_file = /var/log/amazon/efs/{fs_id}.stunnel.log
Größenbeschränkungen für Logs
Protokolldateien werden automatisch rotiert. Sie können die maximale Größe und Anzahl der rotierten 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, maximal 10 MB pro Protokolltyp.
Protokolle mit dem AWS Support teilen
Wenn Sie den AWS Support kontaktieren, sammeln Sie die Client-Protokolle 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 dies Ihrem Support-Fall bei.