Oracle Cloud Infrastructureドキュメント

ファイル・システムのキャッシュの構成

ストレージ・ゲートウェイは、頻繁に取得されたデータをローカル・ホストにキャッシュし、Oracle Cloud Infrastructure Object StorageへのREST APIコールの数を最小限に抑え、より高速なデータ検索を可能にします。 ファイル・システムのキャッシュは、ファイル・システムの作成時に構成します。 「最初のファイル・システムの作成」および「ファイル・システムの追加」を参照してください。

ファイル・システム・キャッシュについて

ファイル・システム・キャッシュは、書込みバッファと読取りキャッシュの両方として、データ・ストレージと取得の2つのロールを果たします。 書込みバッファには、ディスク・キャッシュにコピーされ、Oracle Cloud Infrastructureテナンシにアップロードされるためにキューに入れられたデータが格納されています。 読み取りキャッシュには、読み取り操作のためにローカルにアクセスできる頻繁に取得されるデータが含まれています。

アプリケーションがNFS共有を介してファイルを転送するとき、書き込みバッファには、キューに入れられ、アップロードが保留されている多くのファイルが含まれます。 ストレージ・ゲートウェイがインストールされているホストに障害が発生したり、ストレージ・ゲートウェイが突然停止した場合、保留中のアップロード操作はローカル・ディスクに残ります。 ストレージ・ゲートウェイが再起動すると、保留中のアップロード操作が再開され、データがOracle Cloud Infrastructureにアップロードされます。

Oracle Cloud Infrastructureからデータを取得すると、データはストレージ・ゲートウェイ読み取りキャッシュに格納されます。 読み取りキャッシュは、そのファイルへのその後のI/O操作をローカル・ディスク速度で実行できるようにします。

読取りキャッシュがいっぱいであるか、構成済の制限に達すると、ストレージ・ゲートウェイは最も最近使用した(LRU)アルゴリズムに基づいて、キャッシュからファイルを削除します。 テナンシへのアップロードが保留中のファイルは、キャッシュから削除されません。 キャッシュから削除しないファイルを保持することもできます。

キャッシュ内のファイルを保持する方法の詳細は、「ファイル・システム・キャッシュでのファイルの保持」を参照してください。

ファイル・システムおよびキャッシュのローカル・ストレージの構成

ストレージ・ゲートウェイでは、ファイル・システムとキャッシュをホストするために、サーバー(または仮想サーバー)にアタッチされたローカル・ストレージが使用されます。 ストレージ・ゲートウェイ内のファイル・システムに書き込まれたファイルは、関連するオブジェクト・ストレージ・バケットにアップロードされます。ファイル・セットの一部は、ローカルにファイル・システム内にウォーム・キャッシュとして保持されます。

パフォーマンス、信頼性およびフォルト・トレランスを最適化するには、ローカルのストレージ・ゲートウェイ・ストレージを構成するときに次のガイドラインに従ってください:

  • ストレージ・ゲートウェイ・ファイル・システムごとに専用ローカル・ストレージと、関連するメタデータおよびログを割り当てます。
  • RAID10セット内の複数のディスク(ハードディスク・ドライブまたはソリッド・ステート・ドライブ)は、パフォーマンス、信頼性、およびフォールト・トレランスの最適なバランスを提供します。 または、RAID6を使用できます。

    重要

    ディスク障害時にデータが失われる可能性があるため、RAID0または単一ディスク(RAIDなし)を避けてください。

  • 80 %を超えていっぱいになることなく(新しいファイルを収集するための)読取りキャッシュおよび書込みバッファに対応できるストレージをプロビジョニングします。

    一般に、読み取りキャッシュに保持するファイル・セットのサイズは、1.5倍以上のストレージを使用します。 たとえば、ファイル・セット全体で必要なサイズが50 TBで、そのファイル・セットの10% (5 TB)が頻繁にアクセスされるとします。 ファイル・システムのキャッシュ・ストレージには、7.5 TB以上の使用可能な容量があることを確認します。 キャッシュ・サイズが負のしきい値に達すると、ストレージ・ゲートウェイの領域不足エラーが発生します。

  • インストール時にローカル・ストレージをプロビジョニングする場合は、少なくとも推奨される500 GBをファイルシステム・キャッシュに割り当ててください。 そうしないと、ストレージ・ゲートウェイは警告メッセージを生成します。

ファイルシステム・キャッシュ・サイズの決定

ストレージ・ゲートウェイのファイル・システム・キャッシュは、書込みバッファと読取りキャッシュの両方として、2つのロールを果します。 読み取りキャッシュの最大サイズを指定できます。 書込みバッファは、ファイル・システム・キャッシュ内の使用可能な残りの領域を使用します。 書き込みバッファのサイズを明示的に指定するわけではありません。

