CLI FUSE do Cloud Storage

Esta página descreve as opções do comando gcsfuse usadas para interagir com o FUSE do Cloud Storage. Se estiver a usar o controlador CSI do FUSE do Cloud Storage para montar os seus contentores no sistema de ficheiros local no Google Kubernetes Engine, consulte as opções de montagem para o controlador CSI do FUSE do Cloud Storage.

Vista geral da CLI FUSE do Cloud Storage

A interface de linhas de comando (CLI) do Cloud Storage FUSE, ou CLI gcsfuse, é usada para montar contentores do Cloud Storage como sistemas de ficheiros numa máquina local.

gcsfuse Estrutura dos comandos da CLI

O exemplo seguinte mostra a estrutura do comando gcsfuse, incluindo os comandos obrigatórios e as opções gcsfuse opcionais.

gcsfuse GLOBAL_OPTIONS BUCKET_NAME MOUNT_POINT

Onde:

  • GLOBAL_OPTIONS são as gcsfuse opções que controlam a forma como a montagem é configurada e o comportamento do FUSE do Cloud Storage.

  • BUCKET_NAME é o nome do contentor a montar. Por exemplo, my-mount-bucket. Opcional. Exclua um nome de contentor deste comando para realizar a montagem dinâmica.

  • MOUNT_POINT é o diretório local onde o contentor vai ser montado. Por exemplo, /path/to/mount/point.

Opções da CLI gcsfuse

Opção gcsfuse Descrição Valor válido Valor predefinido
Desativa a autenticação para pedidos. Esta opção deve ser definida se estiver a usar um ponto final personalizado que não suporte a autenticação. Esta opção também deve ser definida se estiver a usar o FUSE do Cloud Storage com contentores públicos. Valor booleano: true, false. false
O nome da aplicação da montagem. Valor de string, por exemplo: my-bucket-mount. ""
Especifica um projeto a usar para a faturação quando o contentor montado é acedido. Esta opção é frequentemente necessária quando monta um contentor ativado com Requester Pays. Valor de string que representa um ID do projeto. ""

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 esta opção está desativada. Esta opção gcsfuse está desativada por predefinição. ""
Especifica o protocolo usado para comunicar com o back-end do Cloud Storage.
  • http1 para HTTP/1.1
  • http2 para HTTP/2
  • grpc para gRPC. Para usar o gRPC com o Cloud Storage FUSE, recomendamos que use as versões 2.10.0 ou mais recentes do Cloud Storage FUSE.
http1

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
Especifica o caminho para o ficheiro de configuração que quer usar para configurar os comportamentos do FUSE do Cloud Storage. Um caminho, por exemplo: /etc/gcsfuse.yaml. ""
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 a opção --anonymous-access gcsfuse como true para ignorar a autenticação. Um ponto final, por exemplo: storage.googleapis.com:443. ""
Ativa a saída de depuração relacionada com o FUSE. Esta opção foi substituída pela opção --log-severity gcsfuse. Para ativar a saída de depuração, defina a opção --log-severity gcsfuse como trace, que inclui registos de rastreio, depuração, informações, aviso e erro. Valor booleano: true, false. false
Imprime informações de pedidos e de tempo do Cloud Storage. Esta opção gcsfuse foi substituída pela opção --log-severity gcsfuse. Para ativar a saída de depuração, defina a opção --log-severity gcsfuse como trace, que inclui registos de rastreio, depuração, informações, aviso e erro. Valor booleano: true, false. false
Sai do programa quando são detetadas violações de invariantes internas. Valor booleano: true, false. false
Imprime mensagens de depuração quando um mutex é mantido durante demasiado tempo. Se esta opção gcsfuse for especificada, o nível de gravidade dos registos é automaticamente definido como trace, que inclui registos de rastreio, depuração, informações, avisos e erros. Valor booleano: true, false. false
Bits de autorizações para diretórios, em octal. Número inteiro entre 000 e 777 (inclusive). 755
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
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
Controla o fluxo do caminho de gravação para que os dados sejam carregados diretamente para o Cloud Storage à medida que são escritos, em vez de preparar totalmente a gravação localmente e carregá-la após close() ou fsync(). Para mais informações sobre gravações de streaming, consulte as semânticas do FUSE do Cloud Storage na documentação do GitHub do FUSE do Cloud Storage. Valor booleano: true, false. true

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.

  • Número inteiro
  • -1: especifica a utilização de toda a capacidade disponível da cache no diretório que especificar para cache-dir. Esta é a predefinição apenas se cache-dir for transmitido.
  • 0: desativa a cache de ficheiros.
