Skip to content

Nutzungsbeschränkungen

I. S3 API Beschränkungen

Die folgenden Standards folgen strikt den S3-Protokollstandards zur Spezifikation.

ElementSpezifikation
Maximale Objektgröße5 TiB
Minimale Objektgröße0 B
Maximale Objektgröße für einzelne PUT-OperationNicht-Multipart-Upload: 500 GiB; Multipart-Upload: 5 TiB
Maximale Anzahl von Teilen pro Upload10,000
Teilgrößenbereich5 MiB bis 5 GiB; letzter Teil kann 0 B bis 5 GiB sein
Maximale Anzahl von Teilen pro Listenteile-Anfrage10,000
Maximale Anzahl von Objekten pro Listenobjekte-Anfrage1,000
Maximale Anzahl von Multipart-Uploads pro Listen-Multipart-Uploads-Anfrage1,000
Maximale Länge des Bucket-Namens63 Zeichen
Maximale Länge des Objektnamens1024 Zeichen
Maximale Länge pro /-getrennte Objektnamensegment255 Zeichen
Maximale Anzahl von Versionen pro Objekt10,000 (konfigurierbar)

II. Erasure Coding Beschränkungen

EC-Parameter basierend auf Reed-Solomon-Matrix EC-Algorithmus konfigurieren. Tatsächliche EC-Parameterkonfiguration ist maßgebend.

ElementSpezifikation
Maximale Anzahl von Servern pro ClusterUnbegrenzt
Minimale Anzahl von Servern1
Bei 1 Server: Minimale Anzahl von Laufwerken pro Server1 (für Single-Node-Single-Drive-Deployment, bietet keine zusätzliche Zuverlässigkeit oder Verfügbarkeit)
Bei 2 oder mehr Servern: Minimale Anzahl von Laufwerken pro Server1
Maximale Anzahl von Laufwerken pro ServerUnbegrenzt
Lese-Quorum-AnzahlN/2
Schreib-Quorum-Anzahl(N/2) + 1

III. Objektbenennungsbeschränkungen

Dateisystem- und Betriebssystembeschränkungen

Objektnamen in RustFS sind hauptsächlich durch das zugrunde liegende Betriebssystem und Dateisystem beschränkt. Zum Beispiel beschränken Windows und einige andere Betriebssysteme die Verwendung bestimmter Sonderzeichen wie ^, *, |, \, /, &, " oder ;.

Bitte konsultieren Sie die entsprechende Dokumentation für eine vollständige Liste der Beschränkungen basierend auf Ihrem spezifischen Betriebssystem und Dateisystem.

RustFS empfiehlt die Verwendung von Linux-Betriebssystemen basierend auf XFS-Dateisystem in Produktionsumgebungen für bessere Leistung und Kompatibilität.

Behandlung von Namenskonflikten

In RustFS müssen Anwendungen allen Objekten eindeutige und nicht-kollidierende Schlüssel zuweisen. Dies beinhaltet die Vermeidung der Erstellung von Objekten, deren Namen mit übergeordneten Objekten oder gleichrangigen Objektnamen kollidieren könnten. RustFS gibt ein leeres Set zurück, wenn LIST-Operationen an konfliktbehafteten Stellen ausgeführt werden.

Zum Beispiel würden die folgenden Operationen zu Namespace-Konflikten führen:

bash
PUT data/hello/2025/first/a.csv
PUT data/hello/2025/first # Konflikt mit vorhandenem Objektpräfix

PUT data/hello/2025/first/
PUT data/hello/2025/first/vendors.csv # Konflikt mit vorhandenem Objekt

Obwohl Sie GET- oder HEAD-Operationen auf diese Objekte ausführen können, führen Namenskonflikte dazu, dass LIST-Operationen im Pfad hello/2025/first/ ein leeres Ergebnisset zurückgeben.

Veröffentlicht unter der Apache License 2.0.