Utility OCIFS

La utility OCIFS consente di eseguire il MOUNT dei bucket di Oracle Cloud Infrastructure Object Storage come file system. È quindi possibile gestire gli oggetti nei bucket come file e directory normali.

Problema noto OCIFS

Il seguente problema noto è un bug temporaneo rilevato nella utility OCIFS. Questo bug viene risolto attivamente e viene fornita una soluzione alternativa.

Alcune aree sono obsolete o mancanti nella utility OCIFS, versioni 1.1 e 1.2

Nelle versioni 1.1 e 1.2 della utility OCIFS, alcune aree non sono aggiornate o risultano mancanti e si potrebbe ricevere il seguente errore quando si tenta di eseguire il MOUNT di un bucket di storage:

# 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

Soluzione alternativa

Se viene visualizzato questo messaggio, utilizzare l'opzione region=region_name.realm_domain con il comando mount. L'opzione region consente di eseguire l'override dell'area specificata nel file di configurazione dell'interfaccia CLI se si utilizza l'autenticazione basata su chiave API. Risolve anche questo problema per i metodi di autenticazione del principal istanza e del principal risorsa.

Ad esempio, per attivare bucket1 nell'area uk-gov-london-1 all'interno del dominio oraclegovcloud.uk:

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

Se si utilizza il metodo di autenticazione del principal dell'istanza con la versione 1.2 della utility OCIFS, è possibile continuare a visualizzare questo messaggio di errore anche con l'opzione region=region_name.realm_domain. In tal caso, passare alla versione 1.1 della utility OCIFS e riprovare.

Installazione della utility OCIFS

Installare la utility OCIFS su sistemi o istanze con Oracle Linux 8 o versioni successive.

Requisiti indispensabili:

  • Storage degli oggetti OCI: assicurarsi che il sistema o l'istanza in cui si prevede di installare OCIFS abbia accesso o possa connettersi a un bucket di storage degli oggetti esistente di cui si desidera eseguire il MOUNT. Il bucket può essere vuoto o già popolato con oggetti. Per ulteriori informazioni sullo storage degli oggetti, vedere Panoramica sullo storage degli oggetti. Per informazioni su come creare un bucket di storage degli oggetti, vedere Creazione di un bucket.

  • Spazio su disco locale: OCIFS utilizza lo spazio su disco locale per memorizzare nella cache gli oggetti di storage degli oggetti. OCIFS inserisce nella cache gli oggetti di un bucket di storage degli oggetti di cui è stato eseguito il MOUNT in una directory che è possibile specificare. Per ottenere prestazioni ottimali, fornire una directory locale per l'inserimento nella cache su un dispositivo di storage con tempi di accesso rapidi.

    Inoltre, assicurarsi che la directory cache si trovi su un dispositivo di storage con spazio libero sufficiente per ospitare l'intero contenuto del percorso del bucket di storage degli oggetti di cui è stato eseguito il MOUNT oppure, come minimo, tutti gli oggetti nel bucket da leggere o scrivere.
    Nota

    Le operazioni OCIFS potrebbero non riuscire se il dispositivo di storage che contiene la directory di cache è pieno. Per ulteriori informazioni sull'inserimento nella cache OCIFS, vedere Opzioni cache OCIFS.
  • File di configurazione della CLI: per impostazione predefinita, OCIFS utilizza l'autenticazione basata su chiave API per autenticare lo storage degli oggetti. Questo metodo di autenticazione richiede un file di configurazione dell'interfaccia CLI contenente voci specifiche di OCIFS. Per informazioni su come impostare il file di configurazione per OCIFS, vedere API Key-Based Authentication.

Per installare la utility OCIFS:

  1. Completare i prerequisiti.
  2. Abilitare il repository oci_included, che contiene il pacchetto ocifs. Questo repository è abilitato per impostazione predefinita nelle immagini della piattaforma Oracle Linux.
  3. Installare il pacchetto ocifs:
    sudo dnf install ocifs

Aggiornamento della utility OCIFS

Per eseguire l'aggiornamento alla versione più recente di ocifs:

sudo dnf update ocifs

Dettagli utility OCIFS

