IBM(R) DISTRIBUTED COMPUTING ENVIRONMENT (DCE) 3.2 FOR AIX(R) 和 SOLARIS README 補遺 ===================================================== (C) Copyright IBM Corporation 2001. All rights reserved. 附註:請參閱「12.0 注意事項」,取得完整的著作權引用。 ===================================================== 內容 1.0 關於本 README 補遺 2.0 LDAP 注意事項 2.1 IBM SecureWay(R) 目錄伺服器的 e-fix 2.2 並行讀取/寫入需求 2.3 變更 IBM SecureWay 目錄伺服器中的 dcecp catalog 指令的 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 使用者作業 (login, chpasswd) 4.9 管理作業 (user create, user delete) 5.0 語言環境注意事項 5.1 與 UTF-8 有關的 Solaris LDAP 從屬站問題(僅限 Solaris) 5.2 與不支援的語言環境設定有關的 LDAP 失效 6.0 必要的登錄版本修改 6.1 在移轉到 LDAP 主伺服器前,確定所有複本都具有相同的 登錄版本號碼 6.2 修改登錄 - 版本嘗試等待符合的序號 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 關於本 README 補遺 本檔案含有對 DCE 3.2 針對 AIX 和 Solaris 隨附的 README 檔所做的變更和更新。 附註:請勿包括指令中的引號。 ===================================================== 2.0 LDAP 注意事項 ===================================================== 2.1 IBM SecureWay(R) 目錄伺服器的 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 節。 e-fixes 可在 IBM SecureWay 網站 www.ibm.com/secureway/directory 取得。 ===================================================== 2.2 並行讀取/寫入需求 如果您正在使用 IBM SecureWay 目錄伺服器作為備份儲存庫, 則 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 目錄,並行讀取/寫入是預設配置。 ===================================================== 2.3 變更 IBM SecureWay 目錄伺服器中的 dcecp catalog 指令的 LDAP 大小限制 如果 ibm-slapdSizeLimit 的值設定太低,dcecp catalog 指令 (如 "dcecp -c principal cat" 和 "dcecp -c account cat") 可能無法傳回所有 Principal 資料。預設值是 500, 這個值可傳回大約 480 個 Principal 的資訊。ibm-slapdSizeLimit 定義在 /usr/ldap/etc/slapd32.conf。 ===================================================== 2.4 使用 ldif2db 和複寫的 CreatorsName 屬性 krbTrustedAdmObject 屬性或 krbKdcServiceObject 屬性必須 含有被預期將在 LDAP 中建立資料的所有使用者或應用程式的 識別名稱 (DN)。 這包括所有 DCE 安全性伺服器、「網路鑑別服務 KDC」伺服器, 以及其他 LDAP 管理應用程式。 如果將使用目錄匯入工具復置 DCE Cell 的 LDAP 目錄, 則在啟動 DCE 前,Cell 的 LDAP 登錄的 krbTrustedAdmObject 屬性或 krbKdcServiceObject 屬性必須更新,以包括工具所使用的授權 DN。 在使用 ldif2db 復置 IBM SecureWay 目錄的情況中, 這是 LDAP 目錄管理者的 DN。 此外,若有任何目錄伺服器的複寫特性用來提供登錄的 LDAP 複本, 則 LDAP 主要伺服器的 Cell 登錄的 krbTrustedAdmObject 和 krbKdcServiceObject 屬性必須更新,以包括 LDAP 供應商或消費者用來代表每一個複本的 DN。 ===================================================== 2.5 修改綱目期間發生錯誤 當修改 iPlanet 目錄伺服器的綱目時,於嘗試修改 passwordMinAge 和 gecos 屬性時,可能報告了一個錯誤。 這些修改將處理屬性的 OID 或語法。這些錯誤都不會影響 DCE 的作業, 或是影響其他使用 iPlanet 目錄伺服器的應用程式。 ===================================================== 3.0 AIX 注意事項 ===================================================== 3.1 在 AIX 上執行客戶應用程式時的注意事項 如果您的應用程式遭遇訊息(或異常狀況): No memory for RPC (dce/rpc) 可能是您的應用程式達到了預設資料大小限制:128 MB。 請增加應用程式的資料大小限制,以便克服這個問題。此外, 對於具有大於 256 MB 的空間數量的應用程式,您可能需要考慮使用 AIX 大型 記憶體模型。 ===================================================== 3.2 dcf_ulimit 指令已新增至 dcecp 如果您想要僅變更 DCE 的 datasize ulimit,但不想要變更 其他在系統上執行的應用程式的 datasize ulimit, 則您可以在 /opt/dcelocal/tcl/user_cmd.tcl 檔案內 使用 "dcecp -c dcf_ulimit" 指令。如何在 user_cmd.tcl 檔案中使用此指令的範例可以在 /opt/dcelocal/tcl/user_cmd.sample.tcl 中找到。請參閱 3.3 節,取得此指令的語法。 ===================================================== 3.3 dcf_ulimit 指令 有一指令已新增至 dcecp,稱為 dcf_ulimit。 dcf_ulimit 的作用非常類似於 ulimit。它會採用數個 指令行參數。如果 -?、-help 或 help 與 dcf_ulimit 指令 一起鍵入,將顯示下列: dcf_ulimit [-S|-H] -f -c -t -d -s -m -n 您可以從 dcecp 內使用 ulimit -a 指令(或 tcl script), 來檢視目前的 ulimit 設定。 然而,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 資料庫,會具有效能影響。 這些影響會隨著 Cell 所處的移轉階段而有所不同。 比起完全移轉至 LDAP 的 Cell,客戶可能會在混合式 Cell (表示同時含有並存的舊型安全性伺服器與 LDAP 伺服器的 Cell) 中看到較高的效能影響。這是由於與傳達更新至 LDAP 及 舊型安全性伺服器有關的額外處理時間。一般說來, 若客戶具有須經常更新安全性登錄並期望立即存取那些更新的應用程式, 我們建議執行下列其中一項: o 避免長時間在混合式環境中執行。 o 使用安全性喜好設定,將這些應用程式所做的安全性要求 引導至舊型 DCE 安全性伺服器。 有若干額外的效能調整考量,與下面幾節中所描述的 LDAP 整合特性有關。 ===================================================== 4.1 調整 secd ===================================================== 4.1.1 調整 LDAP 伺服器的多個連接 MAX_CONNECTIONS 環境變數可判定安全性伺服器對 LDAP 資料庫具有多少個連接。 目前的預設值是 8,這已足夠供大部份客戶的環境使用。 然而,有些範例可能需要額外的連接。比方說, 承受重要的並行登入工作負荷的環境。在多重處理器環境中, 您也可能想要增加連接數目,以利用提高的系統容量。 一旦修改了 MAX_CONNECTIONS 環境變數,安全性伺服器就須重新啟動。 支援的最大連接數目為 64。 ===================================================== 4.1.2 調整傳達執行緒的數目 若要同時傳達至 Cell(僅具有 3 個安全性伺服器)中的舊型複本和 LDAP 移轉伺服器,請將主要安全性伺服器上的現存 MAX_SEC_PROP_THREADS 環境變數設為 2。如果 Cell 中有三個以上的安全性伺服器, 則 secd 會自動將執行緒數目增加至 2。 ===================================================== 4.1.3 調整哪一個 secd 是 init_rep 的起始者 在主要安全性伺服器上使用 SEC_REP_INIT_FROM_UUID 環境變數, 可指定舊型複本,然後在移轉至 LDAP 期間,將從那裡接收安全性登錄。 在移轉伺服器上發出 dcecp registry migrate 指令前, 請將此變數設定為舊型複本的「世界專用識別碼 (UUID)」。 若要取得 UUID,請發出 "sec_admin" 指令, 再鍵入 "lr -all"。UUID 是伺服器的「案例 ID」。 在設定此環境變數後,您必須停止並重新啟動主要安全性伺服器。 使用此環境變數可防止舊型主要伺服器用於起始設定。 如果舊型主要伺服器用於起始設定,它則在移轉期間置於維護模式。 雖然舊型安全性複本可以執行此功能,但 LDAP 伺服器不能。 請不要將 SEC_REP_INIT_FROM_UUID 環境變數設為 LDAP 從屬伺服器的 UUID。 ===================================================== 4.2 當使用 IBM SecureWay LDAP 時調整 DB2(R) 附註:本節中的指示假設您正在使用預設 LDAP DB2 使用者 ID (ldapdb2)。 如果您正在使用不同的 LDAP DB2 使用者 ID,請確定進行適當的替代。 並非 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 = system memory 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 Database Monitor 工具,算出適合 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 Database Monitor 工具,算出適合 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 目錄伺服器,您必須以手動方式製作綱目索引。 我們建議 LDAP 執行時最好具有並行讀取/寫入。 如果您正在使用「IBM SecureWay 目錄」,您必須將並行讀取/寫入設為開啟(LDAP_CONCURRENTRW=ON)。如果您正在使用 iPlanet/Netscape 目錄, 依預設它是開啟的。在您設定並行讀取/寫入後,必須重新啟動 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 目錄伺服器,請複查參考文件中 可用於該產品的調整資訊和秘訣。尤其,"iPlanet Directory Server Performance Tuning Guide"(出版日期:2001 年 5 月)含有 "Top 10 List of Performance Tuning Tips"。當使用 iPlanet/Netscape 目錄伺服器時,必須以手動方式製作綱目索引。 iPlanet/Netscape 目錄伺服器會快取記憶體中的資料。此記憶體中快取也是可調整的。 範例步驟 - 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" 第六章 "Performance Tuning and Monitoring"。 請確定更新 LDAP 伺服器配置檔中的 cachesize 和 dbcachesize, 以具有新的值。 重新啟動 LDAP 伺服器以啟用先前的調整。 請造訪 http://docs.iplanet.com/docs/manuals/directory.html, 以取得有關調整 4.13、5.0 的詳情,以及 iPlanet/Netscape 的其他建議。 ===================================================== 4.4 硬體 當測試此特性時,較高速度的機器和額外的記憶體會在效能上 產生很大的差異。IBM 測試範例顯示對安全性登錄使用 LDAP 的 DCE Cell 的效能直接與執行 LDAP 的系統的容量互相關聯。 已使用含 4 GB記憶體的 IBM eServer pSeries(TM) 620 機型 6F1(作為 LDAP/DB2 伺服器機器)執行了 IBM 壓力測試。 需有足夠的記憶體作為 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 Principal/帳號登錄環境, 可能花費數分鐘即可移轉至舊型複本,但在 LDAP 環境, 可能要花費近 15 小時。 ===================================================== 4.7 DCE 應用程式注意事項 在混合式 Cell,複寫(尤其傳達安全資訊)要花費更多時間進入 LDAP 資料庫。 更新安全資訊並立即存取該資料的客戶應用程式可能會產生「找不到登錄物件」 錯誤。這是因為傳達需要延遲,資訊才能進入 LDAP。有數種方法可用來 緩和此問題。方法一就是使用 pe_site 檔案。使用 TRY_PE_SITE 環境變數, 並排列您的安全性伺服器順序,以便使 LDAP 不是 pe_site 檔案中的第一個。 然後應用程式會連結舊型 secd 伺服器,在此傳達延遲沒有意義。 方法二就是新增程式碼至現存的應用程式,於更新後針對錯誤進行重試, 以容許傳達所需的時間。一旦 Cell 完全移轉至 LDAP,將不再發生傳達。 ===================================================== 4.8 使用者作業 (login, chpasswd) IBM 已施行了 LDAP 伺服器的多個連接支援,因此可協助改善並行登入活動 的效能。請參閱之前的「調整 secd」一節,以取得 環境變數 MAX_CONNECTIONS 的討論。當變更使用者的密碼並立即登入時, 使用者有時可能會遭遇傳達延遲。如果密碼變更尚未傳達至 LDAP, 可能會發生起始失敗。使用者可以再試一次,此時登入應該成功。 ===================================================== 4.9 管理作業 (user create, user delete) 因為 "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" 指令的 Script, 請參閱之前「DCE 應用程式注意事項」一節中的 pe_site 討論。 使用 pe_site 檔案將要求「引導」至舊型 secd 伺服器, 並在移轉期間離開移轉伺服器,可能會緩和部份傳達延遲。 ===================================================== 5.0 語言環境注意事項 ===================================================== 5.1 與 UTF-8 有關的 Solaris LDAP 從屬站問題(僅限 Solaris) Solaris 版的 IBM SecureWay Directory V3.2.1 從屬站支援在已安裝 e-fix 3.2.1-SWD-005 的 UTF-8 語言環境中執行。 在未安裝 e-fix 的 Solaris UTF-8 語言環境中執行時, 如果您嘗試利用 LDAP 使用 DCE,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,您可以偵測出不正確的設定, 因為當執行系統指令時,作業系統會顯示警告訊息 "couldn't set locale correctly"。 ===================================================== 6.0 必要的登錄版本修改 ===================================================== 6.1 在移轉到 LDAP 主伺服器前,確定所有複本都具有相同的 登錄版本號碼 因為移轉至 LDAP 主要伺服器,所以您必須將 DCE 安全性登錄版本升至 1.3。因為這樣做可能需要兩個版本修改, 所以在移轉至 LDAP 主要伺服器前,請確定所有複本都具有相同的 登錄版本號碼。在繼續前,您必須執行 "lr -all", 以驗證所有複本是否都發生了更新。請發出 "sec_admin" 指令, 再鍵入 "lr -all"。當所有複本全都是 1.3 版且具有相同序號時, 就可以安全地移轉至 LDAP 主要伺服器。 ===================================================== 6.2 修改登錄 - 版本嘗試等待符合的序號 在先前的 DCE 版次,短時間內修改登錄版本兩次是很少有的事。 當移轉以使用 DCE 3.2 中的 LDAP 功能時,若 Cell 登錄版本 不是 secd.dce.1.2.2a(用於公開金鑰),則登錄版本至少需要修改兩次: from secd.dce.1.2.2 to secd.dce.1.2.2a and then from secd.dce.1.2.2a to secd.dce.1.3 DCE 不支援一次移動多個版本,而且在起始另一個版本的變更前, 需要時間才能完全變更為某個版本。在啟動第二個版本前, 安全性複本必須利用傳達來處理第一個版本變更,不然, 安全性複本將傳回錯誤,指出一次有多個版本正在變更版本。 在嘗試變更登錄版本前,請使用 sec_admin 加上次指令 lr -all, 驗證所有安全性複本序號是否為最新的。當所有序號符合時, 登錄版本就可以安全地加以變更。請在每一個 "dcecp -c registry modify -version" 指令前,執行這個檢查。 "dcecp -c registry modify -version" 指令會利用 sec_rgy_wait_until_consistent,嘗試自行執行這個檢查。 在處理版本更新前,它會嘗試強迫主要伺服器等待複本具有所有更新。 如果安全性複本不是最新的,您應該會看到下列: Waiting up to 600 seconds for "sec_rgy_wait_until_consistent" to complete. 如果 dcecp 必須等待 15 秒以上的時間讓 sec_rgy_wait_until_consistent 返回, 您將會得到此訊息。 10 分鐘後,若 sec_rgy_wait_until_consistent API 並未返回, dcecp 將發生逾時。如果發生這樣的情況,將顯示下列訊息: 0x11315bbd The software timed out waiting for "sec_rgy_wait_until_consistent" to complete. 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 參數的完整路徑名稱。如果提供的路徑名稱不是 這兩個參數之一的完整路徑名稱,您將看到下列訊息: The value, '', for the