しかし、書込みバッファの最大サイズは、キャッシュ・サイズの決定に重要です。 データがストレージ・ゲートウェイで取り込まれると書き込みバッファ・サイズが増加し、データがクラウドにアップロードされた後で減少します。 書込みバッファは、ファイル・システム・キャッシュから削除できません。

重要

書込みバッファで使用可能なファイル・システム・キャッシュ領域がすべて使用されていると、データ収集によってストレージ・ゲートウェイの領域不足エラーが発生します。

ライト・バッファの適切な設定を決定するには、次のガイドラインを使用してください:

  • ストレージ・ゲートウェイでアップロードするデータの量を特定します。 大量のデータがアップロードされる場合、ストレージ・ゲートウェイ書き込みバッファが最大サイズに達することがあります。 ファイル・システム・キャッシュに使用可能な領域がないため、書込みバッファを超過するとI/Oの障害が発生します。 データ収集を規制できる場合は、ファイル・システムのキャッシュ領域を増やして、I/Oの障害を回避できます。 特定の量のデータを収集した後、または追加データを収集する前にアップロードを定期的に完了できるため、I/Oを規制できます。 たとえば、ファイル・システムのキャッシュ領域が収集対象のデータ量よりも少ない場合、バックアップ/cronジョブにこのアプローチを使用できます。
  • ストレージ・ゲートウェイの通常の日または週に収集されたデータの量を計算します。 また、利用可能な帯域幅または履歴データに基づいて、一定期間に摂取されるデータの量を計算します。 これらの計算の差が、書込みバッファ・サイズを超えないようにしてください。
  • 一部のアプリケーションでは、I/Oエラーが処理され、データの書込みが再開されます。 この場合は、キャッシュ領域が再生される前にアプリケーションが許容するデータ量にキャッシュ・サイズを設定することを検討してください。

読み取りキャッシュの構成はオプションで、ストレージ・ゲートウェイ・ワークロードに依存します。 読取りキャッシュのデフォルト設定はほとんどのワークロードに適していますが、ストレージ・ゲートウェイがクラウドから大量のデータを取得する必要がある場合は、より大きな読取りキャッシュを構成することを検討してください。

読み取りキャッシュの適切な設定を決定するには、次のガイドラインを使用してください:

  • 読み取りキャッシュ・サイズのデフォルトの制限は、300 GBまたはストレージ・ボリュームのサイズの小さい方です。
  • 読取りキャッシュの最大値をローカル・ストレージのサイズに設定しないでください。 これにより、読取りキャッシュ用にストレージの100%が割り当てられ、新しいファイルを収集するための容量は失われます。 新規ファイル収集に使用可能な領域がない場合、ストレージ・ゲートウェイではデータの収集が停止され、読取りキャッシュからファイルの削除が開始されて領域が作成されます。 収集用のローカル・ストレージには常に空白を残してください。
  • Oracleは、ローカル・ストレージのサイズが50%である読取りキャッシュ設定から、収集のために50%のままにすることをお薦めします。 長期にわたって、特に高い期間または持続的な残りのアクティビティ後にローカル・ストレージの使用可能な容量を監視します。 使用可能な容量が30%を超えたままである場合は、読取りキャッシュ・サイズを大きくすることを検討してください。 使用可能な容量が20%未満である場合は、読取りキャッシュ・サイズを小さくすることを検討してください。
  • 読み取りキャッシュ・サイズは、書き込みバッファに十分な容量を残しながら、頻繁にアクセスすることが予想されるデータ量と等しくなるように設定します。

キャッシュのサイズを設定した後で、ファイル・システムの作成時またはワークロードのモニタリング後に、読取りキャッシュを構成できます。 「ファイル・システムの追加」および「ファイル・システムのプロパティの変更」を参照してください。

ファイル・システム・キャッシュでのファイルの保持

ファイルをファイル・システムに書き込むと、ファイルは最初はファイル・システム・キャッシュに格納されてから、Oracle Cloud Infrastructureテナンシにアップロードされます。 ファイルをアップロードした後、キャッシュ・マネージャはファイル・システム・キャッシュからファイルを削除できます。 ファイル・システムに指定されたキャッシュしきい値に達するために、「最近使用されたもの」 (LRU)のキャッシュ管理ポリシーを使用してキャッシュが再利用されます。 キャッシュ内の特定のファイルをすばやくアクセスできるようにする場合は、そのファイルをファイル・システムのキャッシュにpinできます。 確保すると、ファイルは明示的に確保解除されるまでファイル・システム・キャッシュから削除されません。 管理コンソールで、選択したファイルシステムに関する「GiBの最大読み取りキャッシュ・サイズ」「設定」の下に表示できます。

