Nesta página, descrevemos como usar o arquivo de configuração do Cloud Storage FUSE para definir o comportamento do Cloud Storage FUSE de maneira persistente. Para usar o
arquivo de configuração, especifique o caminho para ele na opção
--config-file
ao executar o comando gcsfuse
.
Visão geral do arquivo de configuração do Cloud Storage FUSE
O arquivo de configuração do Cloud Storage FUSE é um YAML que usa o seguinte formato e campos. O comportamento controlado pelos campos do arquivo de configuração também pode ser definido usando a CLI do Cloud Storage FUSE.
Formato e campos do arquivo de configuração do Cloud Storage FUSE
O exemplo de configuração YAML a seguir 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 arquivo de configuração do Cloud Storage FUSE
A tabela a seguir descreve os campos que você pode especificar no arquivo de configuração do Cloud Storage FUSE. A menos que seja indicado o contrário, todos os campos são opcionais.
Campo | Descrição | Valor válido | Valor padrão |
---|---|---|---|
|
O nome do aplicativo da montagem. | Valor de string, por exemplo: "my-bucket-mount" . |
"" |
|
O caminho para o arquivo de registros em que os registros serão gravados.
Se esse campo não for especificado, os registros serão roteados para stdout quando o Cloud Storage FUSE for executado em primeiro plano e para syslogs quando o Cloud Storage FUSE for executado em segundo plano. |
Valor de string, por exemplo: "/var/log" . |
"" |
|
Especifica o formato do arquivo de registros. |
|
json |
|
O nível de gravidade para o qual você quer que o Cloud Storage FUSE gere registros. Os níveis de gravidade são ordenados do menor para o maior. Por exemplo, quando você especifica |
|
info |
|
O tamanho máximo em megabytes (MB) que os arquivos de registro podem alcançar antes de serem rotacionados. | Número inteiro. O valor mínimo é 1 . |
512 |
|
O número máximo de arquivos de registro rotacionados a serem mantidos, exceto o arquivo ativo em que os registros são gravados. |
|
10 |
|
Especifica se os arquivos de registro rotacionados serão compactados usando gzip . |
Valor booleano: true , false |
true |
|
Ativa o cache de arquivos e especifica o diretório para armazenar dados de cache de arquivos. |
Um caminho, por exemplo: "/tmp/gcsfuse-cache-path" .
Um valor vazio indica que o campo está desativado. Esse campo fica desativado por padrão. |
|
|
Especifica o tamanho máximo em MiB que o cache de arquivos pode usar e permite limitar a capacidade total que o cache de arquivos pode usar no diretório ativado. |
|
-1 |
|
Determina se o download completo do objeto precisa ser feito de modo assíncrono
e armazenado no diretório de cache do Cloud Storage FUSE quando a primeira leitura for
feita de um deslocamento diferente de zero. Esse campo precisa
ser definido como true se você planeja executar várias leituras
aleatórias ou parciais.
|
Valor booleano: true , false |
false |
|
Acelera a leitura de arquivos grandes usando o diretório de cache de arquivos como um buffer de pré-busca usando vários workers para fazer o download de várias partes de um arquivo em paralelo. Os downloads paralelos são ativados automaticamente quando você ativa o armazenamento em cache de arquivos. Para saber mais sobre o armazenamento em cache de arquivos, consulte Usar o armazenamento em cache de arquivos do Cloud Storage FUSE. Para saber mais sobre downloads paralelos e como configurar propriedades de suporte, Downloads paralelos. |
Valor booleano: true , false . |
true |
|
Especifica o número máximo de goroutines a serem geradas por arquivo para baixar o objeto do Cloud Storage para o cache de arquivos. | Número inteiro | 16 |
|
O número máximo de goroutines que podem ser gerados a qualquer momento em todos os jobs de download de arquivos. |
|
O dobro do número de núcleos de CPU na máquina ou 16 , o que for maior. |
|
Especifica o tamanho de cada solicitação de leitura em MiB que cada goroutine faz para o Cloud Storage ao fazer o download do objeto no cache de arquivos. | Número inteiro | 200 |
|
Cria uma entrada de cache de tipo com o tipo NonexistentType
se um arquivo não for encontrado no Cloud Storage. Se o arquivo for criado no Cloud Storage, mas a entrada NonexistentType para o arquivo for armazenada em cache, o Cloud Storage FUSE não poderá solicitar esse arquivo até que a entrada NonexistentType seja removida do tipo cache. |
Valor booleano: true , false |
false |
|
A memória de tamanho máximo que o cache de estatísticas pode usar, em MiB. O cache de estatísticas é sempre mantido por completo na memória. |
|
32 |
|
Define o time to live (TTL) em segundos das entradas do cache de estatísticas negativas, que armazenam resultados de arquivos não existentes no cache. |
|
5 |
|
Define o time to live (TTL), em segundos, das entradas de metadados armazenadas em cache. |
|
60 |
|
O tamanho máximo em MiB por diretório que o cache de tipos pode usar. O cache de tipos é sempre totalmente mantido na memória. |
|
4 |
|
Ativa apenas um diretório específico em um bucket. | Um caminho, por exemplo: "/etc/gcsfuse.yaml" . |
|
|
Desativa a autenticação para solicitações. Esse campo deve ser definido se você estiver usando um endpoint personalizado que não é compatível com autenticação. Esse campo também deve ser definido se você estiver usando o Cloud Storage FUSE com buckets públicos. | Valor booleano: true , false |
false |
|
Especifica um caminho absoluto para o arquivo de chave JSON de credencial para autenticar solicitações para o Cloud Storage. Por padrão, o Cloud Storage FUSE usa Application Default Credentials para autenticar solicitações. | Um URL. | Quando esse campo não está definido, as credenciais padrão do aplicativo são usadas. |
|
Especifica se o token adquirido de
--token-url será reutilizado. |
Valor booleano: true , false |
true |
|
Especifica um URL para receber um token de acesso quando --key-file estiver ausente. |
Um URL. | |
|
Especifica um projeto para usar no faturamento quando o bucket ativado é acessado. Esse campo é frequentemente necessário ao ativar um bucket ativado com pagamentos do solicitante. | Valor de string que representa um "ID do projeto". | "" |
|
Especifica o protocolo usado para comunicação com o back-end do Cloud Storage. |
|
http1 |
|
Especifica um endpoint personalizado alternativo para buscar dados.
O endpoint personalizado precisa ser compatível com os recursos e as operações
equivalentes ao endpoint JSON do Cloud
Storage, storage.UNIVERSE_DOMAIN_NAME:443 .
Se um endpoint personalizado não for especificado, o Cloud Storage FUSE usará o endpoint global
da API JSON do Cloud Storage,
storage.googleapis.com:443 .
Se a autenticação não tiver suporte no endpoint personalizado que você especificar, defina
o campo anonymous-access como true para
ignorar a autenticação. |
Um endpoint, por exemplo: storage.googleapis.com:443 . |
|
|
Especifica quanto tempo o cliente HTTP do FUSE do Cloud Storage pode aguardar para receber uma resposta do servidor antes de expirar. | Duração, por exemplo: 1h10m10s para 1 hora, 10 minutos e 10 segundos. 0s especifica que não há tempo limite. |
0s , que não especifica um tempo limite |
|
Especifica o limite de largura de banda em que o Cloud Storage FUSE pode ler dados do Cloud Storage, medidos em uma janela de 30 segundos. | "-1" , que especifica nenhum limite. |
|
|
Especifica um limite para operações executadas por segundo, medida em uma janela de 30 segundos. | Número de ponto flutuante. -1 não especifica um limite. |
"-1" |
|
Especifica o número máximo de conexões TCP permitidas por servidor.
Isso entra em vigor quando --client-protocol é definido como
http1 . |
0 |
|
|
Especifica o número máximo de conexões inativas permitidas por servidor.
Isso entra em vigor quando --client-protocol é definido como
http1 . |
Número inteiro entre 0 e 2147483647 .
0 especifica que não há limite nas conexões TCP. |
0 |
|
Especifica o tamanho do bloco dos dados a serem baixados do Cloud Storage, em megabytes (MB). | Número inteiro entre 1 e 1024 . |
200 |
|
Inclui pastas e pastas gerenciadas de maneira implícita. Consulte Arquivos e diretórios na documentação do FUSE do Cloud Storage no GitHub para mais informações. | Valor booleano: true , false |
false |
|
Ativa a cache da lista e define o time to live (TTL) em segundos de cache na lista de permissões. O cache da lista é mantido na memória do cache da página, que é controlados pelo kernel com base na memória disponível. |
| 0 |
|
Instrui o Cloud Storage FUSE a ignorar sinais de interrupção do sistema, como
SIGINT acionado por Control+C . Isso impede indicadores
de encerramento de operações em andamento. |
Valor booleano: true , false . |
true |
|
Bits de permissões para diretórios, em octal. | Número inteiro entre 000 e 777 (inclusive). |
"755" |
|
Especifica bits de permissões para arquivos, em octal. | Número inteiro entre 000 e 777 (inclusive). |
"644" |
|
Especifica outras opções de ativação específicas do sistema. | ||
|
Especifica o proprietário do Identificador de Grupo (GID) de todos os inodes. |
|
-1 |
|
Permite renomear os 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 em que as gravações são testadas antes do upload 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 usuário (UID, na sigla em inglês) de todos os nós. |
|
-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 ela falhar, evitando loops de repetição sem fim. |
|
0 |
|
Especifica a duração máxima que o Cloud Storage FUSE pode ficar suspenso em um loop de nova tentativa com espera exponencial. Quando a duração de espera 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 espera exponencial entre tentativas consecutivas. | Número de ponto 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 não especifica a exportação. |
0 |
|
Expõe o endpoint de métricas do Prometheus na porta especificada e no caminho |
Número inteiro que representa a porta que você quer especificar. | 0 |
|
Imprime mensagens de depuração quando uma mutex é mantida por muito tempo. Se esse campo for especificado, o nível de gravidade dos registros será definido automaticamente como trace , o que inclui registros de rastreamento, depuração, informações, aviso e erro. |
Valor booleano: true , false . |
false |
|
Sai do programa quando violações de variantes internas são detectadas. | Valor booleano: true , false . |
false |
|
Controla o fluxo do caminho de gravação para que os dados sejam enviados diretamente para o Cloud Storage à medida que são gravados, em vez de fazer o staging completo da gravação localmente e fazer upload dela após close() ou fsync() .
Para mais informações sobre gravações de streaming, consulte
Leituras/gravações na documentação do FUSE do Cloud Storage no GitHub. |
Valor booleano: true , false . |
true |
|
Especifica o número máximo de partes de dados disponíveis para gravações de streaming em todos os arquivos. Cada arquivo usa um bloco de dados de 32 MiB por padrão. |
|
|
|
Especifica a pré-busca assíncrona de partes de um objeto do Cloud Storage em um buffer na memória, permitindo que as leituras subsequentes sejam atendidas 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 arquivo. |
|
40 |