Konfigurationsdatei für Cloud Storage FUSE

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 Ihres Bereitstellungsbefehls 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.

write:
  create-empty-file: CREATE_EMPTY_FILE
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:
  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"
gcs-auth:
  anonymous-access: ANONYMOUS_ACCESS
file-system:
  kernel-list-cache-ttl-secs: KERNEL_LIST_CACHE_TTL_SECS
  ignore-interrupts: IGNORE_INTERRUPTS

Felder für die Konfiguration

In der folgenden Tabelle werden die Felder beschrieben, die Sie in Ihrer Konfigurationsdatei angeben können. Wenn nicht anders angegeben, sind alle Felder optional.

Feld Beschreibung
create-empty-file Ein boolescher Wert, mit dem angegeben wird, ob beim Erstellen einer neuen Datei in dem bereitgestellten Bucket eine Null-Byte-Datei in Cloud Storage erstellt werden soll. Wenn dieses Feld nicht angegeben ist, wird standardmäßig der Wert false verwendet.
file-path Der Pfad zur Logdatei, in die Logs geschrieben werden. Diese werden als String angegeben. Beispiel: /var/log. 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.
format Das Format, in dem Logs generiert werden, ausgedrückt als Enum. Mögliche Werte sind text und json. Wenn dieses Feld nicht angegeben ist, wird standardmäßig der Wert json verwendet.
severity

Der Schweregrad der Logs, die Cloud Storage FUSE generieren soll, ausgedrückt als Enum. Die Schweregrade werden vom niedrigsten zum höchsten Schweregrad sortiert:

  • trace
  • debug
  • info
  • warning
  • error

Wenn Sie einen Schweregrad angeben, generiert Cloud Storage FUSE Logs mit gleichem oder höherem Schweregrad. Wenn Sie beispielsweise warning angeben, generiert Cloud Storage FUSE Logs für Warnungen und Fehler. Sie können auch off angeben, um das gesamte Logging zu deaktivieren. Wenn eine der folgenden drei Optionen ebenfalls als Teil Ihres Befehls angegeben ist, wird die Wichtigkeitsstufe automatisch auf trace gesetzt:

  • --debug_fuse
  • --debug_gcs
  • --debug_mutex

Wenn dieses Feld nicht angegeben ist, wird standardmäßig der Wert info verwendet.

max-file-size-mb Die maximale Größe in Megabyte (MB), die Logdateien erreichen können, bevor sie rotiert werden. Der Mindestwert beträgt 1. Wenn dieses Feld nicht angegeben ist, wird standardmäßig der Wert 512 verwendet.
backup-file-count Die maximale Anzahl der rotierten Logdateien, die beibehalten werden sollen, ausgenommen die aktive Datei, in die Logs geschrieben werden. Wenn der Wert auf 0 gesetzt ist, werden alle rotierten Logdateien beibehalten. Wenn dieses Feld nicht angegeben ist, wird standardmäßig der Wert 10 verwendet.
compress Ein boolescher Wert, mit dem angegeben wird, ob rotierte Logdateien mit gzip komprimiert werden. Wenn dieses Feld nicht angegeben ist, wird standardmäßig der Wert true verwendet.
max-size-mb

Die maximale Größe in MiB, die der Dateicache verwenden kann. Falls vorhanden, aktiviert max-size-mb das Datei-Caching in Cloud Storage FUSE. Dies ist nützlich, wenn Sie die Gesamtkapazität begrenzen möchten, die der Cloud Storage FUSE-Cache im bereitgestellten Verzeichnis verwenden kann.

  • Geben Sie -1 an, um die gesamte verfügbare Cachekapazität in dem Verzeichnis zu verwenden, das Sie für cache-dir angeben.
  • Geben Sie 0 an, um den Datei-Cache zu deaktivieren.

Wenn dieses Feld nicht angegeben ist, wird standardmäßig der Wert -1 verwendet.

cache-file-for-range-read

Ein boolescher Wert, der bestimmt, ob das vollständige Objekt asynchron heruntergeladen und im Cache-Verzeichnis von Cloud Storage FUSE gespeichert werden soll, wenn der erste Lesevorgang aus einem Offset ungleich null ist. Dies sollte auf true gesetzt werden, wenn Sie mehrere zufällige oder partielle Lesevorgänge ausführen möchten. Wenn dieses Feld nicht angegeben ist, wird standardmäßig der Wert false verwendet.

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

enable-parallel-downloads

Beschleunigt das Lesen großer Dateien, indem das Dateicache-Verzeichnis als Prefetch-Puffer verwendet wird und mehrere Worker zum parallelen Herunterladen großer Dateien eingesetzt werden. Der Standardwert ist false.


