Sun ONE logo     上一章      目錄      索引      下一章     
Sun ONE Directory Server 5.2 安裝和調整指南



附錄 C   安裝 Sun Cluster HA for Directory Server

此附錄描述如何安裝和設定 Sun Cluster HA for Directory Server 資料服務,以及相關的 Administration Server 資料服務。如需 Sun Cluster 安裝指令和重要概念的資訊,請參閱 Sun Cluster 3.0 產品說明文件。

您必須將資料服務設定為容錯移轉服務。

開始前

將此節與「Sun Cluster 3.0 版本資訊」的工作表結合使用,作為執行安裝和組態之前的檢查清單。

在開始安裝之前,請考慮下列問題:

  • 您是否計畫在相同的節點上執行多個 Directory Server 實例?
  • 如果是,您可以選擇將 cn=config 上的 nsslapd-listenhost 設定成適當的網路資源 (邏輯主機名稱,如 dirserv.example.com),如同各實例的 IP 位址。Directory Server 的預設行為是聆聽所有網路介面。

  • 您是否在 Sun Cluster 組態中執行多種資料服務?
  • 您可以依任何順序來設定多個資料服務,但有一種情形例外:如果您使用 Sun Cluster HA for DNS,則您必須在設定 Sun Cluster HA for Directory Server 之前先設定此程式。

表 C-1 彙總 Sun Cluster HA for Directory Server 的安裝和組態處理。

表 C-1    安裝和組態處理 

工作

注意事項

設定網路資源

可以掌控資料服務的叢集節點名稱。

用戶端存取 Directory Server 時所使用的邏輯主機名稱,如 ds1.example.com、ds2.example.com。

如需設定邏輯主機名稱的指令,請參閱 Sun Cluster 3.0 產品說明文件。

安裝伺服器

ServerRoot 在全域檔案系統上的位置,如 /global/ds,此處即是您安裝 Directory Server 的所在。

安裝的詳細資料彙總位於表 1-2。

安裝資料服務封裝軟體

SUNWdsha 和 SUNWasha 封裝軟體提供資料服務的管理介面,因此您可以用與叢集中其他資料服務相同的工具來管理 Directory Server 和 Administration Server。

設定伺服器

Directory Server 資料服務的資源類型名稱為 SUNW.dsldap,而 Administration Server 資料服務的資源類型名稱為 SUNW.mps。

可以掌控資料服務的叢集節點名稱。

用戶端存取 Directory Server 和 Administration Server 時所使用的邏輯主機名稱。

ServerRoot 在全域檔案系統上的位置,此處即是您安裝 Directory Server 的所在。

Directory Server 聆聽用戶端要求的連接埠。

Administration Server 聆聽用戶端要求的連接埠。

資源群組的名稱定義於「設定網路資源」中。

設定延伸屬性

(請參閱該節本身的詳細資料。)

設定網路資源

Sun Cluster 軟體管理邏輯主機名稱,此名稱不同於個別網路介面的節點名稱和主機名稱。圖 C-1 顯示二節點叢集如何管理邏輯主機名稱,而且此名稱並非永久與其中一個節點相關。

圖 C-1    有兩個節點的叢集
目錄A務依賴邏輯主機漲W稱。

當安裝 Sun Cluster HA for Directory Server 資料服務時,您設定了 Directory Server 和 Administration Server 來聆聽邏輯主機名稱介面,因此它們並未受制於叢集中的任何特殊節點,而且 Sun Cluster 軟體可以管理容錯移轉。在 圖 C-1 中,節點被命名為 foo 和 bar。但是您在安裝期間所使用的邏輯主機名稱 (如 圖 C-1 所示) 應該是 ds-1.example.com 和 ds-2.example.com,而不是 foo 和 bar。注意,所使用的邏輯主機名稱是完整格式網域名稱。

如需這些重要概念的詳細資訊和設定邏輯主機名稱的指令,請參閱 Sun Cluster 3.0 產品說明文件。