-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. Esta opção gcsfuse deve ser definida como true se planear fazer várias leituras aleatórias ou leituras parciais. Valor booleano: true, false. false
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

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
O número máximo de goroutines que podem ser geradas em qualquer momento em todas as tarefas de transferência de ficheiros.
  • Número inteiro
  • -1: especifica transferências paralelas ilimitadas.
  • 0: desativa as transferências paralelas. Só pode ser usado se o elemento --enable-parallel-downloads não for transmitido ou for transmitido como false.
O dobro do número de núcleos da CPU na sua máquina ou 16, consoante o que for mais elevado.
O número de pedidos de transferência simultâneos por ficheiro. Número inteiro 16
Especifica os bits de autorizações para ficheiros, em octal. Número inteiro entre 000 e 777 (inclusive). 644
Executa o comando gcsfuse em primeiro plano. Valor booleano: true, false. false
Especifica o proprietário do identificador do grupo (GID) de todos os inodos.
  • Número inteiro que representa um GID.
  • -1: é usado o GID do autor da chamada.
-1
Apresenta ajuda sobre o FUSE do Cloud Storage. Nenhum Nenhum
Apresenta a versão do FUSE do Cloud Storage que tem instalada. Nenhum Nenhum
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
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
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.
  • Número inteiro que representa segundos, por exemplo: 10 (10 segundos).
  • 0: desativa a colocação em cache de listas.
  • -1: ignora a expiração da entrada e devolve sempre a resposta da lista da cache quando estiver disponível.
0
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 caminho, por exemplo: /home/example_user/gcloud-key.json. Quando esta opção não está definida, são usadas as credenciais predefinidas da aplicação.
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. Número de vírgula flutuante. -1 especifica que não existe limite. -1
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 ficheiro para armazenar registos que podem ser analisados por Fluentd. Um caminho, por exemplo: /tmp/user-example-bucket-gcsfuse-logs.txt. stdout quando O Cloud Storage FUSE é executado em primeiro plano ou syslog quando O Cloud Storage FUSE é executado em segundo plano
Especifica o formato do ficheiro de registo.
  • text
  • json
json
O número máximo de ficheiros de registo rotativos a reter, excluindo o ficheiro ativo no qual os registos são escritos.
  • Número inteiro
  • 0: retém todos os ficheiros de registo rodados
10
Especifica se os ficheiros de registo rodados são comprimidos através de gzip. Valor booleano: true, false. true
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í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 warning, o Cloud Storage FUSE gera registos para avisos e erros. Geralmente, recomendamos que use o nível de gravidade info

  • off: desativa todo o registo.
  • error: contém mensagens sobre problemas graves que impedem o Cloud Storage FUSE de concluir uma operação ou indicam uma falha, como falhas de montagem, erros de autorização e erros críticos de entrada/saída (E/S).
  • warning: contém mensagens que indicam potenciais problemas que não são críticos, mas que podem originar problemas se não forem resolvidos. Os potenciais problemas incluem problemas de ligação não fatais, avisos de descontinuação, contenção de recursos que podem causar uma ligeira degradação do desempenho e novas tentativas para falhas temporárias. Este nível de gravidade também inclui informações fornecidas no nível de gravidade error.
  • info: contém informações gerais de registo, como mensagens de início e encerramento, ou informações sobre operações de montagem bem-sucedidas, atualizações de progresso e definições de configuração. Este nível de gravidade também inclui informações sobre os níveis de gravidade warning e error.
  • debug: contém informações de registo, como mensagens de início e encerramento, ou informações sobre operações de montagem bem-sucedidas, atualizações de progresso e definições de configuração. Este nível de gravidade também inclui as informações facultadas nos níveis de gravidade info, warning e error.
  • trace: contém detalhes detalhados sobre cada operação e chamada de função do Cloud Storage FUSE, descrevendo a gcsfuse interação com o controlador FUSE do kernel e o Cloud Storage. Este nível de gravidade também inclui os detalhes fornecidos nos níveis de gravidade debug, info, warning e error.
info
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. Número inteiro entre 0 e 2147483647. 0 especifica que não existe um limite de ligações TCP. 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 não especifica um limite para ligações inativas. 0
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.
  • Número inteiro que representa o número máximo de tentativas, por exemplo: 10.
  • 0: permite tentativas ilimitadas.
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

