10.2. キャッシュの設定

現在、Red Hat Enterprise Linux 7 で提供しているのは cachefiles キャッシングバックエンドのみになります。cachefilesd デーモンにより cachefiles が開始され、管理されます。cachefiles によるキャッシングサービスの提供方法については /etc/cachefilesd.conf ファイルで制御します。
キャッシュバックエンドで最初に行うのはキャッシュとして使用するディレクトリーの設定です。次のパラメーターを使用して行います。
$ dir /path/to/cache
一般的に、キャッシュバックエンドのディレクトリーは以下のように /etc/cachefilesd.conf 内に /var/cache/fscache として設定されます。
$ dir /var/cache/fscache
キャッシュバックエンドディレクトリーを変更する場合は、selinux の内容を /var/cache/fscache と同じにする必要があります。
# semanage fcontext -a -e /var/cache/fscache /path/to/cache
# restorecon -Rv /path/to/cache
キャッシュを設定する際に、/path/to/cache をディレクトリー名に置き換えます。

注記

selinux の内容を設定するコマンドが正しく動作いない場合は、以下のコマンドを使用します。
# semanage permissive -a cachefilesd_t
# semanage permissive -a cachefiles_kernel_t
FS-Cache は、/path/to/cache をホストするファイルシステム内にキャッシュを格納します。ノートブックでは root ファイルシステム (/) をホストのファイルシステムとして使用することをお勧めします。ただし、デスクトップマシンの場合は、特にキャッシュ用にディスクパーティションをマウントするのは慎重に行ってください。
FS-Cache のキャッシュバックエンドで必要とされる機能に対応するファイルシステムには、次のような Red Hat Enterprise Linux 7 に実装されているファイルシステムが含まれます。
  • ext3 (拡張属性が有効)
  • ext4
  • Btrfs
  • XFS
ホストのファイルシステムはユーザー定義の拡張属性に対応する必要があります。FS-Cache はこれらの属性を使って一貫性を維持するための情報を格納します。ext3 ファイルシステム (device) のユーザー定義による属性を有効にするには、以下を使用します
# tune2fs -o user_xattr /dev/device
または、ファイルシステムの拡張属性をマウント時に以下のように有効にすることもできます。
# mount /dev/device /path/to/cache -o user_xattr
キャッシュバックエンドは、そのキャッシュを支えるパーティション上の特定の空き領域量を維持することで動作します。空き領域を使用する他の要素に応じてキャッシュは増大したり縮小したりして root ファイルシステム (ノートブックなど) で安全にキャッシュを使用できるようにしています。FS-Cache ではデフォルトでこの動作が設定され、キャッシュの間引き (cache cull) 制限 で設定を行うことができます。 キャッシュの間引き制限を設定する方法については 「キャッシュの間引き制限 (Cache Cull) の設定」 を参照してください。
設定ファイルを所定の場所に配置したら、cachefilesd サービスを起動します。
# systemctl start cachefilesd
起動時に cachefilesd が起動するよう設定するには次のコマンドを root で実行します。
# systemctl enable cachefilesd