Questa pagina descrive come utilizzare un file di configurazione 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.
Panoramica del file di configurazione di Cloud Storage FUSE
Il file di configurazione è un file YAML che utilizza il seguente formato e i seguenti campi. Alcuni campi possono essere specificati anche utilizzando le opzioni della riga di comando.
Formato e campi del file di configurazione di Cloud Storage FUSE
Il seguente esempio di configurazione YAML mostra il formato e i campi disponibili in Cloud Storage FUSE.
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
Campi di configurazione
La tabella seguente descrive i campi che puoi specificare nel file di configurazione. Se non diversamente indicato, tutti i campi sono facoltativi.
Campo | Descrizione | Valore valido | Valore predefinito |
---|---|---|---|
|
Il nome dell'applicazione del punto di montaggio. | Valore stringa, ad esempio: "my-bucket-mount" . |
"" |
|
Il percorso del file di log in cui verranno scritti i log.
Se questo campo non è specificato,
i log vengono indirizzati a stdout quando Cloud Storage FUSE viene eseguito in modalità in primo piano
e a syslogs quando Cloud Storage FUSE viene eseguito in modalità in background. |
Valore stringa, ad esempio: "/var/log" . |
"" |
|
Specifica il formato del file di log. |
|
json |
|
Il livello di gravità per cui vuoi che Cloud Storage FUSE generi log. I livelli di gravità sono ordinati dal più basso al più alto. Ad
esempio, quando specifichi |
|
info |
|
La dimensione massima in megabyte (MB) che i file di log possono raggiungere prima di essere ruotati. | Numero intero. Il valore minimo è 1 . |
512 |
|
Il numero massimo di file di log ruotati da conservare, escluso il file attivo in cui vengono scritti i log. |
|
10 |
|
Specifica se i file di log ruotati vengono compressi
utilizzando gzip . |
Valore booleano: true , false |
true |
|
Attiva la cache dei file e specifica la directory per l'archiviazione dei dati della cache dei file. |
Un percorso, ad esempio: "/tmp/gcsfuse-cache-path" .
Un valore vuoto indica che questo campo è disattivato. Questo campo è disattivato
per impostazione predefinita. |
|
|
Specifica la dimensione massima in MiB che la cache dei file può utilizzare e ti consente di limitare la capacità totale che la cache dei file può utilizzare all'interno della directory montata. |
|
-1 |
|
Determina se l'intero oggetto deve essere
scaricato in modo asincrono e archiviato nella directory della cache FUSE di Cloud Storage
al termine della prima lettura da un offset diverso da zero. Questa opzione deve
essere impostata su true se prevedi di eseguire diverse letture casuali
o letture parziali.
|
Valore booleano: true , false |
false |
|
Accelera le letture di file di grandi dimensioni utilizzando la directory della cache dei file come buffer di precaricamento utilizzando più worker per scaricare più parti di un file in parallelo. I download paralleli vengono attivati automaticamente quando attivi la memorizzazione nella cache dei file. Per saperne di più sulla memorizzazione nella cache dei file, consulta Utilizzare la memorizzazione nella cache dei file di Cloud Storage FUSE. Per saperne di più sui download paralleli e su come configurare le proprietà di supporto, Download paralleli. |
Valore booleano: true , false . |
true |
|
Specifica il numero massimo di goroutine da generare per file per scaricare l'oggetto da Cloud Storage nella cache dei file. | Numero intero | 16 |
|
Il numero massimo di goroutine che possono essere generate in un dato momento in tutti i job di download dei file. |
|
Il doppio del numero di core CPU sulla tua macchina o 16 ,
a seconda di quale dei due valori è maggiore. |
|
Specifica le dimensioni di ogni richiesta di lettura in MiB che ogni goroutine effettua a Cloud Storage durante il download dell'oggetto nella cache dei file. | Numero intero | 200 |
|
Crea una voce della cache dei tipi con il tipo NonexistentType
se non viene trovato un file in Cloud Storage. Se il file viene creato
in Cloud Storage, ma la voce NonexistentType per
il file viene memorizzata nella cache, Cloud Storage FUSE non può richiedere il file finché
la voce NonexistentType non viene rimossa dalla cache dei tipi. |
Valore booleano: true , false |
false |
|
La memoria massima che la cache delle statistiche può utilizzare, in MiB. La cache delle statistiche viene sempre mantenuta interamente in memoria. |
|
32 |
|
Definisce la durata (TTL) in secondi delle voci della cache delle statistiche negative, che memorizzano i risultati per i file inesistenti nella cache. |
|
5 |
|
Definisce la durata (TTL) in secondi delle voci dei metadati memorizzate nella cache. |
|
60 |
|
La dimensione massima in MiB per directory che la cache dei tipi può utilizzare. La cache dei tipi viene sempre mantenuta interamente in memoria. |
|
4 |
|
Monta solo una directory specifica all'interno di un bucket. | Un percorso, ad esempio: "/etc/gcsfuse.yaml" . |
|
|
Disabilita l'autenticazione per le richieste. Questa opzione deve essere impostata se utilizzi un endpoint personalizzato che non supporta l'autenticazione. Questa opzione deve essere impostata anche se utilizzi Cloud Storage FUSE con bucket pubblici. | Valore booleano: true , false |
false |
|
Specifica un percorso assoluto al file della chiave JSON delle credenziali per autenticare le richieste a Cloud Storage. Per impostazione predefinita, Cloud Storage FUSE utilizza le Credenziali predefinite dell'applicazione per autenticare le richieste. | Un URL. | Se questa opzione non è impostata, vengono utilizzate le Credenziali predefinite dell'applicazione. |
|
Specifica se riutilizzare il token acquisito da
--token-url . |
Valore booleano: true , false |
true |
|
Specifica un URL per ottenere un token di accesso quando
--key-file è assente. |
Un URL. | |
|
Specifica un progetto da utilizzare per la fatturazione quando si accede al bucket montato. Questa opzione è spesso richiesta quando viene montato un bucket abilitato con pagamenti a carico del richiedente. | Valore stringa che rappresenta un "ID progetto". | "" |
|
Specifica il protocollo utilizzato per comunicare con il backend Cloud Storage. |
|
http1 |
|
Specifica un endpoint personalizzato alternativo per il recupero dei dati.
L'endpoint personalizzato deve supportare le risorse e le operazioni equivalenti all'endpoint JSON Cloud Storage, https://storage.googleapis.com/storage/v1 .
Se non viene specificato un endpoint personalizzato, Cloud Storage FUSE utilizza l'endpoint globale
dell'API Cloud Storage JSON,
https://storage.googleapis.com/storage/v1 .
Se l'autenticazione non è supportata sull'endpoint personalizzato specificato, imposta
il flag --anonymous-access su true per
ignorare l'autenticazione. |
Un endpoint, ad esempio: "http://localhost:443/storage/v1" . |
|
|
Specifica per quanto tempo il client HTTP FUSE di Cloud Storage può attendere una risposta dal server prima del timeout. | Durata, ad esempio: 1h10m10s per 1 ora, 10 minuti
e 10 secondi. 0s specifica nessun timeout. |
0s , che specifica nessun timeout |
|
Specifica il limite di larghezza di banda a cui Cloud Storage FUSE può leggere i dati da Cloud Storage, misurato in un intervallo di 30 secondi. | "-1" , che non specifica alcun limite. |
|
|
Specifica un limite per le operazioni eseguite al secondo, misurato in un intervallo di 30 secondi. | Numero in virgola mobile. -1 non specifica alcun limite. |
"-1" |
|
Specifica il numero massimo di connessioni TCP consentite per server.
Questa impostazione diventa effettiva quando --client-protocol è impostato su
http1 . |
0 |
|
|
Specifica il numero massimo di connessioni inattive consentite per server.
Questa impostazione diventa effettiva quando --client-protocol è impostato su
http1 . |
Numero intero compreso tra 0 e 2147483647 .
0 non specifica alcun limite per le connessioni TCP. |
0 |
|
Specifica le dimensioni del blocco di dati da scaricare da Cloud Storage, in megabyte (MB). | Numero intero compreso tra 1 e 1024 . |
200 |
|
Include implicitamente cartelle e cartelle gestite. Per maggiori informazioni, consulta la documentazione su file e directory in GitHub. | Valore booleano: true , false |
false |
|
Attiva la cache degli elenchi e definisce la durata (TTL) in secondi delle voci degli elenchi memorizzate nella cache. La cache dell'elenco viene mantenuta in memoria nella cache della pagina, che è controllata dal kernel in base alla memoria disponibile. |
| 0 |
|
Indica a Cloud Storage FUSE di ignorare i segnali di interruzione del sistema, come
SIGINT attivato da Control+C . In questo modo, i segnali non interrompono le operazioni in volo. |
Valore booleano: true , false . |
true |
|
Bit di autorizzazione per le directory, in formato ottale. | Numero intero compreso tra 000 e 777 (inclusi). |
"755" |
|
Specifica i bit di autorizzazione per i file, in formato ottale. | Numero intero compreso tra 000 e 777 (inclusi). |
"644" |
|
Specifica opzioni di montaggio aggiuntive specifiche del sistema. | ||
|
Specifica il proprietario dell'identificatore di gruppo (GID) di tutti gli inode. |
|
-1 |
|
Consente di rinominare le directory che contengono un numero di elementi secondari inferiore al limite specificato. | Numero intero compreso tra 0 e 2147483647 . |
0 |
|
Specifica un percorso della directory temporanea in cui vengono preparate le scritture prima di essere caricate in Cloud Storage. | Un percorso di stringa, ad esempio: "/mnt/ssd/example-user-gcsfuse-temp-dir" . |
"/tmp" |
|
Specifica il proprietario dell'identificatore utente (UID) di tutti gli inode. |
|
-1 |
|
Esegue il comando gcsfuse in primo piano. |
Valore booleano: true , false |
false |
|
Specifica la durata massima in cui Cloud Storage FUSE può rimanere inattivo in un ciclo di tentativi con exponential backoff. Una volta che la durata del backoff supera la durata massima specificata, il tentativo continua con la durata massima specificata. | Durata, ad esempio: 1h5m50s (1 ora, 5 minuti e
50 secondi) o 60s (60 secondi). |
30s |
|
Specifica il moltiplicatore per il backoff esponenziale tra tentativi consecutivi. | Numero in virgola mobile | "2" |
|
Esporta le metriche in Cloud Monitoring con l'intervallo specificato. |
Numero intero che rappresenta un valore in secondi, ad esempio: 10 (10 secondi).
0 specifica che non è prevista alcuna esportazione. |
0 |
|
Espone l'endpoint delle metriche di Prometheus sulla porta specificata e
sul percorso |
Numero intero che rappresenta la porta che vuoi specificare. | 0 |
|
Stampa messaggi di debug quando un mutex viene mantenuto troppo a lungo. Se questa opzione
è specificata, il livello di gravità dei log viene impostato automaticamente su
trace , che include log di traccia, log di debug, log informativi,
log di avviso e log di errore. |
Valore booleano: true , false . |
false |
|
Esce dal programma quando vengono rilevate violazioni delle varianti interne. | Valore booleano: true , false . |
false |
|
Controlla il flusso del percorso di scrittura in modo che i dati vengano caricati direttamente in
Cloud Storage man mano che vengono scritti, anziché eseguirne completamente lo staging in locale
e caricarli al momento di close() o fsync() .
Per maggiori informazioni sulle scritture in streaming, consulta la
documentazione di GitHub di Cloud Storage FUSE. |
Valore booleano: true , false . |
true |
|
Specifica il numero massimo di blocchi di dati disponibili per le scritture di streaming in tutti i file. Per impostazione predefinita, ogni file utilizza un blocco di dati di 32 MiB. |
|
|