Umgebungsvariablen

Referenz der Umgebungsvariablen, die Server, Console, TLS, KMS, Observability, Scanner, Datenwiederherstellung, Speicherklassen, Anmeldedaten und Ereignisziele von RustFS konfigurieren.

Diese Seite listet die Umgebungsvariablen, die das Server-Binary rustfs erkennt. Sie umfasst die betrieblich relevante Teilmenge, die gegen den Quellcode von RustFS geprüft wurde; einige interne Stellschrauben sind absichtlich ausgelassen. Jede Variable lässt sich auch über das passende Befehlszeilen-Flag setzen, sofern eines existiert (siehe die CLI-Referenz).

Boolesche Werte

Boolesche Variablen akzeptieren true und false. Als „nicht gesetzt“ angegebene Werte haben keinen Standard; die zugehörige Funktion bleibt deaktiviert oder fällt auf das eingebaute Verhalten zurück.

Serverkern

VariableStandardBeschreibung
RUSTFS_VOLUMESnicht gesetzt (erforderlich)Speicher-Volumes oder Endpunkte, durch Leerzeichen getrennt. Unterstützt die Ellipsen-Erweiterung {N...M}, zum Beispiel /data/rustfs{0...3} oder http://node{1...4}:9000/data/rustfs{0...3}. Das Docker-Image verwendet standardmäßig /data.
RUSTFS_ADDRESS:9000Bind-Adresse und Port des Listeners der S3-API (trägt auch den internen Knoten-RPC).
RUSTFS_SERVER_DOMAINSnicht gesetztDurch Kommas getrennte Domainnamen für S3-Anfragen mit Adressierung im Virtual-Hosted-Stil, zum Beispiel s3.example.com, sodass bucket.s3.example.com auf den Bucket bucket zeigt. Wenn die Variable nicht gesetzt ist, funktioniert nur die pfadbasierte Adressierung (Path-Style).
RUSTFS_REGIONnicht gesetztRegion, die S3-Clients gemeldet wird. Wenn die Variable nicht gesetzt ist, fällt der Server auf us-east-1 zurück.
RUSTFS_LICENSEnicht gesetztLizenzzeichenkette.
RUSTFS_BUFFER_PROFILEGeneralPurposeLastprofil für die adaptive Puffergröße. Optionen: GeneralPurpose, AiTraining, DataAnalytics, WebWorkload, IndustrialIoT, SecureStorage.
RUSTFS_BUFFER_PROFILE_DISABLEfalseDeaktiviert die adaptive Puffergröße und verwendet feste Puffergrößen der älteren Implementierung.
RUSTFS_HEALTH_ENDPOINT_ENABLEtrueRegistriert die nicht authentifizierten Integritätsendpunkte /health und /health/ready.
RUSTFS_HEALTH_READINESS_CACHE_TTL_MS1000Cache-TTL für Ergebnisse der Bereitschaftsprüfung, in Millisekunden.
RUSTFS_HEALTH_CLUSTER_TIMEOUT_MS2000Zeitüberschreitung für Cluster-Integritätsprüfungen (/minio/health/cluster), in Millisekunden.
RUSTFS_STARTUP_READINESS_MAX_WAIT_SECS120Maximale Zeit, in der die Bereitschaftsprüfung „starting“ meldet, bevor der Start als fehlgeschlagen gilt.
RUSTFS_CHECK_UPDATEtruePrüft beim Start auf eine neuere RustFS-Version, indem eine HTTPS-Anfrage an version.rustfs.com gesendet wird; der User-Agent enthält die aktuelle Version. Das Ergebnis wird nur protokolliert, und RustFS aktualisiert sich nie selbst. Setzen Sie false, um die ausgehende Anfrage zu überspringen, zum Beispiel in Bereitstellungen ohne ausgehenden Netzzugriff. Nicht erkannte Werte fallen auf true zurück.

Console

VariableStandardBeschreibung
RUSTFS_CONSOLE_ENABLEtrueAktiviert die eingebettete Console (Weboberfläche) auf einem eigenen Listener.
RUSTFS_CONSOLE_ADDRESS:9001Bind-Adresse und Port des Console-Listeners.

