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.
Die Konfigurationsdatei ist eine YAML-Datei im folgenden Format und in den folgenden Feldern. Einige Felder können auch mithilfe von Befehlszeilenoptionen angegeben werden.
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: stackdriver-export-interval: STACKDRIVER_EXPORT_INTERVAL 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 |
---|---|---|---|
app-name |
Der Anwendungsname der Bereitstellung. | Stringwert, z. B. "my-bucket-mount" . |
"" |
file-path |
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" . |
"" |
format |
Gibt das Format der Protokolldatei an. |
|
json |
severity |
Der Schweregrad, für den Cloud Storage FUSE Protokolle generieren soll. Die Schweregrade werden vom niedrigsten zum höchsten Schweregrad sortiert. Wenn Sie beispielsweise |
|
info |
max-file-size-mb |
Die maximale Größe in Megabyte (MB), die Logdateien erreichen können, bevor sie rotiert werden. | Integer. Der Mindestwert beträgt 1 . |
512 |
backup-file-count |
Die maximale Anzahl der rotierten Logdateien, die beibehalten werden sollen, ausgenommen die aktive Datei, in die Logs geschrieben werden. |
|
10 |
compress |
Gibt an, ob rotierte Logdateien mit gzip komprimiert werden. |
Boolescher Wert: true , false |
true |
max-size-mb |
Die maximale Größe in MiB, die der Dateicache nutzen kann. Wenn |
|
-1 |
cache-file-for-range-read |
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 |
Boolescher Wert: true , false |
false |
enable-parallel-downloads |
Beschleunigt das Lesen großer Dateien, indem das Dateicache-Verzeichnis als Prefetch-Puffer verwendet wird und große Dateien mithilfe mehrerer Worker parallel heruntergeladen werden. Weitere Informationen zu parallelen Downloads und zur Konfiguration der zugehörigen Eigenschaften finden Sie unter Leseleistung durch parallele Downloads verbessern. Wenn Sie parallele Downloads verwenden möchten, müssen Sie zuerst das Datei-Caching aktivieren. |
Boolescher Wert: true , false |
false |
parallel-downloads-per-file |
Gibt die maximale Anzahl von Go-Routines an, die pro Datei erstellt werden, um das Objekt aus Cloud Storage in den Dateicache herunterzuladen. |
Ganzzahl | 16 |
max-parallel-downloads |
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 Ihrem Computer oder 16 , je nachdem, was höher ist. |
download-chunk-size-mb |
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 | 50 |
enable-nonexistent-type-cache |
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 |
stat-cache-max-size-mb |
Die maximale Arbeitsspeichergröße, die der Statistik-Cache verwenden kann, in MiB. Der Statistik-Cache wird immer vollständig im Arbeitsspeicher gehalten. |
|
32 |
negative-ttl-secs |
Definiert die Gültigkeitsdauer (TTL) in Sekunden von negativen Statistik-Cache-Einträgen, in denen Ergebnisse für nicht vorhandene Dateien im Cache gespeichert werden. |
|
5 |
ttl-secs |
Definiert die Gültigkeitsdauer (TTL) in Sekunden der im Cache gespeicherten Metadateneinträge. |
|
60 |
type-cache-max-size-mb |
Die maximale Größe in MiB pro Verzeichnis, die der Typcache verwenden kann. Der Typ-Cache wird immer vollständig im Arbeitsspeicher gehalten. |
|
4 |
cache-dir |
Gibt das Verzeichnis für das Speichern von Dateicache-Daten an. Informationen zum Aktivieren des Datei-Cachings finden Sie unter Datei-Caching verwenden. |
Ein Pfad, z. B. "/tmp/gcsfuse-cache-path" . |
|
only-dir |
Stellt nur ein bestimmtes Verzeichnis in einem Bucket bereit. | Ein Pfad, z. B. "/etc/gcsfuse.yaml" . |
|
anonymous-access |
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 |
key-file |
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. |
reuse-token-from-url |
Gibt an, ob das von --token-url abgerufene Token wiederverwendet werden soll. |
Boolescher Wert: true , false |
true |
token-url |
Gibt eine URL zum Abrufen eines Zugriffstokens an, wenn --key-file nicht vorhanden ist. |
URL | |
billing-project |
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. | "" |
client-protocol |
Gibt das Protokoll an, das für die Kommunikation mit dem Cloud Storage-Backend verwendet wird. |
|
http1 |
custom-endpoint |
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" . |
|
http-client-timeout |
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 |
limit-bytes-per-sec |
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. |
|
limit-ops-per-sec |
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" |
max-conns-per-host |
Gibt die maximal zulässige Anzahl von TCP-Verbindungen pro Server an.
Dies wird wirksam, wenn --client-protocol auf http1 festgelegt ist. |
0 |
|
max-idle-conns-per-host |
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 |
sequential-read-size-mb |
Gibt die Blockgröße der aus Cloud Storage herunterzuladenden Daten in Megabyte (MB) an. | Ganzzahl zwischen 1 und 1024 . |
200 |
implicit-dirs |
Umfasst implizit Ordner und verwaltete Ordner. Weitere Informationen finden Sie in der Dokumentation zu Dateien und Verzeichnissen in GitHub. | Boolescher Wert: true , false |
false |
kernel-list-cache-ttl-secs |
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. |
| 0 |
ignore-interrupts |
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 |
dir-mode |
Berechtigungs-Bits für Verzeichnisse in Oktal. | Ganzzahl zwischen 000 und 777 (einschließlich). |
"755" |
file-mode |
Gibt Berechtigungs-Bits für Dateien in Oktal an. | Ganzzahl zwischen 000 und 777 (einschließlich). |
"644" |
fuse-options |
Gibt zusätzliche systemspezifische Bereitstellungsoptionen an. | ||
gid |
Gibt den Gruppen-ID-Inhaber (GID) aller Inodes an. |
|
-1 |
rename-dir-limit |
Ermöglicht das Umbenennen von Verzeichnissen, die weniger Nachfolgerelemente als das angegebene Limit enthalten. | Ganzzahl zwischen 0 und 2147483647 . |
0 |
temp-dir |
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" |
uid |
Gibt den Inhaber der User Identifier (UID) aller Inodes an. |
|
-1 |
foreground |
Führt den Befehl gcsfuse im Vordergrund aus. |
Boolescher Wert: true , false |
false |
max-retry-sleep |
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 |
multiplier |
Gibt den Multiplikator für den exponentiellen Backoff zwischen aufeinanderfolgenden Wiederholungsversuchen an. | Gleitkommazahl | "2" |
stackdriver-export-interval |
Exportiert Messwerte nach Stackdriver mit dem angegebenen Intervall. | Dauer, z. B. 1h5m50s (1 Stunde, 5 Minuten und 50 Sekunden) 0s gibt an, dass kein Export erfolgt. |
0s |
log-mutex |
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 |
exit-on-invariant-violation |
Beendet das Programm, wenn interne Variantenverstöße erkannt werden. | Boolescher Wert: true , false . |
false |
enable-streaming-writes |
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 |