![]() |
Sun ONE Directory Server 5.2 安裝和調整指南 |
本章涵蓋從 Netscape Directory Server 4.x 和 iPlanet Directory Server 5.x 升級到 Sun ONE Directory Server 5.2 的內容。
注意 本章並不會解釋如何從 Innosoft Distributed Directory Server 4.5.1 進行升級。
本章主要是討論如何將目錄資料從舊的伺服器遷移到新的伺服器上。如需有關從舊伺服器遷移到新伺服器的組態屬性,請參閱「Sun ONE Directory Server 參考手冊」中的詳細資料。
升級之前
在升級之前,請先熟悉 Sun ONE Directory Server 5.2 中所提供的新功能及「建議的參考資料」下的說明文件中的說明。利用機會檢視在執行現有目錄服務時所做的設計決定。
升級單一伺服器實例
升級伺服器實例的程序,涉及使用不同的 serverID 和不同的 Administration Server 與 Directory Server 連接埠號碼,在不同的 ServerRoot 中於現有的伺服器外安裝新的伺服器,並停止舊的伺服器、遷移組態和目錄資料,然後讓用戶端對新的伺服器提出要求。
注意 確定在執行現有伺服器的主機上擁有足夠的磁碟空間。升級程序至少需要足夠的本機磁碟空間才能容納新舊伺服器的二進位檔案碼與資料庫,也需要足夠的額外空間來儲存包含所有現有尾碼項目的 LDIF 檔案。您在估計必要的本機磁碟空間時,可以稍微大於:
2 * (現有伺服器的空間) + (LDIF 檔案的空間)
升級程序必須在相同主機上於兩個伺服器中執行,因為資料無法透過網路磁碟機來遷移。
Sun ONE Directory Server 5.2 提供指令檔,幫助您遷移伺服器實例的資料。遷移指令檔會依序執行下列工作:
- 停止您現有的伺服器,並將目前的組態備份。
- 檢查結構組態檔,通知您標準結構組態檔與您目前伺服器所使用的組態檔之間有何差異。
(僅能從 4.x 升級成 5.2) 如果現有的 4.x 伺服器使用非安裝在預設位置的自訂結構 (於 ServerRoot/slapd-serverID/config 之下),則在遷移目錄資料前,您必須手動調整組態。
- 為儲存在舊伺服器中的每個尾碼建立一個資料庫。
(僅能從 4.x 升級成 5.2) 4.x 伺服器能支援各資料庫擁有多重尾碼。遷移指令檔會在新的伺服器上為各個尾碼建立一個資料庫。
- 遷移伺服器和資料庫組態參數。
4.x 伺服器會將這類參數儲存在 slapd.conf 中。5.x 伺服器會將這類參數存成 dse.ldif 中的項目。
注意 指令檔並不會遷移 o=NetscapeRoot 下的資料。
當部署伺服器時,請以手動方式,或使用討論中隨伺服器所提供的工具來遷移 o=NetscapeRoot 中的資料,如依賴此尾碼中資料的 Sun ONE 郵件伺服器 (Messaging Server)。
(僅能從 4.x 升級成 5.2) 遷移指令檔並不會遷移所有的 4.x 伺服器參數。在部分情況下,您必須手動遷移 4.x 屬性值。詳細資料請參閱「Sun ONE Directory Server 參考手冊」之當前版本。
- 遷移使用者定義的結構物件。
- 遷移索引。
- 遷移標準伺服器外掛程式。
您必須手動遷移自訂的外掛程式。至少您必須重新編譯所有自訂的外掛程式。如需外掛程式 API 變更的詳細資料,請參閱「Sun ONE Directory Server Plug-In API 程式設計指南」。
- (僅能從 5.x 升級成 5.2) 遷移複寫協議。
注意 在從 5.2 Directory Server 複寫到 5.1 伺服器之前,請將 cn=config 上的 nsslapd-schema-repl-useronly 設定為 on。否則 5.2 結構會被推入 5.1 伺服器,而使 5.1 伺服器因複寫物件而無法重新啟動。
- 遷移憑證資料庫和 SSL 參數。
- (僅能從 5.x 升級成 5.2) 遷移資料庫鏈結。
- (僅能從 5.x 升級成 5.2) 遷移複寫項目。
- 遷移 SNMP 組態。
當遷移指令檔完成後,用戶端可能會傳送要求給新的伺服器。
升級多個複寫伺服器
意料中的,升級多個伺服器涉及將每個伺服器個別升級。但是,您升級伺服器的順序則需視現有伺服器的軟體版本及複寫拓樸而定。
如果是從 5.x 升級成 5.2,標準程序則是由下至上。首先您要遷移客戶。接下來則是將集線器升級。最後才升級主機。關於如何在特殊實例中執行此步驟的資訊,請參閱「5.x 升級藍本範例」。
要將 4.x 升級到 5.2,開始先將 4.x 主機升級,然後繼續處理從主機複製的每個客戶分支,並根據複寫開始著手最接近主機的客戶。關於如何在特殊實例中執行此步驟的資訊,請參閱「4.x 升級藍本範例」。
如果現有的環境涉及多個複寫伺服器,則在繼續進行升級之前,請詳細閱讀本章中所有相關的章節。您必須對您的方法有完整的規劃,才能避免不必要的故障時間。
升級說明
Sun 專業服務能幫助您升級重要的目錄服務。
如需聯絡資訊,請參閱 http://www.sun.com/service/sunps/sunone/ 網站上的資料。
升級單一伺服器
本節說明從現有的單一伺服器升級為 5.2 單一伺服器的升級程序。
注意 如果現有的 4.x 伺服器使用自訂的結構,則在遷移任何資料之前,請確定遷移指令檔可以找到自訂的結構。如需詳細資料,請參閱「(從 4.x 升級成 5.2) 處理自訂結構」。
如果遷移指令檔無法辨識自訂結構,那麼它就不會遷移結構,而是會在將資料遷移到新的伺服器之後,套用標準的結構檔案。對符合自訂結構的項目套用標準結構,可能會使它無法修改,因此使升級後的目錄變成唯讀。
安裝新伺服器
根據第 1 章「安裝 Sun ONE Directory Server」中的指令繼續進行,在與現有伺服器相同的主機上安裝新的伺服器。
注意 在安裝新的伺服器之前,請確定您擁有現有伺服器的最新備份。
新的伺服器必須駐存在與現有伺服器不同的 ServerRoot 位置上。同時它也必須使用不同的 serverID 來識別。
雖然您可能選擇重新使用原始安裝所提供的大部分組態資訊,但請勿使用現有的連接埠號碼。這樣在遷移現有資料後,您才可以變更新伺服器的連接埠號碼。
(從 4.x 升級成 5.2) 處理自訂結構
提供給遷移資料的指令檔只能辨識放置在標準 slapd.user_oc.conf 和 slapd.user_at.conf 檔案,或放置在其他檔案中的那些自訂結構,以及使用 useroc 和 userat 指令之 slapd.conf 檔中的自訂結構。例如,如果自訂結構直接包含在 slapd.at.conf 或 slapd.oc.conf 中,則遷移指令檔就無法辨識它們。
在繼續進行升級之前,請執行下列步驟。
- 將 slapd.at.conf 或 slapd.oc.conf 與新伺服器之 ServerRoot/bin/slapd/install/version4/ 底下所提供的標準檔案相互比較,並將自訂結構元素轉譯成 slapd.user_oc.conf 和 slapd.user_at.conf 檔案。
如果自訂物件類別有繼承的關係,請確定上層物件類別優於結構組態檔案中的其他類別。
- 如果自訂屬性是加入 slapd.oc.conf 的自訂物件類別中,則建立一個包含 slapd.user_oc.conf 中屬性的新物件類別,然後將新的物件類別加入使用自訂屬性之現有目錄的每個項目中。
- 使用 useroc 和 userat 指示詞,將 slapd.user_oc.conf 和 slapd.user_at.conf 檔案加入現有伺服器的 slapd.conf 檔案中,並在旁邊放置新的指示詞以包含其他檔案的敘述。
此時,現有伺服器所使用的所有自訂結構都應該駐存在 slapd.user_oc.conf 或 slapd.user_at.conf 中,而 slapd.conf 則應該包含使用 useroc 和 userat 指示詞的檔案。
遷移現有資料
在處理自訂結構之後,請執行下列步驟將現有資料遷移到新的伺服器上。
- 如果您想要在離線狀態下,在新的 Directory Server 上從檔案初始化複寫,則在繼續進行之前請先取得該檔案。
如需匯出 Directory Server 資料的指令,請參閱「Sun ONE Directory Server 管理指南」。
- 確定新的 Directory Server 在執行中。
- 請以擁有新舊伺服器上啟動、停止和執行資料庫匯出與匯入權限的使用者身份工作。
例如,變成超級使用者或以 Administrator 的身份登入。
- 如表 2-1 中所示設定環境變數。
表 2-1    遷移的環境變數
變數
值
PATH
(UNIX) ServerRoot/bin/slapd/admin/bin:$PATH
(Windows) ServerRoot/bin/slapd/admin/bin;%PATH%
PERL5LIB
ServerRoot/bin/slapd/admin/bin
- 在新的伺服器實例下執行遷移指令檔:
# cd ServerRoot/bin/slapd/admin/bin
# perl migrateInstance5 -p port52 -D "cn=directory manager" -w password -o oldServ -n newServ
此處的 oldServ 代表到舊伺服器實例的完整路徑,例如 /usr/iplanet/servers/slapd-ldap 或 /usr/iplanet/ds5/slapd-ldap,而 newServ 代表到新伺服器實例的完整路徑,例如 /var/ds/v5.2/slapd-dirserv。
指令檔在繼續進行時會產生輸出。您可以選擇將此輸出重導至檔案,以便在遷移完成後進行檢視。
當現有的資料遷移到新的伺服器後,才能收回舊的伺服器。
(從 4.x 升級成 5.2) 建立複寫協議
如果現有的 4.x 伺服器涉及複寫,而升級便涉及遷移資料後重新建立複寫協議。在繼續進行升級程序前,請詳細閱讀「(從 4.x 升級成 5.2) 升級複寫伺服器」。
如需 5.2 伺服器設定複寫的指令,請參閱「Sun ONE Directory Server 管理指南」。
(選用) 重新使用現有的連接埠號碼
在將資料從舊伺服器遷移到新伺服器之後,您可能選擇收回舊的伺服器,並且讓新伺服器聆聽與舊伺服器相同的連接埠。使用相同的連接埠能夠讓用戶端應用程式繼續作業,而不需修改它們的組態。
如需變更伺服器連接埠的指令,請參閱「Sun ONE Directory Server 管理指南」。在讓新的伺服器聆聽舊連接埠之前,請確定已停止舊的伺服器。
(從 4.x 升級成 5.2) 升級複寫伺服器
當升級複寫 4.x 伺服器時,開始先複寫到新的主機,然後再透過複寫拓樸逐一處理分支。此方法會限制伺服器同步化流量的大小。
注意 如需與複寫組態和初始化相關的指令,請參閱「Sun ONE Directory Server 管理指南」。
準備新的主機
在升級期間,5.2 伺服器被設定成主機,但其功能則與 4.x 拓樸中的繼承客戶相同。在升級之後,系統會停用 4.x 客戶的功能,而新伺服器則作為 5.2 拓樸中的主機。
這個程序會呼叫新主機伺服器的手動組態。因此,您可以在與現有主機不同的主機上安裝新的主機。
- 根據第 1 章「安裝 Sun ONE Directory Server」中的指令繼續進行,以安裝新的伺服器。
- 在新伺服器上手動複製 4.x 主機的組態。
- 將新伺服器設定為主機 (5.2 拓樸適用)。
請參閱「Sun ONE Directory Server 管理指南」中的指令。
- 將新的伺服器設定為 4.x 主機的繼承客戶 (4.x 拓樸適用)。
請再次參閱「Sun ONE Directory Server 管理指南」中的指令。
- 將從 4.x 主機到新伺服器的複製初始化。
關於此程序請參閱「Netscape Directory Server 管理指南」第 13 章「管理複製」。請參閱標題為「手動客戶初始化」的章節。
現在您可以將客戶升級。
升級客戶
此程序將概述方法。如需詳細資料,請參閱後續的程序。
- 將 4.x 拓樸中的所有分支升級。
- 根據需要在 5.2 拓樸中加入其他伺服器。
- 停用新主機上的繼承客戶協議,以便將新拓樸與舊拓樸分離。
當此程序完成時,更新程序便完成。
升級分支
將現有的 4.x 複寫拓樸當作一樹狀結構,而主機則是其根元素。此處的 branch 代表該樹狀結構中的一組複寫伺服器,而複寫的流程則是從該樹的根節點供應商開始,繼續發展出去,經過樹狀結構中間的客戶,最後到達葉節點客戶伺服器。
升級分支的程序包含用新的伺服器取代分支中所有舊的伺服器,其作業是由上到下。
注意 當您升級伺服器時,複寫流程會在分支中所有下游伺服器前停止。在升級期間,請考慮將用戶端的要求重導至其他分支。
- 請根據「升級單一伺服器」下的指令繼續進行,以升級分支中最上層的伺服器。
此程序會切斷至分支的複寫流程,並暫時終止分支內下游伺服器的複寫更新。
- 設定 5.2 分支中新伺服器上的複寫協議,以便能在複寫拓樸中從更接近新主機的 5.2 伺服器接收更新。
例如,設定新分支中最上層的伺服器以從 5.2 主機接收更新。
- 將從 5.2 供應商到新 5.2 伺服器的複寫初始化。
根據與更新資料比較後的網路容量和目錄資料大小,離線初始化可能比線上初始化要快。
- 套用步驟 1、步驟 2,然後沿著分支重複進行步驟 3,直到所有葉客戶都完成步驟為止。
如需設定複寫協議和初始化複寫的指令,請參閱「Sun ONE Directory Server 管理指南」。
此時,分支的更新程序已經完成。對剩餘的 4.x 分支重複此程序。
加入其他伺服器
當完成 4.x 拓樸升級為 5.2 拓樸的程序後,您可以在新的拓樸中依需要加入其他的主機、集線器和客戶。
針對每個額外的伺服器執行下列步驟。
- 根據第 1 章「安裝 Sun ONE Directory Server」下的指令繼續進行,以安裝新的伺服器。
- 調整新伺服器上的複寫協議以符合計劃的拓樸。
請參閱「Sun ONE Directory Server 管理指南」中的指令。
- 將新伺服器上的複寫初始化。
請再次參閱「Sun ONE Directory Server 管理指南」中的指令。
4.x 升級藍本範例
考慮要升級複寫到兩個分支的 4.x 主機,這兩個分支其中之一有一位客戶,另一個使用集線器供應兩位客戶。本章節顯示升級至新的多主機拓樸所需執行的步驟。
圖 2-1 顯示升級前的 4.x 拓樸。
圖 2-1    現有的 4.x 拓樸範例
![]()
圖 2-2 顯示加入 5.2 主機,該主機是作為 4.x 主機的繼承客戶。
圖 2-2    具有額外新伺服器的 4.x 拓樸範例
![]()
圖 2-3 顯示取代 4.x 分支的第一個步驟。
請注意,在升級期間整個分支會停止接收複寫更新。此中斷在上游 4.x 客戶因升級而停止時開始,並在您重新啟動 4.x 客戶後結束。
如指令中所提及,如果用戶端需要可用的最新更新,則您可以選擇將用戶端的要求導向其他分支上的客戶。
圖 2-3    在升級期間的 4.x 分支範例 - 步驟 1
![]()
圖 2-4 顯示下一步驟以取代 4.x 分支。
圖 2-4    在升級期間的 4.x 分支範例 - 步驟 2
![]()
圖 2-5 顯示下一步驟以取代 4.x 分支。
圖 2-5    在升級期間的 4.x 分支範例 - 步驟 3
![]()
圖 2-6 顯示取代其他 4.x 分支。
圖 2-6    在升級期間的 4.x 分支範例 - 下一分支
![]()
圖 2-7 顯示並列的兩個拓樸。
圖 2-7    在升級期間的 4.x 和 5.2 拓樸範例
![]()
圖 2-8 顯示在新的拓樸中加入主機、集線器和其他複寫協議。
圖 2-8    將伺服器加入 5.2 拓樸
![]()
在完成升級程序後,您也可以加入其他的伺服器。
圖 2-9 顯示從舊 4.x 主機中到新的 5.2 主機所移除的複寫協議。
圖 2-9    移除複寫協議
![]()
在重導用戶端要求並移除複寫協議之後,您便可以停用 4.x 伺服器。
圖 2-10 顯示產生的 5.2 拓樸。
圖 2-10    產生的 5.2 拓樸
![]()
現在用戶端要求會導向 5.2 拓樸。
(5.x 升級成 5.2) 升級複寫伺服器
當升級複寫的 5.x 伺服器時,通常您會從客戶開始著手,接著是集線器,最後才是主機。這種由下而上的方式一次僅涉及中斷一個伺服器,而不是中斷一個整個的複寫拓樸分支。此方式也有益於避免主機與客戶間潛在的自訂結構同步問題。
注意 這裡所描述的程序,適用於升級 5.x 拓樸的標準方式。
但是,如果這種由下而上的方式不適合您的特定需求,那麼請規劃不同的方式。
升級 5.x 伺服器
- 對於現有拓樸中的每個客戶,請依照「升級單一伺服器」下的指令繼續升級客戶。
- 對於現有拓樸中的每個集線器,請根據相同的指令繼續更新集線器。
- 對於現有拓樸中的每個主機,請根據相同的指令繼續更新主機。
加入其他伺服器
當完成 5.x 拓樸升級為 5.2 拓樸的程序後,您可以在新的拓樸中依需要加入其他的主機、集線器和客戶。
針對每個額外的伺服器執行下列步驟。
- 根據第 1 章「安裝 Sun ONE Directory Server」中的指令繼續進行,以安裝新的伺服器。
- 調整新伺服器上的複寫協議以符合計劃的拓樸。
- 將新伺服器上的複寫初始化。
如需設定複寫協議和初始化複寫的指令,請參閱「Sun ONE Directory Server 管理指南」。
當此程序完成時,更新程序便完成。用戶端可能開始使用已升級複寫拓樸中的伺服器。
5.x 升級藍本範例
考慮升級複寫到兩個集線器的 5.x 雙主機,而這兩個集線器供應兩位客戶。本章節顯示升級拓樸以使用 5.2 伺服器所需執行的步驟。
圖 2-11 顯示升級前的 5.x 拓樸。
圖 2-11    現有的 5.x 拓樸範例
![]()
第一個步驟涉及到升級的客戶。圖 2-12 顯示產生的拓樸。
圖 2-12    5.x 客戶升級步驟範例
![]()
下一個步驟則會涉及到升級的集線器。圖 2-13 顯示結果。
圖 2-13    5.x 集線器升級步驟範例
![]()
下一個步驟涉及到升級的主機。圖 2-14 顯示結果。
圖 2-14    5.x 主機升級範例 - 步驟 3
![]()
圖 2-15 顯示升級後的 5.2 拓樸。此時,舊拓樸中的伺服器可能已經收回,而新的伺服器則加入 5.2 拓樸中。
圖 2-15    升級後的 5.2 拓樸範例
![]()
現在用戶端要求會導向 5.2 拓樸。