CORS

VariableStandardBeschreibung
RUSTFS_CORS_ALLOWED_ORIGINSleerDurch Kommas getrennte Origins, die aus einem Browser auf die S3-API zugreifen dürfen. Setzen Sie * für Wildcard-Origins ohne mitgesendete Browser-Credentials.
RUSTFS_CONSOLE_CORS_ALLOWED_ORIGINS*Durch Kommas getrennte Origins, die aus einem Browser auf die Console zugreifen dürfen, oder * für alle Origins.

Siehe CORS-Konfiguration für Konfiguration und Prüfung.

TLS und KMS

VariableStandardBeschreibung
RUSTFS_TLS_PATHnicht gesetztVerzeichnis mit TLS-Zertifikat und Schlüssel (rustfs_cert.pem / rustfs_key.pem) für die S3-API und die Console. TLS ist aktiv, wenn die Variable gesetzt ist.
RUSTFS_TLS_RELOAD_ENABLEfalseÜberwacht das TLS-Verzeichnis und lädt Zertifikate im laufenden Betrieb neu.
RUSTFS_TLS_KEYLOGfalseSchreibt TLS-Sitzungsschlüssel zu Diagnosezwecken in eine Keylog-Datei. Aktivieren Sie diese Option nicht in der Produktion.
RUSTFS_TRUST_SYSTEM_CAfalseVertraut zusätzlich dem CA-Speicher des Betriebssystems für ausgehende TLS-Verbindungen.
RUSTFS_TRUST_LEAF_CERT_AS_CAfalseVertraut einem Leaf-Zertifikat, als wäre es eine CA (selbst signierte Konfigurationen).
RUSTFS_SERVER_MTLS_ENABLEfalseVerlangt Client-Zertifikate (gegenseitiges TLS, mTLS) an den Server-Listenern.
RUSTFS_MTLS_CLIENT_CERTnicht gesetztClient-Zertifikat für mTLS-Verbindungen zwischen Knoten.
RUSTFS_MTLS_CLIENT_KEYnicht gesetztPrivater Client-Schlüssel für mTLS-Verbindungen zwischen Knoten.
RUSTFS_KMS_ENABLEfalseAktiviert die serverseitige Verschlüsselung über KMS.
RUSTFS_KMS_BACKENDlocalKMS-Backend: local, vault / vault-kv2 (Vault-KV2-Speicher mit lokaler Umhüllung der Datenschlüssel) oder vault-transit.
RUSTFS_KMS_KEY_DIRnicht gesetztSchlüsselverzeichnis für das Backend local.
RUSTFS_KMS_LOCAL_MASTER_KEYnicht gesetztHauptschlüssel, der lokale KMS-Schlüsseldateien schützt.
RUSTFS_KMS_VAULT_ADDRESSnicht gesetztVault-Serveradresse für die Vault-Backends.
RUSTFS_KMS_VAULT_TOKENnicht gesetztVault-Token für die Vault-Backends.
RUSTFS_KMS_VAULT_MOUNT_PATHtransitTransit-Mount für vault-transit; veraltet und ungenutzt für vault / vault-kv2.
RUSTFS_KMS_VAULT_KV_MOUNTsecretKV-v2-Mount für das Backend vault / vault-kv2.
RUSTFS_KMS_VAULT_KEY_PREFIXrustfs/kms/keysPräfix der Schlüsseldatensätze im KV-v2-Mount für vault / vault-kv2.
RUSTFS_KMS_DEFAULT_KEY_IDnicht gesetztStandard-KMS-Schlüssel-ID für die Verschlüsselung.
RUSTFS_KMS_ALLOW_INSECURE_DEV_DEFAULTSfalseErlaubt unsichere KMS-Standards, die nur für die Entwicklung gedacht sind. Aktivieren Sie diese Option niemals in der Produktion.

Observability

Die Observability-Pipeline exportiert Traces, Metriken und Protokolle über OTLP/HTTP.

