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 del archivo de configuración en la marca --config-file
como parte del comando mount.
Información general sobre el archivo de configuración de Cloud Storage FUSE
El archivo de configuración es un archivo YAML que usa el siguiente formato y los siguientes campos. Algunos de los campos también se pueden especificar mediante opciones de línea de comandos.
Formato y campos del archivo de configuración de Cloud Storage FUSE
En el siguiente ejemplo de configuración de 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-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 de configuración
En la siguiente tabla se describen los campos que puede especificar en su archivo de configuración. A menos que se indique lo contrario, todos los campos son opcionales.
Campo | Descripción | Valor válido | Valor predeterminado |
---|---|---|---|
|
Nombre de la aplicación del montaje. | Valor de cadena; por ejemplo, "my-bucket-mount" . |
"" |
|
Ruta al archivo de registro en el que se escribirán los registros.
Si no se especifica este campo,
los registros se dirigen a stdout cuando Cloud Storage FUSE se ejecuta en modo de primer plano
y a syslogs cuando Cloud Storage FUSE se ejecuta en modo de segundo plano. |
Valor de cadena; por ejemplo, "/var/log" . |
"" |
|
Especifica el formato del archivo de registro. |
|
json |
|
El nivel de gravedad de los registros que quieres que genere Cloud Storage FUSE. Los
niveles de gravedad se ordenan de menor a mayor. Por ejemplo, si especificas |
|
info |
|
El tamaño máximo en megabytes (MB) que pueden alcanzar los archivos de registro antes de rotarse. | Número entero. El valor mínimo es 1 . |
512 |
|
El número máximo de archivos de registro rotados que se conservarán, sin incluir el archivo activo en el que se escriben los registros. |
|
10 |
|
Especifica si los archivos de registro rotados se comprimen
con gzip . |
Valor booleano: true o false |
true |
|
Habilita la caché de archivos y especifica el directorio para almacenar los datos de la caché de archivos. |
Por ejemplo, una ruta: "/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 en su directorio montado. |
|
-1 |
|
Determina si el objeto completo se debe descargar de forma asíncrona y almacenar en el directorio de caché de FUSE de Cloud Storage cuando se complete la primera lectura desde un desplazamiento distinto de cero. Esta opción debe configurarse como true si tienes previsto realizar varias lecturas aleatorias o lecturas parciales.
|
Valor booleano: true o false |
false |
|
Acelera las lecturas de archivos grandes mediante el directorio de caché de archivos como búfer de prefetched. Para ello, usa varios procesos de trabajo 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 Usar el almacenamiento en caché de archivos de Cloud Storage FUSE. Para obtener más información sobre las descargas paralelas y cómo configurar las propiedades compatibles, consulta el artículo Descargas paralelas. |
Valor booleano: true o false . |
true |
|
Especifica el número máximo de goroutines que se van a generar por archivo para descargar el objeto de Cloud Storage en la caché de archivos. | Entero | 16 |
|
Número máximo de goroutines que se pueden generar en un momento dado en todos los trabajos de descarga de archivos. |
|
El doble del número de núcleos de CPU de tu máquina o 16 , lo que sea mayor. |
|
Especifica el tamaño de cada solicitud de lectura en MiB que cada goroutine hace a Cloud Storage al descargar el objeto en la caché de archivos. | Entero | 200 |
|
Crea una entrada de caché de tipo 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 podrá solicitar ese archivo hasta que se elimine la entrada NonexistentType de la caché de tipos. |
Valor booleano: true o false |
false |
|
Tamaño máximo de memoria que puede usar la caché de estadísticas, en MiB. La caché de estadísticas siempre se mantiene por completo en la memoria. |
|
32 |
|
Define el tiempo de vida (TTL) en segundos de las entradas de la caché de estadísticas negativas, que almacenan los resultados de los archivos que no existen en la caché. |
|
5 |
|
Define el tiempo de vida (TTL) en segundos de las entradas de metadatos almacenadas en caché. |
|
60 |
|
Tamaño máximo en MiB por directorio que puede usar la caché de tipos. La caché de tipos siempre se mantiene por completo en la memoria. |
|
4 |
|
Monta solo un directorio específico de un segmento. | Por ejemplo, una ruta: "/etc/gcsfuse.yaml" . |
|
|
Inhabilita la autenticación de las solicitudes. Esta opción debe configurarse si utilizas un endpoint personalizado que no admite la autenticación. Esta opción también debe configurarse si usas Cloud Storage FUSE con segmentos públicos. | Valor booleano: true o false |
false |
|
Especifica una ruta absoluta al archivo de clave JSON de las credenciales para autenticar las solicitudes a Cloud Storage. De forma predeterminada, Cloud Storage FUSE usa las credenciales predeterminadas de la aplicación para autenticar las solicitudes. | Una URL. | Si no se define esta opción, se usarán las credenciales predeterminadas de la aplicación. |
|
Especifica si se debe reutilizar el token adquirido de
--token-url . |
Valor booleano: true o false |
true |
|
Especifica una URL para obtener un token de acceso cuando no se incluye el --key-file . |
Una URL. | |
|
Especifica un proyecto que se usará para la facturación cuando se acceda al segmento montado. Esta opción suele ser obligatoria al montar un segmento en el que se ha habilitado la función Pagos del solicitante. | Valor de cadena que representa un ID de proyecto. | "" |
|
Especifica el protocolo que se usa para comunicarse con el backend de Cloud Storage. |
|
http1 |
|
Especifica un endpoint personalizado alternativo para obtener datos.
El endpoint personalizado debe admitir los mismos recursos y operaciones que el endpoint JSON de Cloud Storage, storage.UNIVERSE_DOMAIN_NAME:443 .
Si no se especifica ningún endpoint personalizado, Cloud Storage FUSE usa el endpoint global de la API JSON de Cloud Storage, storage.googleapis.com:443 .
Si la autenticación no se admite en el endpoint personalizado que especifiques, asigna el valor true a la marca --anonymous-access para omitir la autenticación. |
Un endpoint, por ejemplo: storage.googleapis.com:443 . |
|
|
Especifica cuánto tiempo puede esperar el cliente HTTP de Cloud Storage FUSE 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 especifica que no hay tiempo de espera |
|
Especifica el límite de ancho de banda al que Cloud Storage FUSE puede leer datos de Cloud Storage, medido en un periodo de 30 segundos. | "-1" , que no especifica ningún límite. |
|
|
Especifica un límite para las operaciones realizadas por segundo, medido en un periodo de 30 segundos. | Número de punto flotante. -1 especifica que no hay límite. |
"-1" |
|
Especifica el número máximo de conexiones TCP permitidas por servidor.
Esta opción se aplica cuando --client-protocol se define como http1 . |
0 |
|
|
Especifica el número máximo de conexiones inactivas permitidas por servidor.
Esta opción se aplica cuando --client-protocol se define como 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 los fragmentos de los datos que se van a descargar de Cloud Storage, en megabytes (MB). | Número entero entre 1 y 1024 . |
200 |
|
Incluye implícitamente carpetas y carpetas gestionadas. Consulta la documentación de archivos y directorios en GitHub para obtener más información. | Valor booleano: true o false |
false |
|
Habilita la caché de listas y define el tiempo de vida (TTL) en segundos de las entradas de lista almacenadas en caché. La caché de listas se mantiene en la memoria de la caché de páginas, que el kernel controla en función de la memoria disponible. |
| 0 |
|
Indica a Cloud Storage FUSE que ignore las señales de interrupción del sistema, como SIGINT, que se activa con Control+C . De esta forma, se evita que las señales interrumpan las operaciones en curso. |
Valor booleano: true o false . |
true |
|
Bits de permisos de directorios en octal. | Número entero entre 000 y 777 (ambos inclusive). |
"755" |
|
Especifica los bits de permisos de los archivos en octal. | Número entero entre 000 y 777 (ambos inclusive). |
"644" |
|
Especifica opciones de montaje adicionales específicas del sistema. | ||
|
Especifica el propietario del identificador de grupo (GID) de todos los inodos. |
|
-1 |
|
Permite cambiar el nombre de los directorios que contengan menos elementos descendientes que el límite especificado. | Número entero entre 0 y 2147483647 . |
0 |
|
Especifica una ruta al directorio temporal en el que se almacenan las escrituras antes de subirse a Cloud Storage. | Una ruta de cadena, por ejemplo: "/mnt/ssd/example-user-gcsfuse-temp-dir" . |
"/tmp" |
|
Especifica el propietario del identificador de usuario (UID) de todos los nodos de índice. |
|
-1 |
|
Ejecuta el comando gcsfuse en primer plano. |
Valor booleano: true o false |
false |
|
Especifica el número máximo de veces que se reintenta una operación si falla, lo que evita bucles de reintentos infinitos. |
|
0 |
|
Especifica la duración máxima que puede permanecer inactivo Cloud Storage FUSE en un bucle de reintentos con retroceso exponencial. Una vez que la duración del tiempo de espera supera la duración máxima especificada, el reintento continúa con la duración máxima especificada. | Por ejemplo, la duración: 1h5m50s (1 hora, 5 minutos y 50 segundos) o 60s (60 segundos). |
30s |
|
Especifica el multiplicador del tiempo de espera 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 especifica que no se exporte nada. |
0 |
|
Expone el endpoint de métricas de Prometheus en el puerto y la ruta |
Número entero que representa el puerto que quieres especificar. | 0 |
|
Imprime mensajes de depuración cuando se mantiene un mutex durante demasiado tiempo. Si se especifica esta opción, el nivel de gravedad de los registros se define automáticamente como trace , que incluye registros de seguimiento, de depuración, de información, de advertencia y de error. |
Valor booleano: true o false . |
false |
|
Sale del programa cuando se detectan infracciones de variantes internas. | Valor booleano: true o 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 almacenarlos por completo de forma local y subirlos al close() o al fsync() .
Para obtener más información sobre las escrituras de streaming, consulta la documentación de GitHub de Cloud Storage FUSE. |
Valor booleano: true o false . |
true |
|
Especifica el número máximo de fragmentos de datos disponibles para la transmisión de escritura en todos los archivos. Cada archivo usa un fragmento de datos de 32 MiB de forma predeterminada. |
|
|
|
Especifica la prefetched asíncrona de partes de un objeto de Cloud Storage en un búfer en memoria, lo que permite que las lecturas posteriores se sirvan desde el búfer en lugar de requerir llamadas de red. | Valor booleano: true o false |
false |
|
Especifica el número máximo de bloques disponibles para lecturas almacenadas en búfer en todos los controladores de archivos. . |
|
40 |