Utilitaire OCIFS

L'utilitaire OCIFS vous permet de monter des buckets Oracle Cloud Infrastructure Object Storage en tant que systèmes de fichiers. Vous pouvez ensuite gérer les objets dans les buckets en tant que fichiers et répertoires standard.

Problème connu OCIFS

Le problème connu suivant est un bogue temporaire découvert dans l'utilitaire OCIFS. Ce bogue est en cours de correction et une solution de contournement est fournie.

Certaines régions sont obsolètes ou manquantes dans l'utilitaire OCIFS, versions 1.1 et 1.2

Dans les versions 1.1 et 1.2 de l'utilitaire OCIFS, certaines régions sont obsolètes ou manquantes. Vous risquez de recevoir l'erreur suivante lors de la tentative de montage d'un bucket de stockage :

# mount -t fuse.ocifs bucket1 /mnt/dir 
Failed to get Object Storage namespace
Error: Couldn't resolve host name
ERROR: Failed to init storage connect

Solution de contournement

Si vous rencontrez ce message, utilisez l'option region=region_name.realm_domain avec la commande mount. L'option region remplace la région indiquée dans le fichier de configuration de l'interface de ligne de commande, si vous utilisez l'authentification basée sur une clé d'API. Il aborde également ce problème pour les méthodes d'authentification du principal d'instance et du principal de ressource.

Par exemple, pour monter bucket1 dans la région uk-gov-london-1 dans le domaine oraclegovcloud.uk, procédez comme suit :

# mount -t fuse.ocifs -o region=uk-gov-london-1.oraclegovcloud.uk bucket1 /mnt/dir 
Remarque

Si vous utilisez la méthode d'authentification du principal d'instance avec la version 1.2 de l'utilitaire OCIFS, vous pouvez continuer à rencontrer ce message d'erreur, même avec l'option region=region_name.realm_domain. Dans ce cas, passez à la version 1.1 de l'utilitaire OCIFS, puis réessayez.

Installer l'utilitaire OCIFS

Installez l'utilitaire OCIFS sur des systèmes ou des instances avec Oracle Linux 8 ou version ultérieure.

Prérequis :

  • OCI Object Storage : assurez-vous que le système ou l'instance sur lequel vous prévoyez d'installer OCIFS a accès ou peut se connecter à un bucket Object Storage existant à monter. Le bucket peut être vide ou déjà rempli avec des objets. Pour plus d'informations concernant Object Storage, reportez-vous à Présentation d'Object Storage. Pour plus d'informations sur la création d'un bucket Object Storage, reportez-vous à Création d'un bucket.

  • Espace disque local : OCIFS utilise l'espace disque local pour mettre en cache les objets Object Storage. OCIFS met en cache les objets d'un bucket Object Storage monté dans un répertoire que vous pouvez indiquer. Pour de meilleures performances, désignez un répertoire local pour la mise en cache sur un périphérique de stockage avec un temps d'accès rapide.

    Assurez-vous également que le répertoire de cache se trouve sur un périphérique de stockage disposant de suffisamment d'espace libre pour héberger l'intégralité du contenu du chemin de bucket Object Storage monté ou, au minimum, tous les objets du bucket à lire ou à écrire.
    Remarque

    Les opérations OCIFS peuvent échouer si le périphérique de stockage où se trouve le répertoire de cache est plein. Pour plus d'informations sur la mise en cache OCIFS, reportez-vous à Options de cache OCIFS.
  • Fichier de configuration de la CLI : par défaut, OCIFS utilise la méthode d'authentification basée sur une clé d'API pour authentifier Object Storage. Cette méthode d'authentification nécessite un fichier de configuration de l'interface de ligne de commande qui contient des entrées propres à OCIFS. Pour plus d'informations sur la configuration du fichier de configuration pour OCIFS, reportez-vous à Authentification basée sur une clé d'API.

Pour installer l'utilitaire OCIFS, procédez comme suit :

  1. Effectuez les prérequis.
  2. Activez le référentiel oci_included, qui contient le package ocifs. Ce référentiel est activé par défaut dans les images de plate-forme Oracle Linux.
    Pour plus d'informations, reportez-vous à Installation de logiciels sur des instances Oracle Linux.
  3. Installez le package ocifs :
    sudo dnf install ocifs

