对于大型映射,必须使用 LDAP 虚拟列表视图 (virtual list view, VLV) 索引来确保 LDAP 搜索可返回全部结果。有关在 Sun Java System Directory Server 上设置 VLV 索引的信息,请参见位于 docs.sun.com Web 站点上的 Sun Java System Directory Server 文档。
VLV 搜索结果使用固定的页面大小 50000。如果在 Sun Java System Directory Server 上使用 VLV,则 LDAP 服务器和 N2L 服务器都必须可以传送此大小的页面。如果已知所有的映射都小于此限制,则不必使用 VLV 索引。但是,如果使用的映射大于此大小限制,或者不能确定所有映射的大小,请使用 VLV 索引来避免返回不完整的结果。
在 Sun Java System Directory Server 上:必须将 nsslapd-sizelimit 属性设置为大于或等于 50000 或 -1。请参见 idsconfig(1M) 手册页。
在 N2L 服务器上:必须将 nisLDAPsearchSizelimit 属性设置为大于或等于 50000 或零。有关更多信息,请参见 NISLDAPmapping(4) 手册页。
创建 VLV 索引之后,请立即将其激活,方法是在 Sun Java System Directory Server 上运行带有 vlvindex 选项的 directoryserver。有关更多信息,请参见 directoryserver(1M) 手册页。
如果符合以下条件,请使用 Sun Java System Directory Server idsconfig 命令设置 VLV:
使用的是 Sun Java System Directory Server。
要将标准映射映射为 RFC 2307 LDAP 项。
VLV 特定于域,因此每次运行 idsconfig 时,都会为一个 NIS 域创建相应的 VLV。所以,在 NIS 到 LDAP 的转换过程中,必须针对 NISLDAPmapping 文件中包含的每个 nisLDAPdomainContext 属性都运行一次 idsconfig。
如果符合以下条件,则必须为映射手动创建新的 Sun Java System Directory Server VLV,或者复制并修改现有的 VLV 索引:
使用的是 Sun Java System Directory Server。
具有大型自定义映射或者映射到非标准 DIT 位置的标准映射。
要查看现有的 VLV 索引,请键入以下内容:
# ldapsearch -h hostname -s sub -b "cn=ldbm database,cn=plugins,cn=config" \ "objectClass=vlvSearch" |