OCIFSユーティリティ

OCIFSユーティリティを使用すると、Oracle Cloud Infrastructure Object Storageバケットをファイル・システムとしてマウントできます。その後、バケット内のオブジェクトを通常のファイルおよびディレクトリとして管理できます。

OCIFSの既知の問題

次の既知の問題は、OCIFSユーティリティで検出された一時的なバグです。このバグは積極的に修正されており、回避策が提供されています。

OCIFSユーティリティのバージョン1.1および1.2では、一部のリージョンが古いか欠落しています

OCIFSユーティリティのバージョン1.1および1.2では、一部のリージョンが古いか欠落しており、ストレージ・バケットをマウントしようとすると次のエラーが表示される場合があります。

# 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

回避策

このメッセージが表示された場合は、mountコマンドでregion=region_name.realm_domainオプションを使用します。APIキーベースの認証を使用している場合、regionオプションは、CLI構成ファイルで指定されたリージョンをオーバーライドします。また、インスタンス・プリンシパルおよびリソース・プリンシパル認証方法についてもこの問題に対処します。

たとえば、oraclegovcloud.ukドメイン内のuk-gov-london-1リージョンにbucket1をマウントするには:

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

OCIFSユーティリティのバージョン1.2でインスタンス・プリンシパル認証方法を使用している場合、region=region_name.realm_domainオプションを指定しても、このエラー・メッセージが引き続き表示されることがあります。その場合は、OCIFSユーティリティのバージョン1.1に切り替えて、回避策を再試行してください。

OCIFSユーティリティのインストール

Oracle Linux 8以降のシステムまたはインスタンスにOCIFSユーティリティをインストールします。

前提条件:

  • OCIオブジェクト・ストレージ: OCIFSをインストールする予定のシステムまたはインスタンスが、マウントする既存のオブジェクト・ストレージ・バケットにアクセスできるか、または接続できることを確認します。バケットは空にすることも、すでにオブジェクトに移入することもできます。オブジェクト・ストレージの詳細は、オブジェクト・ストレージの概要を参照してください。オブジェクト・ストレージ・バケットの作成方法の詳細は、バケットの作成を参照してください。

  • ローカル・ディスク領域: OCIFSは、オブジェクト・ストレージ・オブジェクトをキャッシュするためにローカル・ディスク領域を消費します。OCIFSは、マウントされたオブジェクト・ストレージ・バケットのオブジェクトを、指定できるディレクトリにキャッシュします。最適なパフォーマンスを得るには、高速アクセス時間のストレージデバイス上にあるキャッシュ用のローカルディレクトリを指定します。

    また、キャッシュ・ディレクトリが、マウントされたオブジェクト・ストレージ・バケット・パスの内容全体、または少なくとも読取りまたは書込みの対象となるバケット内のすべてのオブジェクトをホストするのに十分な空き領域があるストレージ・デバイス上にあることを確認してください。
    ノート

    キャッシュ・ディレクトリが配置されているストレージ・デバイスがいっぱいになると、OCIFS操作は失敗することがあります。OCIFSキャッシュの詳細は、OCIFSキャッシュ・オプションを参照してください。
  • CLI構成ファイル: デフォルトでは、OCIFSはAPIキーベースの認証方法を使用してオブジェクト・ストレージを認証します。この認証方法には、OCIFS固有のエントリを含むCLI構成ファイルが必要です。OCIFSの構成ファイルの設定方法の詳細は、APIキーベース認証を参照してください。

OCIFSユーティリティをインストールするには:

  1. 前提条件を完了します。
  2. ocifsパッケージを含むoci_includedリポジトリを有効にします。このリポジトリは、Oracle Linuxプラットフォーム・イメージではデフォルトで有効になっています。
  3. ocifsパッケージをインストールします。
    sudo dnf install ocifs

OCIFSユーティリティの更新

最新バージョンのocifsに更新するには:

sudo yum update ocifs

OCIFSユーティリティの詳細