Mise à jour de l'utilitaire OCIFS

Pour effectuer une mise à jour vers la dernière version de ocifs, procédez comme suit :

sudo yum update ocifs

Détails de l'utilitaire OCIFS

Lorsque vous montez un bucket Object Storage avec OCIFS, il peut être utilisé en tant que système de fichiers, ce qui vous permet de gérer les objets qu'il contient en tant que répertoires et fichiers standard.

Bien qu'il existe des objets dans le bucket Object Storage dans une structure plate, OCIFS simule une structure de répertoire à l'aide de chaînes de préfixe présentes dans les noms d'objet qui incluent des barres obliques (/). OCIFS est implémenté en tant que système de fichiers FUSE. Vous n'avez donc pas besoin de privilèges root pour utiliser le système de fichiers.

Remarque

Un système de fichiers OCIFS n'est pas un système de fichiers partagé. Pour éviter toute altération des données d'objet, n'utilisez pas OCIFS pour monter le même bucket Object Storage (ou tout sous-dossier de bucket qui se chevauche) plusieurs fois simultanément. Par ailleurs, ne modifiez pas directement un objet de bucket (par exemple, avec la console, l'interface de ligne de commande ou l'API) pendant le montage du bucket Object Storage.

Pour plus d'informations concernant Object Storage, reportez-vous à Présentation d'Object Storage.

Pour plus d'informations sur le montage avec OCIFS, reportez-vous à Montage et démontage avec OCIFS.

Syntaxe

ocifs [--auth=method] [--config=file] [--region=name.realm_domain] [--cache=path] [--cache-keep] [--cache-reuse] [--cache-fsfree=] [--cache-purge=never|seconds] [--debug=[,...]] [-o ] [-d] [-f] [-s] [--check-bucket bucket-path] [--version] [--mpu-threshold=size] bucket-path directory

Options de l'utilitaire OCIFS

Les options OCIFS peuvent être indiquées avec la commande ocifs en tant qu'options longues --option[=value] ou avec l'option -o, -o option[=value].

Options de l'utilitaire OCIFS

Option

Description

Pour plus d'informations, reportez-vous à :

auth=method

Définit la méthode d'authentification utilisée par OCIFS lors de l'accès à OCI Object Storage :
  • api_key (valeur par défaut)

  • instance_principal

  • resource_principal

Authentification OCIFS

config=file

Définit le chemin du fichier de configuration de l'interface de ligne de commande utilisé pour l'authentification basée sur une clé d'API.

Authentification basée sur une clé d'API

region=name.realm_domain

Remplace la région indiquée dans le fichier de configuration de la CLI.

Authentification basée sur une clé d'API

Options de cache

Définit le fonctionnement du cache OCIFS :
  • cache=path : définit le chemin du répertoire de cache.

  • cache-fsfree : indique la quantité d'espace disponible sur le système de fichiers où se trouve le répertoire de cache.

  • cache-keep : ne supprime pas le répertoire de cache lorsque le système de fichiers OCIFS est démonté.

  • cache-purge : indique le délai de purge du cache.

  • cache-reuse : réutilise le répertoire de cache existant, même s'il n'est pas vide.

Options de cache OCIFS

debug=level

Définit le ou les niveaux de débogage et affiche les informations de débogage dans la sortie de la commande ocifs. Niveaux de diagnostic :

  • all : déboguer toutes les opérations.

  • cache : opérations de débogage du cache.

  • fops : déboguer les opérations FUSE.

  • oci : déboguer les demandes OCI.

  • other : déboguer d'autres opérations non classifiées.

Pour plusieurs niveaux de débogage, séparez-les par une virgule.

Activation des diagnostics OCIFS

Options FUSE
La commande ocifs accepte les options FUSE suivantes :
  • d : active la sortie de débogage FUSE.

  • f : exécute le processus ocifs au premier plan.

  • s : exécute le processus ocifs à thread unique au lieu de multithread.

En outre, les options de montage FUSE, décrites dans la page de manuel fuse(8), peuvent être spécifiées avec l'option -o.

Page de manuel fuse(8)

check-bucket bucket-path

Vérifie que le bucket Object Storage indiqué est accessible et que les objets qu'il contient portent des noms compatibles avec les règles de montage OCIFS.

