Oracle Cloud Infrastructureドキュメント

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

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

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

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

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

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

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

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

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

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

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

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

    重要

    ディスク障害によるデータ損失の可能性があるため、RAID0または単一ディスク(RAIDなし)は使用しないでください。

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

    一般に、読み取りキャッシュに保持するファイル・セットのサイズは、1.5倍以上のストレージを使用します。 たとえば、ファイル・セット全体の予想サイズが50 TBで、そのファイル・セットの10 % (5 TB)が頻繁にアクセスされるとします。 ファイル・システムのキャッシュ・ストレージには、7.5 TB以上の使用可能な容量があることを確認します。 キャッシュ・サイズがほぼフル・スレッショルドに達すると、データ取り込みによってStorage Gatewayの領域不足エラーが発生します。

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

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

Storage Gatewayのファイルシステム・キャッシュは2つのロールを果たすことに注意してください。: ライト・バッファとリード・キャッシュを含む。 読取りキャッシュの最大サイズを指定でき、書込みバッファはファイル・システム・キャッシュ内に残っている空き領域を使用します。 書き込みバッファのサイズを明示的に指定するわけではありません。

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

重要

書き込みバッファが使用可能なすべてのファイルシステム・キャッシュ領域を使用すると、データ収集でStorage Gatewayにスペース不足が発生します。

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

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

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

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

  • 読み取りキャッシュ・サイズのデフォルトの制限は、300 GBまたはストレージ・ボリュームのサイズの小さい方です。
  • 読取りキャッシュの最大値をローカル・ストレージのサイズに設定しないでください。 この操作を行うと、ストレージの100%が読取りキャッシュに割り当てられ、収集用の容量は失われません。 新しいファイル取り込みのために使用可能なスペースがない場合、Storage Gatewayはデータの取り込みを停止し、読み込みキャッシュからファイルを退避して領域を作成し始めます。 常に、収集用にローカル・ストレージにスペースを確保してください。
  • 読取りキャッシュ設定で開始することをお薦めします。読取りキャッシュ設定はローカル・ストレージのサイズの50%です(収集用に50%のままにします)。 ローカル・ストレージの使用可能な容量を経時的にモニターします。特に、期限が長い場合や、継続した収集アクティビティ。 使用可能な容量が30%を超えている場合は、読み取りキャッシュ・サイズを増やすことを検討してください。 使用可能な容量が一貫して20%を下回っている場合は、読み取りキャッシュ・サイズを小さくすることを検討してください。
  • 読み取りキャッシュ・サイズは、書き込みバッファに十分な容量を残しながら、頻繁にアクセスすることが予想されるデータ量と等しくなるように設定します。

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

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

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

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

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

重要

  • デフォルトでは、キャッシュ固定機能はすべてのファイル・システムで有効になっています。
  • キャッシュ・ピンニングのためのファイルを選択するときは、全体的なキャッシュしきい値を考慮し、通常のキャッシュ操作に使用できる残りのキャッシュ・スペースを計算します。 たとえば、キャッシュのしきい値が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