Questa pagina descrive come utilizzare un file di configurazione di Cloud Storage FUSE per configurare il comportamento di Cloud Storage FUSE in modo persistente. Per utilizzare il
file di configurazione, specifica il percorso del file di configurazione nel
--config-file
flag come parte del comando mount.
Il file di configurazione è un file YAML che utilizza il seguente formato e campi. Alcuni campi possono essere specificati anche utilizzando le opzioni a riga di comando.
app-name: "APP_NAME" 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: enable-nonexistent-type-cache: ENABLE_NONEXISTENT_TYPE_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" 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
Campi di configurazione
La seguente tabella descrive i campi che puoi specificare nel file di configurazione. Se non diversamente indicato, tutti i campi sono facoltativi.
Campo | Descrizione |
---|---|
app-name |
Il nome dell'applicazione del montaggio. |
create-empty-file |
Un valore booleano che specifica se creare o meno un file di zero byte
in Cloud Storage quando inizi a scrivere in 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
una stringa. Ad esempio, /var/log . Se questo campo non è specificato,
i log vengono inoltrati a stdout quando Cloud Storage FUSE viene eseguito in modalità primo piano
e ai log 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 Cloud Storage FUSE generi, espressa come enumerazione. I livelli di gravità sono ordinati dalla gravità più bassa alla gravità più alta:
Quando specifichi un livello di gravità, Cloud Storage FUSE genera log con gravità uguale o superiore. Ad esempio, quando specifichi
Il livello di gravità viene impostato automaticamente su
Se questo campo non è specificato, il valore predefinito è
Nota:l'utilizzo dei livelli di gravità |
max-file-size-mb |
La dimensione massima in megabyte (MB) che i file di log possono raggiungere prima di essere girati. Il valore minimo è 1 . Se questo campo non è specificato,
il valore predefinito è 512 . |
backup-file-count |
Il numero massimo di file di log sottoposti a rotazione da conservare, escluso il
file attivo in cui vengono scritti i log. Quando 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 la
cache dei file può
utilizzare. Se presente,
Se questo campo non è specificato, il valore predefinito è
|
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 FUSE di Cloud Storage quando la prima lettura viene eseguita da un offset diverso da zero. Questo valore deve essere impostato su
Tieni presente che se esegui una lettura parziale a partire dall'offset |
enable-parallel-downloads |
Accelera le letture di file di grandi dimensioni utilizzando la directory della cache dei file come buffer di prefetch con più worker per scaricare file di grandi dimensioni in parallelo. Il valore predefinito è Per utilizzare i download paralleli, devi attivare la memorizzazione nella cache dei file. Per scoprire di più sui download paralleli e configurare le relative proprietà di supporto, consulta Migliorare il rendimento della lettura utilizzando i download paralleli. |
parallel-downloads-per-file |
Specifica il numero massimo di goroutine da generare per file per scaricare l'oggetto da Cloud Storage nella cache dei file.
Il valore predefinito è |
max-parallel-downloads |
Il numero massimo di goroutine che possono essere generate in un determinato
momento in tutti i job di download dei file. Il valore predefinito è il doppio del numero di core CPU della macchina. Per aggirare un limite, specifica un valore di |
download-chunk-size-mb |
Specifica le dimensioni in MiB di ogni richiesta di lettura effettuata da ogni goroutine su Cloud Storage durante il download dell'oggetto nella cache dei file.
Il valore predefinito è |
enable-nonexistent-type-cache |
Crea una voce della cache dei tipi con il tipo NonexistentType
se un file non viene trovato in Cloud Storage. Se il file viene creato
in Cloud Storage, ma la voce NonexistentType per il
file è memorizzata nella cache, Cloud Storage FUSE non può richiederlo finché
la voce NonexistentType non viene rimossa dalla cache dei tipi.
Il valore predefinito è false . |
stat-cache-max-size-mb |
La dimensione massima in MiB che la cache delle statistiche può utilizzare. La cache delle statistiche viene sempre conservata interamente in memoria.
Se questo campo non è specificato, il valore predefinito è
|
ttl-secs |
Definisce la durata (TTL) delle voci dei metadati memorizzati nella cache, espressa in secondi.
Se questo campo non è specificato, il valore predefinito è
|
type-cache-max-size-mb |
La dimensione massima in MiB per directory che la cache dei tipi può utilizzare. La cache dei tipi viene sempre mantenuta interamente in memoria.
Se questo campo non è specificato, il valore predefinito è
|
cache-dir |
Specifica la directory per l'archiviazione dei dati della cache dei file. Questo campo deve essere specificato per attivare la memorizzazione nella cache dei file. |
only-dir |
Monta solo una directory specifica all'interno di un bucket. |
anonymous-access |
Disattiva l'autenticazione per le richieste. Imposta questo campo se utilizzi un
endpoint personalizzato che non supporta l'autenticazione o se utilizzi
FUSE di Cloud Storage per montare bucket pubblici. Il valore predefinito è
false . |
key-file |
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. |
reuse-token-from-url |
Specifica che deve essere utilizzato il token acquisito da token-url .
Il valore predefinito è true . |
token-url |
Specifica un URL per ottenere un token di accesso quando key-file non è presente. |
billing-project |
Specifica un progetto da utilizzare per la fatturazione quando si accede al bucket montato. Questo flag è spesso obbligatorio quando si monta un bucket abilitato con Pagamento a carico del richiedente. Il progetto predefinito è nessuno. |
client-protocol |
Specifica il protocollo utilizzato per la comunicazione con il
backend Cloud Storage. Il valore può essere http1 per HTTP/1.1 o http2 per HTTP/2. Il valore predefinito è
http1 . |
custom-endpoint |
Specifica un endpoint personalizzato alternativo per il recupero dei dati.
L'endpoint personalizzato deve supportare le risorse e le operazioni equivalenti dell'endpoint JSON di Cloud Storage,https://storage.googleapis.com/storage/v1 .
Se non viene specificato un endpoint personalizzato, Cloud Storage FUSE utilizza l'endpoint globale dell'API JSON di Cloud Storage,
https://storage.googleapis.com/storage/v1 .
Se l'autenticazione non è supportata nell'endpoint personalizzato specificato, imposta il flag anonymous-access su true per eseguire il bypass dell'autenticazione.
|
http-client-timeout |
Specifica per quanto tempo il client HTTP FUSE di Cloud Storage può
attendere una risposta dal server prima del timeout. Il valore predefinito è 0s , che indica che non è impostato alcun timeout. |
limit-bytes-per-sec |
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. Il valore predefinito del limite è "-1" , che non specifica alcun limite. |
limit-ops-per-sec |
Specifica un limite per le operazioni eseguite al secondo, misurato su un intervallo di 30 secondi. Il valore predefinito del limite è "-1" , che
non specifica alcun limite. |
max-conns-per-host |
Specifica il numero massimo di connessioni TCP consentite per server. Questa impostazione diventa valida quando client-protocol è impostato su http1 . Il valore predefinito è 0 , che specifica che non esiste un limite per le connessioni TCP, ad eccezione delle limitazioni impostate dalle specifiche della macchina. |
max-idle-conns-per-host |
Specifica il numero massimo di connessioni inattive consentite per server. Il valore predefinito è 100 . |
sequential-read-size-mb |
Specifica la dimensione del chunk dei dati da scaricare da Cloud Storage, in megabyte (MB). Il valore predefinito è
200 . |
implicit-dirs |
Include implicitamente cartelle e cartelle gestite. Per ulteriori informazioni, consulta la documentazione relativa a file e directory su GitHub. |
kernel-list-cache-ttl-secs |
Attiva la cache dell'elenco e definisce la durata (TTL) in secondi delle voci dell'elenco memorizzate nella cache.
L'allocazione della memoria per la cache dell'elenco è controllata dal kernel in base alla memoria disponibile. Il valore predefinito è 0
che disattiva la memorizzazione nella cache dell'elenco.
Per impostare il campo kernel-list-cache-ttl-secs , specifica un valore positivo in secondi per mantenere la risposta dell'elenco di directory nella cache della pagina del kernel. Per ignorare la scadenza della voce e restituire sempre la risposta dell'elenco dalla cache quando è disponibile, specifica un valore di -1 . |
ignore-interrupts |
Indica a Cloud Storage FUSE di ignorare gli indicatori di interruzione di sistema, come
SIGINT attivato da Control+C . In questo modo, gli indicatori non interromperanno le operazioni in corso. I valori sono true
o false . Il valore predefinito è true . |
dir-mode |
Bit di autorizzazione per le directory, in octal. Il valore predefinito è
"755" . |
file-mode |
Specifica i bit di autorizzazione per i file in octal. Il valore predefinito è
"644" . |
fuse-options |
Specifica opzioni di montaggio aggiuntive specifiche del sistema. |
gid |
Specifica il proprietario dell'identificatore di gruppo (GID) di tutti gli inode.
Il valore GID predefinito è -1 . |
rename-dir-limit |
Consente la ridenominazione delle directory contenenti meno elementi secondari rispetto al limite specificato. Il valore limite predefinito è 0 . |
temp-dir |
Specifica un percorso alla directory temporanea in cui vengono messe in scena le scritture prima di essere caricate su Cloud Storage. Il valore predefinito è quello del sistema, ad esempio "/tmp" . |
uid |
Specifica il proprietario dell'identificatore utente (UID) di tutti gli inode. Il valore predefinito
dell'UID è -1 . |
foreground |
Esegue il comando gcsfuse in primo piano. Il valore predefinito è false . |
max-retry-sleep |
Specifica la durata massima in cui Cloud Storage FUSE può rimanere inattivo in un loop di ripetizione con backoff esponenziale. Una volta che la durata del backoff supera la durata massima specificata, il nuovo tentativo continua con la durata massima specificata. Il valore limite predefinito è
30s (30 secondi). |
multiplier |
Specifica il backoff esponenziale tra i tentativi, dove il valore è il moltiplicatore per il tempo di attesa successivo in base al tempo di attesa precedente. Il valore predefinito è "2" . |
stackdriver-export-interval |
Esporta le metriche in
Cloud Monitoring
con l'intervallo specificato. Il valore predefinito è 0s
(0 secondi), che specifica nessuna esportazione. |
log-mutex |
Stampa messaggi di debug quando un mutex viene trattenuto per troppo tempo. Se questa opzione è specificata, il livello di gravità dei log viene impostato automaticamente su trace , che include log di traccia, log di debug, log di informazioni, log di avviso e log di errore. Il valore predefinito è false . |
exit-on-invariant-violation |
Esce dal programma quando vengono rilevate violazioni delle varianti interne. Il valore predefinito è false . |