Archivo de configuración de Cloud Storage FUSE

En esta página, se describe cómo usar un archivo de configuración de Cloud Storage FUSE para configurar el comportamiento de Cloud Storage FUSE de forma persistente. Para usar el archivo de configuración, especifica la ruta al archivo de configuración en la marca --config-file como parte de tu comando de activación.

Descripción general del archivo de configuración de Cloud Storage FUSE

El archivo de configuración es un archivo YAML que usa el formato y los campos siguientes. Algunos de los campos también se pueden especificar usando las opciones de la línea de comandos.

Formato y campos del archivo de configuración de Cloud Storage FUSE

En el siguiente ejemplo de configuración en YAML, se muestran el formato y los campos disponibles en 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

Campos de configuración

En la siguiente tabla, se describen los campos que puedes especificar en tu archivo de configuración. Nota: A menos que se indique lo contrario, todos los campos son opcionales.

Campo Descripción Valor válido Valor predeterminado
El nombre de la aplicación de la activación. Valor de cadena, por ejemplo: "my-bucket-mount". ""
Es la ruta de acceso al archivo de registro en el que se escribirán los registros. Si no se especifica este campo, los registros se enrutan a stdout cuando Cloud Storage FUSE se ejecuta en modo de primer plano y a syslogs cuando Cloud Storage FUSE se ejecuta en modo en segundo plano. Valor de cadena, por ejemplo: "/var/log". ""
Especifica el formato del archivo de registro.
  • text
  • json
json

Es el nivel de gravedad para el que deseas que Cloud Storage FUSE genere registros. Los niveles de gravedad se ordenan desde la gravedad más baja a la más alta. Por ejemplo, cuando especificas warning, Cloud Storage FUSE genera registros para advertencias y errores. En general, recomendamos usar el nivel de gravedad info.

  • trace
  • debug
  • info
  • warning
  • error
  • off: Inhabilita todos los registros.
info
Es el tamaño máximo en megabytes (MB) que pueden alcanzar los archivos de registro antes de que se roten. Número entero. El valor mínimo es 1. 512
Es la cantidad máxima de archivos de registro rotados que se conservarán, sin incluir el archivo activo en el que se escriben los registros.
  • Número entero
  • 0: Conserva todos los archivos de registro rotados.
10
Especifica si los archivos de registro rotados se comprimen con gzip. Valor booleano: true, false true

Habilita la caché de archivos y especifica el directorio para almacenar datos de caché de archivos.

Es una ruta de acceso, por ejemplo, "/tmp/gcsfuse-cache-path". Un valor vacío indica que este campo está inhabilitado. Este campo está inhabilitado de forma predeterminada.

Especifica el tamaño máximo en MiB que puede usar la caché de archivos y te permite limitar la capacidad total que puede usar la caché de archivos dentro de su directorio activado.

  • Número entero
  • -1: Especifica el uso de toda la capacidad disponible de la caché en el directorio que especificas para cache-dir. Este es el valor predeterminado solo si se pasa cache-dir.
  • 0: Inhabilita la caché de archivos.
-1
Indica si el objeto completo debe descargarse de forma asíncrona y almacenarse en el directorio de caché de Cloud Storage FUSE cuando la primera lectura se realiza desde un desplazamiento distinto de cero. Esta opción debe establecerse en true si planeas realizar varias lecturas aleatorias o parciales. Valor booleano: true, false false

Acelera las lecturas de archivos grandes usando el directorio de caché de archivos como un búfer de carga previa con varios trabajadores para descargar varias partes de un archivo en paralelo.

Las descargas paralelas se habilitan automáticamente cuando habilitas el almacenamiento en caché de archivos. Para obtener más información sobre el almacenamiento en caché de archivos, consulta Cómo usar el almacenamiento en caché de archivos de Cloud Storage FUSE.

Para obtener más información sobre las descargas en paralelo y cómo configurar las propiedades compatibles, consulta Descargas en paralelo.

Valor booleano: true, false. true
Especifica la cantidad máxima de goroutines que se pueden generar por archivo para descargar el objeto de Cloud Storage en la caché de archivos. Número entero 16
Es la cantidad máxima de goroutines que se pueden generar en cualquier momento en todos los trabajos de descarga de archivos.
  • Número entero
  • -1: Especifica descargas paralelas ilimitadas.
  • 0: Inhabilita las descargas paralelas. Solo se puede usar si no se pasa --enable-parallel-downloads o si se pasa como false.
  • >0: No especifica ningún límite superior. Internamente, Cloud Storage FUSE limita el valor según la cantidad máxima de goroutines que se pueden generar, especificada por la configuración de tu máquina.
