File di configurazione FUSE di Cloud Storage

In questa pagina viene descritto come utilizzare un file di configurazione di Cloud Storage FUSE per configurare il comportamento di Cloud Storage FUSE in modo permanente. Per utilizzare il file di configurazione, specifica il percorso del file di configurazione nel flag --config-file come parte del comando mount.

Il file di configurazione è un file YAML che utilizza il formato e i campi seguenti. Alcuni dei campi possono essere specificati anche utilizzando le opzioni della riga di comando.

write:
  create-empty-file: boolean
logging:
  file-path: "string"
  format: enum
  severity: enum
  log-rotate:
    max-file-size-mb: integer
    backup-file-count: integer
    compress: boolean
file-cache:
  max-size-mb: integer
  cache-file-for-range-read: boolean
metadata-cache:
  stat-cache-max-size-mb: integer
  ttl-secs: integer
  type-cache-max-size-mb: integer
cache-dir: integer
gcs-auth:
  anonymous-access: boolean
file-system:
  ignore-interrupts: boolean

Campi di configurazione

La seguente tabella descrive i campi che puoi specificare nel file di configurazione. Salvo diversa indicazione, tutti i campi sono facoltativi.

Campo Descrizione
create-empty-file Un valore booleano che specifica se creare o meno un file a zero byte in Cloud Storage quando inizi a scrivere su un nuovo file nel bucket montato. Se questo campo non è specificato, il valore predefinito è false.
file-path Il percorso del file di log in cui verranno scritti i log, specificato come stringa. Ad esempio, /var/log. Se questo campo non è specificato, i log vengono instradati a stdout quando Cloud Storage FUSE viene eseguito in modalità in primo piano e a syslog quando Cloud Storage FUSE viene eseguito in modalità in background.
format Il formato in cui vengono generati i log, espresso come enum. I valori sono text o json. Se questo campo non è specificato, il valore predefinito è json.
severity

La gravità dei log che vuoi che vengano generati da Cloud Storage FUSE, espressa come enum. I livelli di gravità sono ordinati da quella più bassa a quella più alta:

  • trace
  • debug
  • info
  • warning
  • error

Se specifichi un livello di gravità, Cloud Storage FUSE genera log con gravità uguale o superiore. Ad esempio, se specifichi warning, Cloud Storage FUSE genera i log per avvisi ed errori. Puoi anche specificare off per disattivare tutto il logging. Se nel comando viene specificata anche una delle tre opzioni seguenti, il livello di gravità viene impostato automaticamente su trace:

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

Se questo campo non è specificato, il valore predefinito è info.

max-file-size-mb La dimensione massima in megabyte (MB) che i file di log possono raggiungere prima di essere ruotati. Il valore minimo è 1. Se questo campo non è specificato, il valore predefinito è 512.
backup-file-count Il numero massimo di file di log ruotati da conservare, escluso il file attivo in cui vengono scritti i log. Se il valore è impostato su 0, tutti i file di log ruotati vengono conservati. Se questo campo non è specificato, il valore predefinito è 10.
compress Un valore booleano che specifica se i file di log ruotati vengono compressi utilizzando gzip. Se questo campo non è specificato, il valore predefinito è true.
max-size-mb

La dimensione massima in MiB che può essere utilizzata dalla cache dei file. Se presente, max-size-mb abilita la memorizzazione nella cache dei file in Cloud Storage FUSE ed è utile se vuoi limitare la capacità totale che la cache di Cloud Storage FUSE può utilizzare all'interno della directory montata.

  • Specifica -1 per utilizzare l'intera capacità disponibile della cache nella directory specificata per cache-dir.
  • Specifica 0 per disabilitare la cache dei file.

Se questo campo non è specificato, il valore predefinito è -1.

cache-file-for-range-read

Un valore booleano che determina se l'oggetto completo deve essere scaricato in modo asincrono e archiviato nella directory della cache di Cloud Storage FUSE quando la prima lettura viene eseguita da un offset diverso da zero. Questo valore deve essere impostato su true se prevedi di eseguire diverse letture casuali o letture parziali. Se questo campo non è specificato, il valore predefinito è false.

Tieni presente che se esegui una lettura parziale che inizia dall'offset 0, Cloud Storage FUSE scarica sempre e memorizza nella cache l'oggetto completo in modo asincrono.

stat-cache-max-size-mb

La dimensione massima in MiB che la cache delle statistiche può utilizzare. La cache delle statistiche è sempre interamente conservata in memoria.

  • Specifica 32 se il carico di lavoro riguarda fino a 20.000 file. Se il carico di lavoro supera i 20.000 file, aumenta la dimensione di 10 per ogni 6000 file aggiuntivi, in media circa 1500 byte per file.
  • Specifica -1 per consentire alla cache delle statistiche di utilizzare la memoria necessaria.
  • Specifica 0 per disattivare la cache delle statistiche.

Se questo campo non è specificato, il valore predefinito è 32.

ttl-secs

Definisce la durata (TTL) delle voci di metadati memorizzati nella cache, espressa in secondi.

  • Specifica -1 per ignorare una scadenza TTL e pubblicare il file dalla cache ogni volta che è disponibile.
  • Specifica 0 per assicurarti che venga letto il file più aggiornato. Se utilizzi questo valore, viene generata una chiamata Get metadata per garantire che la generazione dell'oggetto per il file nella cache corrisponda a quanto archiviato in Cloud Storage. Per scoprire di più, consulta Configurare l'annullamento della convalida della cache.

Se questo campo non è specificato, il valore predefinito è 60.

type-cache-max-size-mb

La dimensione massima in MiB per ogni directory che può essere utilizzata dal tipo di cache. La cache dei tipi è sempre interamente conservata in memoria.

  • Specifica 4 se il numero massimo di file all'interno di una singola directory del bucket che stai montando contiene al massimo 20.000 file. Se il numero massimo di file all'interno di una singola directory che stai montando contiene più di 20.000 file, aumenta il valore di 1 ogni 5000 file, in media circa 200 byte per file.
  • Specifica -1 per consentire al tipo di cache di utilizzare la memoria necessaria.
  • Specifica 0 per disattivare il tipo di cache.

Se questo campo non è specificato, il valore predefinito è 4.

cache-dir Specifica la directory per l'archiviazione dei dati della cache dei file. Questo campo deve essere specificato per abilitare la memorizzazione nella cache dei file.
anonymous-access Disabilita l'autenticazione per le richieste. Imposta questo campo se utilizzi un endpoint personalizzato che non supporta l'autenticazione o se utilizzi Cloud Storage FUSE per montare i bucket pubblici. Il valore predefinito è false.
ignore-interrupts Indica a Cloud Storage FUSE di ignorare gli indicatori di interruzione di sistema, come SIGINT attivato da Control+C. In questo modo, i segnali non possono terminare le operazioni in corso. I valori sono true o false. Il valore predefinito è true.