OCIFS-Utility

Mit dem OCIFS-Utility können Sie Oracle Cloud Infrastructure Object Storage-Buckets als Dateisysteme mounten. Anschließend können Sie die Objekte in den Buckets als reguläre Dateien und Verzeichnisse verwalten.

Bekanntes OCIFS-Problem

Das folgende bekannte Problem ist ein temporärer Fehler, der im OCIFS-Utility ermittelt wurde. Dieser Fehler wird aktiv behoben, und es wird ein Workaround bereitgestellt.

Einige Regionen sind veraltet oder fehlen im OCIFS-Utility, den Versionen 1.1 und 1.2

In den Versionen 1.1 und 1.2 des OCIFS-Utilitys sind einige Regionen veraltet oder fehlen. Beim Versuch, einen Speicher-Bucket zu mounten, erhalten Sie möglicherweise den folgenden Fehler:

# 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

Workaround

Wenn diese Meldung angezeigt wird, verwenden Sie die Option region=region_name.realm_domain mit dem Befehl mount. Die Option region setzt die in der CLI-Konfigurationsdatei angegebene Region außer Kraft, wenn Sie die API-schlüsselbasierte Authentifizierung verwenden. Außerdem wird dieses Problem für die Authentifizierungsmethoden für den Instanz-Principal und den Resource Principal behoben.

Beispiel: So mounten Sie bucket1 in der Region uk-gov-london-1 innerhalb der Domain oraclegovcloud.uk:

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

Wenn Sie die Instanz-Principal-Authentifizierungsmethode mit Version 1.2 des OCIFS-Utilitys verwenden, wird diese Fehlermeldung möglicherweise auch bei der Option region=region_name.realm_domain weiterhin angezeigt. Wenn dies der Fall ist, wechseln Sie zur Version 1.1 des OCIFS-Utilitys, und wiederholen Sie den Workaround.

OCIFS-Utility installieren

Installieren Sie das OCIFS-Utility auf Systemen oder Instanzen mit Oracle Linux 8 oder höher.

Voraussetzungen:

  • OCI Object Storage: Stellen Sie sicher, dass das System oder die Instanz, auf dem/der Sie OCIFS installieren möchten, Zugriff auf einen vorhandenen Object Storage-Bucket hat oder eine Verbindung zu diesem herstellen kann. Der Bucket kann leer sein oder bereits mit Objekten gefüllt sein. Weitere Informationen über Object Storage finden Sie unter Überblick über Object Storage. Informationen zum Erstellen eines Objektspeicher-Buckets finden Sie unter Bucket erstellen.

  • Lokaler Festplattenspeicher: OCIFS belegt lokalen Festplattenspeicher für das Caching von Object Storage-Objekten. OCIFS cacht Objekte eines gemounteten Object Storage-Buckets in einem Verzeichnis, das Sie angeben können. Um eine optimale Performance zu erzielen, geben Sie ein lokales Verzeichnis für das Caching an, das sich auf einem Speichergerät mit schneller Zugriffszeit befindet.

    Stellen Sie außerdem sicher, dass sich das Cache-Verzeichnis auf einem Speichergerät mit ausreichend freiem Speicherplatz befindet, um den gesamten Inhalt des gemounteten Object Storage-Bucket-Pfads zu hosten, oder zumindest alle Objekte im Bucket, die gelesen oder geschrieben werden sollen.
    Hinweis

    OCIFS-Vorgänge können möglicherweise nicht erfolgreich ausgeführt werden, wenn das Speichergerät, in dem sich das Cacheverzeichnis befindet, voll ist. Weitere Informationen zum OCIFS-Caching finden Sie unter OCIFS-Cacheoptionen.
  • CLI-Konfigurationsdatei: OCIFS verwendet standardmäßig die API-schlüsselbasierte Authentifizierungsmethode zur Authentifizierung von Object Storage. Diese Authentifizierungsmethode erfordert eine CLI-Konfigurationsdatei, die OCIFS-spezifische Einträge enthält. Informationen zum Einrichten der Konfigurationsdatei für OCIFS finden Sie unter API-schlüsselbasierte Authentifizierung.

So installieren Sie das OCIFS-Utility:

  1. Sorgen Sie dafür, dass die Voraussetzungen erfüllt sind.
  2. Aktivieren Sie das Repository oci_included, das das Package ocifs enthält. Dieses Repository ist in Oracle Linux-Plattformimages standardmäßig aktiviert.
    Weitere Informationen finden Sie unter Software auf Oracle Linux-Instanzen installieren.
  3. Installieren Sie das Package ocifs:
    sudo dnf install ocifs