Quando esegui il MOUNT di un bucket di storage degli oggetti con OCIFS, il bucket può essere utilizzato come file system, consentendoti di gestire gli oggetti nel bucket come directory e file normali.

Sebbene gli oggetti nel bucket di storage degli oggetti esistano in una struttura semplice, OCIFS simula una struttura di directory utilizzando stringhe di prefisso presenti nei nomi degli oggetti che includono una o più barre in avanti (/). OCIFS viene implementato come file system FUSE, pertanto non sono necessari privilegi root per utilizzare il file system.

Nota

Un file system OCIFS non è un file system condiviso. Per evitare il danneggiamento dei dati degli oggetti, non utilizzare OCIFS per eseguire il MOUNT dello stesso bucket di storage degli oggetti (o di qualsiasi sottocartella del bucket sovrapposta) più volte, contemporaneamente. Inoltre, non modificare direttamente un oggetto bucket (ad esempio, con la console, l'interfaccia CLI o l'API) mentre viene eseguito il MOUNT del bucket di storage degli oggetti.

Per ulteriori informazioni sullo storage degli oggetti, vedere Panoramica sullo storage degli oggetti.

Per informazioni sull'attivazione con OCIFS, vedere Mounting and Unmounting with OCIFS.

Uso

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

Opzioni utility OCIFS

Le opzioni OCIFS possono essere specificate con il comando ocifs come opzioni long --option[=value] o con l'opzione -o, -o option[=value].

Opzioni utility OCIFS

Opzione

Descrizione

Per ulteriori informazioni, fare riferimento agli argomenti sotto riportati.

auth=method

Imposta il metodo di autenticazione utilizzato da OCIFS quando si accede allo storage degli oggetti OCI:
  • api_key (predefinito)

  • instance_principal

  • resource_principal

Autenticazione OCIFS

config=file

Imposta il percorso del file di configurazione dell'interfaccia CLI utilizzato per l'autenticazione basata su chiavi API.

Autenticazione basata sulle chiavi API

region=name.realm_domain

Esegue l'override dell'area specificata nel file di configurazione dell'interfaccia CLI.

Autenticazione basata sulle chiavi API

Opzioni della cache

Definisce le funzioni della cache OCIFS:
  • cache=path: imposta il percorso della directory di cache.

  • cache-fsfree: specifica la quantità di spazio che deve rimanere libero nel file system in cui si trova la directory cache.

  • cache-keep: non rimuove la directory di cache quando il file system OCIFS viene disattivato.

  • cache-purge: specifica il ritardo di rimozione della cache.

  • cache-reuse: riutilizza la directory cache esistente, anche se la directory non è vuota.

Opzioni cache OCIFS

debug=level

Imposta il livello o i livelli di debug e mostra le informazioni di debug nell'output del comando ocifs. Livelli di debug:

  • all: esegue il debug di tutte le operazioni.

  • cache: operazioni della cache di debug.

  • fops: esegue il debug delle operazioni FUSE.

  • oci: esegue il debug delle richieste OCI.

  • other: esegue il debug di altre operazioni non classificate.

Per più livelli di debug, separare i livelli con una virgola.

Abilitazione della diagnostica OCIFS

Opzioni FUSE
Il comando ocifs accetta le seguenti opzioni FUSE:
  • d: abilita l'output di debug FUSE.

  • f: esegue il processo ocifs in primo piano.

  • s: esegue il processo ocifs a thread singolo anziché multithread.

Inoltre, le opzioni di attivazione FUSE, descritte nella pagina man fuse(8), possono essere specificate con l'opzione -o.

Pagina man fuse(8)

check-bucket bucket-path

Verifica che il bucket di storage degli oggetti specificato sia accessibile e che gli oggetti nel bucket abbiano nomi compatibili con le regole di MOUNT OCIFS.

Limitazioni di installazione OCIFS

version

Visualizza la versione della utility OCIFS.

Aggiornamento della utility OCIFS

mpu-threshold=size

Definisce la dimensione del file al di sopra della quale viene avviato il caricamento multiparte.

Opzione di caricamento multiparte OCIFS

