LDAP 数据高速缓存选项可确保提交 LDAP 数据后可以立即使用该数据,即使将 LDAP Directory Server 配置为提交的数据需经一段时间延迟方可使用。
例如,如果您的站点上部署了主/从 LDAP 配置,其中,Calendar Server 是通过从属 LDAP Directory Server 访问主 LDAP 目录,因而会导致提交的 LDAP 数据需经一段延迟方可使用,则配置 LDAP 数据高速缓存可以确保 Calendar Server 客户端获得准确的 LDAP 数据。
本节包含以下主题:
按照以下原则确定您的站点是否需要配置 LDAP 数据高速缓存:
如果您站点上的 Calendar Server 是直接访问主(或根)LDAP Directory Server,并且提交的 LDAP 数据在可用之前没有延迟,则无需配置 LDAP 数据高速缓存。确保将 local.ldap.cache.enable 参数设置为 "no"(默认值)。
如果您的站点上已部署了主/从 LDAP 配置,其中 Calendar Server 是通过从属 LDAP Directory Server 访问主 LDAP 目录,则提交的 LDAP 数据需经一段延迟方可使用。您需要配置 LDAP 数据高速缓存,以确保最终用户获得最新数据。
主/从 LDAP 配置包含一个主(根)Directory Server 和一个或多个从属(用户或副本)Directory Server。Calendar Server 可直接访问或通过从属 Directory Server 访问主 LDAP Directory Server:
如果 Calendar Server 直接访问主 LDAP Directory Server,LDAP 数据应为准确数据,则无需配置 LDAP 数据高速缓存。
如果 Calendar Server 通过从属 Directory Server 访问主 LDAP Directory Server,则系统通常会通过一个 LDAP 引用将 LDAP 数据更改透明地写入主 Directory Server,然后 LDAP 引用再将数据复制回所有从属 Directory Server。
在上述第二种配置中,由于提交的数据需要经过一段延迟方可在从属 Directory Server 上使用,因此可能会出现 LDAP 数据不准确的问题。
例如,Calendar Server 提交了 LDAP 数据更改,但由于主 Directory Server 更新每个从属 Directory Server 造成延迟,因此导致新数据在一段时间内不可用。随后的 Calendar Server 客户端操作将会使用旧的 LDAP 数据并显示旧的视图。
如果更新从属 Directory Server 的延迟时间较短(只有几秒钟),则客户端可能不会出现问题。但是,如果延迟时间较长(几分钟或几小时),则客户端在延迟期间将显示不准确的 LDAP 数据。
下表列出了受到主/从 LDAP 服务器配置中延迟影响的操作和 LDAP 属性:
操作 |
LDAP 属性 |
---|---|
自动置备 |
icsCalendar、icsSubscribed、icsCalendarOwned、icsDWPHost |
日历组 |
icsSet |
日历创建 |
icsCalendarOwned、icsSubscribed |
日历订阅 |
icsSubscribed |
用户选项 |
icsExtendedUserPrefs、icsFirstDay、icsTimeZone、icsFreeBusy |
日历搜索 |
icsCalendarOwned |
LDAP 数据高速缓存通过为 Calendar Server 客户端提供最新的 LDAP 数据解决了主/从 LDAP 配置问题,即使主 Directory Server 还未更新每个从属 Directory Server。
如果启用了 LDAP 数据高速缓存,Calendar Server 会将已提交的 LDAP 数据写入高速缓存数据库(ldapcache.db 文件)。默认情况下,LDAP 高速缓存数据库位于 ldap_cache 数据库目录中,但如果需要,您也可以将其配置为其他位置。
客户端更改单个用户的 LDAP 数据时,Calendar Server 会将更改后的数据写入 LDAP 高速缓存数据库(同时也写入从属 Directory Server)。随后的客户端操作将从高速缓存数据库中检索 LDAP 数据。此数据检索应用于单个用户的以下操作:
用户登录时的属性
用户的选项(例如颜色方案或时区)
用户的日历组
用户订阅的日历列表
从而,LDAP 数据高速缓存数据库可提供:
单一系统上多个进程间的数据一致性—多处理器系统上的所有 Calendar Server 进程均可使用该数据库。
多个用户会话中的数据持久性—该数据库永久存在并且无需刷新。
LDAP 数据高速缓存不提供:
读取高速缓存以搜索预期的条目列表。例如,搜索一个会议的出席者。此类搜索受所有 LDAP 延迟的限制。例如,如果 LDAP 搜索选项处于使用中,则在创建新日历后的延迟期间执行日历搜索将不会显示新创建的日历。
在多个前端服务器上读取和写入高速缓存。每个前端服务器都有自己的高速缓存,此高速缓存不能识别其他高速缓存中的数据。
处理并不总是登录到同一台服务器的用户的能力。此类用户将在每台服务器的高速缓存中生成不同的 LDAP 数据。