Auf dieser Seite wird beschrieben, wie Sie das Verhalten von Cloud Storage FUSE dauerhaft mit einer Cloud Storage FUSE-Konfigurationsdatei konfigurieren. Wenn Sie die Konfigurationsdatei verwenden möchten, geben Sie den Pfad zur Konfigurationsdatei im Flag --config-file
als Teil des Mount-Befehls an.
Übersicht über die Konfigurationsdatei von Cloud Storage FUSE
Die Konfigurationsdatei ist eine YAML-Datei im folgenden Format und in den folgenden Feldern. Einige Felder können auch mithilfe von Befehlszeilenoptionen angegeben werden.
Format und Felder der Konfigurationsdatei von Cloud Storage FUSE
Das folgende YAML-Konfigurationsbeispiel zeigt das Format und die Felder, die in Cloud Storage FUSE verfügbar sind.
app-name: "APP_NAME" logging: file-path: "FILE_PATH" format: FORMAT severity: SEVERITY log-rotate: max-file-size-mb: MAX_FILE_SIZE backup-file-count: BACKUP_FILE_COUNT compress: COMPRESS cache-dir: "CACHE_DIR" file-cache: max-size-mb: MAX_SIZE cache-file-for-range-read: CACHE_FILE_FOR_RANGE_READ enable-parallel-downloads: ENABLE_PARALLEL_DOWNLOADS parallel-downloads-per-file: PARALLEL_DOWNLOADS_PER_FILE max-parallel-downloads: MAX_PARALLEL_DOWNLOADS download-chunk-size-mb: DOWNLOAD_CHUNK_SIZE metadata-cache: enable-nonexistent-type-cache: ENABLE_NONEXISTENT_TYPE_CACHE negative-ttl-secs: ENABLE_NEGATIVE_TTL_SECS stat-cache-max-size-mb: STAT_CACHE_MAX_SIZE ttl-secs: TTL_SECS type-cache-max-size-mb: TYPE_CACHE_MAX_SIZE only-dir: "ONLY_DIR" gcs-auth: anonymous-access: ANONYMOUS_ACCESS key-file: "KEY_FILE" reuse-token-from-url: REUSE_TOKEN_FROM_URL token-url: "TOKEN_URL" gcs-connection: billing-project: "BILLING_PROJECT" client-protocol: CLIENT_PROTOCOL custom-endpoint: "CUSTOM_ENDPOINT" http-client-timeout: HTTP_CLIENT_TIMEOUT limit-bytes-per-sec: "LIMIT_BYTES_PER_SEC" limit-ops-per-sec: "LIMIT_OPS_PER_SEC" max-conns-per-host: MAX_CONNS_PER_HOST max-idle-conns-per-host: MAX_IDLE_CONNS_PER_HOST sequential-read-size-mb: SEQUENTIAL_READ_SIZE implicit-dirs: IMPLICIT_DIRS file-system: kernel-list-cache-ttl-secs: KERNEL_LIST_CACHE_TTL_SECS ignore-interrupts: IGNORE_INTERRUPTS dir-mode: "DIR_MODE" file-mode: "FILE_MODE" fuse-options: FUSE_OPTIONS gid: GID rename-dir-limit: RENAME_DIR_LIMIT temp-dir: "TEMP_DIR" uid: UID foreground: FOREGROUND gcs-retries: max-retry-sleep: MAX_RETRY_SLEEP multiplier: "MULTIPLIER" metrics: cloud-metrics-export-interval-secs: CLOUD_METRICS_EXPORT_INTERVAL prometheus-port: PROMETHEUS_PORT debug: log-mutex: LOG_MUTEX exit-on-invariant-violation: EXIT_ON_INVARIANT_VIOLATION write: enable-streaming-writes: STREAMING_WRITES global-max-blocks: MAXIMUM_GLOBAL_BLOCKS
Felder für die Konfiguration
In der folgenden Tabelle werden die Felder beschrieben, die Sie in Ihrer Konfigurationsdatei angeben können. Sofern nicht anders angegeben, sind alle Felder optional.
Feld | Beschreibung | Gültiger Wert | Standardwert |
---|---|---|---|
|
Der Anwendungsname der Bereitstellung. | Stringwert, z. B. "my-bucket-mount" . |
"" |
|
Der Pfad zur Logdatei, in die Logs geschrieben werden.
Wenn dieses Feld nicht angegeben ist, werden die Logs an stdout weitergeleitet, wenn Cloud Storage FUSE im Vordergrundmodus ausgeführt wird, und an syslogs , wenn Cloud Storage FUSE im Hintergrundmodus ausgeführt wird. |
Stringwert, z. B. "/var/log" . |
"" |
|
Gibt das Format der Protokolldatei an. |
|
json |
|
Der Schweregrad, für den Cloud Storage FUSE Logs generieren soll. Die Schweregrade werden vom niedrigsten zum höchsten Schweregrad sortiert. Wenn Sie beispielsweise |
|
info |
|
Die maximale Größe in Megabyte (MB), die Protokolldateien erreichen können, bevor sie rotiert werden. | Integer. Der Mindestwert beträgt 1 . |
512 |
|
Die maximale Anzahl der rotierten Logdateien, die beibehalten werden sollen, ausgenommen die aktive Datei, in die Logs geschrieben werden. |
|
10 |
|
Gibt an, ob rotierte Logdateien mit gzip komprimiert werden. |
Boolescher Wert: true , false |
true |
|
Aktiviert den Dateicache und gibt das Verzeichnis zum Speichern von Dateicache-Daten an. |
Ein Pfad, z. B. "/tmp/gcsfuse-cache-path" .
Ein leerer Wert gibt an, dass dieses Feld deaktiviert ist. Dieses Feld ist standardmäßig deaktiviert. |
|
|
Gibt die maximale Größe in MiB an, die der Datei-Cache verwenden kann. Damit können Sie die Gesamtkapazität begrenzen, die der Datei-Cache in seinem eingebundenen Verzeichnis verwenden kann. |
|
-1 |
|
Gibt an, ob das vollständige Objekt asynchron heruntergeladen und im Cloud Storage FUSE-Cacheverzeichnis gespeichert werden soll, wenn der erste Lesevorgang von einem Offset ungleich null abgeschlossen wird. Diese Option sollte auf true gesetzt werden, wenn Sie mehrere zufällige oder partielle Lesevorgänge ausführen möchten.
|
Boolescher Wert: true , false |
false |
|
Beschleunigt das Lesen großer Dateien, indem das Dateicache-Verzeichnis als Prefetch-Puffer verwendet wird. Dabei werden mehrere Worker eingesetzt, um mehrere Teile einer Datei parallel herunterzuladen. Parallele Downloads werden automatisch aktiviert, wenn Sie das Dateicaching aktivieren. Weitere Informationen zum Dateicaching finden Sie unter Dateicaching mit Cloud Storage FUSE verwenden. Weitere Informationen zu parallelen Downloads und zum Konfigurieren unterstützender Properties |
Boolescher Wert: true , false . |
true |
|
Gibt die maximale Anzahl von Goroutines an, die pro Datei erstellt werden sollen, um das Objekt aus Cloud Storage in den Dateicache herunterzuladen. | Ganzzahl | 16 |
|
Die maximale Anzahl von Goroutinen, die zu einem bestimmten Zeitpunkt für alle Downloadjobs von Dateien erstellt werden können. |
|
Die doppelte Anzahl der CPU-Kerne auf Ihrer Maschine oder 16 , je nachdem, welcher Wert höher ist. |
|
Gibt die Größe jeder Leseanfrage in MiB an, die jeder Goroutine an Cloud Storage sendet, wenn sie das Objekt in den Dateicache herunterlädt. | Ganzzahl | 200 |
|
Erstellt einen Typ-Cache-Eintrag mit dem Typ NonexistentType , wenn eine Datei in Cloud Storage nicht gefunden wird. Wenn die Datei in Cloud Storage erstellt wird, der Eintrag NonexistentType für die Datei jedoch im Cache gespeichert wird, kann Cloud Storage FUSE diese Datei erst anfordern, wenn der Eintrag NonexistentType aus dem Typ-Cache entfernt wurde. |
Boolescher Wert: true , false |
false |
|
Die maximale Größe des Arbeitsspeichers, den der Statistik-Cache verwenden kann, in MiB. Der Statistikcache wird immer vollständig im Arbeitsspeicher gespeichert. |
|
32 |
|
Definiert die Gültigkeitsdauer (Time to Live, TTL) in Sekunden von Cache-Einträgen für negative Statistiken, in denen Ergebnisse für nicht vorhandene Dateien im Cache gespeichert werden. |
|
5 |
|
Definiert die Gültigkeitsdauer (TTL) von im Cache gespeicherten Metadateneinträgen in Sekunden. |
|
60 |
|
Die maximale Größe in MiB pro Verzeichnis, die der Typcache verwenden kann. Der Typ-Cache wird immer vollständig im Arbeitsspeicher gehalten. |
|
4 |
|
Stellt nur ein bestimmtes Verzeichnis in einem Bucket bereit. | Ein Pfad, z. B. "/etc/gcsfuse.yaml" . |
|
|
Deaktiviert die Authentifizierung für Anfragen. Diese Option sollte festgelegt werden, wenn Sie einen benutzerdefinierten Endpunkt verwenden, der keine Authentifizierung unterstützt. Diese Option sollte auch festgelegt werden, wenn Sie Cloud Storage FUSE mit öffentlichen Buckets verwenden. | Boolescher Wert: true , false |
false |
|
Gibt einen absoluten Pfad zur JSON-Schlüsseldatei für Anmeldedaten zur Authentifizierung von Anfragen an Cloud Storage an. Standardmäßig verwendet Cloud Storage FUSE Standardanmeldedaten für Anwendungen zur Authentifizierung von Anfragen. | Eine URL. | Wenn diese Option nicht festgelegt ist, werden die Standardanmeldedaten für Anwendungen verwendet. |
|
Gibt an, ob das von --token-url abgerufene Token wiederverwendet werden soll. |
Boolescher Wert: true , false |
true |
|
Gibt eine URL zum Abrufen eines Zugriffstokens an, wenn --key-file nicht vorhanden ist. |
Eine URL. | |
|
Gibt ein Projekt an, das für die Abrechnung verwendet werden soll, wenn auf den bereitgestellten Bucket zugegriffen wird. Diese Option ist häufig erforderlich, wenn Sie einen Bucket bereitstellen, für den Anforderer bezahlt aktiviert ist. | Stringwert, der eine Projekt-ID darstellt. | "" |
|
Gibt das Protokoll an, das für die Kommunikation mit dem Cloud Storage-Backend verwendet wird. |
|
http1 |
|
Gibt einen alternativen benutzerdefinierten Endpunkt zum Abrufen von Daten an.
Der benutzerdefinierte Endpunkt muss die entsprechenden Ressourcen und Vorgänge als Cloud Storage-JSON-Endpunkt https://storage.googleapis.com/storage/v1 unterstützen.
Wenn kein benutzerdefinierter Endpunkt angegeben ist, nutzt Cloud Storage FUSE den globalen Cloud Storage JSON API-Endpunkt https://storage.googleapis.com/storage/v1 .
Wenn die Authentifizierung für den angegebenen benutzerdefinierten Endpunkt nicht unterstützt wird, setzen Sie das Flag --anonymous-access auf true , um die Authentifizierung zu umgehen. |
Ein Endpunkt, z. B. "http://localhost:443/storage/v1" . |
|
|
Gibt an, wie lange der Cloud Storage FUSE-HTTP-Client auf die Antwort vom Server warten kann, bevor eine Zeitüberschreitung auftritt. | Dauer, z. B. 1h10m10s für 1 Stunde, 10 Minuten und 10 Sekunden. 0s gibt kein Zeitlimit an. |
0s , was kein Zeitlimit angibt |
|
Gibt das Bandbreitenlimit an, bei dem Cloud Storage FUSE Daten aus Cloud Storage lesen kann, gemessen über ein 30-Sekunden-Fenster. | "-1" , was kein Limit angibt. |
|
|
Gibt ein Limit für Vorgänge pro Sekunde an, die über ein 30-Sekunden-Fenster gemessen werden. | Gleitkommazahl. -1 bedeutet, dass es kein Limit gibt. |
"-1" |
|
Gibt die maximal zulässige Anzahl von TCP-Verbindungen pro Server an.
Dies wird wirksam, wenn --client-protocol auf http1 festgelegt ist. |
0 |
|
|
Gibt die maximal zulässige Anzahl inaktiver Verbindungen pro Server an.
Dies wird wirksam, wenn --client-protocol auf http1 festgelegt ist. |
Ganzzahl zwischen 0 und 2147483647 .
0 gibt an, dass es kein Limit für TCP-Verbindungen gibt. |
0 |
|
Gibt die Blockgröße der aus Cloud Storage herunterzuladenden Daten in Megabyte (MB) an. | Ganzzahl zwischen 1 und 1024 . |
200 |
|
Umfasst implizit Ordner und verwaltete Ordner. Weitere Informationen finden Sie in der Dokumentation zu Dateien und Verzeichnissen in GitHub. | Boolescher Wert: true , false |
false |
|
Aktiviert den Listencache und definiert die Gültigkeitsdauer (Time to Live, TTL) in Sekunden von im Cache gespeicherten Listeneinträgen. Der Listen-Cache wird im Arbeitsspeicher des Seitencache gespeichert. Dieser wird vom Kernel basierend auf der Arbeitsspeicherverfügbarkeit gesteuert. |
| 0 |
|
Weist Cloud Storage FUSE an, Systemunterbrechungssignale wie SIGINT zu ignorieren, die durch Control+C ausgelöst werden. So wird verhindert, dass Signale laufende Vorgänge beenden. |
Boolescher Wert: true , false . |
true |
|
Berechtigungs-Bits für Verzeichnisse in Oktal. | Ganzzahl zwischen 000 und 777 (einschließlich). |
"755" |
|
Gibt Berechtigungs-Bits für Dateien in Oktal an. | Ganzzahl zwischen 000 und 777 (einschließlich). |
"644" |
|
Gibt zusätzliche systemspezifische Bereitstellungsoptionen an. | ||
|
Gibt den Gruppen-ID-Inhaber (GID) aller Inodes an. |
|
-1 |
|
Ermöglicht das Umbenennen von Verzeichnissen, die weniger Nachfolgerelemente als das angegebene Limit enthalten. | Ganzzahl zwischen 0 und 2147483647 . |
0 |
|
Gibt einen Pfad zum temporären Verzeichnis an, in dem Schreibvorgänge vor dem Hochladen in Cloud Storage bereitgestellt werden. | Ein Stringpfad, z. B. "/mnt/ssd/example-user-gcsfuse-temp-dir" . |
"/tmp" |
|
Gibt den Inhaber der User Identifier (UID) aller Inodes an. |
|
-1 |
|
Führt den Befehl gcsfuse im Vordergrund aus. |
Boolescher Wert: true , false |
false |
|
Gibt die maximale Dauer an, die Cloud Storage FUSE in einer Wiederholungsschleife mit exponentiellem Backoff warten darf. Wenn die Backoff-Dauer die angegebene maximale Dauer überschreitet, wird der Wiederholungsversuch mit der angegebenen maximalen Dauer fortgesetzt. | Dauer, z. B. 1h5m50s (1 Stunde, 5 Minuten und 50 Sekunden) oder 60s (60 Sekunden). |
30s |
|
Gibt den Multiplikator für den exponentiellen Backoff zwischen aufeinanderfolgenden Wiederholungsversuchen an. | Gleitkommazahl | "2" |
|
Exportiert Messwerte nach Cloud Monitoring mit dem angegebenen Intervall. |
Ganzzahl, die einen Wert in Sekunden darstellt, z. B. 10 (10 Sekunden).
0 gibt an, dass kein Export erfolgt. |
0 |
|
Stellt den Prometheus-Messwert-Endpunkt am angegebenen Port und am Pfad |
Ganzzahl, die den Port angibt, den Sie festlegen möchten. | 0 |
|
Gibt Debug-Nachrichten aus, wenn ein Mutex zu lange gehalten wird. Wenn diese Option angegeben ist, wird der Schweregrad der Logs automatisch auf trace gesetzt, einschließlich Trace-Logs, Debug-Logs, Info-Logs, Warn-Logs und Fehler-Logs. |
Boolescher Wert: true , false . |
false |
|
Beendet das Programm, wenn interne Variantenverstöße erkannt werden. | Boolescher Wert: true , false . |
false |
|
Steuert den Schreibpfadfluss, sodass Daten direkt in Cloud Storage hochgeladen werden, während sie geschrieben werden, anstatt den Schreibvorgang vollständig lokal zu inszenieren und ihn bei close() oder fsync() hochzuladen.
Weitere Informationen zu Streaming-Schreibvorgängen finden Sie in der GitHub-Dokumentation zu Cloud Storage FUSE. |
Boolescher Wert: true , false . |
true |
|
Gibt die maximale Anzahl von Datenblöcken an, die für Streaming-Schreibvorgänge in allen Dateien verfügbar sind. Für jede Datei wird standardmäßig ein 32 MiB großer Datenblock verwendet. |
|
|