9.6. tmpfs での SSSD キャッシュのマウント

SSSD (System Security Services Daemon) は、常に LDAP オブジェクトをキャッシュに書き込みます。これらの内部 SSSD トランザクションは、データをディスクに書き込みますが、これは Random-Access Memory (RAM) からの読み取りと書き込みよりもはるかに遅くなります。

このパフォーマンスを改善するには、RAM に SSSD キャッシュをマウントします。

留意事項

  • SSSD キャッシュが RAM にある場合には、再起動後にキャッシュされた情報は保持されません。
  • IdM サーバーの SSSD インスタンスは、同じホストの Directory Server への接続が切断されないので、IdM サーバーではこの変更を安全に実行できます。
  • IdM クライアントでこの調整を実行し、IdM サーバーへの接続が切断されると、再起動後のユーザー認証は、接続を再確立するまでできません。

前提条件

  • /etc/fstab 設定ファイルを編集するには、root 権限が必要になります。

手順

  1. tmpfs 一時ファイルシステムを作成します。

    1. RHEL 8.6 以降では、SSSD ユーザーが config.ldb ファイルを所有していることを確認します。

      # ls -al /var/lib/sss/db/config.ldb
      -rw-------. 1 sssd sssd 1286144 Jun  8 16:41 /var/lib/sss/db/config.ldb

      次のエントリーを /etc/fstab ファイルに 1 行で追加します。

      tmpfs /var/lib/sss/db/ tmpfs size=300M,mode=0700,uid=sssd,gid=sssd,rootcontext=system_u:object_r:sssd_var_lib_t:s0 0 0
    2. 8.6 より前の RHEL 8 バージョンでは、config.ldb ファイルは root ユーザーが所有します。

      # ls -al /var/lib/sss/db/config.ldb
      -rw-------. 1 root root 1286144 Jun  8 14:15 /var/lib/sss/db/config.ldb

      次のエントリーを /etc/fstab ファイルに 1 行で追加します。

      tmpfs /var/lib/sss/db/ tmpfs size=300M,mode=0700,rootcontext=system_u:object_r:sssd_var_lib_t:s0 0 0

      この例では、300MB キャッシュを作成します。IdM および AD ディレクトリーサイズにあわせて size を調整します (LDAP エントリー 1 万につき 100 MB 想定)。

  2. 新しい SSSD キャッシュディレクトリーをマウントします。

    [root@host ~]# mount /var/lib/sss/db/
  3. SSSD を再起動して、この設定の変更を反映します。

    [root@host ~]# systemctl restart sssd