Menu Close

8.5. 在 tmpfs 中挂载 SSSD 缓存

系统安全服务守护进程(SSSD)持续将 LDAP 对象写入其缓存中。这些内部 SSSD 事务将数据写入磁盘,它的速度比从 Random-Access Memory(RAM)进行读取和写入要慢。

要提高此性能,请在 RAM 中挂载 SSSD 缓存。

注意事项

  • 如果 SSSD 缓存位于 RAM,则缓存的信息不会在重启后保留。
  • 在 IdM 服务器上执行此更改是安全的,因为 IdM 服务器中的 SSSD 实例不会丢失与同一主机上 Directory 服务器的连接。
  • 如果您在 IdM 客户端中执行此调整,且丢失了与 IdM 服务器的连接,则用户重启后将无法进行身份验证,直到重新建立连接为止。

先决条件

  • 您需要 root 权限来编辑 /etc/fstab 配置文件。

流程

  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 文件中作为一行:

      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 文件中作为一行:

      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 参数,每个 10,000 LDAP 条目大约为 100 MBs。

  2. 挂载新的 SSSD 缓存目录。

    [root@host ~]# mount /var/lib/sss/db/
  3. 重启 SSSD 以反应这个配置更改。

    [root@host ~]# systemctl restart sssd