在設定完邏輯主機名稱後,請執行下列步驟:

  1. 成為叢集中節點上的超級使用者。
  2. 確認您所使用的所有網路位址都已加入名稱服務資料庫中。
  3. 為避免在名稱服務查詢期間發生錯誤,請確定各叢集節點上的 /etc/hosts 檔案中,有完整格式網域名稱、完整格式邏輯主機名稱、和共用的 IP 位址。同時設定各叢集節點上 /etc/nsswitch.conf 中所對應的名稱服務,以便在嘗試存取其他名稱服務前先檢查本機檔案。

  4. 建立容錯移轉資源群組以儲存網路和應用程式資源。例如:
  5. # scrgadm -a -g resource-group [-h node-list]

    此處的 resource-group 是指定群組的名稱。

    選用的 node-list 是一個以逗號區隔的實體節點名稱清單,或是識別叢集潛在主機節點的 ID 清單。節點名稱的順序決定了容錯移轉期間它們被視為主節點的順序。如果叢集中的所有節點都是潛在的主機,那麼就不需要指定 node-list。

  6. 將邏輯主機名稱資源加入資源群組中。
  7. # scrgadm -a -L -g resource-group -l logical-host-names [-n netif-list]

    此處的 logical-host-names 是一個以逗號區隔的完整格式網域名稱清單,此處的網域名稱被當作邏輯主機名稱。每個 Directory Server 實例都使用一個邏輯主機名稱。

    選用的 netif-list 是一個以逗號區隔、用來識別各節點上 NAFO 群組的清單。如果您沒有指定這個選項,scrgadm(1M) 會嘗試在各邏輯主機名稱所使用的子網路上尋找網路卡,此處的邏輯主機名稱是步驟 3 所指定之 node-list 在各節點上所指定者。

  8. 確認步驟 4 中所有指定為邏輯主機名稱的完整格式網域名稱已經加入名稱服務資料庫中。
  9. 啟用資源群組並將它連線。
  10. # scswitch -Z -g resource-group

當資源群組連線後,您便可以安裝伺服器。

安裝伺服器

在 Sun Cluster HA for Directory Server 中,Directory Server 和 Administration Server 都是在 Sun Cluster 的控制下執行。這表示在安裝期間,並不提供伺服器實體節點的完整格式網域名稱,而是提供可以容錯移轉至不同節點的完整格式邏輯主機名稱。

從已經連線的節點開始執行安裝,並且此節點的邏輯主機名稱用於目錄用戶端應用程式,然後為要掌控 Directory Server 資料服務的所有其他叢集節點重複執行這個程序。

在使用中節點上安裝

對於已經連線的叢集節點,並且此節點的邏輯主機名稱用於目錄用戶端應用程式:

  1. 在 Directory Server 和 Administration Server 上都安裝 Solaris 封裝軟體,請參閱「安裝 Solaris 封裝軟體」中的指令。
  2. 設定 Directory Server。如需指令,請參閱「設定 Directory Server」。
  3. 當執行這個步驟時:

    • 請將 Directory Server 實例置於全域叢集檔案系統上。
    • 使用邏輯主機名稱,而不是節點名稱。

  4. 如需設定 Administration Server 的資訊,請參閱「設定Administration Server」中的指令,並使用與設定 Directory Server 時所用相同的邏輯主機名稱。
  5. 當只在安全模式中使用 Directory Server 時,請建立一個名為 ServerRoot/slapd-serverID/keypass 的空白檔案,以便向叢集指出 Directory Server 實例是在安全模式中執行。
  6. 同時建立 ServerRoot/alias/slapd-serverID-pin.txt 檔案,其中包含在安全模式中自動啟動實例所需的密碼。如此在不需人為介入的情況下,叢集就可以重新啟動資料服務。

在其他節點上安裝

對於欲掌控 Directory Server 資料服務的每個節點:

  1. 在 Directory Server 和 Administration Server 上都安裝 Solaris 封裝軟體,請參閱「安裝 Solaris 封裝軟體」中的指令。
  2. 使用與「在使用中節點上安裝」時提供的相同設定來設定 Directory Server。
  3. 使用與「在使用中節點上安裝」時提供的相同設定來設定 Administration Server。
  4. 將 ServerRoot/alias/slapd-serverID-pin.txt 從第一個節點複製到 ServerRoot/alias/。


  5. 注意

    請勿移除或重新定位放置在全域檔案系統中的任何檔案。