Restrictions de montage OCIFS

version

Permet d'indiquer la version de l'utilitaire OCIFS.

Mise à jour de l'utilitaire OCIFS

seuil mpu

Définit la taille de fichier au-dessus de laquelle le téléchargement multipart est utilisé.

Option de téléchargement multipart OCIFS

bucket-path

Indique le bucket Object Storage à monter.

Monter et démonter avec OCIFS

Création d'un bucket

directory

Indique le répertoire sur lequel monter le bucket Object Storage.

Monter et démonter avec OCIFS

Monter et démonter avec OCIFS

Avec l'utilitaire OCIFS, vous pouvez indiquer le bucket Object Storage à monter en fonction de son chemin de bucket.

Les chemins de bucket peuvent être l'un des suivants :

  • Nom de bucket : tous les objets du bucket Object Storage indiqué sont accessibles en tant que fichiers ou répertoires standard dans le répertoire monté.

    Par exemple, pour monter le bucket Object Storage, bucket-1, sur le répertoire mydir :
    $ mkdir ~/mydir
    $ ocifs bucket-1 mydir
  • Sous-dossier de bucket qui est un nom de bucket Object Storage avec un sous-dossier de ce bucket : seuls les objets du sous-dossier de bucket indiqué sont accessibles en tant que fichiers ou répertoires standard dans le répertoire monté.

    Par exemple, pour monter le sous-dossier marathon/participants à partir du bucket Object Storage bucket-1 sur le répertoire mydir, procédez comme suit :
    $ ocifs bucket-1/marathon/participants mydir

Montage d'un bucket Object Storage

Prérequis :

Avant d'utiliser OCIFS pour monter un bucket Object Storage, vérifiez les points suivants :

Pour monter un bucket Object Storage, procédez comme suit :

  • Utilisez la commande ocifs :
    ocifs [options] bucket-path directory

    Ou :

  • Utilisez la commande mount(8) :
    mount -t fuse.ocifs [-o options] bucket-path directory
    Remarque

    Avec la commande mount, les options sont spécifiées avec l'option -o : -o option[=value].

    Remarque

    La commande mount requiert les privilèges appropriés (par exemple, root).

Exemples :

  • Montez le bucket Object Storage bucket-1 sur le répertoire mydir à l'aide de la commande ocifs et conservez le répertoire de cache OCIFS après le démontage :

    $ ocifs --cache-keep bucket-1 mydir
  • Montez le bucket Object Storage bucket-1 sur le répertoire /mnt à l'aide de la commande mount et conservez le répertoire de cache OCIFS après le démontage :

    # mount -t fuse.ocifs -o cache-keep bucket-1 /mnt 

Par défaut, le bucket Object Storage est monté à l'aide de l'authentification basée sur une clé d'API. Reportez-vous à Authentification basée sur une clé d'API.

Démontage d'un bucket Object Storage

  • Utilisez la commande fusermount -u :
    fusermount -u directory

    Ou :

  • Utilisez la commande umount(8) :
    umount directory
    Remarque

    La commande umount requiert les privilèges appropriés (par exemple, root).
Exemples :
  • Démontez le bucket Object Storage monté sur le répertoire mydir à l'aide de la commande fusermount :

    $ fusermount -u mydir
  • Démontez le bucket Object Storage monté sur le répertoire /mnt à l'aide de la commande umount :

    # umount /mnt
Remarque

Le démontage d'un système de fichiers OCIFS enlève le répertoire de cache correspondant, sauf si le système de fichiers est monté avec l'option cache-keep. Reportez-vous à cache-keep.

Restrictions de montage OCIFS

OCIFS impose plusieurs restrictions de montage avant de monter un bucket Object Storage.

Consultez les règles et restrictions de montage suivantes :

Types de fichier, attributs et dimensionnement

OCIFS présente les restrictions de type de fichier, d'attribut et de dimensionnement de montage suivantes.