Wenn Sie parallele Downloads verwenden möchten, müssen Sie das Datei-Caching aktivieren. Weitere Informationen zu parallelen Downloads und zur Konfiguration der zugehörigen Eigenschaften finden Sie unter Leseleistung mit parallelen Downloads verbessern.
parallel-downloads-per-file

Gibt die Anzahl der maximalen Go-Routinen an, die pro Datei erzeugt werden, um das Objekt aus Cloud Storage in den Datei-Cache herunterzuladen. Der Standardwert ist 16.

max-parallel-downloads

Die maximale Anzahl von Goroutinen, die zu einem bestimmten Zeitpunkt für alle Downloadjobs von Dateien erstellt werden können. Der Standardwert ist doppelt so hoch wie die Anzahl der CPU-Kerne auf der Maschine. Wenn Sie ein Limit umgehen möchten, geben Sie den Wert -1 an.

.
download-chunk-size-mb

Gibt die Größe jeder Leseanfrage in MiB an, die jede Goroutine an Cloud Storage ausführt, wenn das Objekt in den Dateicache heruntergeladen wird. Der Standardwert ist 50.

stat-cache-max-size-mb

Die maximale Größe in MiB, die der Statistik-Cache verwenden kann. Der Statistik-Cache verbleibt immer vollständig im Arbeitsspeicher.

  • Geben Sie 32 an,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 pro weitere 6.000 Dateien, also durchschnittlich etwa 1.500 Byte pro Datei.
  • Geben Sie -1 an, damit der Statistik-Cache so viel Arbeitsspeicher wie nötig verwenden kann.
  • Geben Sie 0 an, um den Statistik-Cache zu deaktivieren.

Wenn dieses Feld nicht angegeben ist, wird standardmäßig der Wert 32 verwendet.

ttl-secs

Definiert die Gültigkeitsdauer (TTL) der im Cache gespeicherten Metadateneinträge in Sekunden.

  • Geben Sie -1 an, um einen TTL-Ablauf zu umgehen und die Datei aus dem Cache bereitzustellen, wann immer sie verfügbar ist.
  • Geben Sie 0 an, damit die aktuellste Datei gelesen wird. Mit diesem Wert wird ein Get-Metadatenaufruf ausgegeben, um sicherzustellen, dass die Objektgenerierung für die Datei im Cache mit dem übereinstimmt, was in Cloud Storage gespeichert ist. Weitere Informationen finden Sie unter Cache-Entwertung konfigurieren.

Wenn dieses Feld nicht angegeben ist, wird standardmäßig der Wert 60 verwendet.

type-cache-max-size-mb

Die maximale Größe in MiB pro Verzeichnis, die der Typ-Cache verwenden kann. Der Typcache wird immer vollständig im Arbeitsspeicher abgelegt.

  • Geben Sie 4 an, 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.
  • Geben Sie -1 an, damit der Typ-Cache so viel Arbeitsspeicher wie erforderlich verwenden kann.
  • Geben Sie 0 an, um den Typ-Cache zu deaktivieren.

Wenn dieses Feld nicht angegeben ist, wird standardmäßig der Wert 4 verwendet.

cache-dir Gibt das Verzeichnis zum Speichern von Datei-Cache-Daten an. Dieses Feld muss festgelegt werden, um Datei-Caching aktivieren.
anonymous-access Deaktiviert die Authentifizierung für Anfragen. Legen Sie dieses Feld fest, wenn Sie ein benutzerdefinierten Endpunkt nutzen, der keine Authentifizierung unterstützt, oder wenn Sie Cloud Storage FUSE zum Bereitstellen öffentlicher Buckets verwenden. Der Standardwert ist false.
kernel-list-cache-ttl-secs Aktiviert die List Cache und definiert die Gültigkeitsdauer (TTL) der im Cache gespeicherten Listeneinträge in Sekunden. Die Arbeitsspeicherzuweisung für den Listen-Cache wird vom Kernel basierend auf verfügbarer Arbeitsspeicher gesteuert. Der Standardwert ist 0, mit dem das Listen-Caching deaktiviert wird.

Um das Feld --kernel-list-cache-ttl-secs festzulegen, geben Sie positiver Wert in Sekunden an, damit die Verzeichnislistenantwort im im Seiten-Cache des Kernels bleibt. Um den Ablauf von Einträgen zu umgehen und immer die Listenaantwort aus dem Cache zurückzugeben, wenn sie verfügbar ist, geben Sie den Wert -1 ein.
ignore-interrupts Weist Cloud Storage FUSE an, Systemunterbrechungssignale wie SIGINT zu ignorieren, das von Control+C ausgelöst wird. So wird verhindert, dass Signale laufende Vorgänge beenden. Mögliche Werte sind true und false. Der Standardwert ist true.