OCIFS-Utility aktualisieren

So aktualisieren Sie auf die neueste Version von ocifs:

sudo yum update ocifs

OCIFS-Utilitydetails

Wenn Sie einen Object Storage-Bucket mit OCIFS mounten, kann der Bucket als Dateisystem verwendet werden, sodass Sie die Objekte im Bucket als reguläre Verzeichnisse und Dateien verwalten können.

Obwohl Objekte im Object Storage-Bucket in einer flachen Struktur vorhanden sind, simuliert OCIFS eine Verzeichnisstruktur mit Präfixzeichenfolgen, die in Objektnamen vorhanden sind, die einen oder mehrere Schrägstriche (/) enthalten. OCIFS ist als FUSE-Dateisystem implementiert, sodass Sie keine Root-Berechtigungen benötigen, um das Dateisystem zu verwenden.

Hinweis

Ein OCIFS-Dateisystem ist kein gemeinsam verwendetes Dateisystem. Um eine Beschädigung von Objektdaten zu vermeiden, verwenden Sie OCIFS nicht, um denselben Objektspeicher-Bucket (oder einen sich überschneidenden Bucket-Unterordner) mehrmals gleichzeitig zu mounten. Ändern Sie außerdem ein Bucket-Objekt nicht direkt (z.B. mit der Konsole, der CLI oder der API), während der Object Storage-Bucket gemountet wird.

Weitere Informationen über Object Storage finden Sie unter Überblick über Object Storage.

Informationen zum Mounten mit OCIFS finden Sie unter Mounten und Unmounten mit OCIFS.

Verwendung

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

OCIFS-Utilityoptionen

OCIFS-Optionen können mit dem Befehl ocifs als lange Optionen --option[=value] oder mit der Option -o, -o option[=value], angegeben werden.

OCIFS-Utilityoptionen

Option

Beschreibung

Weitere Informationen finden Sie unter:

auth=method

Legt die Authentifizierungsmethode fest, die OCIFS beim Zugriff auf OCI Object Storage verwendet:
  • api_key (Standard)

  • instance_principal

  • resource_principal

OCIFS-Authentifizierung

config=file

Legt den Pfad zur CLI-Konfigurationsdatei fest, die für die API-schlüsselbasierte Authentifizierung verwendet wird.

Auf API-Schlüssel basierende Authentifizierung

region=name.realm_domain

Überschreibt die in der CLI-Konfigurationsdatei angegebene Region.

Auf API-Schlüssel basierende Authentifizierung

Cache-Optionen

Definiert, wie der OCIFS-Cache funktioniert:
  • cache=path: Legt den Pfad zum Cache-Verzeichnis fest.

  • cache-fsfree: Gibt an, wie viel Speicherplatz im Dateisystem, in dem sich das Cache-Verzeichnis befindet, frei bleiben soll.

  • cache-keep: Das Cache-Verzeichnis wird nicht entfernt, wenn das OCIFS-Dateisystem ausgehängt wird.

  • cache-purge: Gibt die Cache-Löschverzögerung an.

  • cache-reuse: Verwendet das vorhandene Cache-Verzeichnis wieder, auch wenn das Verzeichnis nicht leer ist.

OCIFS-Cacheoptionen

debug=level

Legt die Debug-Ebene oder -Ebenen fest und zeigt die Debugginginformationen in der Ausgabe des Befehls ocifs an. Debugebenen:

  • all: Debuggen Sie alle Vorgänge.

  • cache: Debug-Cachevorgänge.

  • fops: FUSE-Vorgänge debuggen.

  • oci: OCI-Anforderungen debuggen.

  • other: Debuggen Sie andere, nicht klassifizierte Vorgänge.

Trennen Sie für mehr als eine Debug-Ebene die Ebenen durch ein Komma.

OCIFS-Diagnose aktivieren

FUSE-Optionen
Der Befehl ocifs akzeptiert die folgenden FUSE-Optionen:
  • d: Aktiviert die FUSE-Debug-Ausgabe.

  • f: Führt den Prozess ocifs im Vordergrund aus.

  • s: Führt den ocifs-Prozess Single-Thread statt Multi-Thread aus.

Darüber hinaus können FUSE-Mountoptionen, die in der fuse(8)-Manpage beschrieben werden, mit der Option -o angegeben werden.

Manpage fuse(8)

check-bucket bucket-path

Prüft, ob auf den angegebenen Object Storage-Bucket zugegriffen werden kann und ob Objekte im Bucket Namen haben, die mit OCIFS-Mountregeln kompatibel sind.

Einschränkungen beim OCIFS-Mounten

version

Zeigt die Version des OCIFS-Utilitys an.