VariableStandardBeschreibung
RUSTFS_OBS_ENDPOINTleerBasis-URL von OTLP/HTTP für Traces, Metriken und Protokolle, zum Beispiel http://otel-collector:4318. Wenn der Wert leer ist, gehen Protokolle nach stdout oder in lokale Dateien.
RUSTFS_OBS_TRACE_ENDPOINTnicht gesetztÜberschreibung des Trace-Endpunkts je Signal.
RUSTFS_OBS_METRIC_ENDPOINTnicht gesetztÜberschreibung des Metrik-Endpunkts je Signal.
RUSTFS_OBS_LOG_ENDPOINTnicht gesetztÜberschreibung des Protokoll-Endpunkts je Signal.
RUSTFS_OBS_TRACES_EXPORT_ENABLEDtrueExportiert Traces an den OTLP-Endpunkt.
RUSTFS_OBS_METRICS_EXPORT_ENABLEDtrueExportiert Metriken an den OTLP-Endpunkt.
RUSTFS_OBS_LOGS_EXPORT_ENABLEDtrueExportiert Protokolle an den OTLP-Endpunkt.
RUSTFS_OBS_USE_STDOUTnicht gesetztErzwingt die Telemetrieausgabe nach stdout.
RUSTFS_OBS_SAMPLE_RATIOnicht gesetztAbtastrate für Traces (0.0–1.0).
RUSTFS_OBS_METER_INTERVALnicht gesetztExportintervall für Metriken in Sekunden.
RUSTFS_OBS_SERVICE_NAMEnicht gesetztDienstname in den Ressourcenattributen der Telemetrie.
RUSTFS_OBS_ENVIRONMENTnicht gesetztBezeichnung der Bereitstellungsumgebung (production, development, test, staging).
RUSTFS_OBS_LOGGER_LEVELnicht gesetztFilter für die Protokollstufe (zum Beispiel info, debug).
RUSTFS_OBS_LOG_STDOUT_ENABLEDnicht gesetztSpiegelt Protokolle zusätzlich nach stdout, wenn Datei- oder OTLP-Protokollierung aktiv ist.
RUSTFS_OBS_LOG_DIRECTORYnicht gesetztLokales Protokollverzeichnis. Nicht gesetzt bedeutet Ausgabe nach stdout; ein URL-Wert sendet Protokolle an einen entfernten Endpunkt.
RUSTFS_OBS_LOG_FILENAMErustfs.logProtokolldateiname im Protokollverzeichnis.
RUSTFS_OBS_LOG_ROTATION_TIMEhourlyZeitbasierte Protokollrotation: daily, hourly, minutely.
RUSTFS_OBS_LOG_KEEP_FILES30Anzahl der aufbewahrten rotierten Protokolldateien.
RUSTFS_OBS_LOG_MAX_TOTAL_SIZE_BYTES2147483648Gesamtbudget (2 GiB) für das Protokollverzeichnis vor der Bereinigung.
RUSTFS_OBS_LOG_COMPRESS_OLD_FILEStrueKomprimiert rotierte Protokolldateien (standardmäßig zstd, steuerbar über RUSTFS_OBS_LOG_COMPRESSION_ALGORITHM).

Intervalle der Metrikerfassung folgen dem Muster RUSTFS_METRICS_<SCOPE>_INTERVAL_SEC mit den Bereichen DEFAULT, SYSTEM, CLUSTER, BUCKET, NODE, RESOURCE, AUDIT, NOTIFICATION und BUCKET_REPLICATION_BANDWIDTH, zum Beispiel RUSTFS_METRICS_CLUSTER_INTERVAL_SEC=60.

Scanner und Datenwiederherstellung (Healing)