El doble de la cantidad de núcleos de CPU en tu máquina o 16, lo que sea mayor.
Especifica el tamaño de cada solicitud de lectura en MiB que cada goroutine realiza en Cloud Storage cuando descarga el objeto en la caché de archivos. Número entero 200
Crea una entrada de tipo caché con el tipo NonexistentType si no se encuentra un archivo en Cloud Storage. Si el archivo se crea en Cloud Storage, pero la entrada NonexistentType del archivo se almacena en caché, Cloud Storage FUSE no puede solicitar ese archivo hasta que la entrada NonexistentType se quite del tipo caché. Valor booleano: true, false false
Es la memoria de tamaño máximo que puede usar la caché de estadísticas, en MiB. La caché de estadística siempre se mantiene por completo en la memoria.
  • Número entero. Te recomendamos que hagas lo siguiente:
    • 32 si tu carga de trabajo incluye hasta 20,000 archivos
    • Si tu carga de trabajo supera los 20,000 archivos, aumenta el tamaño en valores de 10 por cada 6,000 archivos adicionales, en los que la caché de estadísticas usa un promedio de 1,500 MiB por archivo.
  • -1: No establece ningún límite, por lo que la caché de estadísticas usa tanta memoria como sea necesario.
  • 0: Inhabilita la caché de estadísticas.
32

Define el tiempo de actividad (TTL) en segundos de las entradas de la caché de estadísticas negativas, que almacenan en caché los resultados de los archivos que no existen.

  • Número entero que representa segundos, por ejemplo: 10 (10 segundos).
  • 0: Inhabilita el almacenamiento en caché de estadísticas negativas.
  • -1: Permite el almacenamiento en caché negativo ilimitado de estadísticas y deshabilita el vencimiento del TTL.
5
Define el tiempo de actividad (TTL), en segundos, de las entradas de metadatos almacenadas en caché.
  • Es un número entero que representa segundos, por ejemplo, 30 (30 segundos).
  • -1: Omite el vencimiento del TTL y entrega archivos desde la caché cuando estén disponibles.
  • 0: Usa el archivo más actualizado. El uso de este valor emite una llamada de metadatos de Get para garantizar que la generación de objetos del archivo en la caché coincida con lo que se almacena en Cloud Storage. Para obtener más información, consulta Configura la invalidación de caché.
60
El tamaño máximo en MiB por directorio que puede usar el tipo de caché. La caché de tipo siempre se mantiene por completo en la memoria.
  • Número entero. Te recomendamos que hagas lo siguiente:
    • 4 si la cantidad máxima de archivos dentro de un solo directorio del bucket que activas contiene 20,000 archivos o menos.
    • Si la cantidad máxima de archivos dentro de un solo directorio que activas contiene más de 20,000 archivos, aumenta el valor en 1 por cada 5,000 archivos, que es un promedio de 200 bytes por archivo.
  • -1: No especifica ningún límite y permite que la caché de tipo use tanta memoria como sea necesario.
  • 0: Inhabilita la caché de tipos.
4
Activa solo un directorio específico dentro de un bucket. Es una ruta de acceso, por ejemplo, "/etc/gcsfuse.yaml".
Inhabilita la autenticación para las solicitudes. Esta opción se debe configurar si usas un extremo personalizado que no admite la autenticación. Esta opción también se debe configurar si usas Cloud Storage FUSE con buckets públicos. Valor booleano: true, false false
Especifica una ruta de acceso absoluta al archivo de claves JSON de las credenciales para autenticar solicitudes a Cloud Storage. De forma predeterminada, Cloud Storage FUSE usa credenciales predeterminadas de la aplicación para autenticar solicitudes. Es una URL. Cuando no se establece esta opción, se usan las credenciales predeterminadas de la aplicación.
Especifica si se debe volver a usar el token adquirido de --token-url. Valor booleano: true, false true
Especifica una URL para obtener un token de acceso cuando --key-file está ausente. Es una URL.
Especifica un proyecto para usarlo en la facturación cuando se accede al bucket activado. Esta opción a menudo es obligatoria cuando se activa un bucket habilitado con los pagos del solicitante. Es un valor de cadena que representa un "ID del proyecto". ""
Especifica el protocolo que se usa para comunicarse con el backend de Cloud Storage. http1
Especifica un extremo personalizado alternativo para recuperar datos. El extremo personalizado debe admitir los recursos y las operaciones equivalentes al extremo JSON de Cloud Storage, https://storage.googleapis.com/storage/v1. Si no se especifica un extremo personalizado, Cloud Storage FUSE usa el extremo global de la API de JSON de Cloud Storage, https://storage.googleapis.com/storage/v1. Si la autenticación no es compatible con el extremo personalizado que especificas, establece la marca --anonymous-access en true para omitir la autenticación. Un extremo, por ejemplo: "http://localhost:443/storage/v1".
Especifica el tiempo que el cliente HTTP de Cloud Storage FUSE puede esperar para obtener una respuesta del servidor antes de que se agote el tiempo de espera. Duración, por ejemplo: 1h10m10s para 1 hora, 10 minutos y 10 segundos. 0s especifica que no hay tiempo de espera. 0s, que no especifica tiempo de espera
Especifica el límite de ancho de banda en el que Cloud Storage FUSE puede leer datos de Cloud Storage, medido en un período de 30 segundos. "-1", que no especifica ningún límite.
Especifica un límite para las operaciones realizadas por segundo, medido en un período de 30 segundos. Número de punto flotante. -1 especifica que no hay límite. "-1"
Especifica la cantidad máxima de conexiones TCP permitidas por servidor. Esto entra en vigor cuando --client-protocol se establece en http1. 0
Especifica la cantidad máxima de conexiones inactivas permitidas por servidor. Esto entra en vigor cuando --client-protocol se establece en http1. Número entero entre 0 y 2147483647. 0 especifica que no hay límite en las conexiones TCP. 0
Especifica el tamaño de fragmento de los datos que se descargarán desde Cloud Storage, en megabytes (MB). Número entero entre 1 y 1024. 200
Incluye de manera implícita carpetas y carpetas administradas. Consulta la documentación de archivos y directorios en GitHub para obtener más información. Valor booleano: true, false false
Habilita la caché de listas y define el tiempo de actividad (TTL) en segundos de las entradas de las listas almacenadas en caché. La caché de listas se mantiene en la memoria caché de la página, que el kernel controla según la memoria disponible.
  • Número entero que representa segundos, por ejemplo: 10 (10 segundos).
  • 0: Inhabilita el almacenamiento en caché de la lista.
  • -1: Omite el vencimiento de la entrada y siempre muestra la respuesta de lista de la caché cuando está disponible.