OCIFS-Utility aktualisieren

mpu-Schwellenwert

Definiert die Dateigröße, über der Multipart-Upload verwendet wird.

OCIFS Multipart-Uploadoption

bucket-path

Gibt den Objektspeicher-Bucket an, den Sie mounten möchten.

Mounten und Unmounten mit OCIFS

Bucket erstellen

directory

Gibt das Verzeichnis an, in dem der Object Storage-Bucket gemountet werden soll.

Mounten und Unmounten mit OCIFS

Mounten und Unmounten mit OCIFS

Mit dem OCIFS-Utility können Sie den Objektspeicher-Bucket angeben, den Sie über den Bucket-Pfad mounten möchten.

Bucket-Pfade können eine der folgenden sein:

  • Ein Bucket-Name: Alle Objekte aus dem angegebenen Object Storage-Bucket können als reguläre Dateien oder Verzeichnisse im gemounteten Verzeichnis aufgerufen werden.

    Beispiel: So mounten Sie den Objektspeicher-Bucket bucket-1 im Verzeichnis mydir:
    $ mkdir ~/mydir
    $ ocifs bucket-1 mydir
  • Ein Bucket-Unterordner, der ein Object Storage-Bucket-Name mit einem Unterordner aus diesem Bucket ist: Nur Objekte aus dem angegebenen Bucket-Unterordner können als reguläre Dateien oder Verzeichnisse im gemounteten Verzeichnis aufgerufen werden.

    Beispiel: So mounten Sie den Unterordner marathon/participants aus dem Objektspeicher-Bucket bucket-1 im Verzeichnis mydir:
    $ ocifs bucket-1/marathon/participants mydir

Objektspeicher-Bucket mounten

Voraussetzungen:

Bevor Sie einen Object Storage-Bucket mit OCIFS mounten, prüfen Sie Folgendes:

So mounten Sie einen Object Storage-Bucket:

  • Verwenden Sie den Befehl ocifs:
    ocifs [options] bucket-path directory

    Oder:

  • Verwenden Sie den Befehl mount(8):
    mount -t fuse.ocifs [-o options] bucket-path directory
    Hinweis

    Mit dem Befehl mount werden Optionen mit der Option -o angegeben: -o option[=value].

    Hinweis

    Der Befehl mount erfordert die entsprechenden Berechtigungen (wie Root).

Beispiele:

  • Mounten Sie den Object Storage-Bucket bucket-1 mit dem Befehl ocifs im Verzeichnis mydir, und bewahren Sie das OCIFS-Cacheverzeichnis nach dem Aushängen auf:

    $ ocifs --cache-keep bucket-1 mydir
  • Mounten Sie den Object Storage-Bucket bucket-1 mit dem Befehl mount im Verzeichnis /mnt, und bewahren Sie das OCIFS-Cacheverzeichnis nach dem Aushängen auf:

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

Standardmäßig wird der Object Storage-Bucket mit der API-schlüsselbasierten Authentifizierung gemountet. Siehe API-schlüsselbasierte Authentifizierung.

Objektspeicher-Bucket aushängen

  • Verwenden Sie den Befehl fusermount -u:
    fusermount -u directory

    Oder:

  • Verwenden Sie den Befehl umount(8):
    umount directory
    Hinweis

    Der Befehl umount erfordert entsprechende Berechtigungen (wie Root).
Beispiele:
  • Mounten Sie den Objektspeicher-Bucket, der im Verzeichnis mydir gemountet ist, mit dem Befehl fusermount:

    $ fusermount -u mydir
  • Mounten Sie den Objektspeicher-Bucket, der im Verzeichnis /mnt gemountet ist, mit dem Befehl umount:

    # umount /mnt
Hinweis

Wenn Sie ein OCIFS-Dateisystem unmounten, wird das entsprechende Cache-Verzeichnis entfernt, es sei denn, das Dateisystem wird mit der Option cache-keep gemountet. Siehe cache-keep.

Einschränkungen beim OCIFS-Mounten

OCIFS muss vor dem Mounten eines Object Storage-Buckets mehrere Mounteinschränkungen beachten.

Prüfen Sie die folgenden Mounting-Regeln und Einschränkungen:

Dateitypen, Attribute und Größe

OCIFS hat die folgenden Dateityp-, Attribut- und Größeneinschränkungen.