VariableStandardBeschreibung
RUSTFS_SCANNER_SPEEDdefaultVorgabe für die Scanner-Geschwindigkeit: fastest, fast, default, slow, slowest. Steuert Schlaffaktor, maximale Pause und Zyklusintervall.
RUSTFS_SCANNER_DELAYaus der GeschwindigkeitsvorgabeÜberschreibt den Schlaf-Multiplikator des Scanners (zum Beispiel 30.0).
RUSTFS_SCANNER_MAX_WAIT_SECSaus der GeschwindigkeitsvorgabeÜberschreibt die maximale Scanner-Pause in Sekunden.
RUSTFS_SCANNER_CYCLEaus der GeschwindigkeitsvorgabeÜberschreibt das Scan-Zyklusintervall in Sekunden (zum Beispiel 3600).
RUSTFS_SCANNER_START_DELAY_SECSnicht gesetztStartverzögerung in Sekunden vor dem ersten Scan-Zyklus.
RUSTFS_SCANNER_CYCLE_MAX_DURATION_SECS1800Begrenzt die Laufzeit eines Zyklus in Sekunden; 0 hebt das Budget auf.
RUSTFS_SCANNER_CYCLE_MAX_OBJECTS0Begrenzt die je Zyklus verarbeiteten Objekte; 0 hebt das Budget auf.
RUSTFS_SCANNER_CYCLE_MAX_DIRECTORIES0Begrenzt die je Zyklus betretenen Verzeichnisse; 0 hebt das Budget auf.
RUSTFS_SCANNER_BITROT_CYCLE_SECS2592000Zyklus des periodischen tiefen Scans (Bitrot) in Sekunden (30 Tage). 0, true oder on macht jeden Zyklus tief; false oder off deaktiviert tiefe Scans.
RUSTFS_SCANNER_IDLE_MODEtrueBei true drosselt sich der Scanner selbst; false lässt ihn mit voller Geschwindigkeit laufen.
RUSTFS_SCANNER_CACHE_SAVE_TIMEOUT_SECS14Zeitüberschreitung für das Speichern des Scanner-Caches in Sekunden (Minimum 1).
RUSTFS_SCANNER_MAX_CONCURRENT_SET_SCANS4Begrenzt die Anzahl gleichzeitiger Scan-Aufgaben für Erasure-Sets; 0 behält die aus der Topologie abgeleitete Nebenläufigkeit.
RUSTFS_SCANNER_MAX_CONCURRENT_DISK_SCANS4Begrenzt gleichzeitige Bucket-Durchläufe auf Festplatten je Set; 0 behält die aus der Festplattenanzahl abgeleitete Nebenläufigkeit.
RUSTFS_SCANNER_YIELD_EVERY_N_OBJECTS128Wie oft Objektschleifen des Scanners an die asynchrone Laufzeitumgebung abgeben; 0 deaktiviert die zusätzliche Abgabe.
RUSTFS_SCANNER_ALERT_EXCESS_VERSIONS100Anzahl der Objektversionen, die Scanner-Alarme auslöst.
RUSTFS_SCANNER_ALERT_EXCESS_VERSION_SIZE1099511627776Aufsummierte Versionsbytes (1 TiB), die Scanner-Alarme auslösen.
RUSTFS_SCANNER_ALERT_EXCESS_FOLDERS65538Anzahl direkter Unterordner, die Scanner-Alarme auslöst.
RUSTFS_HEAL_AUTO_HEAL_ENABLEtrueAktiviert die automatische Datenwiederherstellung beeinträchtigter Objekte im Hintergrund.
RUSTFS_HEAL_QUEUE_SIZE10000Kapazität der Warteschlange für Kandidaten der Datenwiederherstellung.
RUSTFS_HEAL_INTERVAL_SECS10Abstand zwischen den Läufen des Planers für die Datenwiederherstellung, in Sekunden.
RUSTFS_HEAL_TASK_TIMEOUT_SECS300Zeitüberschreitung für eine einzelne Aufgabe der Datenwiederherstellung, in Sekunden.
RUSTFS_HEAL_MAX_CONCURRENT_HEALS4Maximale Anzahl gleichzeitiger Aufgaben der Datenwiederherstellung.
RUSTFS_HEAL_MAX_CONCURRENT_PER_SET1Maximale Anzahl gleichzeitiger Aufgaben der Datenwiederherstellung je Erasure-Set.

Speicher und Erasure Coding

