本节介绍了对非数据库问题的各种故障排除方法。
本节包含以下主题:
此外,在讲述 SSL 的一章中有一节是说明 SSL 故障排除:
7.2 Calendar Server 6.3 软件的 SSL 故障排除
如果一个 cshttpd 进程接受了过多的连接并且占用了 100% 的 CPU 时间,可能是禁用了负载平衡。要重新启用负载平衡,将 ics.conf 的参数 service.http.loadbalancing 的值更改为 "yes"。
如果在您发出 start-cal 后并没有启动所有日历服务,则在重新启动之前必须停止已启动的日历服务。例如,如果 enpd、csnotifyd 和 csadmind 已启动,但 cshttpd 没有启动,则必须停止 enpd、csnotifyd 和 csadmind。
要启动日历服务,请执行以下步骤:
以具有配置权限的管理员身份登录。
发出 stop-cal 命令。
如果 stop-cal 命令无法停止所有的 Calendar Server 服务,则可能仍有某些子进程在运行。要解决此问题,参见22.4.2 解决 stop-cal 问题。
确定已停止全部的 Calendar Server 进程后,可使用 start-cal 命令启动所有服务。例如:
cal-svr-base/SUNWics5/cal/sbin/start-cal
本节介绍改正 stop-cal 问题的某些概念性信息和说明。
当 Calendar Server 关闭时,需要单独考虑两个问题:
发出 stop-cal 之后,某些子进程可能仍未停止。例如,stop-cal 可以停止 cshttpd 父进程,但无法停止任何 cshttpd 子进程。在这种情况下,必须使用以下过程单独停止其余的 Calendar Server 进程。
以具备管理权限的用户身份登录正在运行 Calendar Server 的系统。
通过针对每一项服务输入 ps 命令来确定其余 Calendar Server 进程的进程 ID (Process ID, PID):
ps -elf | grep cs-process
其中,cs-process 为 enpd、csnotifyd、csdwpd、csadmind 或 cshttpd。例如:
ps -elf | grep cshttpd
使用仍在运行的每个进程的 PID,并输入 kill -15 命令来中止这些进程。例如:kill -15 9875
再次针对每项服务输入 ps 命令,以确保已停止所有 Calendar Server 进程。
如果仍有 Calendar Server 进程在运行,请输入 kill -9 命令将其中止。例如:kill -9 9875 |
在运行 Calendar Server 的 Linux 系统中,如果使用 ps 命令搜索日历进程,搜索结果的显示可能会十分混乱。在 Linux 系统中,ps 命令返回正在运行的线程的列表,而不是进程列表。尚未找到解决方法来仅显示进程。
如果未正确关闭 Calendar Server,请执行以下步骤:
执行上一个过程22.4.2 解决 stop-cal 问题中的步骤。
手动删除 LDAP 数据高速缓存数据库目录中的所有文件。
这些遗留文件可能会导致数据库损坏。要删除这些文件,请执行以下步骤:
重新启动 Calendar Server。
cal-svr-base/SUNWics5/cal/sbin/start-cal
有关如何配置 LDAP 数据高速缓存的说明,参见4.8 配置 Calendar Server 版本 6.3 的 LDAP。有关 LDAP 数据高速缓存的更多信息,参见《Sun Java Communications Suite 5 Deployment Planning Guide》。
Ping 后端服务器以查看它是否响应。
如果不响应,确定失败的原因。当其再次起作用时,继续进行本任务中的下一个步骤。
清除 CLD 高速缓存。参见12.5 在 Calendar Server 版本 6.3 中清除 CLD 高速缓存。
如果使用的是 CLD 高速缓存选项,并已通过 ics.conf 参数更新了服务器名,则应清除 CLD 高速缓存以删除服务器名。CLD 缓存中的旧条目会导致前端服务器无法正确连接到后端服务器,或导致 Calendar Server 无法找到移动后的日历。
使用 stop-cal 命令停止服务器。
使用 start-cal 重新启动 Calendar Server。
如果使用的是 CLD 高速缓存选项,并已将一个或多个日历移至其他后端服务器(或更改了后端服务器的名称),则可能无法查看新服务器上的日历。
出现这样的情况时,执行以下步骤:
清除 CLD 高速缓存。参见12.5 在 Calendar Server 版本 6.3 中清除 CLD 高速缓存。
如果已将一个或多个日历移至其他后端服务器,则 CLD 高速缓存将失效。要刷新 CLD 高速缓存,您需要先清除它,这样才可重建它。
如果失败,请确保是否遵循了正确的步骤来移动日历。可在以下章节中找到该信息:
然后清除高速缓存。
如果尝试在指定的后端服务器上创建日历,则会看到以下错误消息:DWP 主机服务器无效,原因可能有以下两种。服务器配置不正确,或者已将日历所有者分配给另一后端服务器。
本节介绍如何改正这两个问题:
查看存在问题的后端服务器的 ics.conf 文件。
确认是否存在以下设置:
service.dwp.enable = "yes" caldb.cld.type = "directory" local.hostname = "back-end hostname"
查看用户的 LDAP 条目并确认是否存在 icsDWPHost 属性。icsDWPHost 的值必须与尝试在其中创建日历的后端服务器的名称相匹配。不能在另一后端服务器上为该用户创建日历。
本节包括对可能的失败原因的建议。遵循建议的步骤并重试登录。
执行一个或多个以下步骤来改正此错误:
验证 service.http.allowadminproxy 是否设置为 "yes"。
验证 admin-user 是否具有 Calendar Server 管理员权限。
验证 admin-password 是否正确。
验证 calendar-user 是否为 Calendar Server 的有效用户。
重试登录。
本节包括故障排除未正确完成的搜索的概念性信息和说明。
LDAP Directory Server 配置中的 nsslapd-sizelimit 和 nsLookthroughLimit 属性必须足够大,以使搜索能够顺利完成。如果 nsSizeLimit 不够大,则进程可能被中断,而不显示任何结果。如果 nsLookthroughLimit 不够大,则可能无法完成搜索。
本节包含以下主题:
要确定是否为这些属性设置了适当的值,请尝试以下命令:
ldapsearch -b "base" "(&(icscalendarowned=*user*)(objectclass=icsCalendarUser))"
其中,base 是 Calendar Server 用户和资源数据所在目录服务器的 LDAP 基本 DN,user 是最终用户可以在用户界面的搜索对话框中输入的值。
如果 LDAP 服务器返回错误消息,则可能是由于参数 nsSizeLimit 或 nsLookthroughLimit 的值不够大。
这些属性的 DN 为:
dn: cn=config,cn=ldbm databases,cn=plug ins,cn=config
使用 ldapmodify 动态设置 nsLookthroughLimit 的值。
即,无需停止和重新启动 Directory Server 来更改此属性。
默认值为 5000。如果搜索未报告结果,您可能希望增大该值。但是,这将使 LDAP 服务器的性能降低。
可以将限制设置为 -1,这样将取消任何限制。但是,这样做时应小心,因为它很可能会导致系统挂起。
如果要将 nsslapd-sizelimit 设置为更高的值,则必须执行以下步骤:
停止 Directory Server。
编辑 dse.ldif 文件。
重新启动 Directory Server。
有关如何使用 ldapmodify 和编辑 dse.ldif 文件的信息,参见以下位置处的 Directory Server 文档:
http://docs.sun.com/coll/1316.1 及 http://docs.sun.com/coll/1389.1