bucket-path

Specifica il bucket di storage degli oggetti che si desidera installare.

Montaggio e disinstallazione con OCIFS

Creazione di un periodo fisso

directory

Specifica la directory in cui eseguire il MOUNT del bucket di storage degli oggetti.

Montaggio e disinstallazione con OCIFS

Montaggio e disinstallazione con OCIFS

Con la utility OCIFS, puoi specificare il bucket di storage degli oggetti che desideri installare in base al relativo percorso del bucket.

I percorsi del bucket possono essere i seguenti:

  • Nome bucket: tutti gli oggetti del bucket di storage degli oggetti specificato sono accessibili sotto forma di file o directory normali nella directory di cui è stato eseguito il MOUNT.

    Ad esempio, per eseguire il MOUNT del bucket di storage degli oggetti, bucket-1, nella directory mydir:
    $ mkdir ~/mydir
    $ ocifs bucket-1 mydir
  • Una sottocartella del bucket che è un nome del bucket di storage degli oggetti con una sottocartella di tale bucket: solo gli oggetti della sottocartella del bucket specificata sono accessibili come file o directory normali nella directory di cui è stato eseguito il MOUNT.

    Ad esempio, per eseguire il MOUNT della sottocartella marathon/participants dal bucket di storage degli oggetti bucket-1 nella directory mydir:
    $ ocifs bucket-1/marathon/participants mydir

Esecuzione del MOUNT di un bucket di storage degli elementi

Requisiti indispensabili:

Prima di utilizzare OCIFS per eseguire il MOUNT di un bucket di storage degli oggetti, vedere quanto riportato di seguito.

Per eseguire il MOUNT di un bucket di storage degli oggetti:

  • Utilizzare il comando ocifs:
    ocifs [options] bucket-path directory

    Oppure:

  • Utilizzare il comando mount(8):
    mount -t fuse.ocifs [-o options] bucket-path directory
    Nota

    Con il comando mount, le opzioni vengono specificate con l'opzione -o: -o option[=value].

    Nota

    Il comando mount richiede i privilegi appropriati, ad esempio root.

Esempi:

  • Eseguire il MOUNT del bucket di storage degli oggetti bucket-1 nella directory mydir utilizzando il comando ocifs e conservare la directory di cache OCIFS dopo la disinstallazione:

    $ ocifs --cache-keep bucket-1 mydir
  • Eseguire il MOUNT del bucket di storage degli oggetti bucket-1 nella directory /mnt utilizzando il comando mount e conservare la directory di cache OCIFS dopo la disinstallazione:

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

Per impostazione predefinita, il bucket di storage degli oggetti viene eseguito utilizzando l'autenticazione basata su chiave API. Vedere Autenticazione basata su chiave API.

Disinstallazione di un bucket di storage degli elementi

  • Utilizzare il comando fusermount -u:
    fusermount -u directory

    Oppure:

  • Utilizzare il comando umount(8):
    umount directory
    Nota

    Il comando umount richiede privilegi appropriati, ad esempio root.
Esempi:
  • Eseguire il NO MOUNT del bucket di storage degli oggetti installato nella directory mydir utilizzando il comando fusermount:

    $ fusermount -u mydir
  • Eseguire il NO MOUNT del bucket di storage degli oggetti installato nella directory /mnt utilizzando il comando umount:

    # umount /mnt
Nota

La disattivazione di un file system OCIFS rimuove la directory di cache corrispondente, a meno che il file system non venga attivato con l'opzione cache-keep. Vedere cache-keep.

Limitazioni di installazione OCIFS

OCIFS prevede diverse limitazioni di installazione da considerare prima di eseguire il MOUNT di un bucket di storage degli oggetti.

Esaminare le regole e le limitazioni di attivazione riportate di seguito.

Tipi di file, attributi e dimensioni

OCIFS ha le seguenti limitazioni di accesso per tipo di file, attributo e dimensioni.