VariableStandardBeschreibung
RUSTFS_STORAGE_CLASS_STANDARDautomatischParität der Speicherklasse STANDARD im Format EC:n, zum Beispiel EC:4. Wenn die Variable nicht gesetzt ist, wird die Parität aus der Größe des Erasure-Sets abgeleitet.
RUSTFS_STORAGE_CLASS_RRSEC:1Parität der Speicherklasse REDUCED_REDUNDANCY im Format EC:n.
RUSTFS_STORAGE_CLASS_OPTIMIZEavailabilityOptimierungsziel bei der Wahl der Parität.
RUSTFS_STORAGE_CLASS_INLINE_BLOCK131072Schwellenwert (128 KiB), unter dem Objektdaten in die Metadaten eingebettet werden.
RUSTFS_ERASURE_SET_DRIVE_COUNT0Erzwingt die Anzahl der Laufwerke je Erasure-Set; 0 wählt das Layout automatisch.
RUSTFS_DURABILITY_MODEnicht gesetztModus der Schreibdauerhaftigkeit: strict, relaxed oder none. Hat Vorrang vor dem älteren Schalter für die Laufwerksynchronisierung, wenn ein gültiger Wert gesetzt ist.

Anmeldedaten und interne Einstellungen

VariableStandardBeschreibung
RUSTFS_ACCESS_KEYrustfsadminRoot-Zugriffsschlüssel. Schließt sich mit RUSTFS_ACCESS_KEY_FILE gegenseitig aus.
RUSTFS_SECRET_KEYrustfsadminGeheimer Root-Zugriffsschlüssel. Schließt sich mit RUSTFS_SECRET_KEY_FILE gegenseitig aus.
RUSTFS_ACCESS_KEY_FILEnicht gesetztPfad zu einer Datei mit dem Zugriffsschlüssel (zum Beispiel ein Secret-Mount von Docker oder Kubernetes).
RUSTFS_SECRET_KEY_FILEnicht gesetztPfad zu einer Datei mit dem geheimen Zugriffsschlüssel.
RUSTFS_RPC_SECRETabgeleitetGeheimnis für die Authentifizierung von RPC zwischen Knoten. Wenn die Variable nicht gesetzt ist, wird sie aus dem aktiven Paar aus Zugriffsschlüssel und geheimem Zugriffsschlüssel abgeleitet. Bei einem vollständig standardmäßigen Anmeldedatenpaar müssen Cluster mit mehreren Knoten sie ausdrücklich setzen.

Die eingebauten Standard-Anmeldedaten rustfsadmin/rustfsadmin dienen nur der Bequemlichkeit beim ersten Start. Setzen Sie für Produktionsbereitstellungen immer Anmeldedaten, die vom Standard abweichen.

Ereignis- und Audit-Ziele

Modulschalter:

VariableStandardBeschreibung
RUSTFS_NOTIFY_ENABLEfalseAktiviert das Modul für Bucket-Ereignisbenachrichtigungen.
RUSTFS_AUDIT_ENABLEfalseAktiviert das Modul für die Audit-Protokollierung.

Die Zielkonfiguration folgt einem Muster: RUSTFS_NOTIFY_<TARGET>_<KEY> für Ereignisbenachrichtigungen und RUSTFS_AUDIT_<TARGET>_<KEY> für Audit-Protokolle. Unterstützte Ziele in beiden Familien: WEBHOOK, KAFKA, MQTT, MYSQL, POSTGRES, NATS, REDIS, AMQP, PULSAR.

Unterschlüssel für das Webhook-Ziel (dieselben Schlüssel gibt es unter RUSTFS_AUDIT_WEBHOOK_*):

