4.14.5. キャッシュカリングの仕組み
キャッシュカリングは、ローカルディスク上に十分な空き領域を確保するために、最近アクセスされていないキャッシュオブジェクトを削除するプロセスです。
cachefilesd サービスはリモートデータをローカルディスクにキャッシュするため、使用可能なスペースが消費される可能性があります。これを管理するために、キャッシュカリングは、空き領域を維持するために、古くてあまり使用されていないオブジェクトをキャッシュから定期的に破棄します。
cachefilesd サービスは、共有ファイルシステムからのリモートデータをキャッシュして、ローカルディスクの領域を解放することで機能します。これにより、使用可能な空き領域がすべて消費される可能性があり、ディスクにルートパーティションも含まれている場合は問題が発生する可能性があります。これを制御するために、cachefilesd は、最近のアクセスが少ないオブジェクトなどの古いオブジェクトをキャッシュから破棄して、一定量の空き領域を維持しようとします。この動作はキャッシュカリングと呼ばれます。
キャッシュカリングは、基盤となるファイルシステムで使用可能なブロックのパーセンテージとファイルのパーセンテージに基づいて行われます。/etc/cachefilesd.conf には、6 つの制限を制御する設定が存在します。
- brun N% (ブロックのパーセンテージ)、frun N% (ファイルのパーセンテージ)
- キャッシュの空き領域と利用可能なファイルの数がこれらの制限を上回ると、カリングはオフになります。
- bcull N% (ブロックのパーセンテージ)、fcull N% (ファイルのパーセンテージ)
- キャッシュの空き領域と利用可能なファイルの数がこれらの制限のいずれかを下回ると、カリング動作が開始します。
- bstop N% (ブロックのパーセンテージ)、fstop N% (ファイルのパーセンテージ)
- キャッシュ内の使用可能な領域または使用可能なファイルの数がこの制限のいずれかを下回ると、カリングによってこれらの制限を超える状態になるまで、ディスク領域またはファイルのそれ以上の割り当ては許可されません。
各設定の N のデフォルト値は以下の通りです。
-
brun/frun: 10% -
bcull/fcull: 7% -
bstop/fstop: 3%
この設定を行う場合は、以下の条件を満たす必要があります。
-
0 ≤
bstop<bcull<brun< 100 -
0 ≤
fstop<fcull<frun< 100
これは、空き領域と利用可能なファイルの割合であり、100 から、df プログラムで表示される割合を引いたものではありません。
カリングは、b xxx と f xxx の両方のペアに同時に依存します。ユーザーはそれらを個別に処理することはできません。