Tipi di file
OCIFS funziona solo con file e directory normali. OCIFS non funziona con collegamenti simbolici, collegamenti fisici e file speciali (blocco, carattere, fifo, speciale).
Attributi file
Gli attributi file (autorizzazioni, proprietà di utenti e gruppi, tempi di accesso/modifica/modifica) non sono persistenti tra gli accessi. Tutti gli attributi vengono reimpostati quando viene disinstallato e riattivato un file system OCIFS.
Per impostazione predefinita, le autorizzazioni sono impostate su 0755 per le directory e 0644 per i file. La proprietà viene impostata con uid e gid del proprietario del file system. Le autorizzazioni e la proprietà del file non possono essere modificate, a meno che il file system OCIFS non venga attivato dall'utente root. La rimozione dell'autorizzazione di scrittura per un file impedisce l'inserimento dei dati di nuova lettura nella cache. In questo caso, OCIFS non dispone dell'autorizzazione per scrivere nel file memorizzato nella cache.
Dimensione file
La dimensione massima del file OCIFS è 10 TiB. Si tratta della dimensione massima dell'oggetto dello storage degli oggetti OCI.

Regole di denominazione

Seguire le regole di denominazione di attivazione OCIFS per file, percorsi, oggetti e prefissi.

Nomi file
La dimensione del nome file OCIFS è limitata alla dimensione consentita dal file system utilizzato per la cache OCIFS. La dimensione massima per i nomi dei file system è di 255 caratteri. Se un bucket di storage degli oggetti ha un oggetto con una dimensione del nome file maggiore di 255 caratteri, l'oggetto potrebbe essere visibile come file o directory nel file system OCIFS, ma l'oggetto è di sola lettura e non può essere inserito nella cache. Poiché l'oggetto non è inserito nella cache, il tempo di accesso all'oggetto potrebbe essere lento.
L'accesso in lettura/scrittura OCIFS e l'inserimento nella cache dell'oggetto possono essere ripristinati rinominando l'oggetto con un nome compatibile con il file system utilizzato per la cache OCIFS. È possibile utilizzare la console di Oracle Cloud per rinominare un oggetto oppure rinominare l'oggetto con OCIFS utilizzando il comando mv(1).
Nomi percorso
OCIFS funziona con nomi di percorso con una lunghezza massima di 1023 caratteri.
Nomi oggetto incompatibili
Un bucket di storage degli oggetti può avere oggetti con nomi non compatibili con le convenzioni di denominazione del file system Oracle Linux (ad esempio: //directory o directory////mydirectory). Tuttavia, questi oggetti non sono accessibili né visibili con OCIFS. Per poter essere utilizzabili con OCIFS, è necessario rinominare tali oggetti con nomi compatibili con le convenzioni di denominazione dei file system Oracle Linux. È possibile utilizzare la console di Oracle Cloud per rinominare un oggetto.
Un nome oggetto può avere fino a 1024 caratteri e può avere un nome file OCIFS corrispondente più grande del solito limite di nomi file system (255 caratteri). Tuttavia, l'accesso a tali oggetti con OCIFS è limitato.
Per verificare se un bucket di storage degli oggetti dispone di nomi non compatibili con il file system OCIFS, utilizzare l'opzione --check-bucket del comando ocifs. Vedere OCIFS Utility Details.
Conflitti tra oggetto e nome prefisso
Se lo stesso nome viene utilizzato sia come nome oggetto di storage degli oggetti che come nome prefisso, tale nome viene visualizzato come voce di directory con OCIFS. L'oggetto con lo stesso nome non è accessibile tramite OCIFS. Per rendere l'oggetto visibile tramite OCIFS, è necessario rinominare l'oggetto con un nome non utilizzato come prefisso.
Ad esempio, se un bucket di storage degli oggetti contiene gli oggetti directory e directory/mydirectory, directory viene utilizzato sia come nome oggetto che come nome prefisso. In tal caso, OCIFS mostra la voce directory come directory e fornisce l'accesso a tutti gli oggetti che iniziano con il prefisso directory/ (ad esempio, l'oggetto directory/mydirectory). L'oggetto directory non è tuttavia accessibile.
Utilizzare l'opzione --check-bucket del comando ocifs per verificare se un bucket dispone di nomi oggetto e prefissi in conflitto.

Sincronizzazione dati