Types de fichier
OCIFS prend uniquement en charge les fichiers et répertoires standard. OCIFS ne prend pas en charge les liens symboliques, les liens physiques et les fichiers spéciaux (bloc, caractère, fifo, spécial).
Attributs du fichier
Les attributs de fichier (droits d'accès, propriété des utilisateurs et des groupes, temps d'accès/de modification/de modification) ne sont pas persistants entre les montages. Tous les attributs sont réinitialisés lorsqu'un système de fichiers OCIFS est démonté et remonté.
Par défaut, les autorisations sont définies sur 0755 pour les répertoires et 0644 pour les fichiers. La propriété est définie avec les valeurs uid et gid du propriétaire du système de fichiers. Les droits d'accès et la propriété des fichiers ne peuvent pas être modifiés, sauf si le système de fichiers OCIFS est monté par l'utilisateur root. La suppression de l'autorisation d'écriture sur un fichier empêche la mise en cache des données nouvellement lues. Dans ce cas, OCIFS n'est pas autorisé à écrire dans le fichier mis en cache.
Taille du fichier
La taille maximale de fichier OCIFS est de 10 TiB. Taille d'objet maximale OCI Object Storage.

Règles de dénomination

Suivez les règles de dénomination de montage OCIFS pour les fichiers, les chemins, les objets et les préfixes.

Noms de fichier
La taille du nom de fichier OCIFS est limitée à la taille prise en charge par le système de fichiers utilisé pour le cache OCIFS. La limite de taille de nom de fichier la plus courante pour les systèmes de fichiers est de 255 caractères. Si un bucket Object Storage comporte un objet dont la taille du nom de fichier dépasse 255 caractères, l'objet peut être visible sous forme de fichier ou de répertoire sur le système de fichiers OCIFS, mais il est en lecture seule et ne peut pas être mis en cache. Comme l'objet n'est pas mis en cache, le temps d'accès à l'objet peut être lent.
L'accès en lecture/écriture et la mise en cache OCIFS de l'objet peuvent être restaurés en renommant l'objet avec un nom compatible avec le système de fichiers utilisé pour le cache OCIFS. Vous pouvez renommer un objet à l'aide de la console Oracle Cloud, ou vous pouvez renommer l'objet avec OCIFS à l'aide de la commande mv(1).
Noms de chemin
OCIFS prend en charge les noms de chemin avec un maximum de 1023 caractères.
Noms d'objet incompatibles
Un bucket Object Storage peut comporter des objets dont le nom n'est pas compatible avec les conventions de dénomination des systèmes de fichiers Oracle Linux (par exemple : //directory ou directory////mydirectory). Toutefois, ces objets ne sont ni accessibles ni visibles avec OCIFS. Pour être utilisable avec OCIFS, ces objets doivent être renommés avec des noms compatibles avec les conventions de dénomination du système de fichiers Oracle Linux. Vous pouvez utiliser la console Oracle Cloud pour renommer un objet.
Un nom d'objet peut comporter jusqu'à 1024 caractères, et il peut avoir un nom de fichier OCIFS correspondant qui est plus grand que la limite habituelle de nom de fichier du système de fichiers (255 caractères). Toutefois, l'accès à ces objets avec OCIFS est limité.
Pour vérifier si un bucket Object Storage a des noms qui ne sont pas compatibles avec le système de fichiers OCIFS, utilisez l'option --check-bucket de la commande ocifs. Reportez-vous à la section OCIFS Utility Details.
Conflits de nom d'objet et de préfixe
Si le même nom est utilisé à la fois en tant que nom d'objet Object Storage et en tant que nom de préfixe, ce nom est affiché en tant qu'entrée d'annuaire avec OCIFS. L'objet portant le même nom n'est pas accessible via OCIFS. Pour rendre l'objet visible via OCIFS, vous devez le renommer avec un nom qui n'est pas utilisé comme préfixe.
Par exemple, si un bucket Object Storage comporte des objets directory et directory/mydirectory, directory est utilisé à la fois comme nom d'objet et comme nom de préfixe. Dans ce cas, OCIFS affiche l'entrée directory en tant que répertoire et donne accès à tous les objets commençant par le préfixe directory/ (par exemple, objet directory/mydirectory). Cependant, l'objet directory n'est pas accessible.
Utilisez l'option --check-bucket de la commande ocifs pour vérifier si un bucket comporte des noms d'objet et de préfixe en conflit.

Synchronisation de données

OCIFS fournit différentes options pour la synchronisation des données.

