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ユーティリティをインストールするには:
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]
を指定して指定できます。
オプション |
説明 |
詳細は、次を参照してください: |
---|---|---|
|
OCI Object Storageへのアクセス時にOCIFSが使用する認証方法を設定します。
|
|
|
APIキーベースの認証に使用される CLI構成ファイルへのパスを設定します。 |
|
|
CLI構成ファイルで指定されたリージョンをオーバーライドします。 |
|
キャッシュ・オプション |
OCIFSキャッシュの機能を定義します。
|
|
|
デバッグ・レベル(レベル)を設定し、
複数のデバッグ・レベルの場合は、レベルをカンマで区切ります。 |
|
FUSEオプション |
ocifs コマンドは、次のFUSEオプションを受け入れます。
また、 |
|
|
指定されたオブジェクト・ストレージ・バケットがアクセス可能であり、バケット内のオブジェクトにOCIFSマウント・ルールと互換性のある名前があることを確認します。 |
|
|
OCIFSユーティリティのバージョンを表示します。 |
|
mpuしきい値 |
前述のマルチパート・アップロードが使用されるファイル・サイズを定義します。 |
|
|
マウントするオブジェクト・ストレージ・バケットを指定します。 |
|
|
オブジェクト・ストレージ・バケットをマウントするディレクトリを指定します。 |
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ユーティリティの詳細: OCIFSユーティリティで使用可能なマウント・オプション
-
OCIFS認証: OCIFSで使用される認証方法、および必要に応じてCLI構成ファイルの編集に関する情報
オブジェクト・ストレージ・バケットをマウントするには:
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ファイル・システムがアンマウントおよび再マウントされると、すべての属性がリセットされます。
- ファイル・サイズ
- OCIFSの最大ファイル・サイズは10 TiBです。これはOCIオブジェクト・ストレージの最大オブジェクト・サイズです。
ネーミング・ルール
ファイル、パス、オブジェクトおよび接頭辞のOCIFSマウント・ネーミング・ルールに従います。
- ファイル名
- OCIFSファイル名のサイズは、OCIFSキャッシュに使用されるファイル・システムでサポートされているサイズに制限されます。ファイル・システムの最も一般的なファイル名サイズ制限は255文字です。オブジェクト・ストレージ・バケットのファイル名サイズが255文字を超えるオブジェクトがある場合、そのオブジェクトはOCIFSファイル・システム上のファイルまたはディレクトリとして表示されることがありますが、オブジェクトは読取り専用であり、キャッシュできません。オブジェクトはキャッシュされないため、オブジェクトのアクセス時間が遅くなる可能性があります。
- パス名
- OCIFSでは、最大1023文字のパス名がサポートされています。
- 互換性のないオブジェクト名
- オブジェクト・ストレージ・バケットには、Oracle Linuxファイル・システムのネーミング規則(
//directory
やdirectory////mydirectory
など)と互換性がない名前のオブジェクトを含めることができます。ただし、これらのオブジェクトはOCIFSではアクセスも表示もできません。OCIFSで使用できるようにするには、このようなオブジェクトの名前を、Oracle Linuxファイル・システムの命名規則と互換性のある名前に変更する必要があります。Oracle Cloudコンソールを使用して、オブジェクトの名前を変更できます。
- オブジェクトと接頭辞名の競合
- オブジェクト・ストレージ・オブジェクト名と接頭辞名の両方として同じ名前が使用されている場合、その名前はOCIFSのディレクトリ・エントリとして表示されます。同じ名前のオブジェクトにはOCIFSからアクセスできません。OCIFSを介してオブジェクトを表示するには、接頭辞として使用されていない名前でオブジェクトの名前を変更する必要があります。
データの同期
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-1
をmydir
ディレクトリにマウントし、~/my_config
CLI構成ファイルでAPIキーベース認証を使用する場合:$ ocifs --auth=api_key --config=~/my_config bucket-1 mydir
APIキーベースの認証方法を使用してオブジェクト・ストレージ・バケットをマウントする前に、CLI構成ファイル(~/.oci/config
)に[DEFAULT]
プロファイルと、次の表に示すエントリがあることを確認してください。
入力 |
説明 |
例 |
---|---|---|
|
Oracle Cloud Infrastructureにアクセスしているユーザーの |
|
|
テナンシの |
|
|
Oracle Cloud Infrastructureリージョン |
|
|
秘密キーのフルパスとファイル名 |
|
|
このユーザーに使用される公開キーのフィンガープリント |
|
詳細は、SDKおよびCLIの構成ファイルを参照してください。
Instance Principal認証
デフォルトのAPIキーベースの認証方法のかわりに、OCIFSユーティリティでインスタンス・プリンシパル認証方法を使用できます。
OCIFSのインスタンス・プリンシパル認証方法は、認可されたOracle Cloud Infrastructureインスタンスからのみ使用します。この認証方法では、指定されたインスタンスがCLI構成ファイルなしでオブジェクト・ストレージにアクセスできます。その後、インスタンスは認証する情報を自動的に検出します。
インスタンス・プリンシパル認証を使用して、インスタンス・プリンシパルとして構成されているコンピュート・インスタンスにオブジェクト・ストレージ・バケットをマウントする必要があります。
たとえば、インスタンス・プリンシパル認証を使用してオブジェクト・ストレージ・バケットbucket-1
をmydir
ディレクトリにマウントするには:
$ ocifs --auth=instance_principal bucket-1 mydir
インスタンス・プリンシパル認証を使用するには、コンピュート・インスタンスが動的グループの一部であり、動的グループがオブジェクト・ストレージを管理できるようにするポリシーが必要です。manage object-family
動詞とリソース・タイプを使用して、オブジェクト・ストレージ・オブジェクトの管理を許可するポリシーを定義できます。動的グループの詳細は、動的グループの管理を参照してください。
たとえば、コンピュート・インスタンス(インスタンスIDがocid1.instance.OCID
)がインスタンス・プリンシパル認証を使用できるようにするには:
-
コンピュート・インスタンスに一致する次のルールを使用して、動的グループ
dgroup-ocifs
を作成します:All {instance.id = 'ocid1.instance.OCID'}
-
動的グループ
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-1
をmydir
ディレクトリにマウントするには:
$ 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-1
をmydir
ディレクトリにマウントし、/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エントリの属性(サイズなど)のキャッシュ方法を変更しません。次の表に、キャッシュ・ディレクトリ・サイズの値を示します。
値 |
説明 |
例 |
---|---|---|
|
キャッシュ・ファイル・システムの空き領域をチェックしません。このオプションを使用すると、OCIFSは、キャッシュ・ファイル・システムで使用可能な空き領域に関係なく、データのキャッシュを試みます。 |
|
|
この値は、キャッシュ・ファイル・システムで空き領域を維持する必要がある領域の割合(0%から100%)を指定します。 パーセンテージが100%の場合、データはキャッシュされません。 |
|
|
この値は、キャッシュ・ファイル・システムで空き状態を維持する必要がある領域の量をKB (K)、MB (M)、ギガバイト(G)またはテラバイト(T)で指定します。 |
|
|
この値は、キャッシュ・ファイル・システムで空き状態にしておく必要のあるキビバイト(Ki)、メビバイト(Mi)、ギビバイト(Gi)またはテビバイト(Ti)の領域量を指定します。 |
|
ノート:
- デフォルト設定は
cache-fsfree=5%
です。 - オプション
0
、0%
、0
[K|M|G|T
]または0
[K|M|G|T
]i
を使用すると、同じ効果が得られます。 - オプション
100%
を使用するか、ファイルシステムのサイズ以上の領域量を使用すると、同じ効果が得られます。
キャッシュキープ
OCIFSファイル・システムがアンマウントされている場合でも、ocifs
コマンドのcache-keep
オプションを使用してOCIFSキャッシュを保持できます。
OCIFSファイル・システムをアンマウントすると、cache-keep
オプションを指定してファイル・システムをマウントしないかぎり、OCIFSキャッシュ・ディレクトリが削除されます。
たとえば、オブジェクト・ストレージ・バケットbucket-1
をmydir
ディレクトリにマウントし、アンマウント後にキャッシュを保持するには:
$ ocifs --cache-keep bucket-1 mydir
ノート:
cache-keep
オプションを使用すると、cache-reuse
オプションを使用しないかぎり、ファイルシステムを再度マウントできないことがあります。- ファイル・システムのアンマウント後にデータをキャッシュに保持すると、次回のファイル・システムのマウント時にパフォーマンスが向上します。ただし、OCIFSでは、キャッシュ内のデータとオブジェクト・ストレージ・バケット内の実際のデータとの間に差異があるかどうかはチェックされません。
キャッシュ・パージ
OCIFSユーティリティのcache-purge
オプションを使用すると、指定した時間クローズされたファイルのデータをOCIFSキャッシュから削除できます。
デフォルトでは、OCIFSキャッシュはパージされません。キャッシュ・データは、ファイル・システムがマウントされているかぎりキャッシュ・ディレクトリに保持されます。キャッシュ・ディレクトリは、OCIFSファイル・システムがアンマウントされている場合にのみ削除されます。
cache-purge
オプションを使用すると、ファイルが閉じられたあとにデータがキャッシュに残る時間を指定できます。これを使用すると、特にファイルが頻繁にアクセスされない場合に、ディスク領域を保持できます。これは、たとえば、新しいファイルを書き込んで、再度ファイルにアクセスしない場合に便利です。
OCIFSキャッシュのパージ遅延は、次の表に示すように指定できます。
値 |
説明 |
例 |
---|---|---|
|
OCIFSキャッシュはパージしないでください。この値を指定すると、OCIFSファイル・システムがマウントされているかぎり、キャッシュされたデータは保持されます。(デフォルト)。 |
|
待ち時間 |
キャッシュされたデータをパージするまでのパージ遅延(秒)。パージ遅延が0に設定されている場合、ファイルのキャッシュされたデータは、ファイルが閉じられた直後にパージされます。 |
|
OCIFSキャッシュのパージ遅延(特に小さい値)を設定すると、パフォーマンスに悪影響を及ぼす可能性があります。これは、ファイルが使用されていないときにデータが最終的にキャッシュから削除されるためです。後でファイルを再オープンして読取りを行うと、ファイル・データがキャッシュにないため、パフォーマンスが低下する可能性があります。
キャッシュ再利用
OCIFSユーティリティのcache-reuse
オプションを使用すると、空のキャッシュ・ディレクトリが存在する場合でも、OCIFSファイル・システムをマウントできます。
デフォルトでは、OCIFSに空でないキャッシュ・ディレクトリがある場合、ファイル・システムはマウントされません。cache-reuse
オプションを使用すると、ファイル・システムを再マウントし、既存のキャッシュ・ディレクトリが存在する場合は再利用できます。
たとえば、オブジェクト・ストレージ・バケットbucket-1
をmydir
ディレクトリにマウントし、既存のキャッシュ・ディレクトリを再利用するには:
$ 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
オプションの値を示します。
値 |
説明 |
例 |
---|---|---|
|
常にマルチパート・アップロードを使用します(非推奨)。 |
|
|
マルチパート・アップロードが使用されるサイズ(キロバイト(K)、メガバイト(M)、ギガバイト(G)またはテラバイト(T))。 |
|
|
マルチパート・アップロードが使用される、キビバイト(Ki)、メビバイト(Mi)、ギビバイト(Gi)またはテビバイト(Ti)のサイズ。 |
|