安裝資料服務封裝軟體

資料服務封裝軟體 SUNWdsha 和 SUNWasha 提供管理伺服器的管理介面,作為叢集中的資料服務。

  • 在欲支援 Directory Server 資料服務的每個叢集節點上,使用 pkgadd(1M) 公用程式來安裝資料服務封裝軟體。
  • # pkgadd -d dirContainingPackages SUNWasha SUNWdsha

設定伺服器

僅對已經連線的叢集節點執行以下步驟,並且此節點的邏輯主機名稱用於 Directory Server。

  1. 成為超級使用者。
  2. 停止 Directory Server 和 Administration Server。
  3. # /usr/sbin/directoryserver stop
    # /usr/sbin/mpsadmserver stop

  4. 為兩種資料服務的資源類型註冊。
  5. # scrgadm -a -t SUNW.dsldap -f /etc/ds/v5.2/cluster/SUNW.dsldap
    # scrgadm -a -t SUNW.mps -f /etc/mps/admin/v5.2/cluster/SUNW.mps

    此處的 SUNW.dsldap 和 SUNW.mps 是資料服務預先定義的資源類型名稱。/etc/ds/v5.2/cluster/SUNW.dsldap 及 /etc/mps/admin/v5.2/cluster/SUNW.mps 定義資料服務。

  6. 將伺服器加入「設定網路資源」中所建立的容錯移轉資源群組中。
  7. # scrgadm -a -j resource-name-ds -g resource-group -t SUNW.dsldap \
    -y Network_resources_used=logical-host-name \
    -y Port_list=port-number/tcp \
    -x Confdir_list=ServerRoot/slapd-serverID

    # scrgadm -a -j resource-name-as -g resource-group -t SUNW.mps \
    -y Network_resources_used=logical-host-name \
    -y Port_list=port-number/tcp \
    -x Confdir_list=ServerRoot

    您要在此處提供一個新的 resource-name-ds 以識別 Directory Server 實例,並提供新的 resource-name-as 以識別 Administration Server 實例。

    resource-group 參數是「設定網路資源」中所指定群組的名稱。

    用 logical-host-name 可識別目前 Directory Server 實例所用的邏輯主機名稱。

    port-number 是伺服器實例聆聽用戶端要求的連接埠號碼,此變數在「安裝伺服器」中指定。注意,各命令的 Port_list 參數只取一個項目。

    ServerRoot 和 ServerRoot/slapd-serverID 是在「安裝伺服器」中指定的路徑。注意,各指令的 Confdir_list 參數只取一個項目。

  8. 啟用伺服器資源和監視器。
  9. # scswitch -e -j resource-name-ds
    # scswitch -e -j resource-name-as

    此處的 resource-name-ds 和 resource-name-as 是您在步驟 4 中提供用以識別伺服器的名稱。



    注意

    在設定伺服器之後,請勿在非使用中的叢集節點上執行諸如 db2bak、db2ldif、back2db 以及 ldif2db 之類的備份和還原命令。而是在使用中節點上執行所有備份和還原程序。



  10. 請考慮執行「將 HA 儲存體和資料服務同步化」一節中的步驟,以便改善容錯移轉時的效能。

註冊和組態範例

程式碼範例 C-1 顯示您如何註冊和設定圖 C-1中所說明的叢集資料服務。



程式碼範例 C-1    註冊並設定資料服務 

(在已經連線的節點上建立容錯移轉資源群組。)
# scrgadm -a -g ds-resource-group-1 -h foo,bar

(將邏輯主機名稱資源加入資源群組中。)
# scrgadm -a -L -g ds-resource-group-1 -l ds-1.example.com

(將資源群組連線。)
# scswitch -Z -g ds-resource-group-1

(在叢集中的每個節點上安裝封裝軟體。)

