Cette page explique comment utiliser le fichier de configuration Cloud Storage FUSE pour configurer le comportement de Cloud Storage FUSE de manière persistante. Pour utiliser le fichier de configuration, spécifiez le chemin d'accès au fichier de configuration dans l'option --config-file
lors de votre commande d'installation.
Le fichier de configuration est un fichier YAML qui utilise le format et les champs suivants. Certains champs peuvent également être spécifiés à l'aide d'options de ligne de commande.
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 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 cache-dir: "CACHE_DIR" 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
Champs de configuration
Le tableau suivant décrit les champs que vous pouvez spécifier dans votre fichier de configuration. Sauf indication contraire, tous les champs sont facultatifs.
Champ | Description | Valeur valide | Valeur par défaut |
---|---|---|---|
app-name |
Nom de l'application de l'installation. | Valeur de chaîne, par exemple: "my-bucket-mount" . |
"" |
file-path |
Chemin d'accès au fichier journal dans lequel les journaux seront écrits.
Si ce champ n'est pas spécifié, les journaux sont acheminés vers stdout lorsque Cloud Storage FUSE s'exécute en mode premier plan et vers syslogs lorsque Cloud Storage FUSE s'exécute en mode arrière-plan. |
Valeur de chaîne, par exemple: "/var/log" . |
"" |
format |
Spécifie le format du fichier journal. |
|
json |
severity |
Niveau de gravité pour lequel Cloud Storage FUSE doit générer des journaux. Les niveaux de gravité sont classés du moins grave au plus grave. Par exemple, lorsque vous spécifiez |
|
info |
max-file-size-mb |
Taille maximale en mégaoctets (Mo) que les fichiers journaux peuvent atteindre avant d'être alternés. | Entier. La valeur minimale est 1 . |
512 |
backup-file-count |
Nombre maximal de fichiers journaux à conserver, à l'exclusion du fichier actif dans lequel les journaux sont écrits. |
|
10 |
compress |
Indique si les fichiers journaux alternés sont compressés à l'aide de gzip . |
Valeur booléenne: true , false |
true |
max-size-mb |
Taille maximale en Mio que le cache de fichiers peut utiliser. Si cette option est présente, |
|
-1 |
cache-file-for-range-read |
Indique si l'objet complet doit être téléchargé de manière asynchrone et stocké dans le répertoire de cache Cloud Storage FUSE lorsque la première lecture est effectuée à partir d'un décalage différent de zéro. Cette option doit être définie sur true si vous prévoyez d'effectuer plusieurs lectures aléatoires ou partielles.
Remarque : Si vous effectuez une lecture partielle commençant au décalage |
Valeur booléenne: true , false |
false |
enable-parallel-downloads |
Accélère les lectures de fichiers volumineux en utilisant le répertoire de cache de fichiers comme tampon de préchargement utilisant plusieurs nœuds de calcul afin de télécharger des fichiers volumineux en parallèle. Pour en savoir plus sur les téléchargements parallèles et configurer les propriétés de compatibilité, consultez la page Améliorer les performances de lecture en utilisant les téléchargements parallèles. Pour utiliser les téléchargements parallèles, vous devez d'abord activer la mise en cache de fichiers. |
Valeur booléenne: true , false |
false |
parallel-downloads-per-file |
Spécifie le nombre maximal de goroutines à générer par fichier pour télécharger l'objet de Cloud Storage vers le cache de fichiers. |
Integer | 16 |
max-parallel-downloads |
Nombre maximal de goroutines pouvant être lancées à un même moment pour tous les jobs de téléchargement de fichiers. |
|
Le double du nombre de cœurs de processeur de votre machine ou 16 , selon la valeur la plus élevée. |
download-chunk-size-mb |
Spécifie la taille en Mio de chaque requête de lecture que chaque goroutine envoie à Cloud Storage lors du téléchargement de l'objet dans le cache de fichiers. | Integer | 50 |
enable-nonexistent-type-cache |
Crée une entrée de cache de types NonexistentType si un fichier est introuvable dans Cloud Storage. Si le fichier est créé dans Cloud Storage, mais que l'entrée NonexistentType du fichier est mise en cache, Cloud Storage FUSE ne peut pas demander ce fichier tant que l'entrée NonexistentType n'est pas supprimée du cache du type. |
Valeur booléenne: true , false |
false |
stat-cache-max-size-mb |
Taille maximale de mémoire que le cache de statistiques peut utiliser, en Mio. Le cache de statistiques est toujours entièrement conservé en mémoire. |
|
32 |
negative-ttl-secs |
Définit la valeur TTL (Time To Live) en secondes des entrées de cache de statistiques négatives, qui stockent les résultats des fichiers inexistants dans le cache. |
|
5 |
ttl-secs |
Définit la valeur TTL (Time To Live), en secondes, des entrées de métadonnées mises en cache. |
|
60 |
type-cache-max-size-mb |
Taille maximale en Mio par répertoire que le cache de types peut utiliser. Le cache de types est toujours entièrement conservé en mémoire. |
|
4 |
cache-dir |
Spécifie le répertoire où stocker les données du cache de fichiers. Pour savoir comment activer la mise en cache de fichiers, consultez la section Utiliser la mise en cache de fichiers. |
Un chemin d'accès, par exemple: "/tmp/gcsfuse-cache-path" . |
|
only-dir |
Installe uniquement un répertoire spécifique dans un bucket. | Un chemin d'accès, par exemple: "/etc/gcsfuse.yaml" . |
|
anonymous-access |
Désactive l'authentification pour les requêtes. Cette option doit être définie si vous utilisez un point de terminaison personnalisé qui n'est pas compatible avec l'authentification. Cette option doit également être définie si vous utilisez Cloud Storage FUSE avec des buckets publics. | Valeur booléenne: true , false |
false |
key-file |
Spécifie un chemin d'accès absolu au fichier de clé JSON des identifiants pour authentifier les requêtes à Cloud Storage. Par défaut, Cloud Storage FUSE utilise les Identifiants par défaut de l'application pour authentifier les requêtes. | une URL ; | Si cette option n'est pas définie, les identifiants par défaut de l'application sont utilisés. |
reuse-token-from-url |
Indique si le jeton acquis à partir de --token-url doit être réutilisé. |
Valeur booléenne: true , false |
true |
token-url |
Spécifie une URL permettant d'obtenir un jeton d'accès lorsque le fichier --key-file est absent. |
une URL ; | |
billing-project |
Spécifie un projet à utiliser pour la facturation lorsque le bucket installé est accessible. Cette option est souvent requise lors de l'installation d'un bucket activé à l'aide des Paiements par le demandeur. | Valeur de chaîne représentant un "ID de projet". | "" |
client-protocol |
Spécifie le protocole utilisé pour communiquer avec le backend Cloud Storage. |
|
http1 |
custom-endpoint |
Spécifie un autre point de terminaison personnalisé permettant d'extraire des données.
Le point de terminaison personnalisé doit accepter les ressources et les opérations équivalentes au point de terminaison JSON Cloud Storage, https://storage.googleapis.com/storage/v1 .
Si aucun point de terminaison personnalisé n'est spécifié, Cloud Storage FUSE utilise le point de terminaison global de l'API JSON Cloud Storage, https://storage.googleapis.com/storage/v1 .
Si l'authentification n'est pas disponible sur le point de terminaison personnalisé que vous spécifiez, définissez l'option --anonymous-access sur true pour contourner l'authentification. |
Un point de terminaison, par exemple: "http://localhost:443/storage/v1" . |
|
http-client-timeout |
Spécifie la durée pendant laquelle le client HTTP Cloud Storage FUSE peut attendre d'obtenir une réponse du serveur avant d'expirer. | Durée (par exemple, 1h10m10s pour 1 heure, 10 minutes et 10 secondes) 0s spécifie l'absence de délai d'expiration. |
0s , qui ne spécifie aucun délai avant expiration |
limit-bytes-per-sec |
Spécifie la limite de bande passante à laquelle Cloud Storage FUSE peut lire des données depuis Cloud Storage, mesurée sur une période de 30 secondes. | "-1" , qui ne spécifie aucune limite. |
|
limit-ops-per-sec |
Spécifie une limite relative aux opérations effectuées par seconde, mesurée sur une période de 30 secondes. | Nombre à virgule flottante. -1 ne spécifie aucune limite. |
"-1" |
max-conns-per-host |
Indique le nombre maximal de connexions TCP autorisées par serveur.
Cela devient effectif lorsque --client-protocol est défini sur http1 . |
0 |
|
max-idle-conns-per-host |
Indique le nombre maximal de connexions inactives autorisées par serveur.
Cela devient effectif lorsque --client-protocol est défini sur http1 . |
Entier compris entre 0 et 2147483647 .
0 ne spécifie aucune limite pour les connexions TCP. |
0 |
sequential-read-size-mb |
Spécifie la taille de segment des données à télécharger depuis Cloud Storage, en mégaoctets (Mo). | Entier compris entre 1 et 1024 . |
200 |
implicit-dirs |
Inclut implicitement les dossiers et les dossiers gérés. Pour en savoir plus, consultez la documentation sur les fichiers et les répertoires dans GitHub. | Valeur booléenne: true , false |
false |
kernel-list-cache-ttl-secs |
Active le cache de liste et définit la valeur TTL (Time To Live) en secondes des entrées de liste mises en cache. Le cache de listes est conservé en mémoire dans le cache de pages, qui est contrôlé par le noyau en fonction de la mémoire disponible. |
| 0 |
ignore-interrupts |
Indique à Cloud Storage FUSE d'ignorer les signaux d'interruption système, tels que les signaux SIGINT déclenchés par Control+C . Cela empêche les signaux d'arrêter les opérations en cours. |
Valeur booléenne: true , false . |
true |
dir-mode |
Bits d'autorisation pour les répertoires, en octal. | Entier compris entre 000 et 777 (inclus). |
"755" |
file-mode |
Spécifie les bits d'autorisation pour les fichiers, en octal. | Entier compris entre 000 et 777 (inclus). |
"644" |
fuse-options |
Spécifie des options d'installation supplémentaires spécifiques au système. | ||
gid |
Spécifie le propriétaire de l'identifiant de groupe (GID) de tous les inodes. |
|
-1 |
rename-dir-limit |
Permet de renommer des répertoires contenant moins de descendants que la limite spécifiée. | Entier compris entre 0 et 2147483647 . |
0 |
temp-dir |
Spécifie un chemin d'accès au répertoire temporaire où les écritures sont stockées en préproduction avant leur importation dans Cloud Storage. | Chemin d'accès en chaîne, par exemple: "/mnt/ssd/example-user-gcsfuse-temp-dir" . |
"/tmp" |
uid |
Spécifie le propriétaire de l'identifiant utilisateur (UID) de tous les inodes. |
|
-1 |
foreground |
Il exécute la commande gcsfuse au premier plan. |
Valeur booléenne: true , false |
false |
max-retry-sleep |
Spécifie la durée maximale pendant laquelle Cloud Storage FUSE est autorisé à se mettre en veille dans une boucle de nouvelle tentative avec un intervalle exponentiel entre les tentatives. Une fois que l'intervalle entre les tentatives dépasse la durée maximale spécifiée, la nouvelle tentative se poursuit avec la durée maximale spécifiée. | Durée, par exemple: 1h5m50s (1 heure, 5 minutes et 50 secondes) ou 60s (60 secondes). |
30s |
multiplier |
Spécifie le multiplicateur pour l'intervalle exponentiel entre les nouvelles tentatives consécutives. | Nombre à virgule flottante | "2" |
cloud-metrics-export-interval-secs |
Exporte les métriques vers Cloud Monitoring avec l'intervalle spécifié. Remarque: L'utilisation de cet indicateur nécessite une configuration supplémentaire. Pour en savoir plus, consultez Configurer l'exportateur Cloud Monitoring. |
Entier représentant une valeur en secondes, par exemple: 10 (10 secondes).
0 spécifie qu'aucune exportation n'est effectuée. |
0 |
prometheus-port |
Exposer le point de terminaison des métriques Prometheus sur le port et le chemin Remarque: L'utilisation de cet indicateur nécessite une configuration supplémentaire. Pour en savoir plus, consultez Configurer l'exportateur Prometheus. |
Entier représentant le port que vous souhaitez spécifier. | 0 |
log-mutex |
Affiche des messages de débogage lorsqu'un mutex est conservé trop longtemps. Si cette option est spécifiée, le niveau de gravité des journaux est automatiquement défini sur trace , ce qui inclut les journaux trace, les journaux de débogage, les journaux d'informations, les journaux d'avertissement et les journaux d'erreurs. |
Valeur booléenne: true , false . |
false |
exit-on-invariant-violation |
Quitte le programme lorsque des infractions aux variantes internes sont détectées. | Valeur booléenne: true , false . |
false |
enable-streaming-writes |
Contrôle le flux du chemin d'écriture afin que les données soient importées directement dans Cloud Storage au moment de l'écriture, au lieu de mettre en scène complètement l'écriture localement et de l'importer sur close() ou fsync() .
Pour en savoir plus sur les écritures en streaming, consultez la documentation GitHub de Cloud Storage FUSE. |
Valeur booléenne: true , false . |
false |