Dateitypen
OCIFS unterstützt nur reguläre Dateien und Verzeichnisse. OCIFS unterstützt keine symbolischen Links, physische Links und spezielle Dateien (Block, Zeichen, FIFA, Special).
Dateiattribute
Dateiattribute (Berechtigungen, Benutzer- und Gruppeneigentümerschaft, Zugriffs-/Änderungs-/Änderungszeiten) sind nicht über Mounts hinweg persistent. Alle Attribute werden zurückgesetzt, wenn ein OCIFS-Dateisystem ausgehängt und erneut gemountet wird.
Standardmäßig sind die Berechtigungen für Verzeichnisse auf 0755 und für Dateien auf 0644 gesetzt. Die Eigentümerrechte werden mit uid und gid des Eigentümers des Dateisystems festgelegt. Dateiberechtigungen und Eigentümerschaft können nur geändert werden, wenn das OCIFS-Dateisystem vom Root-Benutzer gemountet wird. Wenn Sie die Schreibberechtigung für eine Datei entfernen, wird verhindert, dass neu gelesene Daten gecacht werden. In diesem Fall ist OCIFS nicht berechtigt, in die gecachte Datei zu schreiben.
Dateigröße
Die maximale Dateigröße von OCIFS beträgt 10 TiB. Dies ist die maximale Objektgröße für OCI Object Storage.

Benennungsregeln

Befolgen Sie die Benennungsregeln für das OCIFS-Mounten für Dateien, Pfade, Objekte und Präfixe.

