IBM(R) 分布式计算环境(DCE)版本 3.2 AIX(R) 和 SOLARIS 版自述文件附篇 ===================================================== (C) Copyright IBM Corporation 2001. All rights reserved. 注:请参阅“12.0 声明”,获取完整的版权引用。 ===================================================== 目录 1.0 关于本自述文件附录 2.0 LDAP 注意事项 2.1 IBM SecureWay(R) Directory 服务器的 e-fix 2.2 并行读/写需求 2.3 更改用于 IBM SecureWay Directory 服务器中 dcecp 编目命令的 LDAP 大小极限 2.4 使用 ldif2db 和复制的 CreatorsName 属性 2.5 模式修改期间的错误 3.0 AIX 注意事项 3.1 在 AIX 上运行客户应用程序时的注意事项 3.2 dcf_ulimit 命令添加至 dcecp 3.3 dcf_ulimit 命令 4.0 DCE 3.2 性能注意事项与调整技巧 4.1 调整 secd 4.1.1 调整与 LDAP 服务器的连接数 4.1.2 调整传播线程的数量 4.1.3 调整哪个 secd 是 init_rep 的启动程序 4.2 使用 IBM SecureWay LDAP 时调整 DB2(R) 4.3 调整 LDAP 4.3.1 调整 IBM SecureWay LDAP 服务器 4.3.2 调整 iPlanet/Netscape LDAP 服务器 4.4 硬件 4.5 网络 4.6 初始迁移期望 4.7 DCE 应用程序注意事项 4.8 用户任务(登录、密码更改) 4.9 管理任务(用户创建、用户删除) 5.0 语言环境注意事项 5.1 Solaris LDAP 客户机的 UTF-8 问题(仅 Solaris) 5.2 与不支持的语言环境设置有关的 LDAP 故障 6.0 必需的注册表版本修改 6.1 确保迁移至 LDAP 主控服务器前所有副本都有 相同的注册表版本号 6.2 registry modify -version 试图等待序列号的匹配 7.0 迁移注意事项与可能的出错情况 7.1 注册表迁移需要一些参数是全限定的 7.2 停止注册表迁移不停止 DCE 数据向 LDAP 的传播 7.3 LDAP 从属服务器迁移故障 7.4 LDAP 主控服务器迁移故障 7.5 迁移时票券到期后的信息 8.0 SECD 重新启动的条件 8.1 重新启动 secd 来更改具有 SSL 的密钥数据库文件 8.2 LDAP_SERVER_DOWN 条件 9.0 带有 TRY_PE_SITE 环境变量的注册表选择 9.1 总是将 CDS 主服务器指向一个服务中的安全性服务器 9.2 在强制迁移时 pe_site 文件中必须有附加的安全性 服务器 IP 地址 10.0 使用 LDAP 的注册表限制 10.1 命名限制 10.2 不能删除预先存在的 LDAP 帐户 11.0 其它 11.1 手工备份 dceback 无法备份的文件 11.2 在分离配置环境中更改 IP 地址 11.3 DCE 文档 — start_dcedoc 12.0 声明 12.1 商标和服务标记 ===================================================== 1.0 关于本自述文件附录 本文件包含对与 DCD 版本 3.2 AIX 和 Solaris 版一起交付的 README 文件的额外更改和更新。 注:命令中不要包括引号。 ===================================================== 2.0 LDAP 注意事项 ===================================================== 2.1 IBM SecureWay(R) Directory 服务器的 e-fix 在“DCE Security Registry and LDAP Integration Guide”一书 “Chapter 2, Planning Considerations”的“Supported versions of LDAP”一节中,以下这句不正确: “The IBM SecureWay Directory client requires a minimum e-fix of 3.2.2-SWD-0001”。 上一句必须用以下句子替代: “The IBM SecureWay Directory server requires a minimum e-fix of 3.2.1-SWD-004”。 此外,如果是在 Solaris 的 UTF-8 语言环境中运行,e-fix 3.2.1-SWD-005 是必需的。有关详细信息,请参阅 5.1 节。 可以在 IBM SecureWay Web 站点:www.ibm.com/secureway/directory 处 获得 e-fix。 ===================================================== 2.2 并行读/写需求 如果将 IBM SecureWay Directory 服务器用作后备存储器,则必须将 LDAP 服务器设置为使用并行读/写。如果不这样做,则会在 LDAP 和 DCE 之间 发生死锁。 可以修改 slapd32.conf 文件中的以下一节,以添加 LDAP_CONCURRENTRW 属性: dn: cn=Front End, cn=Configuration cn: Front End ibm-slapdSetenv: LDAP_CONCURRENTRW=ON objectClass: top objectClass: ibm-slapdFrontEnd 对于 iPlanet/Netscape Directory,并行读/写是缺省配置。 ===================================================== 2.3 更改用于 IBM SecureWay Directory 服务器中 dcecp 编目命令的 LDAP 大小极限 如果 ibm-slapdSizeLimit 的值设置得太低,则 dcecp 编目命令(如“dcecp -c principal cat”和“dcecp -c account cat”)可能不会返回所有的主体 数据。缺省值是 500,它能返回大约 480 个主体的信息。在 /usr/ldap/etc/slapd32.conf 中定义 ibm-slapdSizeLimit。 ===================================================== 2.4 使用 ldif2db 和复制的 CreatorsName 属性 krbTrustedAdmObject 属性或 krbKdcServiceObject 属性必须包含希望在 LDAP 中创建 DCE 数据的所有用户或应用程序的专有名称(DN)。它包括所有 DCE 安 全性服务器、Network Authentication Service KDC 服务器及其它 LDAP 管理应 用程序。 如果使用目录导入工具恢复 DCE 单元的 LDAP 目录,则必须更新该单元的 LDAP 项的 krbTrustedAdmObject 属性或 krbKdcServiceObject 属性,以在启动 DCE 前包括该工具使用的授权 DN。在使用 ldif2db 恢复 IBM SecureWay Directory 的情况下,它是 LDAP 目录管理员的 DN。 此外,如果使用任何目录服务器的复制功能来提供注册表的 LDAP 副本,则必须 更新 LDAP 主控服务器上单元项的 KrbTrustedAdmObject 和 krbKdcServiceObject 属性,以包括 LDAP 供应商或用户使用的每个副本的 DN。 ===================================================== 2.5 模式修改期间的错误 当修改 iPlanet Directory 服务器的模式时,可能在尝试修改 passwordMinAge 和 gecos 属性时报告一条错误。这些修改处理属性的 OID 或语法。这些错误都 不会影响 DCE 或任何其它使用 iPlanet Directory 服务器的应用程序的操作。 ===================================================== 3.0 AIX 注意事项 ===================================================== 3.1 在 AIX 上运行客户应用程序时的注意事项 如果应用程序遇到这样的消息(或异常): No memory for RPC (dce/rpc) 则应用程序可能已达到缺省的数据大小极限 128 MB。为了攻克这一问题,请增加 应用程序的数据大小极限。另外,可能还要考虑对占用大小超过 256 MB 的应用 程序使用 AIX 大型内存模型。 ===================================================== 3.2 dcf_ulimit 命令添加至 dcecp 如果只要更改 DCE 的数据大小上限,而不更改系统上运行的其它应用程序的数据 大小上限,则可以使用 /opt/dcelocal/tcl/user_cmd.tcl 文件中的“dcecp -c dcf_ulimit”命令。可在 /opt/dcelocal/tcl/user_cmd.sample.tcl 中找到如何 使用 user_cmd.tcl 文件中的该命令的样本。有关该命令的语法,请参考 3.3 节。 ===================================================== 3.3 dcf_ulimit 命令 已将名为 dcf_ulimit 的命令添加至 dcecp 中。dcf_ulimit 起的作用与 ulimit 非常相似。它有多个命令行参数。如果将 -?、-help 或 help 与 dcf_ulimit 命令一起输入,则显示下列信息: dcf_ulimit [-S|-H] -f -c -t -d -s -m -n 您可以从 dcecp(或 tcl 脚本)使用 ulimit -a 命令以查看当前的上限设置。 但是,dcf_ulimit 并不支持 -a 参数。 操作系统中的 ulimit 命令取 64 位值。因为 dcecp 是一个 32 位程序,所以 受到它必须向 setrlimit API 传送的整数大小的限制。以下是使用 dcf_ulimit 命令中可以传送的最大值: -f FSIZE 4194303 -c CORE 4194303 -t CPU 2147483647 -d DATA 2097151 -s STACK 2097151 -m RSS 2097151 -n NOFILE 2147483647 还允许关键字“unlimited”作为任何参数的值。 通常,dcf_ulimit 命令与 ulimit 命令的作用相同。 ===================================================== 4.0 DCE 3.2 性能注意事项与调整技巧 ===================================================== 使用 DCE 3.2 功能将 DCE 安全性信息迁移至 LDAP 目录,存在某些性能上的 注意事项。将 DCE 安全性注册表从内存中的数据库(旧 DCE 中的模型)移至 磁盘上的 LDAP 数据库,存在性能冲突。这些冲突随单元所处的迁移阶段的变 化而变化。客户可能会发现混合单元(表示包含共存的旧安全性服务器和 LDAP 服务器的单元)中的性能冲突比已完全迁移至 LDAP 的单元更强。这是因为开 销不仅与向 LDAP 传播更新有关,还与向旧 DCE 安全性服务器传播更新有关。 通常,建议那些使用会频繁更新安全性注册表并希望马上访问那些更新的 DCE 应用程序的客户执行下列操作之一: o 避免在混合环境中长期运行。 o 使用安全性首选设置,将由这些应用程序产生的安全性请求引向旧 DCE 安全性服务器。 有许多附加的与 LDAP 集成功能有关的性能调整注意事项,将在下面各节中进行描述。 ===================================================== 4.1 调整 secd ===================================================== 4.1.1 调整与 LDAP 服务器的连接数 MAX_CONNECTIONS 环境变量决定安全性服务器拥有的与 LDAP 数据库的连接数量。 当前缺省值是 8,而且这对于大多数客户环境已是足够的。但是,有些情景可能 需要附加连接。一个示例是维持大量并行登录工作负载的环境。在多处理机环境 中,也可能要增加连接数以利用增加的系统容量。无论何时修改 MAX_CONNECTIONS 环境变量,都必须重新启动该系统上的安全性服务器。支持的最大连接数是 64。 ===================================================== 4.1.2 调整传播线程的数量 要在只有 3 个安全性服务器的单元中对旧副本和 LDAP 迁移服务器同时进行传播, 请将主控安全性服务器上的现有 MAX_SEC_PROP_THREADS 环境变量设置为 2。如果 单元中的安全性服务器超过 3 个,则 secd 会自动将线程数增加到 2。 ===================================================== 4.1.3 调整哪个 secd 是 init_rep 的启动程序 使用主控安全性服务器上的 SEC_REP_INIT_FROM_UUID 环境变量指定旧副本,在 迁移至 LDAP 期间接收来自该旧副本的安全性注册表。在迁移服务器上发出 dcecp 注册表迁移命令前,将该变量设置为旧副本的“全局唯一标识符(UUID)”。要 获得 UUID,发出“sec_admin”命令,然后输入“lr -all”。UUID 是服务器的 “实例标识”。设置了这个环境变量后,必须停止并重新启动主控安全性服务器。 使用这个环境变量防止将旧主控服务器用于初始化。如果将旧主控服务器用于初 始化,则它将处于迁移期间的维护模式。虽然旧安全性副本可以执行这个功能, 但是 LDAP 服务器不能这样做。不要将 SEC_REP_INIT_FROM_UUID 环境变量设置 为 LDAP 从属服务器的 UUID。 ===================================================== 4.2 使用 IBM SecureWay LDAP 时调整 DB2(R) 注:本节中的指令假设您使用缺省的 LDAP DB2 用户标识(ldapdb2)。如果您 使用不同的 LDAP DB2 用户标识,请进行相应的替代。 并非总是 DB2 高速缓存越大,I/O 访问就越少。比较好的策略是增加 LDAP 高速 缓存的容量。通常,最小化 DB2 缓冲池的大小,而最大化 LDAP 项和过滤器高速 缓存。下列示例使用 AIX 命令。根据 LDAP 服务器的位置,使用适用的操作系统 命令。 示例步骤 — DB2(当使用 IBM SecureWay LDAP 时) 1. 作为 DB2 超级用户 ldapdb2 登录,例如: su -ldapdb2 2. 检查现有的 SHEAPTHRES(排序堆阈值),例如: db2 get dbm config | grep SHEAP 3. 将现有 SHEAPTHRES 复位为 20000,例如: db2 update db manager config using SHEAPTHRES 20000 4. 启动 DB2,例如: db2start 5. 连接至 LDAP/DB2,例如: db2 connect to ldapdb2 6. 检查现有的 BUFFPAGE(缓冲池大小),例如: db2 get db config for ldapdb2 | grep BUFF 7. 获取系统内存大小(以 MB 为单位),例如: lsattr -E -l mem0 8. 与 DB2 一起交付的缺省 BUFFPAGE 为 1000(4 KB 页),但对于大型 数据库可能还不够。如果系统有大量内存(1 GB 以上),请运用常识 计算为 BUFFPAGE 量分配的内存量(可能不到 50%)。如果以大约 512 MB 内存或更少的内存运行,下列算法会非常有用。要复位 BUFFPAGE: db2 update db config for ldapdb2 using BUFFPAGE nnnnn 其中 nnnnn 是如下计算的(将系统的 50% 分配给缓冲池): nnnnn = 系统内存(MB)* 50% / 4KB(因为 1 页 = 4 KB) 9. 如果增加 BUFFPAGE 参数,则 BUFFPAGE 参数每增加 30 还应该将 DBHEAP 大小加 1。要检查现有的 DBHEAP(数据库堆),例如: db2 get db config for ldapdb2 | grep DBHEAP 10. 作为示例,要将 DBHEAP 复位为 1700,您应运行下列命令: db2 update db config for ldapdb2 using DBHEAP 1700 11. 检查现有的 SORTHEAP(排序列表堆),例如: db2 get db config for ldapdb2 | grep SORTHEAP 12. 使用“DB2 数据库监视器”工具计算出 SORTHEAP 参数的适当值。 要复位 SORTHEAP: db2 update db config for ldapdb2 using SORTHEAP nnnn 其中 nnnn = 以 BUFFPAGE / 30 增加 13. 检查现有的 MAXLOCKS(每个应用程序锁定列表的百分比),例如: db2 get db config for ldapdb2 | grep MAXLOCKS 14. 使用“DB2 数据库监视器”工具计算出 MAXLOCKS 参数的适当值。例如, 要将 MAXLOCKS 复位为 100: db2 update db config for ldapdb2 using MAXLOCKS 100 15. 复位 bufferpool,例如: db2 alter bufferpool ibmdefaultbp size -1 注:-l 是“一”,不是 L 16. 重新启动 db2 以启用以上更改,例如: db2stop db2start 有关调整 DB2 的详细信息,请参阅 www.software.ibm.com/data/db2/library ===================================================== 4.3 调整 LDAP LDAP 性能会受各种因素的影响。对缺省配置进行调整和更改是必要的,可以增强性能。 在确认这些高速缓存的好处之前,必需预先准备好 LDAP(如果使用 IBM SecureWay LDAP,则还有 DB2 高速缓存)。有几个 LDAP 高速缓存类型,包括项和过滤器。 根据特定的客户环境,选择要高速缓存的项数。可能需要某些试验来找到最佳大小。 通常,使 DB2 缓冲池的大小最小化,而使 LDAP 项和过滤器高速缓存最大化。 当将 DCE 模式装入 IBM SecureWay LDAP 时,自动建立 DCE 3.2 数据库的索引。 如果使用 iPlanet/Netscape Directory 服务器,则必须手工建立模式的索引。 建议用并行读/写运行 LDAP。如果使用 IBM SecureWay Directory,则必须将 并行读/写设置为 on(LDAP_CONCURRENTRW=ON)。如果使用 iPlanet/Netscape Directory,则 on 是缺省值。设置了并行读/写后,必须重新启动 slapd。 ===================================================== 4.3.1 调整 IBM SecureWay LDAP 服务器 注:本节中的指令假设您使用缺省的 slapd 配置文件(在 AIX 上是 /usr/ldap/etc/slapd32.conf)和缺省的 slapd 错误日志文件(在 AIX 上 是 /tmp/slapd.errors)。如果 LDAP 服务器不使用这些缺省值,请进行相 应的替代)。 如果 IBM SecureWay slapd.errors 文件(在 AIX 上是 /tmp/slapd.errors; 在 Solaris 上是 /var/ldap/slapd.errors;在 NT 上是 C:\Program Files\IBM\LDAP\tmp\slapd32.errors)变得很大,则 LDAP 性能会 下降。您不会希望得到许多错误;但是,在长期运行的环境中,有时会监视这个 文件。在 LDAP 运行时,可以删除该文件或对它重命名。如果删除或对它重命名, 则会自动创建一个新的 slapd.errors 文件。 有四个环境变量直接影响 IBM SecureWay LDAP 服务器高速缓存上的各高速缓存大小。 这些值在特定环境中与平台、内存大小、工作负载等有关。设置这些变量的值的首 选方法是通过 /usr/ldap/etc/slapd32.conf 文件。 示例步骤 — IBM SecureWay LDAP 1. 将下列内容添加至 LDAP 配置文件 /usr/ldap/etc/slapd32.conf: #ADDED LDAP TUNING dn: cn=Front End, cn=Configuration objectclass: top objectclass: ibm-slapdFrontEnd #Turn on concurrent read/write. This can prevent race conditions #that could result in entries being returned that no longer #match the search filter. This locking mechanism can have a #dramatic impact on the performance of LDAP searches when #update operations are in progress. Default is FALSE. #Note that this variable can be set to ON or TRUE in v3.2.2 #of IBM SecureWay LDAP. ibm-slapdSetEnv: LDAP_CONCURRENTRW=ON #RDBM_CACHE_SIZE=; Default is 1000. #Specifies the maximum numbers of entries to keep in the Entry cache. ibm-slapdSetEnv: RDBM_CACHE_SIZE=100000 #RDBM_FCACHE_SIZE=; Default is one fourth of the size of the #RDBM_CACHE_SIZE. #Specifies the maximum number of entries to keep in the search filter #cache. ibm-slapdSetEnv: RDBM_FCACHE_SIZE=100000 #ACLCACHE=; Default is YES. #Controls whether or not the server caches ACL information. ibm-slapdSetEnv: ACLCACHE=YES #ACLCACHESIZE=; Default is = RDBM_CACHE_SIZE. #Specifies the maximum number of entries to keep in the ACL cache. ibm-slapdSetEnv: ACLCACHESIZE=25000 2. 停止 LDAP 服务器。 3. 在 AIX 上,在重新启动 LDAP 服务器前,导出下列环境变量: export MALLOCMULTIHEAP=heaps:n 其中 n = 该 LDAP 主机的处理器数目 + 1 4. 启动 LDAP 服务器。 ===================================================== 4.3.2 调整 iPlanet/Netscape LDAP 服务器 如果使用 iPlanet/Netscape Directory 服务器,请查阅可用于该产品的文档中 的调整信息和技巧。具体有日期标注为“May 2001”的“iPlanet Directory Server Performance Tuning Guide”一书,它包含“Top 10 List of Performance Tuning Tips”。当使用 iPlanet/Netscape Directory 服务器时,必须手工建立 模式的索引。iPlanet/Netscape Directory 服务器在内存中高速缓存数据。内存 高速缓存中也可以调整。 示例步骤 — iPlanet/Netscape LDAP 将下列 DCE LDAP 属性配置为等价索引属性: - krbRealmName-v2 - krbPrincipalName - krbPolicyName - krbKeyVersion - dceDirName - dceXattrName - dceGroupName - dceUUID - unixID 在执行任何 DCE LDAP 迁移前,请计算并设置 iPlanet/Netscape LDAP 的最大 项高速缓存大小和数据库高速缓存大小的值。项高速缓存大小(cachesize)指 定每个高速缓存的输入项数,而不是高速缓存的内存大小。基本规则是将 75% 的高速缓存内存专用于 dbcachesize,25% 专用于项高速缓存大小。请参阅 “The iPlanet Market Maker 1.0 Deployment Guide”第 6 章的“Performance Tuning and Monitoring”。 请确保更新 LDAP 服务器配置文件中的 cachesize 和 dbcachesize,使它们有新值。 重新启动 LDAP 服务器以激活前面的调整。 有关调整 4.13,5.0 和对 iPlanet/Netscape 的其它建议的细节,请参阅 http://docs.iplanet.com/docs/manuals/directory.html。 ===================================================== 4.4 硬件 在测试这个功能时,高速机器和附加内存在性能上会有极大的差异。IBM 测试情景显示将 LDAP 用于安全性注册表的 DCE 单元的性能与运行 LDAP 的系统能力有直接关系。IBM 强度测试是将具有 4 GB 内存的 IBM eServer pSeries(TM) 620 型号 6F1 用作 LDAP/DB2 服务器运行的。LDAP 和 DB2 高速缓存都需要足够的内存。推荐的最小内存配置是 128 MB。 要帮助改进 I/O 性能,请考虑在 LDAP/DB2 服务器上添加附加驱动器。可以 监视(例如,通过使用 vmstat 实用程序)等待 I/O 所花的时间百分比。如 果不为 0%,这可能是提示数据库总要做 I/O 的,它可以表明 LDAP 是有效 饱和的。增加数据库缓冲区的大小,直到 I/O 等待时间接近 0% 为止。通常, 这是最有效的方法。 ===================================================== 4.5 网络 在同一台机器上运行 LDAP 服务器和 DCE 安全性迁移服务器,可以改进性能, 特别是在迁移期间。在网络上使用 SSL,可能会有极大的性能冲突;传播和 更新活动时间会增加。 ===================================================== 4.6 初始迁移期望 通过迁移服务器将安全性注册表初始迁移至 LDAP 中所花的时间比初始化旧副本 的时间要长得多。有 10,000 个主体/帐户的注册表环境可能要花几分钟来迁移 至旧副本;而在 LDAP 环境中可能几乎要用 15 个小时来这样做。 ===================================================== 4.7 DCE 应用程序注意事项 在混合单元中,复制信息(特别是传播安全性信息)要花较长的时间才能进入 LDAP 数据库。更新安全性信息然后马上访问该数据的客户应用程序会生成“没 有找到注册表对象”错误。这是因为消息进入 LDAP 必然有传播延迟。可以使 用多个方法缓解这一问题。一种方法是使用 pe_site 文件。使用 TRY_PE_SITE 环境变量并将安全性服务器排序,以使 LDAP 迁移服务器在 pe_site 文件中不 是第一个。然后,应用程序绑定至旧的 secd 服务器,这样传播延迟不会太明 显。另一种方法是将代码添加到现有应用程序中,在更新了允许传播所需的时 间后重试错误。一旦将单元完整迁移至 LDAP 后,就不再发生传播了。 ===================================================== 4.8 用户任务(登录、密码更改) IBM 已实现了支持与 LDAP 服务器的多条连接,从而帮助改进并行登录活动 的性能。有关环境变量 MAX_CONNECTIONS 的讨论,请参阅前面的“调整 secd”一节。当用户更改他们的密码并马上登录时,有时候可能会遇到传播 延迟。如果密码更改尚未传播至 LDAP,可能会发生初始故障。用户可以再 试一次,登录应该成功。 ===================================================== 4.9 管理任务(用户创建、用户删除) 由于“dcecp -c user create”命令查找的方式,所以在 LDAP 中它通常 比单独执行各个步骤来得慢。建议您运行下列各单独的 dcecp 命令来替代: principal create group create org create group add member org add member account create 相同的建议也适用于“dcecp -c user delete”。 如果运行的脚本使用“dcecp -c user create”命令,请参阅前面“DCE 应用 程序注意事项”一节中的 pe_site 讨论。使用 pe_site 文件将请求“引向” 旧的 secd 服务器,并在迁移期间远离迁移服务器,会缓解一定的传播延迟。 ===================================================== 5.0 语言环境注意事项 ===================================================== 5.1 Solaris LDAP 客户机的 UTF-8 问题(仅 Solaris) IBM SecureWay Directory V3.2.1 客户机 Solaris 版在安装了 e-fix 3.2.1-SWD-005 的前提下支持在 UTF-8 语言环境中运行。如果在没有 安装 e-fix 的 Solaris UTF-8 语言环境中运行时试图将 DCE 与 LDAP 一起使用,则 DCE 会因类似下列错误的 LDAP 编码错误而失败: 2001-07-09-15:47:53.898-05:00I----- secd ERROR sec ldap ldap_errors.c 666 0xfe8af9bc msgID=0x17122F9F ldap_simple_bind_s returned LDAP_ENCODING_ERROR during rgy_bind_to_ldap_server (1134). ===================================================== 5.2 与不支持的语言环境设置有关的 LDAP 故障 如果操作系统语言环境的环境变量 LANG 和 LC_ALL 设置的值不是本地主机所 支持的,则 IBM SecureWay Directory V3.2.1 客户机不会正确运行。不正确 的设置会导致 LDAP 错误,这些错误将导致类似于下列错误的 DCE 错误: 2001-11-02-14:29:12.435-06:00I----- secd ERROR sec ldap ldap_errors.c 666 0xfea8f904 msgID=0x17122F9F ldap_simple_bind_s returned LDAP_ENCODING_ERROR during rgy_bind_to_ldap_server (1332). 2001-11-02-14:29:12.814-06:00I----- secd ERROR sec rs_ns rs_master_LDAP.c 550 0xfea8fbac msgID=0x17122084 Invalid data record 要变通地解决这一问题,将 LANG 和 LC_ALL 的值设置为机器支持的值。 要查看当前语言环境的设置,请在 DCE 会话中运行操作系统命令“locale”。 在 AIX 上,命令“locale -a”显示本地机器的有效语言环境设置。如果没有 列出当前语言环境的设置,必须将 LANG 和 LC_ALL 复位为列出的值。在 Solaris 上,可以检测不正确的设置,因为操作系统会在执行系统命令时显示 警告消息“无法正确设置语言环境”。 ===================================================== 6.0 必需的注册表版本修改 ===================================================== 6.1 确保迁移至 LDAP 主控服务器前所有副本都有 相同的注册表版本号 在迁移至 LDAP 主控服务器前,必须将 DCE 安全性注册表版本提升到 1.3。 因为这可能需要两个版本的修改,所以请确保在开始迁移至 LDAP 主控服务 器前,所有副本都有相同的版本号。在继续前,必须运行“lr -all”来验证 对所有副本都进行了更新。发出“sec_admin”命令,然后输入“lr -all”。 当所有副本都是 1.3 版本,并且有相同的序列号时,迁移至 LDAP 主控服务 器才是安全的。 ===================================================== 6.2 registry modify -version 试图等待序列号的匹配 先前发行版的 DCE 中,在短时期内两次修改注册表版本是不寻常的。当进行 迁移以使用 DCE 3.2 中的 LDAP 功能时,如果单元注册表版本尚未是 secd.dce.1.2.2a(对于“公用密钥”),则需要至少修改注册表版本两次: 从 secd.dce.1.2.2 至 secd.dce.1.2.2a, 然后从 secd.dce.1.2.2a 至 secd.dce.1.3 DCE 不支持一次跨多个版本的迁移,并且它需要时间完全更改到一个版本后, 才能开始到另一版本的更改。安全性副本必须通过传播来处理第一个版本更 改,然后再启动第二个版本的更改;否则,安全性副本返回错误,指出同时 有多个版本在进行版本更改。 试图更改注册表版本前,请使用 sec_admin 并带有子命令 lr -all 来验证 所有安全性副本的序列号是否都是最新的。当所有的序列号都匹配时,可以 安全地更改注册表版本。在每次执行“dcecp -c registry modify -version” 命令前都要执行这一检查。 “dcecp -c registry modify -version”命令通过使用 sec_rgy_wait_until_consistent 来尝试自行执行这个检查。它试图强制 主控服务器等待副本都更新后才执行版本更新。 如果安全性副本并非全部都是最新的,会看到下列信息: 等待“sec_rgy_wait_until_consistent”完成,至多等待 600 秒。 如果 dcecp 必须花超过 15 秒的时间等待 sec_rgy_wait_until_consistent 返回,会获取这条消息。 如果 sec_rgy_wait_until_consistent API 没有返回,则在 10 分钟后 dcecp 超时。如果发生这一情况,显示下列消息: 0x11315bbd 软件在等待“sec_rgy_wait_until_consistent”完成时超时。 version = secd.dce.1.2.2a 显示当前的注册表版本,这样您可以知道在更新注册表版本前后 dcecp 对 sec_rgy_wait_until_consistent 是否超时。如果显示的版本不是期望的 版本,请等待几分钟,并再次尝试注册表修改。 多数情况下,“dcecp -c registry modify -version”命令将等待版本更新 传播到所有安全性副本。不过,有时 dcecp 并不能检测到有些安全性副本没 有获得全部更新。例如,“主控安全性”服务器已推出更新,但是副本尚未 处理它,或者副本当前未在运行。如果在所有安全性副本都成为最新的之前 更新注册表版本,则部分副本会报告版本错误。 如果报告错误的安全性副本服务器是一个旧的安全性副本,则必须重新配置 该副本。 如果报告错误的安全性副本服务器是一个 LDAP 安全性副本,请复制无错 LDAP 从属服务器或迁移从属服务器中的 /opt/dcelocal/var/security/rgy_data/master_info 文件。请确保保存 master_info 文件的原始版本,以防止发生错误。 ==================================================== 7.0 迁移注意事项与可能的出错情况 ==================================================== 7.1 注册表迁移需要一些参数是全限定的 “dcecp -c registry migrate”命令需要 -dce_master_key 和 -keyring 参数的全限定路径名。如果提供给其中一个参数的路径名不是全限定的, 则会获取下列消息: 没有识别出