Solaris のシステム管理 (基本編)

CacheFS ファイルシステムの概要

CacheFS ファイルシステムは、サーバーとネットワークの負荷を軽減して NFS サーバーのパフォーマンスとスケーラビリティを改善する汎用ファイルシステムキャッシュメカニズムです。CacheFS ファイルシステムは、階層化ファイルシステムとして設計されており、あるファイルシステムを別のファイルシステムのキャッシュに書き込む機能を持っています。NFS 環境では、CacheFS ファイルシステムはサーバーあたりのクライアント比率を高め、サーバーとネットワークの負荷を軽減し、ポイントツーポイントプロトコル (PPP) などの低速リンク上のクライアントのパフォーマンスを向上させます。

CacheFS ファイルシステムの機能

CacheFS ファイルシステムをクライアントシステム上に作成すると、キャッシュに書き込んだファイルシステムをクライアントがネットワークを経由しなくても、ローカルにアクセスできます。次の図は、CacheFS ファイルシステムの使用に関連する構成要素の関係を示しています。

図 41–1 CacheFS ファイルシステムの機能

この図は、CacheFS の構成要素を示します。サーバーからのバックファイルシステムとクライアント上のキャッシュされたファイルシステムとの関係を識別します。

「バック」ファイルシステムとは、キャッシュにマウントされるように指定したファイルシステムです。通常、これは NFS または HSFS (High Sierra File System) ファイルシステムです。ユーザーがバックファイルシステムの一部であるファイルにアクセスしようとすると、そのファイルはキャッシュに書き込まれます。「フロント」ファイルシステムとは、キャッシュにマウントされ、ローカルのマウントポイントからアクセスされるファイルシステムです。フロントファイルシステムのタイプは、UFS でなければなりません。

ユーザーにとって、CacheFS ファイルシステムのファイルに初めてアクセスするときは低速に思われますが、同じファイルを続けて使用していると高速になります。

CacheFS ファイルシステムの構造と動作

各キャッシュには、キャッシュの構造とその動作を決定する 1 組のパラメータが付いています。各パラメータは、以下の表に示すデフォルト値に設定されています。デフォルト値は、フロントファイルシステム全体をキャッシュに使用するように指定しますが、これはファイルシステムをキャッシュに書き込む場合の推奨方法です。

表 41–1 CacheFS ファイルシステムのパラメータとそのデフォルト値

CacheFS ファイルシステムのパラメータ 

デフォルト値 

定義 

maxblocks

90% 

CacheFS ファイルシステムがフロントファイルシステム内で要求できる最大ブロック数を設定する 

minblocks

0% 

CacheFS ファイルシステムがフロントファイルシステム内で要求できる最小ブロック数を設定する 

threshblocks

85% 

CacheFS ファイルシステムが minblocks で指定したより多数のブロックを要求する前に、フロントファイルシステム内で使用可能でなければならないブロック数を設定する

maxfiles

90% 

CacheFS ファイルシステムがフロントファイルシステム内で要求できる使用可能な i ノードの最大数 (ファイル数) を設定する 

minfiles

0% 

CacheFS ファイルシステムがフロントファイルシステム内で要求できる使用可能な i ノードの最小数を設定する 

threshfiles

85% 

CacheFS ファイルシステムが minfiles で指定したより多くのファイルを要求する前に、フロントファイルシステム内で使用可能でなければならない i ノード数を設定する

通常、これらのパラメータ値を変更する必要はありません。最適のキャッシュ動作が得られるデフォルト値に設定されています。ただし、キャッシュに使用されないフロントファイルシステム内に空き空間があり、それを他のファイルシステムに使用する場合は、maxblocksmaxfiles の値を変更することをお勧めします。この変更を行うには、cfsadmin コマンドを使用します。たとえば、次のようになります。


$ cfsadmin -o maxblocks=60