(停止已經連線節點上的伺服器。)
# /usr/sbin/directoryserver stop
# /usr/sbin/mpsadminserver stop

(將 SUNW.dsldap 和 SUNW.mps 資源類型註冊。)
# scrgadm -a -t SUNW.dsldap -f /etc/ds/v5.2/cluster/SUNW.dsldap
# scrgadm -a -t SUNW.mps -f /etc/mps/admin/v5.2/cluster/SUNW.mps

(建立伺服器的資源並將它們加入資源群組中。)
# scrgadm -a -j ds-1 -g ds-resource-group-1 \
-t SUNW.dsldap -y Network_resources_used=ds-1.example.com \
-y Port_list=389/tcp \
-x Confdir_list=/global/ds/slapd-ds-1
# scrgadm -a -j as-1 -g ds-resource-group-1 \
-t SUNW.mps -y Network_resources_used=ds-1.example.com \
-y Port_list=5201/tcp \
-x Confdir_list=/global/ds

(啟用應用程式資源。)
# scswitch -e -j ds-1
# scswitch -e -j as-1


設定延伸屬性

延伸屬性使您能夠設定叢集軟體處理應用程式軟體的方式。例如,可以調整叢集決定資料服務何時必須容錯移轉的方式。

設定內容

一般是使用 Sun 管理中心的叢集模組或使用 scrgadm 公用程式來設定資源延伸屬性。可以使用 scrgadm 公用程式加上 -x parameter=value 選項來變更在表 C-2 列出的延伸屬性。

表 C-2    SUNW.dsldap 資源延伸屬性 

屬性

描述

預設值

範圍

Monitor_retry_count

一個整數值,表示處理監視器設備 (PMF) 在由 Monitor_retry_interval 屬性值指定的時間間隔內,重新啟動錯誤監視器的次數。

4 次

�1 到 2,147,483,641 次

-1 表示對重試的次數不作限制。

Monitor_retry_interval

一個整數值,表示錯誤監視器計算錯誤的間隔時間 (以分鐘為單位)。

如果在此期間內,若錯誤監視器失敗的次數超過在 Monitor_retry_count 中所指定的值,則 PMF 便無法重新啟動錯誤監視器。

2 分鐘

�1 到 2,147,483,641 分鐘

-1 表示無限大的重試間隔。

Probe_timeout

一個整數值,表示錯誤監視器用以探測 Directory Server 實例的逾時值 (以秒為單位)。

30 秒

0 到 2,147,483,641 秒

如需 Sun Cluster 屬性的詳細資訊,請參閱 Sun Cluster 3.0 產品說明文件。

錯誤監視器的作業方式

叢集軟體使用錯誤監視器來確定資料服務是否狀況良好。錯誤監視器先探測資料服務,然後基於探測結果確定這個服務是狀況良好還是必須重新啟動。

表 C-3    錯誤監視器解釋探測的方式 

Directory Server 正在執行...

使用的探測

演算法

一般模式

ldapsearch

  1. 試圖搜尋。
  2. 如果搜尋作業產生:
  3. LDAP_SUCCESS,則這個服務將被視為狀況良好。
  4. 一個 LDAP 錯誤,則這個服務必須重新啟動。
  5. 一個非逾時問題,則錯誤監視器將視 Monitor_retry_count 與 Monitor_retry_interval 的值再次執行探測。
  6. 超過 Probe_timeout 期間,則錯誤監視器將視 Monitor_retry_count 與 Monitor_retry_interval 的值再次執行探測。

逾時之潛在的原因包括系統、網路、或 Directory Server 實例的負載過重。逾時可能也表示出對於所監控的 Directory Server 實例數目而言,此 Probe_timeout 值設定太低。

安全模式 (SSL)

TCP 連線

  1. 試圖連線。
  2. 如果連線作業:
  3. 成功,則這個服務將被視為狀況良好。
  4. 失敗,則這個服務必須重新啟動。
  5. 超過 Probe_timeout 期間,則這個服務必須重新啟動。