0
Indica a Cloud Storage FUSE que ignore las señales de interrupción del sistema, como SIGINT activada por Control+C. Esto evita que las señales finalicen las operaciones en tránsito. Valor booleano: true, false. true
Bits de permisos para directorios, en octal. Número entero entre 000 y 777 (inclusive). "755"
Especifica los bits de permisos para los archivos, en octal. Número entero entre 000 y 777 (inclusive). "644"
Especifica opciones de activación adicionales específicas del sistema.
Especifica el propietario del identificador de grupo (GID) de todos los inodos.
  • Es un número entero que representa un GID.
  • -1: Se usa el GID del llamador.
-1
Permite cambiar el nombre de los directorios que contienen menos subordinados que el límite especificado. Número entero entre 0 y 2147483647. 0
Especifica una ruta de acceso al directorio temporal en el que las operaciones de escritura se publican en etapa de pruebas antes de subirse a Cloud Storage. Es una ruta de acceso de cadena, por ejemplo, "/mnt/ssd/example-user-gcsfuse-temp-dir". "/tmp"
Especifica el propietario del identificador de usuario (UID) de todos los inodos.
  • Es un número entero que representa un UID.
  • -1: Se usa el UID de la persona que llama.
-1
Ejecuta el comando gcsfuse en primer plano. Valor booleano: true, false false
Especifica la duración máxima que Cloud Storage FUSE puede suspender en un bucle de reintentos con retirada exponencial. Una vez que la duración de retirada excede la duración máxima especificada, el reintento continúa con la duración máxima especificada. Duración, por ejemplo: 1h5m50s (1 hora, 5 minutos y 50 segundos) o 60s (60 segundos). 30s
Especifica el multiplicador para la retirada exponencial entre reintentos consecutivos. Número de punto flotante "2"

Exporta métricas a Cloud Monitoring con el intervalo especificado.

Número entero que representa un valor en segundos, por ejemplo: 10 (10 segundos). 0 no especifica ninguna exportación. 0

Expone el extremo de métricas de Prometheus en el puerto y la ruta de acceso /metrics especificados.

Es un número entero que representa el puerto que deseas especificar. 0
Imprime mensajes de depuración cuando una exclusión se mantiene por mucho tiempo. Si se especifica esta opción, el nivel de gravedad de los registros se establece de forma automática en trace, que incluye registros de seguimiento, registros de depuración, registros de información, registros de advertencia y registros de errores. Valor booleano: true, false. false
Sale del programa cuando se detectan incumplimientos de variantes internas. Valor booleano: true, false. false
Controla el flujo de la ruta de escritura para que los datos se suban directamente a Cloud Storage a medida que se escriben, en lugar de preparar la escritura de forma local y subirla después de close() o fsync(). Para obtener más información sobre las escrituras de transmisión, consulta la documentación de GitHub de Cloud Storage FUSE. Valor booleano: true, false. true

Especifica la cantidad máxima de fragmentos de datos disponibles para las escrituras de transmisión en todos los archivos. De forma predeterminada, cada archivo usa un fragmento de datos de 32 MiB.

  • Número entero
  • 0: Inhabilita las escrituras de transmisión.
  • -1: Establece el valor en fragmentos ilimitados.
  • Valor predeterminado para máquinas de especificaciones bajas con recursos limitados: 4
  • Valor predeterminado para máquinas de alta especificación con una gran cantidad de recursos: 1600

Volver al principio