OCIFSでオブジェクト・ストレージ・バケットをマウントすると、バケットをファイル・システムとして使用でき、バケット内のオブジェクトを通常のディレクトリおよびファイルとして管理できます。

オブジェクト・ストレージ・バケット内のオブジェクトはフラット構造に存在しますが、OCIFSは、1つ以上のフォワード・スラッシュ(/)を含むオブジェクト名に存在する接頭辞文字列を使用してディレクトリ構造をシミュレートします。OCIFSはFUSEファイル・システムとして実装されているため、ファイル・システムを使用するためにroot権限は必要ありません。

ノート

OCIFSファイル・システムは共有ファイル・システムではありません。オブジェクト・データの破損を回避するために、OCIFSを使用して同じオブジェクト・ストレージ・バケット(または重複するバケット・サブフォルダ)を何度も同時にマウントしないでください。また、Object Storageバケットがマウントされている間、バケット・オブジェクト(コンソール、CLIまたはAPIなど)を直接変更しないでください。

オブジェクト・ストレージの詳細は、オブジェクト・ストレージの概要を参照してください。

OCIFSを使用したマウントの詳細は、OCIFSを使用したマウントおよびアンマウントを参照してください。

使用法

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ユーティリティのオプション

OCIFSオプションは、ocifsコマンドで長いオプション--option[=value]を指定するか、-oオプション-o option[=value]を指定して指定できます。

OCIFSユーティリティのオプション

オプション

説明

詳細は、次を参照してください:

auth=method

OCI Object Storageへのアクセス時にOCIFSが使用する認証方法を設定します。
  • api_key (デフォルト)

  • instance_principal

  • resource_principal

OCIFS認証

config=file

APIキーベースの認証に使用される CLI構成ファイルへのパスを設定します。

APIキーベース認証

region=name.realm_domain

CLI構成ファイルで指定されたリージョンをオーバーライドします。

APIキーベース認証

キャッシュ・オプション

OCIFSキャッシュの機能を定義します。
  • cache=path: キャッシュ・ディレクトリへのパスを設定します。

  • cache-fsfree: キャッシュ・ディレクトリが存在するファイル・システムで空き領域を確保する量を指定します。

  • cache-keep: OCIFSファイル・システムのアンマウント時にキャッシュ・ディレクトリは削除されません。

  • cache-purge: キャッシュ・パージ遅延を指定します。

  • cache-reuse: ディレクトリが空でない場合でも、既存のキャッシュ・ディレクトリを再利用します。

OCIFSキャッシュ・オプション

debug=level

デバッグ・レベル(レベル)を設定し、ocifsコマンド出力にデバッグ情報を表示します。デバッグ・レベル:

  • all: すべての操作をデバッグします。

  • cache: キャッシュ操作のデバッグ。

  • fops: FUSE操作をデバッグします。

  • oci: OCIリクエストをデバッグします。

  • other: 他の未分類の操作をデバッグします。

複数のデバッグ・レベルの場合は、レベルをカンマで区切ります。

OCIFS診断の有効化

FUSEオプション
ocifsコマンドは、次のFUSEオプションを受け入れます。
  • d: FUSEデバッグ出力を有効にします。

  • f: ocifsプロセスをフォアグラウンドで実行します。

  • s: マルチスレッドではなく、ocifsプロセスをシングルスレッドで実行します。

また、FUSE(8)のマニュアルページで説明されているFUSEマウントオプションは、-oオプションで指定できます。

fuse(8)のマニュアル・ページ

check-bucket bucket-path

指定されたオブジェクト・ストレージ・バケットがアクセス可能であり、バケット内のオブジェクトにOCIFSマウント・ルールと互換性のある名前があることを確認します。

OCIFSマウントの制限事項

version

OCIFSユーティリティのバージョンを表示します。

OCIFSユーティリティの更新

mpuしきい値

前述のマルチパート・アップロードが使用されるファイル・サイズを定義します。

OCIFSマルチパート・アップロード・オプション

bucket-path