Define o tempo de vida (TTL) em segundos das entradas da cache de estatísticas negativas, que armazenam resultados de ficheiros inexistentes na cache.

  • Número inteiro que representa segundos, por exemplo: 10 (10 segundos).
  • 0: desativa a colocação em cache de estatísticas negativas.
  • -1: permite o armazenamento em cache de estatísticas negativas ilimitadas e desativa uma expiração do TTL.
5
Define o tempo de vida (TTL) em segundos das entradas de metadados em cache.
  • Número inteiro que representa segundos, por exemplo: 30 (30 segundos).
  • -1: ignorar a expiração do TTL e publicar ficheiros a partir da cache sempre que estiverem disponíveis.
  • 0: use o ficheiro mais atualizado. A utilização deste valor emite uma chamada de metadados para garantir que a geração de objetos para o ficheiro na cache corresponde ao que está armazenado no Cloud Storage.Get Para saber mais, consulte o artigo Configurar a invalidação de cache.
60
Especifica opções de montagem adicionais específicas do sistema. A maioria das opções de montagem genéricas em FUSE, como suid, é suportada pelo FUSE do Cloud Storage e pode ser transmitida juntamente com a opção -o. Opções de montagem no FUSE, por exemplo:
  • rw: montar como leitura/escrita.
  • ro: montar como só de leitura.
""
Monta apenas um diretório específico num contentor. Um caminho, por exemplo: /etc/gcsfuse.yaml. ""

Expõe o ponto final de métricas do Prometheus na porta e no caminho /metrics especificados.

Número inteiro que representa a porta que quer especificar. 0

Especifica o número máximo de blocos disponíveis para leituras em buffer em todos os identificadores de ficheiros.

  • Número inteiro
  • 0: desativa as leituras em buffer.
  • -1: define o valor como blocos ilimitados.
40
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 o multiplicador para a retirada exponencial entre novas tentativas consecutivas. Número de vírgula flutuante. 2
Especifica se deve reutilizar o token adquirido a partir de --token-url. Valor booleano: true, false. true
Especifica o tamanho do fragmento dos dados a transferir do Cloud Storage, em megabytes (MB). Número inteiro entre 1 e 1024. 200
Especifica o número de entradas que a cache de estatísticas pode conter. Esta opção gcsfuse foi substituída pela opção --stat-cache-max-size-mb gcsfuse. Número inteiro 4096
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.
  • Número inteiro. Recomendamos o seguinte:
    • 32 se a sua carga de trabalho envolver até 20 000 ficheiros.
    • Se a sua carga de trabalho for superior a 20 000 ficheiros, aumente o tamanho em valores de 10 para cada 6000 ficheiros adicionais, em que a cache de estatísticas usa uma média de 1500 MiB por ficheiro.
  • -1: não define um limite, em que a cache de estatísticas usa a memória necessária.
  • 0: desativa a cache de estatísticas.
32
Especifica durante quanto tempo os resultados StatObject e os atributos de inode devem ser colocados em cache. Esta opção foi substituída pela opção --metadata-cache-ttl-secs gcsfuse. Duração, por exemplo: 20s (20 segundos). 60s
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, por exemplo: /mnt/ssd/example-user-gcsfuse-temp-dir. /tmp
Especifica um URL para obter um token de acesso quando o elemento --key-file está em falta. Um URL. ""
Especifica durante quanto tempo a associação entre nomes e ficheiros ou diretórios nos inodes de diretório deve ser armazenada em cache, em segundos. Esta opção gcsfuse foi substituída pela opção --metadata-cache-ttl-secs gcsfuse. Duração em segundos, por exemplo: 20s (20 segundos). 60s
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.
  • Número inteiro. Recomendamos o seguinte:
    • 4 se o número máximo de ficheiros num único diretório do contentor que está a montar contiver 20 000 ficheiros ou menos.
    • Se o número máximo de ficheiros num único diretório que está a montar contiver mais de 20 000 ficheiros, aumente o valor em 1 para cada 5000 ficheiros, o que corresponde a uma média de cerca de 200 bytes por ficheiro.
  • -1: não especifica nenhum limite e permite que a cache de tipos use a memória necessária.
  • 0: desativa a cache de tipos.
4
Especifica o proprietário do identificador de utilizador (UID) de todos os inodes.
  • Número inteiro que representa um UID.
  • -1: é usado o UID do autor da chamada.
-1

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.

  • Número inteiro
  • 0: desativa as escritas de streaming.
  • -1: define o valor como ilimitado.
  • Valor predefinido para máquinas com especificações baixas e recursos limitados: 4
  • Valor predefinido para máquinas de alta especificação com uma grande quantidade de recursos: 1600

Voltar ao início