10.2. キャッシュの設定
現在、Red Hat Enterprise Linux 7 は cachefiles キャッシュバックエンドのみを提供します。cachefilesd デーモンは cachefiles を開始し、管理します。
/etc/cachefilesd.conf
ファイルは、cachefiles がキャッシュサービスを提供する方法を制御します。
キャッシュバックエンドで最初に行うのはキャッシュとして使用するディレクトリーの設定です。これは、次のパラメーターを使用して設定します。
$ 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 ファイルシステム(つまり デバイス)のユーザー定義の拡張属性を有効にするには、次のコマンドを実行します。
# tune2fs -o user_xattr /dev/device
または、ファイルシステムの拡張属性をマウント時に以下のように有効にすることもできます。
# mount /dev/device /path/to/cache -o user_xattr
キャッシュバックエンドは、キャッシュをホストしているパーティション上の一定の空き領域を維持することで動作します。空き領域を使用する他の要素に応じてキャッシュを増大および縮小し、root ファイルシステム (ラップトップなど) で安全に使用できるようにします。FS-Cache ではこの動作でデフォルト値を設定します。これは、キャッシュカリング制限 で設定できます。キャッシュカリング制限の設定に関する詳細は、「キャッシュカリング制限の設定」 を参照してください。
設定ファイルを配置したら、
cachefilesd
サービスを起動します。
#
systemctl start cachefilesd
システムの起動時に cachefilesd が起動するように設定するには、root で以下のコマンドを実行します。
#
systemctl enable cachefilesd