マウントするオブジェクト・ストレージ・バケットを指定します。

OCIFSを使用したマウントおよびアンマウント

バケットの作成

directory

オブジェクト・ストレージ・バケットをマウントするディレクトリを指定します。

OCIFSを使用したマウントおよびアンマウント

OCIFSを使用したマウントおよびアンマウント

OCIFSユーティリティを使用すると、マウントするオブジェクト・ストレージ・バケットをそのバケット・パスで指定できます。

バケット・パスには、次のいずれかを指定できます。

  • バケット名: 指定されたObject Storageバケットのすべてのオブジェクトは、マウントされたディレクトリ内の通常のファイルまたはディレクトリとしてアクセスできます。

    たとえば、オブジェクト・ストレージ・バケットbucket-1をディレクトリmydirにマウントするには:
    $ mkdir ~/mydir
    $ ocifs bucket-1 mydir
  • そのバケットのサブフォルダを持つオブジェクト・ストレージ・バケット名であるバケット・サブフォルダ: マウントされたディレクトリ内の通常のファイルまたはディレクトリとしてアクセスできるのは、指定されたバケット・サブフォルダのオブジェクトのみです。

    たとえば、オブジェクト・ストレージ・バケットbucket-1のサブフォルダmarathon/participantsをディレクトリmydirにマウントするには:
    $ ocifs bucket-1/marathon/participants mydir

オブジェクト・ストレージ・バケットのマウント

前提条件:

OCIFSを使用してオブジェクト・ストレージ・バケットをマウントする前に、次を確認します:

オブジェクト・ストレージ・バケットをマウントするには:

  • ocifsコマンドを使用します:
    ocifs [options] bucket-path directory

    または:

  • mount(8)コマンドを使用します。
    mount -t fuse.ocifs [-o options] bucket-path directory
    ノート

    mountコマンドでは、オプションは-oオプション-o option[=value]で指定します。

    ノート

    mountコマンドには、適切な権限(rootなど)が必要です。

例:

  • ocifsコマンドを使用してオブジェクト・ストレージ・バケットbucket-1をディレクトリmydirにマウントし、アンマウント後にOCIFSキャッシュ・ディレクトリを保持します。

    $ ocifs --cache-keep bucket-1 mydir
  • mountコマンドを使用してオブジェクト・ストレージ・バケットbucket-1をディレクトリ/mntにマウントし、アンマウント後にOCIFSキャッシュ・ディレクトリを保持します。

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

デフォルトでは、Object StorageバケットはAPIキーベース認証を使用してマウントされます。「APIキーベース認証」を参照してください。

オブジェクト・ストレージ・バケットのアンマウント

  • fusermount -uコマンドを使用します。
    fusermount -u directory

    または:

  • umount(8)コマンドを使用します。
    umount directory
    ノート

    umountコマンドには適切な権限(rootなど)が必要です。
例:
  • fusermountコマンドを使用して、ディレクトリmydirにマウントされたオブジェクト・ストレージ・バケットをアンマウントします:

    $ fusermount -u mydir
  • umountコマンドを使用して、ディレクトリ/mntにマウントされたオブジェクト・ストレージ・バケットをアンマウントします:

    # umount /mnt
ノート

OCIFSファイル・システムをアンマウントすると、ファイル・システムがcache-keepオプションでマウントされていないかぎり、対応するキャッシュ・ディレクトリが削除されます。cache-keepを参照してください。

OCIFSのマウントの制限

OCIFSには、オブジェクト・ストレージ・バケットをマウントする前に考慮する必要があるいくつかのマウント制限があります。

次のマウント規則と制限を確認します。

ファイル・タイプ、属性およびサイズ設定

OCIFSには、ファイル・タイプ、属性およびサイズ設定のマウント制限があります。