VariableStandardBeschreibung
RUSTFS_NOTIFY_WEBHOOK_ENABLEfalseAktiviert das Webhook-Ziel.
RUSTFS_NOTIFY_WEBHOOK_ENDPOINTnicht gesetztHTTP(S)-Endpunkt-URL des Webhooks.
RUSTFS_NOTIFY_WEBHOOK_AUTH_TOKENnicht gesetztBearer-Token, das bei jeder Zustellung gesendet wird.
RUSTFS_NOTIFY_WEBHOOK_QUEUE_DIRnicht gesetztVerzeichnis für die persistente Zustellungswarteschlange.
RUSTFS_NOTIFY_WEBHOOK_QUEUE_LIMITnicht gesetztMaximale Anzahl wartender Ereignisse.
RUSTFS_NOTIFY_WEBHOOK_CLIENT_CERTnicht gesetztClient-Zertifikat für mTLS zum Endpunkt.
RUSTFS_NOTIFY_WEBHOOK_CLIENT_KEYnicht gesetztPrivater Client-Schlüssel für mTLS zum Endpunkt.
RUSTFS_NOTIFY_WEBHOOK_CLIENT_CAnicht gesetztCA-Zertifikat, mit dem der Endpunkt geprüft wird.
RUSTFS_NOTIFY_WEBHOOK_SKIP_TLS_VERIFYnicht gesetztÜberspringt die TLS-Prüfung des Endpunkts (nicht empfohlen).

Andere Ziele folgen demselben Muster mit zielspezifischen Schlüsseln, zum Beispiel RUSTFS_NOTIFY_KAFKA_BROKERS, RUSTFS_NOTIFY_KAFKA_TOPIC, RUSTFS_NOTIFY_MQTT_BROKER, RUSTFS_NOTIFY_MQTT_TOPIC, RUSTFS_NOTIFY_MYSQL_DSN_STRING, RUSTFS_NOTIFY_NATS_ADDRESS, RUSTFS_NOTIFY_REDIS_URL, RUSTFS_NOTIFY_AMQP_URL, RUSTFS_NOTIFY_PULSAR_BROKER.

Abwärtskompatibilität

Zuordnung von MINIO_*-Variablen

Zur Vereinfachung der Migration ordnet RustFS beim Start eine feste Positivliste von MINIO_*-Variablen ihren RUSTFS_*-Entsprechungen zu:

  • Wenn nur die Variable mit dem Präfix MINIO_ gesetzt ist, wird ihr Wert verwendet und eine Veraltungswarnung protokolliert.
  • Wenn sowohl MINIO_* als auch RUSTFS_* mit unterschiedlichen Werten gesetzt sind, gilt der Wert von RUSTFS_* und der Konflikt wird festgehalten.

Die zugeordneten Suffixe umfassen ACCESS_KEY, SECRET_KEY, ACCESS_KEY_FILE, SECRET_KEY_FILE, ROOT_USER, ROOT_PASSWORD, ADDRESS, CONSOLE_ADDRESS, VOLUMES, REGION, LICENSE, ERASURE_SET_DRIVE_COUNT, STORAGE_CLASS_STANDARD, STORAGE_CLASS_RRS, STORAGE_CLASS_OPTIMIZE, STORAGE_CLASS_INLINE_BLOCK, SCANNER_SPEED, SCANNER_CYCLE, COMPRESS_ENABLE, COMPRESS_EXTENSIONS, COMPRESS_MIME_TYPES, DRIVE_ACTIVE_MONITORING, ILM_EXPIRATION_WORKERS, API_XFF_HEADER, POLICY_PLUGIN_URL, POLICY_PLUGIN_AUTH_TOKEN, die Schlüssel IDENTITY_OPENID_* und jede Variable, die mit NOTIFY_WEBHOOK_, NOTIFY_MQTT_, AUDIT_WEBHOOK_ oder AUDIT_MQTT_ beginnt. Zum Beispiel wird MINIO_ROOT_USER auf RUSTFS_ROOT_USER und MINIO_NOTIFY_WEBHOOK_ENDPOINT auf RUSTFS_NOTIFY_WEBHOOK_ENDPOINT abgebildet.

Veraltete Aliase

Veraltete VariableStattdessen verwenden
RUSTFS_ROOT_USERRUSTFS_ACCESS_KEY
RUSTFS_ROOT_PASSWORDRUSTFS_SECRET_KEY
RUSTFS_DATA_SCANNER_START_DELAY_SECSRUSTFS_SCANNER_START_DELAY_SECS

Veraltete Aliase funktionieren weiterhin, protokollieren aber eine Warnung. Der kanonische Name RUSTFS_* hat immer Vorrang, wenn beide gesetzt sind.

On this page