Lorsque vous écrivez dans un fichier OCIFS, les données sont synchronisées (les données sont effectivement réécrites dans l'objet Object Storage correspondant) lorsque le fichier OCIFS est fermé. Toute erreur de synchronisation des données est signalée par l'appel système close(2). Pour plus d'informations sur le traitement des retours d'erreur à partir de close(), reportez-vous à la section NOTES de la page de manuel close(2). Vous pouvez également demander la synchronisation explicite des données à l'aide de fsync(2) ou fdatasync(2).

Vous pouvez également effectuer des opérations d'écriture qui synchronisent immédiatement les données pour un fichier spécifique (en ouvrant le fichier avec l'indicateur O_SYNC ou O_DSYNC) ou pour tous les fichiers (en montant le système de fichiers OCIFS avec l'option sync (-o sync).
Remarque

L'utilisation des indicateurs d'ouverture O_SYNC ou O_DSYNC ou de l'option de montage sync peut avoir un impact négatif sur les performances.

Authentification OCIFS

Utilisez les méthodes d'authentification basées sur une clé d'API (par défaut), un principal d'instance ou un principal de ressource avec l'utilitaire OCIFS.

Lors du montage d'un bucket Object Storage à l'aide de l'utilitaire OCIFS, vous pouvez utiliser l'option auth=method avec la commande ocifs pour indiquer la méthode d'authentification à utiliser pour accéder à Object Storage et l'authentifier.

Pour plus d'informations, reportez-vous à :

Authentification basée sur une clé d'API

Indiquer et configurer la méthode d'authentification basée sur une clé d'API pour monter des buckets Object Storage avec OCIFS.

L'authentification basée sur une clé d'API est la méthode d'authentification par défaut pour OCIFS. Elle peut être utilisée à partir d'une instance de calcul OCI ou de tout autre système. Cette méthode d'authentification nécessite un kit SDK OCI local et un fichier de configuration d'interface de ligne de commande. Vous pouvez spécifier le fichier de configuration à l'aide de l'option config=file avec la commande ocifs. Par défaut, le fichier de configuration est ~/.oci/config.

Par exemple, si vous montez le bucket Object Storage, bucket-1, sur le répertoire mydir et que vous souhaitez utiliser l'authentification basée sur une clé d'API avec le fichier de configuration de l'interface de ligne de commande ~/my_config :
$ ocifs --auth=api_key --config=~/my_config bucket-1 mydir

Avant de monter un bucket Object Storage à l'aide de la méthode d'authentification basée sur une clé d'API, assurez-vous que le fichier de configuration de l'interface de ligne de commande (~/.oci/config) a un profil [DEFAULT] et que les entrées sont indiquées dans le tableau suivant.

Entrées de fichier de configuration pour l'authentification basée sur une clé d'API

Entrée

Description

Exemple

user

OCID de l'utilisateur qui accède à Oracle Cloud Infrastructure

user=ocid1.user.oc1..unique_ID

tenancy

OCID de votre location

tenancy=ocid1.tenancy.oc1..unique_ID

region

Une région Oracle Cloud Infrastructure

region=regional_area_name

key_file

Chemin d'accès complet à la clé privée et nom du fichier

key_file=~/.oci/oci_api_key.pem

fingerprint

Empreinte de la clé publique utilisée pour cet utilisateur

fingerprint=00:11:22:33:44:55:66:77:88:99:aa:bb:cc:dd:ee:ff

Pour plus d'informations, reportez-vous à Fichier de configuration du kit SDK et de l'interface de ligne de commande.

Authentification principale de l'instance

Au lieu de la méthode d'authentification basée sur une clé d'API par défaut, vous pouvez utiliser la méthode d'authentification du principal d'instance avec l'utilitaire OCIFS.

Utilisez la méthode d'authentification du principal d'instance pour OCIFS uniquement à partir d'une instance Oracle Cloud Infrastructure autorisée. Cette méthode d'authentification permet aux instances indiquées d'accéder à Object Storage sans fichier de configuration de l'interface de ligne de commande. L'instance détecte alors automatiquement les informations à authentifier.

L'authentification de principal d'instance doit être utilisée pour monter un bucket Object Storage sur une instance de calcul qui a été configurée en tant que principal d'instance.

Par exemple, pour monter un bucket Object Storage, bucket-1, sur le répertoire mydir à l'aide de l'authentification par principal d'instance :

$ ocifs --auth=instance_principal bucket-1 mydir

Pour utiliser l'authentification par principal d'instance, une instance de calcul doit faire partie d'un groupe dynamique et une stratégie doit autoriser le groupe dynamique à gérer Object Storage. Vous pouvez utiliser le verbe manage object-family et le type de ressource pour définir une stratégie qui permet de gérer les objets Object Storage. Pour plus d'informations sur les groupes dynamiques, reportez-vous à Gestion des groupes dynamiques.

Par exemple, pour autoriser une instance de calcul (avec l'ID d'instance ocid1.instance.OCID) à utiliser l'authentification de principal d'instance :

  1. Créez un groupe dynamique dgroup-ocifs avec la règle suivante qui correspond à l'instance de calcul :

    All {instance.id = 'ocid1.instance.OCID'}
  2. Créez une stratégie qui permet à ce groupe dynamique, dgroup-ocifs, de gérer Object Storage :

    Allow dynamic-group dgroup-ocifs to manage object-family in compartment id ocid1.tenancy.tenancy_ID

Pour plus d'informations, reportez-vous à Appel de services à partir d'une instance.

Authentification de principal de ressource

Au lieu de la méthode d'authentification basée sur une clé d'API par défaut, vous pouvez utiliser la méthode d'authentification du principal de ressource avec OCIFS.

Utilisez la méthode d'authentification du principal de ressource avec OCIFS uniquement à partir d'une fonction Oracle Cloud Infrastructure (OCI) autorisée. Cette méthode d'authentification permet à la fonction spécifiée d'accéder à une autre ressource, ou Object Storage, sans fichier de configuration de la CLI. La fonction OCI détecte ensuite automatiquement les informations à authentifier.

Pour utiliser l'authentification des ressources, une fonction OCI doit faire partie d'un groupe dynamique et une stratégie doit autoriser le groupe dynamique à accéder à cette ressource, ou à Object Storage. Pour plus d'informations sur les groupes dynamiques, reportez-vous à Gestion des groupes dynamiques.

Pour plus d'informations sur les fonctions OCI accédant à d'autres ressources OCI, reportez-vous à Accès à d'autres ressources Oracle Cloud Infrastructure.

Pour utiliser la méthode d'authentification des ressources avec OCIFS, entrez --auth=resource_principal lors du montage d'un bucket avec la commande ocifs.

Par exemple, pour monter un bucket Object Storage, bucket-1, sur le répertoire mydir à l'aide de l'authentification de principal de ressource :

$ ocifs --auth=resource_principal bucket-1 mydir

Activation des diagnostics OCIFS

Pour activer les diagnostics OCIFS, utilisez la commande ocifs avec l'option -f pour exécuter le processus OCIFS au premier plan et indiquez les niveaux de débogage avec l'option --debug.

Par exemple, pour afficher des informations de diagnostic sur toutes les opérations OCIFS pour le bucket Object Storage bucket-1, monté sur le répertoire mydir, procédez comme suit :

$ ocifs -f --debug=all bucket-1 mydir

Vous pouvez également utiliser l'option -d avec la commande ocifs pour activer le débogage FUSE sur toutes les opérations.

Par exemple :

$ ocifs -d --debug=all bucket-1 mydir

Options de cache OCIFS

Utilisez les options de cache OCIFS pour indiquer le fonctionnement du cache OCIFS.

L'utilitaire OCIFS met en cache les objets d'un chemin de bucket Object Storage monté dans un répertoire local (par défaut : ~/.ocifs/bucket/).

Si le périphérique de stockage sur lequel se trouve le répertoire de cache est plein, certaines opérations OCIFS peuvent échouer.

Vous pouvez indiquer comment le cache OCIFS est utilisé et fonctionne avec les options de cache ocifs suivantes :

cache

Vous pouvez modifier le répertoire de cache OCIFS avec l'option cache=path de la commande ocifs.

Par défaut, OCIFS met en cache les objets dans ~/.ocifs/. Vous pouvez modifier ce répertoire de cache à l'aide de l'option cache=path. Cette option définit le répertoire de cache sur le chemin spécifié. Le chemin peut être un chemin absolu ou relatif vers le répertoire personnel de l'utilisateur.

Par exemple, pour monter le bucket Object Storage bucket-1 sur le répertoire mydir et utiliser /var/tmp/ocifs-cache en tant que répertoire de cache OCIFS :
$ ocifs --cache=/var/tmp/ocifs-cache bucket-1 mydir

cache-fsfree

Vous pouvez empêcher l'utilitaire OCIFS de remplir accidentellement de l'espace sur le système de fichiers de cache avec l'option cache-fsfree de la commande ocifs.

Utilisez l'option cache-fsfree pour spécifier la quantité d'espace qui doit rester libre sur le système de fichiers de cache. Si l'espace libre est supérieur à la quantité indiquée, OCIFS tente de mettre les données en cache. Sinon, OCIFS n'effectue pas la mise en cache. Si OCIFS ne parvient pas à mettre en cache les données, certaines opérations OCIFS peuvent échouer, telles que les opérations d'écriture.

Remarque

L'option cache-fsfree ne modifie pas la façon dont les attributs des entrées OCIFS (telles que la taille) sont mis en cache.

Les valeurs de taille de répertoire de cache sont répertoriées dans le tableau suivant.

Valeurs de taille de répertoire de cache

Valeur

Description

Exemple

0

Ne vérifiez pas l'espace libre sur le système de fichiers de cache. Avec cette option, OCIFS tente de mettre les données en cache, quel que soit l'espace disponible sur le système de fichiers de cache.

$ ocifs --cache-fsfree=0 bucket-1 mydir

percent%

Cette valeur indique le pourcentage d'espace (entre 0 % et 100 %) qui doit rester libre sur le système de fichiers de cache.

Si le pourcentage est de 100 %, aucune donnée n'est mise en cache.

$ ocifs --cache-fsfree=20% bucket-1 mydir

number[K|M|G|T]

Cette valeur spécifie la quantité d'espace en kilo-octets (K), mégaoctets (M), gigaoctets (G) ou téraoctets (T) qui doit rester libre sur le système de fichiers de cache.

$ ocifs --cache-fsfree=1G bucket-1 mydir

number[K|M|G|T]i

Cette valeur indique la quantité d'espace en kibibytes (Ki), en mébibytes (Mi), en gibibibytes (Gi) ou en tébibytes (Ti) qui doit rester libre sur le système de fichiers de cache.

$ ocifs --cache-fsfree=1Gi bucket-1 mydir

Remarques :

  • Le paramètre par défaut est cache-fsfree=5%.
  • L'utilisation de l'option 0, 0%, 0[K|M|G|T] ou 0[K|M|G|T]i a le même effet.
  • L'utilisation de l'option 100% ou d'une quantité d'espace supérieure ou égale à la taille du système de fichiers a le même effet.

conservation du cache

Vous pouvez conserver le cache OCIFS avec l'option cache-keep de la commande ocifs, même si le système de fichiers OCIFS est démonté.

Le démontage du système de fichiers OCIFS enlève le répertoire de cache OCIFS, sauf si vous montez le système de fichiers avec l'option cache-keep.

Par exemple, pour monter un bucket Object Storage, bucket-1, sur le répertoire mydir, et conserver le cache après le démontage :

$ ocifs --cache-keep bucket-1 mydir

Remarques :

  • Si vous utilisez l'option cache-keep, il se peut que vous ne puissiez pas monter à nouveau le système de fichiers, sauf si vous utilisez ensuite l'option cache-reuse.
  • La conservation des données dans le cache après le démontage du système de fichiers peut améliorer les performances lors du prochain montage du système de fichiers. Cependant, OCIFS ne vérifie pas s'il existe des différences entre les données du cache et les données réelles du bucket Object Storage.

purge de cache

L'option cache-purge de l'utilitaire OCIFS vous permet d'enlever des données du cache OCIFS pour les fichiers qui ont été fermés pendant une durée spécifiée.

Par défaut, le cache OCIFS n'est jamais purgé. Les données du cache sont conservées dans le répertoire du cache tant que le système de fichiers est monté. Le répertoire de cache n'est supprimé que lorsque le système de fichiers OCIFS est démonté.

A l'aide de l'option cache-purge, vous pouvez indiquer la durée pendant laquelle les données restent dans le cache après la fermeture d'un fichier. Vous pouvez l'utiliser pour préserver l'espace disque, en particulier si les fichiers ne sont pas souvent accessibles. Cela est utile, par exemple, si vous écrivez de nouveaux fichiers et que vous n'y accédez plus.

Le délai de purge du cache OCIFS peut être indiqué comme indiqué dans le tableau suivant :

Valeurs de délai de purge du cache OCIFS

Valeur

Description

Exemple

never

Ne purgez jamais le cache OCIFS. Avec cette valeur, les données mises en cache sont conservées tant que le système de fichiers OCIFS est monté. (Valeur par défaut)

$ ocifs --cache-purge=never bucket-1 mydir

délai-temps

Délai de purge, en secondes, avant la purge des données mises en cache. Si le délai de purge est défini sur 0, les données mises en cache pour un fichier sont purgées immédiatement après la fermeture du fichier.

$ ocifs --cache-purge=30 bucket-1 mydir

Remarque

La définition d'un délai de purge du cache OCIFS, en particulier avec une petite valeur, peut avoir un impact négatif sur les performances. En effet, les données sont finalement supprimées du cache lorsqu'aucun fichier n'est utilisé. Si un fichier est rouvert ultérieurement et lu, les performances peuvent être lentes car les données du fichier ne sont pas dans le cache.

réutilisation du cache

L'option cache-reuse de l'utilitaire OCIFS permet de monter un système de fichiers OCIFS, même s'il existe un répertoire de cache non vide.

Par défaut, OCIFS empêche le montage d'un système de fichiers s'il possède un répertoire de cache non vide. Avec l'option cache-reuse, vous pouvez remonter le système de fichiers et réutiliser le répertoire de cache existant, le cas échéant.

Par exemple, pour monter le bucket Object Storage, bucket-1, sur le répertoire mydir et réutiliser le répertoire de cache existant, procédez comme suit :

$ ocifs --cache-reuse bucket-1 mydir

Remarques :

  • Vous pouvez disposer d'un répertoire de cache non vide si le système de fichiers a été monté précédemment avec l'option cache-keep, ou si le processus ocifs a été arrêté ou a planté.
  • La réutilisation d'un cache existant peut améliorer les performances, car l'utilitaire OCIFS peut accéder plus rapidement aux données déjà présentes dans le cache. Cependant, l'utilisation de l'option cache-reuse n'est pas recommandée car OCIFS ne vérifie pas les différences entre les données du cache et les données réelles du bucket Object Storage.

Option de téléchargement multipart OCIFS

OCIFS utilise le téléchargement multipart vers le serveur Oracle Cloud Interface (OCI) Object Storage pour télécharger des objets volumineux vers OCI Object Storage.

Lorsqu'OCIFS utilise le téléchargement multipart pour télécharger un objet, il le divise équitablement en parties dont la taille maximale est de 50 GiB. Les parties sont ensuite téléchargées par un pool de threads.

Vous pouvez indiquer comment OCIFS utilise le téléchargement multipart avec l'option de commande OCIFS mpu-threshold.

seuil mpu

OCIFS vous permet de déterminer quand il utilise le téléchargement mulipart pour télécharger des fichiers volumineux vers Object Storage. Avec l'option mpu-threshold=size d'OCIFS, vous pouvez indiquer la taille de fichier au-dessus de laquelle le téléchargement multipart démarre.

La valeur de seuil de taille de téléchargement multipart par défaut est de 100 Mo (recommandé).

Le tableau suivant répertorie les valeurs d'option mpu-threshold=size prises en charge.

Valeurs de seuil MPU OCIFS

Valeur

Description

Exemple

0

Utilisez toujours le téléchargement multipart (déconseillé).

$ ocifs --mpu-threshold=0 bucket-1 mydir

number[KMGT]

Taille en kilo-octets (K), mégaoctets (M), gigaoctets (G) ou téraoctets (T) au-dessus de laquelle le téléchargement multipart est utilisé.

$ ocifs --mpu-threshold=150M bucket-1 mydir

number[KMGT]i

Taille en kibibibytes (Ki), mébibytes (Mi), gibibibytes (Gi) ou tébibytes (Ti) au-dessus de laquelle le téléchargement multipart est utilisé.

$ ocifs --mpu-threshold=150Mi bucket-1 mydir