「標準」「アーカイブ」の両方のストレージ層に接続されているファイルをファイル・システム・キャッシュに固定できます。 ファイル・システムに書き込むファイルは、ファイルがキャッシュに確保されているかどうかに関係なく、常にテナンシにアップロードされます。

キャッシュのために確保するファイルがキャッシュに存在しない場合、ファイル・システムが「標準」ストレージ層に接続されていれば、ファイルが自動的にキャッシュにダウンロードされます。 そのファイルが「アーカイブ」ストレージ層に接続されているファイル・システムに属している場合は、ファイルをキャッシュにダウンロードする前に、まずファイルをリストアする必要があります。 詳細については、「アーカイブ・ストレージからのファイルとオブジェクトのリストア」を参照してください。

重要

  • デフォルトでは、キャッシュ固定機能はすべてのファイル・システムで有効になっています。
  • キャッシュ固定用のファイルを選択するときは、キャッシュしきい値全体を考慮し、通常のキャッシュ操作で使用可能な残余キャッシュ領域を計算します。 たとえば、キャッシュしきい値が1 TBで、キャッシュに確保するファイルが300 GBを占有すると想定します。 この場合、ファイルを固定した後も700 GBの使用可能な領域がキャッシュに残されます。
  • Archiveストレージ層からファイルをリストアすると、そのファイルはStandardストレージ層に移動します。 ファイルは、Standardストレージに24時間保持されるか、指定した保存期間に保持されます。 キャッシュ内のファイルの継続可能な可用性は、LRU操作に依存します。 ただし、そのようなファイルをキャッシュにピン止めすると、ファイルを確保解除するまで、リストアされたファイルはキャッシュに残ります。

キャッシュ・ピンニングの有効化と管理

ファイル・システムのキャッシュ保持操作を実行するには、ファイル・システムがマウントされているNFSクライアントから次のコマンドを実行します:

cat /path/to/mountpoint/<file_path>:::cache:cache_command[:argument]

次の表に、キャッシュ・ピン操作と、各操作の対応するコマンドと引数を示します:

操作 キャッシュ・コマンド 引数
ファイル・システムのキャッシュ保持を有効にします。

デフォルトでは、キャッシュの固定はすべてのファイル・システムで有効になっています。

set-preserve-option true
ファイル・システムのキャッシュ固定ステータスを取得します。 get-preserve-option 引数なし
ファイル・システムのキャッシュ保持を無効にします。 set-preserve-option false
キャッシュに固定されているファイルをリストします。 list-preserve 引数なし
保存リストから削除済ファイルを削除します。 list-preserve-update 引数なし
保存リストにファイルを追加します。 add-preserve 引数なし
保存リストからファイルを削除します。 remove-preserve 引数なし
保存リストをクリアします。 clear-preserve 引数なし

コマンド例

  • myFSファイル・システムのキャッシュ固定を有効にするには:

    cat /mnt/gateway/myFS/:::cache:set-preserve-option:true
  • myFSのキャッシュ・ピンニング・ステータスを取得するには、次のようにします:

    cat /mnt/gateway/myFS/:::cache:get-preserve-option

    ファイル・システムのキャッシュ保持が有効になっている場合、このコマンドの出力はtrueになります。 それ以外の場合、出力はfalseです。

  • myFSファイル・システムのキャッシュ固定を無効にするには、次のようにします:

    cat /mnt/gateway/myFS/:::cache:set-preserve-option:false
  • myFSファイル・システムのファイルmyFileを保持リストに追加するには、次の手順を実行します:

    cat /mnt/gateway/myFS/myFile:::cache:add-preserve
  • myFSファイル・システムの保存リストに追加するファイルを調べるには、次の手順を実行します:

    cat /mnt/gateway/myFS/:::cache:list-preserve

    上記のコマンドの出力例:

    ["/doNotDelete.txt", "/myFileMetadata", "/myFile"]
  • myFileファイルを保存リストから削除するには

    cat /mnt/gateway/myFS/myFile:::cache:remove-preserve
  • cache:list-preserveコマンドの出力で、ファイル・システムから固定されたファイルが削除されたことを示す場合に、保持リストを更新するには、次のようにします:

    cat /mnt/gateway/myFS/:::cache:list-preserve-update

    元の保存リストのサンプル:

    ["/doNotDelete.txt", "/myFileMetadata"]

    myFileMetadataファイルがキャッシュから削除された後のcache:list-preserveコマンドの出力:

    ["/doNotDelete.txt", "Status: 1 files appear to no longer exist. Please run list-preserve-update"]

    cache:list-preserve-updateコマンドの出力:

    ["/doNotDelete.txt"]
  • ファイル・システムの保存リストをクリアするには:

    cat /mnt/gateway/myFS/:::cache:clear-preserve