Esta página descreve como usar um ficheiro de configuração do FUSE do Cloud Storage para configurar o comportamento do FUSE do Cloud Storage de forma persistente. Para usar o ficheiro de configuração, especifique o caminho para o ficheiro de configuração na opção --config-file
quando executar o comando gcsfuse
.
Vista geral do ficheiro de configuração do FUSE do Cloud Storage
O ficheiro de configuração do FUSE do Cloud Storage é um ficheiro YAML que usa o seguinte formato e campos. O comportamento controlado pelos campos do ficheiro de configuração também pode ser definido através da CLI FUSE do Cloud Storage.
Campos e formato do ficheiro de configuração do FUSE do Cloud Storage
O seguinte exemplo de configuração YAML mostra o formato e os campos disponíveis no 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-attempts: MAX_RETRY_ATTEMPTS 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 read: enable-buffered-read: ENABLE_BUFFERED_READ global-max-blocks: MAXIMUM_GLOBAL_READ_BLOCKS
Campos do ficheiro de configuração do Cloud Storage FUSE
A tabela seguinte descreve os campos que pode especificar no ficheiro de configuração do Cloud Storage FUSE. Salvo indicação em contrário, todos os campos são opcionais.
Campo | Descrição | Valor válido | Valor predefinido |
---|---|---|---|
|
O nome da aplicação da montagem. | Valor de string, por exemplo: "my-bucket-mount" . |
"" |
|
O caminho para o ficheiro de registo onde os registos vão ser escritos.
Se este campo não for especificado,
os registos são encaminhados para stdout quando o Cloud Storage FUSE é executado no
modo de primeiro plano e para syslogs quando o Cloud Storage FUSE é executado no
modo de segundo plano. |
Valor de string, por exemplo: "/var/log" . |
"" |
|
Especifica o formato do ficheiro de registo. |
|
json |
|
O nível de gravidade para o qual quer que o Cloud Storage FUSE gere registos. Os níveis de gravidade estão ordenados do nível de gravidade mais baixo para o mais elevado. Por exemplo, quando especifica |
|
info |
|
O tamanho máximo em megabytes (MB) que os ficheiros de registo podem atingir antes de serem rodados. | Número inteiro. O valor mínimo é 1 . |
512 |
|
O número máximo de ficheiros de registo rotativos a reter, excluindo o ficheiro ativo no qual os registos são escritos. |
|
10 |
|
Especifica se os ficheiros de registo rodados são comprimidos
através de gzip . |
Valor booleano: true , false |
true |
|
Ativa a cache de ficheiros e especifica o diretório para armazenar dados da cache de ficheiros. |
Um caminho, por exemplo: "/tmp/gcsfuse-cache-path" .
Um valor vazio indica que este campo está desativado. Este campo está desativado
por predefinição. |
|
|
Especifica o tamanho máximo em MiB que a cache de ficheiros pode usar e permite-lhe limitar a capacidade total que a cache de ficheiros pode usar no respetivo diretório montado. |
|
-1 |
|
Determina se o objeto completo deve ser
transferido de forma assíncrona e armazenado no diretório da cache FUSE do Cloud Storage
quando a primeira leitura é concluída a partir de um deslocamento diferente de zero. Este campo deve ser definido como true se planear realizar várias leituras aleatórias ou leituras parciais.
|
Valor booleano: true , false |
false |
|
Acelera as leituras de ficheiros grandes através da utilização do diretório da cache de ficheiros como um buffer de obtenção prévia com vários trabalhadores para transferir várias partes de um ficheiro em paralelo. As transferências paralelas são ativadas automaticamente quando ativa a colocação em cache de ficheiros. Para saber mais sobre o armazenamento em cache de ficheiros, consulte o artigo Usar o armazenamento em cache de ficheiros do FUSE do Cloud Storage. Para saber mais sobre as transferências paralelas e como configurar propriedades compatíveis, Transferências paralelas. |
Valor booleano: true , false . |
true |
|
Especifica o número máximo de goroutines a gerar por ficheiro para transferir o objeto do Cloud Storage para a cache de ficheiros. | Número inteiro | 16 |
|
O número máximo de goroutines que podem ser geradas em qualquer momento em todas as tarefas de transferência de ficheiros. |
|
O dobro do número de núcleos da CPU na sua máquina ou 16 , consoante o que for mais elevado. |
|
Especifica o tamanho de cada pedido de leitura em MiB que cada goroutine faz ao Cloud Storage quando transfere o objeto para a cache de ficheiros. | Número inteiro | 200 |
|
Cria uma entrada de cache de tipo com o tipo NonexistentType
se não for encontrado um ficheiro no Cloud Storage. Se o ficheiro for criado no Cloud Storage, mas a entrada NonexistentType do ficheiro estiver em cache, o Cloud Storage FUSE não pode pedir esse ficheiro até que a entrada NonexistentType seja removida da cache de tipos. |
Valor booleano: true , false |
false |
|
A memória de tamanho máximo que a cache de estatísticas pode usar, em MiB. A cache de estatísticas é sempre mantida totalmente na memória. |
|
32 |
|
Define o tempo de vida (TTL) em segundos das entradas da cache de estatísticas negativas, que armazenam resultados de ficheiros inexistentes na cache. |
|
5 |
|
Define o tempo de vida (TTL) em segundos das entradas de metadados em cache. |
|
60 |
|
O tamanho máximo em MiB por diretório que a cache de tipos pode usar. A cache de tipos é sempre mantida totalmente na memória. |
|
4 |
|
Monta apenas um diretório específico num contentor. | Um caminho, por exemplo: "/etc/gcsfuse.yaml" . |
|
|
Desativa a autenticação para pedidos. Este campo deve ser definido se estiver a usar um ponto final personalizado que não suporte a autenticação. Este campo também deve ser definido se estiver a usar o Cloud Storage FUSE com contentores públicos. | Valor booleano: true , false |
false |
|
Especifica um caminho absoluto para o ficheiro de chave JSON de credenciais para autenticar pedidos ao Cloud Storage. Por predefinição, o Cloud Storage FUSE usa as credenciais padrão da aplicação para autenticar pedidos. | Um URL. | Quando este campo não está definido, são usadas as credenciais predefinidas da aplicação. |
|
Especifica se deve reutilizar o token adquirido a partir de
--token-url . |
Valor booleano: true , false |
true |
|
Especifica um URL para obter um token de acesso quando o elemento
--key-file está em falta. |
Um URL. | |
|
Especifica um projeto a usar para a faturação quando o contentor montado é acedido. Este campo é frequentemente obrigatório quando monta um contentor ativado com Requester Pays. | Valor de string que representa um "ID do projeto". | "" |
|
Especifica o protocolo usado para comunicar com o back-end do Cloud Storage. |
|
http1 |
|
Especifica um ponto final personalizado alternativo para obter dados.
O ponto final personalizado tem de suportar os recursos e as operações equivalentes ao
ponto final JSON do Cloud Storage,
storage.UNIVERSE_DOMAIN_NAME:443 .
Se não for especificado um ponto final personalizado, o Cloud Storage FUSE usa o ponto final da API JSON do Cloud Storage global,
storage.googleapis.com:443 .
Se a autenticação não for suportada no ponto final personalizado que especificar, defina o campo anonymous-access como true para ignorar a autenticação. |
Um ponto final, por exemplo: storage.googleapis.com:443 . |
|
|
Especifica o tempo que o cliente HTTP do FUSE do Cloud Storage pode esperar para receber uma resposta do servidor antes de atingir o limite de tempo. | Duração, por exemplo: 1h10m10s para 1 hora, 10 minutos e 10 segundos. 0s não especifica nenhum limite de tempo. |
0s , que especifica que não existe um limite de tempo |
|
Especifica o limite de largura de banda ao qual o Cloud Storage FUSE pode ler dados do Cloud Storage, medido num período de 30 segundos. | "-1" , que não especifica um limite. |
|
|
Especifica um limite para as operações realizadas por segundo, medido num período de 30 segundos. | Número de vírgula flutuante. -1 especifica que não existe limite. |
"-1" |
|
Especifica o número máximo de ligações TCP permitidas por servidor.
Esta alteração entra em vigor quando --client-protocol estiver definido como
http1 . |
0 |
|
|
Especifica o número máximo de ligações inativas permitidas por servidor.
Esta alteração entra em vigor quando --client-protocol estiver definido como
http1 . |
Número inteiro entre 0 e 2147483647 .
0 especifica que não existe um limite de ligações TCP. |
0 |
|
Especifica o tamanho do fragmento dos dados a transferir do Cloud Storage, em megabytes (MB). | Número inteiro entre 1 e 1024 . |
200 |
|
Inclui implicitamente pastas e pastas geridas. Consulte Ficheiros e diretórios na documentação do GitHub do Cloud Storage FUSE para mais informações. | Valor booleano: true , false |
false |
|
Ativa a cache de listas e define o tempo de vida (TTL) em segundos das entradas de listas em cache. A cache de listas é mantida na memória na cache de páginas, que é controlada pelo kernel com base na memória disponível. |
| 0 |
|
Indica ao Cloud Storage FUSE para ignorar sinais de interrupção do sistema, como o
SIGINT acionado por Control+C . Isto impede que os sinais terminem as operações em curso. |
Valor booleano: true , false . |
true |
|
Bits de autorizações para diretórios, em octal. | Número inteiro entre 000 e 777 (inclusive). |
"755" |
|
Especifica os bits de autorizações para ficheiros, em octal. | Número inteiro entre 000 e 777 (inclusive). |
"644" |
|
Especifica opções de montagem adicionais específicas do sistema. | ||
|
Especifica o proprietário do identificador do grupo (GID) de todos os inodos. |
|
-1 |
|
Permite a mudança do nome dos diretórios que contêm menos descendentes do que o limite especificado. | Número inteiro entre 0 e 2147483647 . |
0 |
|
Especifica um caminho para o diretório temporário onde as escritas são preparadas antes de serem carregadas para o Cloud Storage. | Um caminho de string, por exemplo: "/mnt/ssd/example-user-gcsfuse-temp-dir" . |
"/tmp" |
|
Especifica o proprietário do identificador de utilizador (UID) de todos os inodes. |
|
-1 |
|
Executa o comando gcsfuse em primeiro plano. |
Valor booleano: true , false |
false |
|
Especifica o número máximo de vezes que uma operação é repetida se a operação falhar, o que evita ciclos de repetição infinitos. |
|
0 |
|
Especifica a duração máxima que o Cloud Storage FUSE pode ficar inativo num ciclo de repetição com recuo exponencial. Quando a duração da suspensão excede a duração máxima especificada, a nova tentativa continua com a duração máxima especificada. | Duração, por exemplo: 1h5m50s (1 hora, 5 minutos e
50 segundos) ou 60s (60 segundos). |
30s |
|
Especifica o multiplicador para a retirada exponencial entre novas tentativas consecutivas. | Número de vírgula flutuante | "2" |
|
Exporta métricas para o Cloud Monitoring com o intervalo especificado. |
Número inteiro que representa um valor em segundos, por exemplo: 10 (10 segundos).
0 especifica que não é permitida a exportação. |
0 |
|
Expõe o ponto final de métricas do Prometheus na porta e no caminho |
Número inteiro que representa a porta que quer especificar. | 0 |
|
Imprime mensagens de depuração quando um mutex é mantido durante demasiado tempo. Se este campo for
especificado, o nível de gravidade dos registos é automaticamente definido como
trace , que inclui registos de rastreio, registos de depuração, registos de informações,
registos de avisos e registos de erros. |
Valor booleano: true , false . |
false |
|
Sai do programa quando são detetadas violações de variantes internas. | Valor booleano: true , false . |
false |
|
Controla o fluxo do caminho de escrita para que os dados sejam carregados diretamente para o Cloud Storage à medida que são escritos, em vez de preparar totalmente a escrita localmente e carregá-la após close() ou fsync() .
Para mais informações sobre gravações de streaming, consulte a secção
Leituras/Gravações na documentação do GitHub do Cloud Storage FUSE. |
Valor booleano: true , false . |
true |
|
Especifica o número máximo de blocos de dados disponíveis para escritas de streaming em todos os ficheiros. Por predefinição, cada ficheiro usa um bloco de dados de 32 MiB. |
|
|
|
Especifica a obtenção prévia assíncrona de partes de um objeto do Cloud Storage num buffer na memória, o que permite que as leituras subsequentes sejam publicadas a partir do buffer, em vez de exigir chamadas de rede. | Valor booleano: true , false |
false |
|
Especifica o número máximo de blocos disponíveis para leituras em buffer em todos os identificadores de ficheiros. |
|
40 |