Red Hat Training

A Red Hat training course is available for RHEL 8

9.3. キャッシュの設定

現在、Red Hat Enterprise Linux 8 は cachefiles キャッシュバックエンドのみを提供します。cachefilesd デーモンは cachefiles を開始し、管理します。/etc/cachefilesd.conf ファイルは、cachefiles によるキャッシュサービスの提供方法を制御します。

キャッシュバックエンドは、キャッシュをホストしているパーティション上の一定の空き領域を維持することで動作します。空き領域を使用する他の要素に応じてキャッシュを増大および縮小し、root ファイルシステム (ラップトップなど) で安全に使用できるようにします。FS-Cache ではこの動作でデフォルト値を設定します。これは、キャッシュカリング制限 で設定できます。キャッシュカリング制限の設定方法は、キャッシュカリング制限の設定 を参照してください。

この手順では、キャッシュを設定する方法を説明します。

前提条件

  • cachefilesd パッケージがインストールされ、サービスが正常に起動しました。サービスが実行中であることを確認するには、次のコマンドを使用します。

    # systemctl start cachefilesd
    # systemctl status cachefilesd

    ステータスは active (running) である必要があります。

手順

  1. キャッシュとして使用するディレクトリーをキャッシュバックエンドで設定するには、次のパラメーターを使用します。

    $ dir /path/to/cache
  2. 一般的に、キャッシュバックエンドディレクトリーは、以下のように /etc/cachefilesd.conf 内に /var/cache/fscache として設定されます。

    $ dir /var/cache/fscache
  3. キャッシュバックエンドのディレクトリーを変更する場合、selinux コンテキストは /var/cache/fscache と同じである必要があります。

    # semanage fcontext -a -e /var/cache/fscache /path/to/cache
    # restorecon -Rv /path/to/cache
  4. キャッシュを設定する際に、/path/to/cache をディレクトリー名に置き換えます。
  5. selinux コンテキストを設定するコマンドが機能しない場合は、以下のコマンドを使用します。

    # semanage permissive -a cachefilesd_t
    # semanage permissive -a cachefiles_kernel_t

    FS-Cache は、/path/to/cache をホストするファイルシステムにキャッシュを保存します。ラップトップでは、root ファイルシステム (/) をホストのファイルシステムとして使用することが推奨されますが、デスクトップマシンの場合は、キャッシュ専用のディスクパーティションをマウントするより慎重に行ってください。

  6. ホストファイルシステムはユーザー定義の拡張属性に対応する必要があります。FS-Cache はこの属性を使用して、整合性のメンテナーンス情報を保存します。ext3 ファイルシステム (つまり デバイス) のユーザー定義の拡張属性を有効にするには、次のコマンドを実行します。

    # tune2fs -o user_xattr /dev/device
  7. 代わりに、マウント時にファイルシステムの拡張属性を有効にするには、次のコマンドを使用します。

    # mount /dev/device /path/to/cache -o user_xattr
  8. 設定ファイルを置いたら、cachefilesd サービスを起動します。

    # systemctl start cachefilesd
  9. 起動時に cachefilesd が起動するように設定するには、root で次のコマンドを実行します。

    # systemctl enable cachefilesd