Dateinamen
Die Größe des OCIFS-Dateinamens ist auf die Größe begrenzt, die vom Dateisystem unterstützt wird, das für den OCIFS-Cache verwendet wird. Die häufigste Begrenzung der Dateinamengröße für Dateisysteme beträgt 255 Zeichen. Wenn ein Object Storage-Bucket ein Objekt mit einer Dateinamengröße von mehr als 255 Zeichen enthält, ist das Objekt möglicherweise als Datei oder Verzeichnis im OCIFS-Dateisystem sichtbar. Das Objekt ist jedoch schreibgeschützt und kann nicht gecacht werden. Da das Objekt nicht gecacht wird, kann die Objektzugriffszeit langsam sein.
Der OCIFS-Lese-/Schreibzugriff und das Caching des Objekts können wiederhergestellt werden, indem das Objekt mit einem Namen umbenannt wird, der mit dem Dateisystem kompatibel ist, das für den OCIFS-Cache verwendet wird. Sie können ein Objekt mit der Oracle Cloud-Konsole umbenennen oder das Objekt mit OCIFS mit dem Befehl mv(1) umbenennen.
Pfadnamen
OCIFS unterstützt Pfadnamen mit maximal 1023 Zeichen.
Inkompatible Objektnamen
Ein Object Storage-Bucket kann Objekte mit Namen enthalten, die nicht mit den Benennungskonventionen für Oracle Linux-Dateisysteme kompatibel sind (Beispiel: //directory oder directory////mydirectory). Diese Objekte sind jedoch mit OCIFS weder zugänglich noch sichtbar. Damit diese Objekte mit OCIFS verwendet werden können, müssen sie mit Namen umbenannt werden, die mit den Benennungskonventionen des Oracle Linux-Dateisystems kompatibel sind. Mit der Oracle Cloud-Konsole können Sie ein Objekt umbenennen.
Ein Objektname kann bis zu 1024 Zeichen lang sein und einen entsprechenden OCIFS-Dateinamen aufweisen, der größer ist als der übliche Dateiname des Dateisystems (255 Zeichen). Der Zugriff auf solche Objekte mit OCIFS ist jedoch begrenzt.
Um zu prüfen, ob ein Object Storage-Bucket Namen enthält, die nicht mit dem OCIFS-Dateisystem kompatibel sind, verwenden Sie die Option --check-bucket des Befehls ocifs. Siehe Details zum OCIFS-Utility.
Objekt- und Präfixnamenkonflikte
Wenn derselbe Name sowohl als Object Storage-Objektname als auch als Präfixname verwendet wird, wird dieser Name als Verzeichniseintrag mit OCIFS angezeigt. Auf das Objekt mit demselben Namen kann nicht über OCIFS zugegriffen werden. Um das Objekt über OCIFS sichtbar zu machen, müssen Sie das Objekt mit einem Namen umbenennen, der nicht als Präfix verwendet wird.
Beispiel: Wenn ein Objektspeicher-Bucket die Objekte directory und directory/mydirectory enthält, wird directory sowohl als Objektname als auch als Präfixname verwendet. In diesem Fall zeigt OCIFS den Eintrag directory als Verzeichnis an und bietet Zugriff auf alle Objekte, die mit dem Präfix directory/ beginnen (Beispiel: Objekt directory/mydirectory). Auf das Objekt directory kann jedoch nicht zugegriffen werden.
Mit der Option --check-bucket des Befehls ocifs können Sie prüfen, ob ein Bucket widersprüchliche Objekt- und Präfixnamen aufweist.

Datensynchronisierung

OCIFS bietet verschiedene Optionen für die Datensynchronisierung.

Beim Schreiben in eine OCIFS-Datei werden Daten synchronisiert (Daten werden effektiv in das entsprechende Object Storage-Objekt zurückgeschrieben), wenn die OCIFS-Datei geschlossen wird. Alle Datensynchronisierungsfehler werden durch den Systemaufruf close(2) gemeldet. Informationen zum Umgang mit Fehlerrückgaben von close() finden Sie im Abschnitt NOTES der close(2)-Manpage. Sie können auch die explizite Synchronisierung von Daten mit fsync(2) oder fdatasync(2) anfordern.

Oder Sie können Schreibvorgänge für eine bestimmte Datei (indem Sie die Datei mit dem Flag O_SYNC oder O_DSYNC öffnen) oder für alle Dateien (indem Sie das OCIFS-Dateisystem mit der Option sync (-o sync) mounten) sofort durchführen.
Hinweis

Die Verwendung der offenen Flags O_SYNC oder O_DSYNC oder der Mountoption sync kann sich negativ auf die Performance auswirken.

OCIFS-Authentifizierung

Verwenden Sie die Authentifizierungsmethoden API key-based (Standard), Instance Principal oder Resource Principal mit dem OCIFS-Utility.

Wenn Sie einen Object Storage-Bucket mit dem OCIFS-Utility mounten, können Sie mit der Option auth=method und dem Befehl ocifs angeben, welche Authentifizierungsmethode für den Zugriff auf und die Authentifizierung von Object Storage verwendet werden soll.

Weitere Informationen finden Sie unter:

Auf API-Schlüssel basierende Authentifizierung

Geben Sie die API-schlüsselbasierte Authentifizierungsmethode an, und konfigurieren Sie sie, um Object Storage-Buckets mit OCIFS zu mounten.

Die API-schlüsselbasierte Authentifizierung ist die Standardauthentifizierungsmethode für OCIFS und kann von einer OCI-Compute-Instanz oder von einem anderen System verwendet werden. Diese Authentifizierungsmethode erfordert ein lokales OCI-SDK und eine CLI-Konfigurationsdatei. Sie können die Konfigurationsdatei mit der Option config=file und dem Befehl ocifs angeben. Standardmäßig ist die Konfigurationsdatei ~/.oci/config.

Beispiel: Wenn Sie den Object Storage-Bucket bucket-1 im Verzeichnis mydir mounten und die API-schlüsselbasierte Authentifizierung mit der CLI-Konfigurationsdatei ~/my_config verwenden möchten:
$ ocifs --auth=api_key --config=~/my_config bucket-1 mydir

Bevor Sie einen Object Storage-Bucket mit der API-schlüsselbasierten Authentifizierungsmethode mounten, stellen Sie sicher, dass die CLI-Konfigurationsdatei (~/.oci/config) ein [DEFAULT]-Profil und die in der folgenden Tabelle angegebenen Einträge enthält.

Konfigurationsdateieinträge für API-schlüsselbasierte Authentifizierung

Eintrag

Beschreibung

Beispiel

user

OCID des Benutzers, der auf Oracle Cloud Infrastructure zugreift

user=ocid1.user.oc1..unique_ID

tenancy

OCID Ihres Mandanten

tenancy=ocid1.tenancy.oc1..unique_ID

region

Eine Oracle Cloud Infrastructure-Region

region=regional_area_name

key_file

Vollständiger Pfad und Dateiname für den Private Key

key_file=~/.oci/oci_api_key.pem

fingerprint

Fingerprint für den für diesen Benutzer verwendeten Public Key

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

Weitere Informationen finden Sie unter SDK- und CLI-Konfigurationsdatei.

Instanz-Principal-Authentifizierung

Anstelle der standardmäßigen API-schlüsselbasierten Authentifizierungsmethode können Sie die Instanz-Principal-Authentifizierungsmethode mit dem OCIFS-Utility verwenden.

Verwenden Sie die Instanz-Principal-Authentifizierungsmethode für OCIFS nur von einer autorisierten Oracle Cloud Infrastructure-Instanz. Mit dieser Authentifizierungsmethode können bestimmte Instanzen ohne eine CLI-Konfigurationsdatei auf Object Storage zugreifen. Die Instanz ermittelt dann automatisch Informationen zur Authentifizierung.

Die Instanz-Principal-Authentifizierung muss verwendet werden, um einen Objektspeicher-Bucket auf einer Compute-Instanz zu mounten, die als Instanz-Principal konfiguriert wurde.

Beispiel: So mounten Sie einen Objektspeicher-Bucket bucket-1 im Verzeichnis mydir mit der Instanz-Principal-Authentifizierung:

$ ocifs --auth=instance_principal bucket-1 mydir

Um die Instanz-Principal-Authentifizierung verwenden zu können, muss eine Compute-Instanz Teil einer dynamischen Gruppe sein, und eine Policy muss die Verwaltung von Object Storage durch die dynamische Gruppe zulassen. Mit dem Verb manage object-family und dem Ressourcentyp können Sie eine Policy definieren, mit der Object Storage-Objekte verwaltet werden können. Weitere Informationen zu dynamischen Gruppen finden Sie unter Dynamische Gruppen verwalten.

Beispiel: Damit eine Compute-Instanz (mit Instanz-ID ocid1.instance.OCID) die Instanz-Principal-Authentifizierung verwenden kann:

  1. Erstellen Sie eine dynamische Gruppe dgroup-ocifs mit der folgenden Regel, die mit der Compute-Instanz übereinstimmt:

    All {instance.id = 'ocid1.instance.OCID'}
  2. Erstellen Sie eine Policy, mit der diese dynamische Gruppe, dgroup-ocifs, Object Storage verwalten kann:

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

Weitere Informationen finden Sie unter Services aus einer Instanz aufrufen.

Resource-Principal-Authentifizierung

Anstelle der standardmäßigen API-schlüsselbasierten Authentifizierungsmethode können Sie die Resource-Principal-Authentifizierungsmethode mit OCIFS verwenden.

Verwenden Sie die Authentifizierungsmethode des Resource Principals mit OCIFS nur aus einer autorisierten Oracle Cloud Infrastructure-(OCI-)Funktion. Mit dieser Authentifizierungsmethode kann die angegebene Funktion ohne eine CLI-Konfigurationsdatei auf eine andere Ressource oder auf Object Storage zugreifen. Die OCI-Funktion ermittelt dann automatisch Informationen zur Authentifizierung.

Um die Ressourcenauthentifizierung verwenden zu können, muss eine OCI-Funktion Teil einer dynamischen Gruppe sein, und eine Policy muss der dynamischen Gruppe den Zugriff auf diese Ressource oder Object Storage ermöglichen. Weitere Informationen zu dynamischen Gruppen finden Sie unter Dynamische Gruppen verwalten.

Informationen zu OCI-Funktionen, die auf andere OCI-Ressourcen zugreifen, finden Sie unter Auf andere Oracle Cloud Infrastructure-Ressourcen zugreifen.

Um die Ressourcenauthentifizierungsmethode mit OCIFS zu verwenden, geben Sie --auth=resource_principal ein, wenn Sie einen Bucket mit dem Befehl ocifs mounten.

Beispiel: So mounten Sie einen Object Storage-Bucket bucket-1 mit der Resource-Principal-Authentifizierung im Verzeichnis mydir:

$ ocifs --auth=resource_principal bucket-1 mydir

OCIFS-Diagnose aktivieren

Um die OCIFS-Diagnose zu aktivieren, verwenden Sie den Befehl ocifs mit der Option -f, um den OCIFS-Prozess im Vordergrund auszuführen, und geben Sie Debug-Ebenen mit der Option --debug an.

Beispiel: So zeigen Sie Diagnoseinformationen zu allen OCIFS-Vorgängen für den Objektspeicher-Bucket bucket-1 an, der im Verzeichnis mydir gemountet ist:

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

Sie können auch die Option -d mit dem Befehl ocifs verwenden, um das FUSE-Debugging für alle Vorgänge zu aktivieren.

Beispiel:

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

OCIFS-Cacheoptionen

Verwenden Sie OCIFS-Cacheoptionen, um anzugeben, wie der OCIFS-Cache funktioniert.

Das OCIFS-Utility cacht Objekte eines gemounteten Object Storage-Bucket-Pfads in einem lokalen Verzeichnis (standardmäßig: ~/.ocifs/bucket/).

Wenn das Speichergerät, in dem sich das Cache-Verzeichnis befindet, voll wird, können einige OCIFS-Vorgänge fehlschlagen.

Mit den folgenden ocifs-Cacheoptionen können Sie angeben, wie der OCIFS-Cache verwendet wird und wie er funktioniert:

Cache

Sie können das OCIFS-Cacheverzeichnis mit der Option cache=path des Befehls ocifs ändern.

Standardmäßig cacht OCIFS Objekte in ~/.ocifs/. Sie können dieses Cache-Verzeichnis mit der Option cache=path ändern. Mit dieser Option wird das Cache-Verzeichnis auf den angegebenen Pfad gesetzt. Der Pfad kann ein absoluter oder relativer Pfad zum Home-Verzeichnis des Benutzers sein.

Beispiel: Um den Objektspeicher-Bucket bucket-1 im Verzeichnis mydir zu mounten, und verwenden Sie /var/tmp/ocifs-cache als OCIFS-Cacheverzeichnis:
$ ocifs --cache=/var/tmp/ocifs-cache bucket-1 mydir

cache-fsfree

Sie können verhindern, dass das OCIFS-Utility versehentlich Speicherplatz im Cachedateisystem mit der Option cache-fsfree des Befehls ocifs auffüllt.

Verwenden Sie die Option cache-fsfree, um den Speicherplatz anzugeben, der im Cachedateisystem frei bleiben muss. Wenn der freie Speicherplatz größer als der angegebene Wert ist, versucht OCIFS, Daten zu cachen. Andernfalls führt OCIFS kein Caching durch. Wenn OCIFS keine Daten cachen kann, können einige OCIFS-Vorgänge fehlschlagen, z.B. Schreibvorgänge.

Hinweis

Die Option cache-fsfree ändert nicht die Art und Weise, wie die Attribute für OCIFS-Einträge (wie die Größe) gecacht werden.

Die Werte für die Cache-Verzeichnisgröße werden in der folgenden Tabelle aufgeführt.

Cache-Verzeichnisgrößenwerte

Wert

Beschreibung

Beispiel

0

Prüfen Sie nicht auf freien Speicherplatz im Cachedateisystem. Mit dieser Option versucht OCIFS, Daten zu cachen, unabhängig davon, wie viel freier Speicherplatz im Cachedateisystem verfügbar ist.

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

percent%

Dieser Wert gibt den Prozentsatz des Speicherplatzes (zwischen 0% und 100%) an, der im Cachedateisystem frei bleiben muss.

Wenn der Prozentsatz 100% beträgt, werden keine Daten gecacht.

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

number[K|M|G|T]

Dieser Wert gibt den Speicherplatz in Kilobyte (K), Megabyte (M), Gigabyte (G) oder Terabyte (T) an, der im Cachedateisystem frei bleiben muss.

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

number[K|M|G|T]i

Dieser Wert gibt den Speicherplatz in Kibibyte (Ki), Mebibyte (Mi), Gibibyte (Gi) oder Tebibyte (Ti) an, der im Cachedateisystem frei bleiben muss.

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

Hinweise:

  • Die Standardeinstellung ist cache-fsfree=5%.
  • Die Verwendung der Optionen 0, 0%, 0[K|M|G|T] oder 0[K|M|G|T]i hat dieselbe Wirkung.
  • Die Verwendung der Option 100% oder eines größeren Speicherplatzes oder der Größe des Dateisystems hat denselben Effekt.

cache-keep

Sie können den OCIFS-Cache mit der Option cache-keep des Befehls ocifs beibehalten, auch wenn das OCIFS-Dateisystem ausgehängt ist.

Wenn Sie das OCIFS-Dateisystem unmounten, wird das OCIFS-Cache-Verzeichnis entfernt, es sei denn, Sie mounten das Dateisystem mit der Option cache-keep.

Beispiel: So mounten Sie einen Object Storage-Bucket bucket-1 im Verzeichnis mydir, und lassen Sie den Cache nach dem Aushängen beibehalten:

$ ocifs --cache-keep bucket-1 mydir

Hinweise:

  • Wenn Sie die Option cache-keep verwenden, können Sie das Dateisystem möglicherweise nicht erneut mounten, es sei denn, Sie verwenden die Option cache-reuse.
  • Wenn Sie Daten nach dem Aushängen des Dateisystems im Cache speichern, kann dies die Leistung beim nächsten Mounten des Dateisystems verbessern. OCIFS prüft jedoch nicht, ob Abweichungen zwischen Daten im Cache und den tatsächlichen Daten im Object Storage-Bucket vorhanden sind.

Cache löschen

Mit der Option cache-purge des OCIFS-Utilitys können Sie Daten aus dem OCIFS-Cache für Dateien entfernen, die für einen bestimmten Zeitraum geschlossen wurden.

Standardmäßig wird der OCIFS-Cache nie gelöscht. Die Cache-Daten werden im Cache-Verzeichnis gespeichert, solange das Dateisystem gemountet ist. Das Cache-Verzeichnis wird nur entfernt, wenn das OCIFS-Dateisystem ausgehängt ist.

Mit der Option cache-purge können Sie angeben, wie lange Daten im Cache verbleiben, nachdem eine Datei geschlossen wurde. Sie können damit Festplattenspeicher beibehalten, insbesondere wenn nicht häufig auf Dateien zugegriffen wird. Dies ist beispielsweise nützlich, wenn Sie neue Dateien schreiben und nicht erneut auf die Dateien zugreifen.

Die OCIFS-Cachelöschverzögerung kann wie in der folgenden Tabelle aufgeführt angegeben werden:

Löschverzögerungswerte für OCIFS-Cache

Wert

Beschreibung

Beispiel

never

Löschen Sie den OCIFS-Cache nie. Mit diesem Wert werden gecachte Daten beibehalten, solange das OCIFS-Dateisystem gemountet ist. (Standard)

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

Verzögerungszeit

Die Löschverzögerung in Sekunden, bevor zwischengespeicherte Daten gelöscht werden. Wenn die Löschverzögerung auf 0 gesetzt ist, werden gecachte Daten für eine Datei sofort nach dem Schließen der Datei gelöscht.

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

Hinweis

Das Festlegen einer Verzögerung beim Löschen des OCIFS-Cache, insbesondere mit einem geringen Wert, kann sich negativ auf die Performance auswirken. Dies liegt daran, dass Daten schließlich aus dem Cache entfernt werden, wenn eine Datei nicht verwendet wird. Wenn eine Datei später erneut geöffnet und gelesen wird, kann die Performance verlangsamt sein, da sich die Dateidaten nicht im Cache befinden.

Cache-Wiederverwendung

Mit der Option cache-reuse des OCIFS-Utilitys kann ein OCIFS-Dateisystem gemountet werden, selbst wenn ein vorhandenes, nicht leeres Cacheverzeichnis vorhanden ist.

Standardmäßig verhindert OCIFS das Mounten eines Dateisystems, wenn es über ein nicht leeres Cache-Verzeichnis verfügt. Mit der Option cache-reuse können Sie das Dateisystem erneut mounten und das vorhandene Cache-Verzeichnis wiederverwenden, sofern vorhanden.

Beispiel: So mounten Sie den Object Storage-Bucket bucket-1 im Verzeichnis mydir, und verwenden Sie das vorhandene Cache-Verzeichnis wieder:

$ ocifs --cache-reuse bucket-1 mydir

Hinweise:

  • Sie können ein nicht leeres Cache-Verzeichnis verwenden, wenn das Dateisystem zuvor mit der Option cache-keep gemountet wurde oder wenn der Prozess ocifs abgebrochen wurde oder abgestürzt ist.
  • Die Wiederverwendung eines vorhandenen Caches kann die Performance verbessern, da das OCIFS-Utility schneller auf Daten zugreifen kann, die sich bereits im Cache befinden. Die Verwendung der Option cache-reuse wird jedoch nicht empfohlen, da OCIFS nicht auf Diskrepanzen zwischen Daten im Cache und den tatsächlichen Daten im Objektspeicher-Bucket prüft.

OCIFS Multipart-Uploadoption

OCIFS verwendet den mehrteiligen Upload von Oracle Cloud Interface (OCI) Object Storage, um große Objekte in OCI Object Storage hochzuladen.

Wenn OCIFS zum Hochladen eines Objekts Multipart-Upload verwendet, teilt es das Objekt relativ in Teile mit einer maximalen Teilegröße von 50 GiB auf. Teile werden dann von einem Pool von Threads hochgeladen.

Mit der OCIFS-Befehlsoption mpu-threshold können Sie angeben, wie OCIFS Multipart-Upload verwendet.

mpu-Schwellenwert

Mit OCIFS können Sie bestimmen, wann Multipart-Uploads große Dateien in Object Storage hochladen. Mit der OCIFS-Option mpu-threshold=size können Sie die Dateigröße angeben, über der Multipart-Uploads gestartet werden.

Der Standardwert für die Multipart-Uploadgröße ist 100 Mebibyte (empfohlen).

In der folgenden Tabelle werden die unterstützten Werte der Option mpu-threshold=size aufgeführt.

OCIFS-MPU-Schwellenwerte

Wert

Beschreibung

Beispiel

0

Verwenden Sie immer Multipart-Upload (nicht empfohlen).

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

number[KMGT]

Die Größe in Kilobyte (K), Megabyte (M), Gigabyte (G) oder Terabyte (T), über denen Multipart-Upload verwendet wird.

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

number[KMGT]i

Die Größe in Kibibyte (Ki), Mebibyte (Mi), Gibibyte (Gi) oder Tebibyte (Ti), über denen Multipart-Upload verwendet wird.

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