OCIFS fornisce diverse opzioni per la sincronizzazione dei dati.

Quando si scrive in un file OCIFS, i dati vengono sincronizzati (scritti di nuovo nell'oggetto di storage degli oggetti corrispondente) quando il file OCIFS viene chiuso. Qualsiasi errore di sincronizzazione dei dati viene segnalato dalla chiamata di sistema close(2). Per informazioni sulla gestione dei risultati degli errori da close(), vedere la sezione NOTE della pagina man close(2). È inoltre possibile richiedere la sincronizzazione dei dati in modo esplicito utilizzando fsync(2) o fdatasync(2).

In alternativa, è possibile eseguire operazioni di scrittura sincronizzare immediatamente i dati per un file specifico (aprendo il file con il flag O_SYNC o O_DSYNC) o per tutti i file (attraverso l'attivazione del file system OCIFS con l'opzione sync (-o sync).
Nota

L'uso dei flag di apertura O_SYNC o O_DSYNC oppure l'opzione di attivazione sync può influire negativamente sulle prestazioni.

Autenticazione OCIFS

Utilizzare i metodi di autenticazione basati su chiave API (impostazione predefinita), principal istanza o principal risorsa con la utility OCIFS.

Quando si esegue il MOUNT di un bucket di storage degli oggetti con la utility OCIFS, è possibile utilizzare l'opzione auth=method con il comando ocifs per specificare il metodo di autenticazione da utilizzare per l'accesso e l'autenticazione dello storage degli oggetti.

Per ulteriori informazioni, fare riferimento agli argomenti sotto riportati.

Autenticazione basata sulle chiavi API

Specificare e configurare il metodo di autenticazione basato su chiave API per eseguire il MOUNT dei bucket di storage degli oggetti con OCIFS.

L'autenticazione basata su chiavi API è il metodo di autenticazione predefinito per OCIFS e può essere utilizzata da un'istanza di computazione OCI o da qualsiasi altro sistema. Questo metodo di autenticazione richiede un SDK OCI locale e un file di configurazione dell'interfaccia CLI. È possibile specificare il file di configurazione usando l'opzione config=file con il comando ocifs. Il file di configurazione è ~/.oci/config per impostazione predefinita.

Ad esempio, se si esegue il MOUNT del bucket di storage degli oggetti, bucket-1, nella directory mydir e si desidera utilizzare l'autenticazione basata su chiavi API con il file di configurazione dell'interfaccia CLI ~/my_config:
$ ocifs --auth=api_key --config=~/my_config bucket-1 mydir

Prima di eseguire il MOUNT di un bucket di storage degli oggetti utilizzando il metodo di autenticazione basato su chiavi API, assicurarsi che il file di configurazione CLI (~/.oci/config) disponga di un profilo [DEFAULT] e che le voci specificate nella tabella riportata di seguito.

Voci del file di configurazione per l'autenticazione basata su chiave API

Voce

Descrizione

Esempio

user

OCID dell'utente che accede a Oracle Cloud Infrastructure

user=ocid1.user.oc1..unique_ID

tenancy

OCID della tenancy

tenancy=ocid1.tenancy.oc1..unique_ID

region

Un'area Oracle Cloud Infrastructure

region=regional_area_name

key_file

Percorso completo e nome file della chiave privata

key_file=~/.oci/oci_api_key.pem

fingerprint

Impronta digitale per la chiave pubblica utilizzata per questo utente

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

Per ulteriori informazioni, vedere SDK and CLI Configuration File.

Autenticazione principal dell'istanza

Anziché utilizzare il metodo di autenticazione basato su chiave API predefinito, è possibile utilizzare il metodo di autenticazione del principal dell'istanza con la utility OCIFS.

Utilizzare il metodo di autenticazione del principal dell'istanza per OCIFS solo da un'istanza autorizzata di Oracle Cloud Infrastructure. Questo metodo di autenticazione consente alle istanze specificate di accedere allo storage degli oggetti senza un file di configurazione dell'interfaccia CLI. L'istanza rileva automaticamente le informazioni da autenticare.

L'autenticazione del principal dell'istanza deve essere utilizzata per eseguire il MOUNT di un bucket di storage degli oggetti in un'istanza di computazione configurata come principal dell'istanza.

Ad esempio, per eseguire il MOUNT di un bucket di storage degli oggetti, bucket-1, nella directory mydir utilizzando l'autenticazione del principal dell'istanza:

$ ocifs --auth=instance_principal bucket-1 mydir

Per utilizzare l'autenticazione del principal dell'istanza, un'istanza di computazione deve far parte di un gruppo dinamico e un criterio deve consentire al gruppo dinamico di gestire lo storage degli oggetti. È possibile utilizzare il verbo manage object-family e il tipo di risorsa per definire un criterio che consente la gestione degli oggetti di storage degli oggetti. Per ulteriori informazioni sui gruppi dinamici, vedere Gestione dei gruppi dinamici.

Ad esempio, per consentire a un'istanza di computazione (con ID istanza ocid1.instance.OCID) di utilizzare l'autenticazione del principal dell'istanza:

  1. Creare un gruppo dinamico dgroup-ocifs con la regola seguente che corrisponde all'istanza di computazione:

    All {instance.id = 'ocid1.instance.OCID'}
  2. Creare un criterio che consenta al gruppo dinamico dgroup-ocifs di gestire lo storage degli oggetti:

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

Per ulteriori informazioni, vedere Chiamata di servizi da un'istanza.

Autenticazione principal risorsa

Anziché utilizzare il metodo di autenticazione basato su chiave API predefinito, è possibile utilizzare il metodo di autenticazione del principal risorsa con OCIFS.

Utilizzare il metodo di autenticazione del principal risorsa con OCIFS solo da una funzione Oracle Cloud Infrastructure (OCI) autorizzata. Questo metodo di autenticazione consente alla funzione specificata di accedere a un'altra risorsa o storage degli oggetti senza un file di configurazione dell'interfaccia CLI. La funzione OCI rileva quindi automaticamente le informazioni da autenticare.

Per utilizzare l'autenticazione delle risorse, una funzione OCI deve far parte di un gruppo dinamico e un criterio deve consentire al gruppo dinamico di accedere a tale risorsa o allo storage degli oggetti. Per ulteriori informazioni sui gruppi dinamici, vedere Gestione dei gruppi dinamici.

Per informazioni sulle funzioni OCI che accedono ad altre risorse OCI, vedere Accesso ad altre risorse Oracle Cloud Infrastructure.

Per utilizzare il metodo di autenticazione delle risorse con OCIFS, immettere --auth=resource_principal durante il MOUNT di un bucket con il comando ocifs.

Ad esempio, per eseguire il MOUNT di un bucket di storage degli oggetti, bucket-1, nella directory mydir utilizzando l'autenticazione del principal risorsa:

$ ocifs --auth=resource_principal bucket-1 mydir

Abilitazione della diagnostica OCIFS

Per abilitare la diagnostica OCIFS, utilizzare il comando ocifs con l'opzione -f per eseguire il processo OCIFS in primo piano e specificare i livelli di debug con l'opzione --debug.

Ad esempio, per visualizzare le informazioni di diagnostica su tutte le operazioni OCIFS per il bucket di storage degli oggetti bucket-1, di cui è stato eseguito il MOUNT nella directory mydir:

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

In alternativa, è possibile utilizzare l'opzione -d con il comando ocifs per abilitare il debug FUSE su tutte le operazioni. Ad esempio:

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

Opzioni cache OCIFS

Utilizzare le opzioni della cache OCIFS per specificare le modalità di funzionamento della cache OCIFS.

La utility OCIFS memorizza nella cache gli oggetti di un percorso del bucket di storage degli oggetti con MOUNT eseguito in una directory locale (per impostazione predefinita: ~/.ocifs/bucket/).

Se il dispositivo di memorizzazione in cui la directory della cache è piena, alcune operazioni OCIFS potrebbero non riuscire.

È possibile specificare la modalità di utilizzo della cache OCIFS e le funzioni con le seguenti opzioni della cache ocifs:

cache

È possibile modificare la directory di cache OCIFS con l'opzione cache=path del comando ocifs.

Per impostazione predefinita, OCIFS inserisce gli oggetti nella cache in ~/.ocifs/. È possibile modificare questa directory di cache utilizzando l'opzione cache=path. Questa opzione imposta la directory di cache sul percorso specificato. Il percorso può essere un percorso assoluto o relativo alla directory home dell'utente.

Ad esempio, per eseguire il MOUNT del bucket di storage degli oggetti bucket-1 nella directory mydir e utilizzare /var/tmp/ocifs-cache come directory della cache OCIFS:
$ ocifs --cache=/var/tmp/ocifs-cache bucket-1 mydir

cache-fsfree

È possibile impedire alla utility OCIFS di riempire lo spazio sul file system della cache con l'opzione cache-fsfree del comando ocifs.

Utilizzare l'opzione cache-fsfree per specificare la quantità di spazio che deve rimanere libero nel file system della cache. Se lo spazio libero è maggiore della quantità specificata, OCIFS tenta di memorizzare i dati nella cache. Altrimenti, OCIFS non esegue l'inserimento nella cache. Se OCIFS non è in grado di memorizzare i dati nella cache, alcune operazioni OCIFS possono non riuscire, ad esempio le operazioni di scrittura.

Nota

L'opzione cache-fsfree non modifica il modo in cui gli attributi per le voci OCIFS (ad esempio la dimensione) vengono inseriti nella cache.

I valori delle dimensioni delle directory cache sono elencati nella tabella seguente.

Valori dimensione directory cache

Value

Descrizione

Esempio

0

Non controllare lo spazio libero nel file system della cache. Con questa opzione, OCIFS cerca di memorizzare i dati nella cache, indipendentemente dalla quantità di spazio libero disponibile sul file system della cache.

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

percent%

Questo valore specifica la percentuale di spazio (tra 0% e 100%) che deve rimanere libero nel file system della cache.

Se la percentuale è 100%, i dati non vengono inseriti nella cache.

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

number[K|M|G|T]

Questo valore specifica la quantità di spazio in Kilobyte (K), Megabyte (M), Gigabyte (G) o Terabyte (T) che deve rimanere libero nel file system della cache.

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

number[K|M|G|T]i

Questo valore specifica la quantità di spazio in Kibibyte (Ki), Mebibyte (Mi), Gibibyte (Gi) o Tebibyte (Ti) che deve rimanere libero nel file system della cache.

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

Note:

  • L'impostazione predefinita è cache-fsfree=5%.
  • L'utilizzo delle opzioni 0, 0%, 0[K|M|G|T] o 0[K|M|G|T]i ha lo stesso effetto.
  • L'uso dell'opzione 100% o di una quantità di spazio maggiore o uguale alla dimensione del file system ha lo stesso effetto.

gestione cache

È possibile conservare la cache OCIFS con l'opzione cache-keep del comando ocifs, anche se il file system OCIFS viene disinstallato.

La disattivazione del file system OCIFS rimuove la directory cache OCIFS, a meno che il file system non venga attivato con l'opzione cache-keep.

Ad esempio, per eseguire il MOUNT di un bucket di storage degli oggetti, bucket-1, nella directory mydir, e conservare la cache dopo la disinstallazione:

$ ocifs --cache-keep bucket-1 mydir

Note:

  • Se si utilizza l'opzione cache-keep, potrebbe non essere possibile attivare nuovamente il file system a meno che non si utilizzi l'opzione cache-reuse.
  • La conservazione dei dati nella cache dopo la disattivazione del file system può migliorare le prestazioni al successivo MOUNT del file system. Tuttavia, OCIFS non controlla le discrepanze tra i dati nella cache e i dati effettivi nel bucket di storage degli oggetti.

rimozione cache

L'opzione cache-purge della utility OCIFS consente di rimuovere i dati dalla cache OCIFS per i file che sono stati chiusi per un periodo di tempo specificato.

Per impostazione predefinita, la cache OCIFS non viene mai rimossa. I dati della cache vengono conservati nella directory della cache mentre il file system viene attivato. La directory di cache viene rimossa solo quando il file system OCIFS viene disinstallato.

Utilizzando l'opzione cache-purge, è possibile specificare il periodo di tempo in cui i dati rimangono nella cache dopo la chiusura di un file. È possibile utilizzare questa opzione per preservare lo spazio su disco, soprattutto se non si accede spesso ai file. Questo è utile, ad esempio, se si scrivono nuovi file e non si accede di nuovo ai file.

Il ritardo di rimozione della cache OCIFS può essere specificato come indicato nella tabella seguente:

Valori ritardo rimozione cache OCIFS

Value

Descrizione

Esempio

never

Non rimuovere mai la cache OCIFS. Con questo valore, i dati inseriti nella cache vengono conservati durante il MOUNT del file system OCIFS. (Predefinito)

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

ritardo

Il ritardo di rimozione, in secondi, prima di rimuovere i dati inseriti nella cache. Se il ritardo di rimozione è impostato su 0, i dati inseriti nella cache per un file vengono rimossi immediatamente dopo la chiusura del file.

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

Nota

L'impostazione di un ritardo di rimozione della cache OCIFS, in particolare con un valore ridotto, può influire negativamente sulle prestazioni. Questo perché alla fine i dati vengono rimossi dalla cache quando un file non viene utilizzato. Se un file viene riaperto in un secondo momento e letto, le prestazioni possono essere lente poiché i dati del file non si trovano nella cache.

riutilizzo della cache

L'opzione cache-reuse della utility OCIFS consente di attivare un file system OCIFS anche con una directory di cache non vuota esistente.

Per impostazione predefinita, OCIFS impedisce l'attivazione di un file system se ha una directory di cache non vuota. Con l'opzione cache-reuse, è possibile riattivare il file system e riutilizzare la directory cache esistente, se presente.

Ad esempio, per eseguire il MOUNT del bucket di storage degli oggetti, bucket-1, nella directory mydir e riutilizzare la directory cache esistente:

$ ocifs --cache-reuse bucket-1 mydir

Note:

  • È possibile avere una directory di cache non vuota se il file system è stato attivato con l'opzione cache-keep o se il processo ocifs è stato arrestato o non riesce.
  • Il riutilizzo di una cache esistente può migliorare le prestazioni, poiché la utility OCIFS può accedere ai dati già presenti nella cache. Tuttavia, l'uso dell'opzione cache-reuse non è consigliato perché OCIFS non controlla le discrepanze tra i dati nella cache e i dati effettivi nel bucket di storage degli oggetti.

Opzione di caricamento multiparte OCIFS

OCIFS utilizza il caricamento multiparte dello storage degli oggetti OCI (Oracle Cloud Interface) per caricare oggetti di grandi dimensioni nello storage degli oggetti OCI.

Quando OCIFS utilizza il caricamento multiparte per caricare un oggetto, divide l'oggetto in parti uguali con una dimensione massima della parte di 50 GiB. Le parti vengono quindi caricate da un pool di thread.

È possibile specificare in che modo OCIFS utilizza il caricamento multiparte con l'opzione del comando mpu-threshold OCIFS.

mpu-soglia

OCIFS consente di configurare quando utilizzare il caricamento multiparte per caricare file di grandi dimensioni nello storage degli oggetti. L'opzione mpu-threshold=size OCIFS specifica la dimensione del file sopra la quale viene utilizzato il caricamento multiparte.

Il valore di soglia della dimensione di caricamento multiparte predefinito è 100 Mebibyte (consigliato).

Nella tabella seguente sono elencati i possibili valori delle opzioni mpu-threshold=size.

Valori soglia mpu OCIFS

Value

Descrizione

Esempio

0

Usa sempre il caricamento multiparte (non consigliato).

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

number[KMGT]

La dimensione in Kilobyte (K), Megabyte (M), Gigabyte (G) o Terabyte (T) al di sopra della quale viene utilizzato il caricamento multiparte.

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

number[KMGT]i

La dimensione in Kibibyte (Ki), Mebibyte (Mi), Gibibyte (Gi) o Tebibyte (Ti) al di sopra della quale viene utilizzato il caricamento multiparte.

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