ファイル・タイプ
OCIFSでは、通常のファイルおよびディレクトリのみがサポートされます。OCIFSでは、シンボリック・リンク、物理リンクおよび特殊ファイル(ブロック、文字、fifo、特殊ファイル)はサポートされません
ファイル属性
ファイル属性(権限、ユーザーおよびグループの所有権、アクセス/変更/変更時間)は、マウント間で永続的ではありません。OCIFSファイル・システムがアンマウントおよび再マウントされると、すべての属性がリセットされます。
デフォルトでは、アクセス権はディレクトリの場合は0755、ファイルの場合は0644に設定されます。所有権は、ファイル・システムの所有者のuidおよびgidで設定されます。OCIFSファイル・システムがrootユーザーによってマウントされていないかぎり、ファイル権限および所有権は変更できません。ファイルへの書込み権限を削除すると、新規読取りデータがキャッシュされなくなります。この場合、OCIFSにはキャッシュされたファイルに書き込む権限がありません。
ファイル・サイズ
OCIFSの最大ファイル・サイズは10 TiBです。これはOCIオブジェクト・ストレージの最大オブジェクト・サイズです。

ネーミング・ルール

ファイル、パス、オブジェクトおよび接頭辞のOCIFSマウント・ネーミング・ルールに従います。

