本小節包括多種用於非資料庫問題的疑難排解方法。
本小節包括以下主題:
此外,在 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 問題的一些概念資訊及說明。
關閉時需要考量以下兩個不同的問題:
發出 stop-cal 後,很可能未停止某些子程序。例如,stop-cal 可能停止了 cshttpd 父系程序,但未停止任何 cshttpd 子程序。在此情況下,您必須使用以下程序分別停止其餘 Calendar Server 程序:
以對 Calendar Server 執行時所在的系統具有管理權限的使用者身份登入。
透過為每種服務輸入 ps 指令,確定其餘 Calendar Server 程序的程序 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 程序均已停止。
If a Calendar Server process is still running, enter a kill -9 command to kill it. For example: 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 快取記憶體將會過期。若要更新快取記憶體,您需要將其清除以便重建。
如果失敗,請確認您已遵循正確程序來移動行事曆。這個資訊位於:
然後清除快取記憶體。
若嘗試在指定的後端機器上建立行事曆,並收到以下錯誤訊息:[無效的 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 目錄伺服器配置中的 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/1419.1