錯誤監視器使用「設定伺服器」時所指定之 IP 位址與連接埠號碼來執行探測作業。Directory Server 被設定為在兩個連接埠上聆聽 (一個用於 SSL 流量,另一個用於一般流量),錯誤監視器會使用 TCP 連線,並依照用於安全模式連接埠的錯誤監視器運算法進行探測。

將 HA 儲存體和資料服務同步化

SUNW.HAStorage 資源類型能將 HA 儲存體和資料服務之間的動作同步化,讓需要耗費大量磁碟的資料服務 (如 Directory Server) 經歷容錯移轉時有較高的效能。

若要將 HA 儲存體和 Directory Server 資料服務之間的動作同步化,請在已經連線的節點上 (節點的邏輯主機名稱用於資料服務) 完成下列步驟。

  1. 將 HA 儲存體資源類型註冊。
  2. # scrgadm -a -t SUNW.HAStorage

  3. 將儲存體資源設定為保持同步化。
  4. # scrgadm -a -j HAStorage-resource-name -g HAStorage-resource-group \
    -t SUNW.HAStorage -x ServicePaths=volume-mount-point \
    -x AffinityOn=True

    此處 volume-mount-point 可識別 Directory Server 儲存資料的磁碟區。

  5. 啟用儲存體資源和監視器。
  6. # scswitch -e -j HAStorage-resource-name

  7. 在現有的 Directory Server 資源上加入相依性。
  8. # scrgadm -c -j resource-name-ds \
    -y Resource_Dependencies=HAStorage-resource-name

請參閱 SUNW.HAStorage(5) 中的背景資訊,以及 Sun Cluster 3.0 產品說明文件中有關設定新資源之 SUNW.HAStorage 資源類型的詳細指令。

建立其他 Directory Server 實例

請執行下列步驟:

  1. 使用 Sun ONE Server Console 建立其他的 Directory Server。
  2. 請參閱「Sun ONE Server Console Server 管理指南」中的指令。

  3. 停止位於已經連線的節點上 Directory Server 的新實例 (節點的邏輯主機名稱用於資料服務)。
  4. # /usr/sbin/directoryserver -server serverID stop

  5. 將 Directory Server 加入在「設定網路資源」中所建立的容錯移轉資源群組中。
  6. # scrgadm -a -j resource-name-ds -g resource-group -t SUNW.dsldap \
    -y Network_resources_used=logical-host-name \
    -y Port_list=port-number/tcp \
    -x Confdir_list=ServerRoot/slapd-serverID

    此處您要提供新的 resource-name-ds 以識別 Directory Server 實例。

    resource-group 參數是「設定網路資源」中所指定群組的名稱。

    logical-host-name 識別實例所用的邏輯主機名稱。

    port-number 是實例聆聽用戶端要求的連接埠號碼,此變數在「安裝伺服器」中指定。注意,Port_list 參數只取一個項目。

    ServerRoot 和 ServerRoot/slapd-serverID 是在「安裝伺服器」中指定的路徑。注意,Confdir_list 參數只取一個項目。

  7. 啟用伺服器資源和監視器。
  8. # scswitch -e -j resource-name-ds

    此處的 resource-name-ds 是您所提供的名稱,用以識別步驟 3 中的 Directory Server。

解除安裝

若要移除叢集中的 Sun Cluster HA for Directory Server 和相關的 Administration Server,請執行下列步驟:

  1. 停止伺服器實例。
  2. # scswitch -n -j resource-name-ds
    # scswitch -n -j resource-name-as

  3. 移除資源。
  4. # scrgadm -r -j resource-name-ds
    # scrgadm -r -j resource-name-as

  5. 移除叢集資料庫中的資源類型。
  6. # scrgadm -r -t SUNW.dsldap
    # scrgadm -r -t SUNW.mps

  7. 刪除伺服器組態。
  8. # /usr/sbin/mpsadmserver unconfigure
    # /usr/sbin/directoryserver unconfigure

  9. 使用 pkgrm(1M) 公用程式移除各節點上已安裝的封裝軟體,包括 SUNWdsha 和 SUNWasha。

上一章      目錄      索引      下一章     
版權所有 2003 Sun Microsystems, Inc. 保留所有權利。