ファイル名
OCIFSファイル名のサイズは、OCIFSキャッシュに使用されるファイル・システムでサポートされているサイズに制限されます。ファイル・システムの最も一般的なファイル名サイズ制限は255文字です。オブジェクト・ストレージ・バケットのファイル名サイズが255文字を超えるオブジェクトがある場合、そのオブジェクトはOCIFSファイル・システム上のファイルまたはディレクトリとして表示されることがありますが、オブジェクトは読取り専用であり、キャッシュできません。オブジェクトはキャッシュされないため、オブジェクトのアクセス時間が遅くなる可能性があります。
OCIFSのオブジェクトの読取り/書込みアクセスおよびキャッシュは、OCIFSキャッシュに使用されるファイル・システムと互換性のある名前でオブジェクトの名前を変更することでリストアできます。Oracle Cloudコンソールを使用してオブジェクトの名前を変更することも、mv(1)コマンドを使用してOCIFSでオブジェクトの名前を変更することもできます。
パス名
OCIFSでは、最大1023文字のパス名がサポートされています。
互換性のないオブジェクト名
オブジェクト・ストレージ・バケットには、Oracle Linuxファイル・システムのネーミング規則(//directorydirectory////mydirectoryなど)と互換性がない名前のオブジェクトを含めることができます。ただし、これらのオブジェクトはOCIFSではアクセスも表示もできません。OCIFSで使用できるようにするには、このようなオブジェクトの名前を、Oracle Linuxファイル・システムの命名規則と互換性のある名前に変更する必要があります。Oracle Cloudコンソールを使用して、オブジェクトの名前を変更できます。
オブジェクト名は最大1024文字で、通常のファイル・システム・ファイル名制限(255文字)より大きい対応するOCIFSファイル名を指定できます。ただし、OCIFSを使用したこのようなオブジェクトへのアクセスは制限されています。
オブジェクト・ストレージ・バケットにOCIFSファイル・システムと互換性がない名前があるかどうかを確認するには、ocifsコマンドの--check-bucketオプションを使用します。OCIFSユーティリティの詳細を参照してください。
オブジェクトと接頭辞名の競合
オブジェクト・ストレージ・オブジェクト名と接頭辞名の両方として同じ名前が使用されている場合、その名前はOCIFSのディレクトリ・エントリとして表示されます。同じ名前のオブジェクトにはOCIFSからアクセスできません。OCIFSを介してオブジェクトを表示するには、接頭辞として使用されていない名前でオブジェクトの名前を変更する必要があります。
たとえば、オブジェクト・ストレージ・バケットにオブジェクトdirectoryおよびdirectory/mydirectoryがある場合、directoryはオブジェクト名と接頭辞名の両方として使用されます。その場合、OCIFSはエントリdirectoryをディレクトリとして表示し、接頭辞directory/で始まるすべてのオブジェクト(オブジェクトdirectory/mydirectoryなど)へのアクセスを提供します。ただし、オブジェクトdirectoryにはアクセスできません。
ocifsコマンドの--check-bucketオプションを使用して、バケットに競合するオブジェクト名と接頭辞名があるかどうかを確認します。

データの同期

OCIFSは、データ同期の様々なオプションを提供します。

OCIFSファイルへの書込み時に、OCIFSファイルが閉じられると、データは同期されます(データは事実上、対応するObject Storageオブジェクトに書き込まれます)。データ同期エラーは、close(2)システム・コールによってレポートされます。close()からのエラー戻り値の処理の詳細は、close(2)のマニュアル・ページの「ノート」の項を参照してください。fsync(2)またはfdatasync(2)を使用して、データを明示的に同期するようにリクエストすることもできます。

または、書込み操作によって、特定のファイル(O_SYNCまたはO_DSYNCフラグでファイルを開くこと)またはすべてのファイル(syncオプション(-o sync)でOCIFSファイル・システムをマウントすることにより)のデータを即時に同期させることができます。
ノート

O_SYNCまたはO_DSYNCのオープン・フラグ、またはsyncマウント・オプションを使用すると、パフォーマンスに悪影響を与える可能性があります。

OCIFS認証

OCIFSユーティリティでは、APIキーベース(デフォルト)、インスタンス・プリンシパルまたはリソース・プリンシパル認証メソッドを使用します。

OCIFSユーティリティを使用してオブジェクト・ストレージ・バケットをマウントする場合、auth=methodオプションをocifsコマンドとともに使用して、オブジェクト・ストレージへのアクセスおよび認証に使用する認証方法を指定できます。

詳細は、次を参照してください:

APIキーベース認証

OCIFSでオブジェクト・ストレージ・バケットをマウントするためのAPIキーベースの認証方法を指定および構成します。

APIキーベース認証は、OCIFSのデフォルトの認証方法であり、OCIコンピュート・インスタンスまたは他のシステムから使用できます。この認証方法には、ローカルのOCI SDKおよびCLI構成ファイルが必要です。構成ファイルを指定するには、ocifsコマンドでconfig=fileオプションを使用します。デフォルトでは、構成ファイルは~/.oci/configです。

たとえば、オブジェクト・ストレージ・バケットbucket-1mydirディレクトリにマウントし、~/my_config CLI構成ファイルでAPIキーベース認証を使用する場合:
$ ocifs --auth=api_key --config=~/my_config bucket-1 mydir

APIキーベースの認証方法を使用してオブジェクト・ストレージ・バケットをマウントする前に、CLI構成ファイル(~/.oci/config)に[DEFAULT]プロファイルと、次の表に示すエントリがあることを確認してください。

APIキーベース認証の構成ファイル・エントリ

入力

説明

user

Oracle Cloud InfrastructureにアクセスしているユーザーのOCID

user=ocid1.user.oc1..unique_ID

tenancy

テナンシのOCID

tenancy=ocid1.tenancy.oc1..unique_ID

region

Oracle Cloud Infrastructureリージョン

region=regional_area_name

key_file

秘密キーのフルパスとファイル名

key_file=~/.oci/oci_api_key.pem

fingerprint

このユーザーに使用される公開キーのフィンガープリント

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

詳細は、SDKおよびCLIの構成ファイルを参照してください。

Instance Principal認証

デフォルトのAPIキーベースの認証方法のかわりに、OCIFSユーティリティでインスタンス・プリンシパル認証方法を使用できます。

OCIFSのインスタンス・プリンシパル認証方法は、認可されたOracle Cloud Infrastructureインスタンスからのみ使用します。この認証方法では、指定されたインスタンスがCLI構成ファイルなしでオブジェクト・ストレージにアクセスできます。その後、インスタンスは認証する情報を自動的に検出します。

インスタンス・プリンシパル認証を使用して、インスタンス・プリンシパルとして構成されているコンピュート・インスタンスにオブジェクト・ストレージ・バケットをマウントする必要があります。

たとえば、インスタンス・プリンシパル認証を使用してオブジェクト・ストレージ・バケットbucket-1mydirディレクトリにマウントするには:

$ ocifs --auth=instance_principal bucket-1 mydir

インスタンス・プリンシパル認証を使用するには、コンピュート・インスタンスが動的グループの一部であり、動的グループがオブジェクト・ストレージを管理できるようにするポリシーが必要です。manage object-family動詞とリソース・タイプを使用して、オブジェクト・ストレージ・オブジェクトの管理を許可するポリシーを定義できます。動的グループの詳細は、動的グループの管理を参照してください。

たとえば、コンピュート・インスタンス(インスタンスIDがocid1.instance.OCID)がインスタンス・プリンシパル認証を使用できるようにするには:

  1. コンピュート・インスタンスに一致する次のルールを使用して、動的グループdgroup-ocifsを作成します:

    All {instance.id = 'ocid1.instance.OCID'}
  2. 動的グループdgroup-ocifsにオブジェクト・ストレージの管理を許可するポリシーを作成します:

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

詳細は、インスタンスからのサービスのコールを参照してください。

リソース・プリンシパル認証

デフォルトのAPIキーベースの認証方法のかわりに、OCIFSでリソース・プリンシパル認証方法を使用できます。

認可されたOracle Cloud Infrastructure (OCI)ファンクションからのみ、OCIFSでリソース・プリンシパル認証方式を使用します。この認証方法を使用すると、指定されたファンクションは、CLI構成ファイルなしで別のリソース(オブジェクト・ストレージ)にアクセスできます。その後、OCI関数は認証する情報を自動的に検出します。

リソース認証を使用するには、OCIファンクションが動的グループの一部で、動的グループがそのリソースまたはオブジェクト・ストレージにアクセスできるようにするポリシーが必要です。動的グループの詳細は、動的グループの管理を参照してください。

他のOCIリソースにアクセスするOCIファンクションの詳細は、他のOracle Cloud Infrastructureリソースへのアクセスを参照してください。

OCIFSでリソース認証方法を使用するには、ocifsコマンドを使用してバケットをマウントするときに--auth=resource_principalと入力します。

たとえば、リソース・プリンシパル認証を使用してオブジェクト・ストレージ・バケットbucket-1mydirディレクトリにマウントするには:

$ ocifs --auth=resource_principal bucket-1 mydir

OCIFS診断の有効化

OCIFS診断を有効にするには、ocifsコマンドを-fオプションとともに使用して、OCIFSプロセスをフォアグラウンドで実行し、--debugオプションでデバッグ・レベルを指定します。

たとえば、mydirディレクトリにマウントされたオブジェクト・ストレージ・バケットbucket-1のすべてのOCIFS操作に関する診断情報を表示するには:

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

または、ocifsコマンドで-dオプションを使用すると、すべての操作でFUSEデバッグを有効にできます。

例:

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

OCIFSキャッシュ・オプション

OCIFSキャッシュ・オプションを使用して、OCIFSキャッシュの機能を指定します。

OCIFSユーティリティは、マウントされたオブジェクト・ストレージ・バケット・パスのオブジェクトをローカル・ディレクトリ(デフォルトでは~/.ocifs/bucket/)にキャッシュします。

キャッシュ・ディレクトリが配置されているストレージ・デバイスが一杯になると、一部のOCIFS操作は失敗する可能性があります。

OCIFSキャッシュの使用方法およびファンクションは、次のocifsキャッシュ・オプションを使用して指定できます。

キャッシュ

OCIFSキャッシュ・ディレクトリは、ocifsコマンドのcache=pathオプションを使用して変更できます。

デフォルトでは、OCIFSは~/.ocifs/にオブジェクトをキャッシュします。このキャッシュディレクトリは、cache=pathオプションを使用して変更できます。このオプションは、キャッシュディレクトリを指定されたパスに設定します。このパスには、ユーザーのホーム・ディレクトリへの絶対パスまたは相対パスを指定できます。

たとえば、オブジェクト・ストレージ・バケットbucket-1mydirディレクトリにマウントし、/var/tmp/ocifs-cacheをOCIFSキャッシュ・ディレクトリとして使用するには:
$ ocifs --cache=/var/tmp/ocifs-cache bucket-1 mydir

cache-fsfree

ocifsコマンドのcache-fsfreeオプションを使用して、OCIFSユーティリティがキャッシュ・ファイル・システムの領域を誤っていっぱいにしないようにできます。

cache-fsfreeオプションを使用して、キャッシュ・ファイル・システムで空き領域を確保する必要がある領域を指定します。空き領域が指定した量より大きい場合、OCIFSはデータのキャッシュを試みます。それ以外の場合、OCIFSはキャッシュを実行しません。OCIFSがデータをキャッシュできない場合、一部のOCIFS操作(書込み操作など)が失敗することがあります。

ノート

cache-fsfreeオプションは、OCIFSエントリの属性(サイズなど)のキャッシュ方法を変更しません。

次の表に、キャッシュ・ディレクトリ・サイズの値を示します。

キャッシュ・ディレクトリ・サイズ値

説明

0

キャッシュ・ファイル・システムの空き領域をチェックしません。このオプションを使用すると、OCIFSは、キャッシュ・ファイル・システムで使用可能な空き領域に関係なく、データのキャッシュを試みます。

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

percent%

この値は、キャッシュ・ファイル・システムで空き領域を維持する必要がある領域の割合(0%から100%)を指定します。

パーセンテージが100%の場合、データはキャッシュされません。

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

number[K|M|G|T]

この値は、キャッシュ・ファイル・システムで空き状態を維持する必要がある領域の量をKB (K)、MB (M)、ギガバイト(G)またはテラバイト(T)で指定します。

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

number[K|M|G|T]i

この値は、キャッシュ・ファイル・システムで空き状態にしておく必要のあるキビバイト(Ki)、メビバイト(Mi)、ギビバイト(Gi)またはテビバイト(Ti)の領域量を指定します。

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

ノート:

  • デフォルト設定はcache-fsfree=5%です。
  • オプション00%0[K|M|G|T]または0[K|M|G|T]iを使用すると、同じ効果が得られます。
  • オプション 100%を使用するか、ファイルシステムのサイズ以上の領域量を使用すると、同じ効果が得られます。

キャッシュキープ

OCIFSファイル・システムがアンマウントされている場合でも、ocifsコマンドのcache-keepオプションを使用してOCIFSキャッシュを保持できます。

OCIFSファイル・システムをアンマウントすると、cache-keepオプションを指定してファイル・システムをマウントしないかぎり、OCIFSキャッシュ・ディレクトリが削除されます。

たとえば、オブジェクト・ストレージ・バケットbucket-1mydirディレクトリにマウントし、アンマウント後にキャッシュを保持するには:

$ ocifs --cache-keep bucket-1 mydir

ノート:

  • cache-keepオプションを使用すると、cache-reuseオプションを使用しないかぎり、ファイルシステムを再度マウントできないことがあります。
  • ファイル・システムのアンマウント後にデータをキャッシュに保持すると、次回のファイル・システムのマウント時にパフォーマンスが向上します。ただし、OCIFSでは、キャッシュ内のデータとオブジェクト・ストレージ・バケット内の実際のデータとの間に差異があるかどうかはチェックされません。

キャッシュ・パージ

OCIFSユーティリティのcache-purgeオプションを使用すると、指定した時間クローズされたファイルのデータをOCIFSキャッシュから削除できます。

デフォルトでは、OCIFSキャッシュはパージされません。キャッシュ・データは、ファイル・システムがマウントされているかぎりキャッシュ・ディレクトリに保持されます。キャッシュ・ディレクトリは、OCIFSファイル・システムがアンマウントされている場合にのみ削除されます。

cache-purgeオプションを使用すると、ファイルが閉じられたあとにデータがキャッシュに残る時間を指定できます。これを使用すると、特にファイルが頻繁にアクセスされない場合に、ディスク領域を保持できます。これは、たとえば、新しいファイルを書き込んで、再度ファイルにアクセスしない場合に便利です。

OCIFSキャッシュのパージ遅延は、次の表に示すように指定できます。

OCIFSキャッシュ・パージ遅延値

説明

never

OCIFSキャッシュはパージしないでください。この値を指定すると、OCIFSファイル・システムがマウントされているかぎり、キャッシュされたデータは保持されます。(デフォルト)。

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

待ち時間

キャッシュされたデータをパージするまでのパージ遅延(秒)。パージ遅延が0に設定されている場合、ファイルのキャッシュされたデータは、ファイルが閉じられた直後にパージされます。

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

ノート

OCIFSキャッシュのパージ遅延(特に小さい値)を設定すると、パフォーマンスに悪影響を及ぼす可能性があります。これは、ファイルが使用されていないときにデータが最終的にキャッシュから削除されるためです。後でファイルを再オープンして読取りを行うと、ファイル・データがキャッシュにないため、パフォーマンスが低下する可能性があります。

キャッシュ再利用

OCIFSユーティリティのcache-reuseオプションを使用すると、空のキャッシュ・ディレクトリが存在する場合でも、OCIFSファイル・システムをマウントできます。

デフォルトでは、OCIFSに空でないキャッシュ・ディレクトリがある場合、ファイル・システムはマウントされません。cache-reuseオプションを使用すると、ファイル・システムを再マウントし、既存のキャッシュ・ディレクトリが存在する場合は再利用できます。

たとえば、オブジェクト・ストレージ・バケットbucket-1mydirディレクトリにマウントし、既存のキャッシュ・ディレクトリを再利用するには:

$ ocifs --cache-reuse bucket-1 mydir

ノート:

  • ファイル・システムが以前にcache-keepオプションを使用してマウントされている場合、またはocifsプロセスが強制終了されたかクラッシュした場合は、空でないキャッシュ・ディレクトリを保持できます。
  • OCIFSユーティリティはキャッシュ内のデータにすばやくアクセスできるため、既存のキャッシュを再利用することでパフォーマンスが向上します。ただし、OCIFSでは、キャッシュ内のデータとオブジェクト・ストレージ・バケット内の実際のデータとの差異がチェックされないため、cache-reuseオプションの使用はお薦めしません。

OCIFSマルチパート・アップロード・オプション

OCIFSは、Oracle Cloud Interface (OCI) Object Storageマルチパート・アップロードを使用して、ラージ・オブジェクトをOCI Object Storageにアップロードします。

OCIFSは、マルチパート・アップロードを使用してオブジェクトをアップロードする場合、最大パート・サイズが50 GiBのパートにオブジェクトをかなり分割します。その後、パートはスレッドのプールによってアップロードされます。

OCIFSのmpu-thresholdコマンド・オプションを使用して、OCIFSでのマルチパート・アップロードの使用方法を指定できます。詳細は、mpu-thresholdを参照してください。

mpuしきい値

OCIFSでは、マルチパート・アップロードを使用して大きなファイルをオブジェクト・ストレージにアップロードするタイミングを決定できます。OCIFS mpu-threshold=sizeオプションを使用すると、マルチパート・アップロードを開始するファイル・サイズを指定できます。

デフォルトのマルチパート・アップロード・サイズのしきい値は100MBです(推奨)。

次の表に、サポートされているmpu-threshold=sizeオプションの値を示します。

OCIFSのmpuしきい値

説明

0

常にマルチパート・アップロードを使用します(非推奨)。

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

number[KMGT]

マルチパート・アップロードが使用されるサイズ(キロバイト(K)、メガバイト(M)、ギガバイト(G)またはテラバイト(T))。

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

number[KMGT]i

マルチパート・アップロードが使用される、キビバイト(Ki)、メビバイト(Mi)、ギビバイト(Gi)またはテビバイト(Ti)のサイズ。

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