Cloud Storage FUSE-Konfigurationsdatei

Auf dieser Seite wird beschrieben, wie Sie mit einer Cloud Storage FUSE-Konfigurationsdatei das Verhalten von Cloud Storage FUSE dauerhaft konfigurieren. Wenn Sie die Konfigurationsdatei verwenden möchten, geben Sie den Pfad zur Konfigurationsdatei im Flag --config-file als Teil des Befehls zum Bereitstellen an.

Cloud Storage FUSE-Konfigurationsdatei

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 Cloud Storage FUSE-Konfigurationsdatei

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
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
cache-dir: "CACHE_DIR"
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

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 Protokolle geschrieben werden. Wenn dieses Feld nicht angegeben ist, werden die Protokolle 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.
  • text
  • json
json

Der Schweregrad, für den Cloud Storage FUSE Protokolle generieren soll. Die Schweregrade werden vom niedrigsten zum höchsten Schweregrad sortiert. Wenn Sie beispielsweise warning angeben, generiert Cloud Storage FUSE Logs für Warnungen und Fehler. Im Allgemeinen empfehlen wir die Verwendung der Schwerestufe info.

  • trace
  • debug
  • info
  • warning
  • error
  • off: Deaktiviert das gesamte Logging.
info
Die maximale Größe in Megabyte (MB), die Logdateien 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 Protokolle geschrieben werden.
  • Ganzzahl
  • 0: Alle rotierten Protokolldateien werden beibehalten.
10
Gibt an, ob rotierte Logdateien mit gzip komprimiert werden. Boolescher Wert: true, false true

Die maximale Größe in MiB, die der Dateicache nutzen kann. Dieses Feld ist nützlich, wenn Sie die Gesamtkapazität begrenzen möchten, die der Cloud Storage FUSE-Cache im bereitgestellten Verzeichnis verwenden kann.

Beachten Sie Folgendes zum Verhalten des Felds max-size-mb:

  • Bevor Sie das Feld max-size-mb festlegen, müssen Sie zuerst das Feld cache-dir angeben.
  • Wenn Sie Compute Engine-VMs wie eigenständige Cloud Storage FUSE- oder nicht auf der Google Kubernetes Engine basierende Bereitstellungen verwenden, wird das Feld max-size-mb automatisch aktiviert und auf -1 gesetzt, wenn Sie das Feld cache-dir aktivieren.
  • Ganzzahl
  • -1: Gibt an, dass die gesamte verfügbare Kapazität des Caches im Verzeichnis verwendet werden soll, das Sie für cache-dir angeben. Dies ist nur der Standardwert, wenn cache-dir übergeben wird.
  • 0: Deaktiviert den Dateicache.
-1
Bestimmt, ob das vollständige Objekt asynchron heruntergeladen und im Cloud Storage FUSE-Cacheverzeichnis gespeichert werden soll, wenn die erste Leseoperation von einem nicht nullwertigen Offset abgeschlossen wird. Diese Option sollte auf true festgelegt sein, wenn Sie mehrere zufällige oder teilweise Lesevorgänge ausführen möchten.

Hinweis: Wenn Sie einen Teillesevorgang ab dem Offset 0 ausführen, lädt Cloud Storage FUSE das vollständige Objekt asynchron herunter und speichert es im Cache.

Boolescher Wert: true, false false

Beschleunigt das Lesen großer Dateien, indem das Dateicache-Verzeichnis als Prefetch-Puffer verwendet wird. Dabei werden mehrere Teile einer Datei parallel mithilfe mehrerer Worker heruntergeladen.

Parallele Downloads werden automatisch aktiviert, wenn Sie das Datei-Caching aktivieren. Weitere Informationen zum Datei-Caching finden Sie unter Cloud Storage FUSE-Datei-Caching verwenden.

Parallele Downloads

Boolescher Wert: true, false. true
Gibt die maximale Anzahl von Go-Routines an, die pro Datei gestartet werden, 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.
  • Ganzzahl
  • -1: Gibt unbegrenzte parallele Downloads an.
  • 0: Deaktiviert parallele Downloads. Kann nur verwendet werden, wenn --enable-parallel-downloads nicht übergeben oder als false übergeben wird.
  • >0: Es wird kein Oberlimit angegeben. Cloud Storage FUSE begrenzt den Wert intern auf die maximale Anzahl von Go-Routines, die gemäß der Konfiguration Ihres Computers gestartet werden können.
Die doppelte Anzahl der CPU-Kerne auf Ihrem Computer oder 16, je nachdem, was 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 Arbeitsspeichergröße, die der Statistik-Cache verwenden kann, in MiB. Der Statistik-Cache wird immer vollständig im Arbeitsspeicher gehalten.
  • Integer. Wir empfehlen Folgendes:
    • 32,wenn Ihre Arbeitslast bis zu 20.000 Dateien umfasst.
    • Wenn Ihre Arbeitslast mehr als 20.000 Dateien enthält, erhöhen Sie die Größe um Werte von 10 MiB pro weitere 6.000 Dateien. Der Statistik-Cache belegt durchschnittlich 1.500 MiB pro Datei.
  • -1: Es wird kein Limit festgelegt. Der Statistik-Cache belegt dann so viel Arbeitsspeicher wie erforderlich.
  • 0: Deaktiviert den Statistik-Cache.
32

Definiert die Gültigkeitsdauer (Time to Live, TTL) in Sekunden von negativen Statistik-Cache-Einträgen, in denen Ergebnisse für nicht vorhandene Dateien im Cache gespeichert werden.

  • Ganzzahl, die Sekunden darstellt, z. B. 10 (10 Sekunden).
  • 0: Deaktiviert das negative Caching von Statistiken.
  • -1: Ermöglicht unbegrenztes negatives Caching von Status und deaktiviert den TTL-Ablauf.
5
Definiert die Gültigkeitsdauer (TTL) in Sekunden der im Cache gespeicherten Metadateneinträge.
  • Ganzzahl, die Sekunden darstellt, z. B. 30 (30 Sekunden).
  • -1: TTL-Ablauf umgehen und Dateien aus dem Cache bereitstellen, wann immer sie verfügbar sind.
  • 0: Verwenden Sie die aktuellste Datei. Wenn du diesen Wert verwendest, wird ein Get-Metadatenaufruf ausgeführt, um sicherzustellen, dass die Objektgenerierung für die Datei im Cache mit den in Cloud Storage gespeicherten Daten übereinstimmt. Weitere Informationen finden Sie unter Cache-Entwertung konfigurieren.
60
Die maximale Größe in MiB pro Verzeichnis, die der Typcache verwenden kann. Der Typ-Cache wird immer vollständig im Arbeitsspeicher gehalten.
  • Integer. Wir empfehlen Folgendes:
    • 4,wenn die maximale Anzahl von Dateien in einem einzelnen Verzeichnis des bereitgestellten Buckets 20.000 Dateien oder weniger beträgt.
    • Wenn die maximale Anzahl von Dateien in einem einzelnen Verzeichnis,das Sie bereitstellen, mehr als 20.000 Dateien enthält,erhöhen Sie den Wert um 1 pro 5.000 Dateien, also durchschnittlich ca. 200 Byte pro Datei.
  • -1: Gibt keine Begrenzung an und lässt den Typ-Cache so viel Arbeitsspeicher wie nötig verwenden.
  • 0: Deaktiviert den Typ-Cache.
4

Aktiviert den Dateicache und gibt das Verzeichnis für die Speicherung von Dateicache-Daten an.

Hinweis: In der Google Kubernetes Engine wird eine andere Methode zum Aktivieren des Dateicachings verwendet. Informationen zum Aktivieren des Datei-Cachings in der Google Kubernetes Engine finden Sie unter Datei-Caching aktivieren und verwenden.

Ein Pfad, z. B. "/tmp/gcsfuse-cache-path". Ein leerer Wert bedeutet, dass dieses Feld deaktiviert ist. Dieses Feld ist standardmäßig deaktiviert.
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. 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. 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 für HTTP/1.1
  • http2 für HTTP/2
  • grpc für gRPC
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 --anonymous-access-Flag auf true, um die Authentifizierung zu umgehen. Einen 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, für das kein Timeout angegeben ist
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 festlegt.
Gibt ein Limit für Vorgänge pro Sekunde an, die über ein 30-Sekunden-Fenster gemessen werden. Gleitkommazahl. -1 gibt kein Limit an. "-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. Mit 0 wird kein Limit für TCP-Verbindungen festgelegt. 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
Hiermit wird der Listencache aktiviert und die Gültigkeitsdauer (Time to Live, TTL) in Sekunden für im Cache gespeicherte Listeneinträge definiert. Der Listen-Cache wird im Arbeitsspeicher des Seitencache gespeichert. Dieser wird vom Kernel basierend auf dem verfügbaren Arbeitsspeicher gesteuert.
  • Ganzzahl, die Sekunden darstellt, z. B. 10 (10 Sekunden).
  • 0: Deaktiviert das Listen-Caching.
  • -1: Umgeht den Ablauf von Einträgen und gibt immer die Listenaantwort aus dem Cache zurück, wenn sie verfügbar ist.
0
Cloud Storage FUSE wird angewiesen, Systemunterbrechungssignale wie SIGINT zu ignorieren, die von 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.
  • Ganzzahl, die eine GID darstellt.
  • -1: Die GID des Anrufers wird verwendet.
-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.
  • Ganzzahl, die eine UID darstellt.
  • -1: Die UID des Anrufers wird verwendet.
-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.

Hinweis: Für die Verwendung dieses Flags ist eine zusätzliche Einrichtung erforderlich. Weitere Informationen finden Sie unter Cloud Monitoring-Exporter einrichten.

Ganzzahl, die einen Wert in Sekunden darstellt, z. B. 10 (10 Sekunden). Mit 0 wird kein Export angegeben. 0

Stellt den Prometheus-Messwert-Endpunkt an dem angegebenen Port und dem Pfad /metrics bereit.

Hinweis: Für die Verwendung dieses Flags ist eine zusätzliche Einrichtung erforderlich. Weitere Informationen finden Sie unter Prometheus-Exporter einrichten.

Ganzzahl, die den gewünschten Anschluss angibt. 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 so, dass Daten beim Schreiben direkt in Cloud Storage hochgeladen werden, anstatt die Schreibvorgänge lokal vollständig zu steuern und bei close() oder fsync() hochzuladen. Weitere Informationen zu Streaming-Schreiben finden Sie in der GitHub-Dokumentation zu Cloud Storage FUSE. Boolescher Wert: true, false. false

Nach oben