Sun Java System Instant Messaging 7.2 管理指南

第 6 章 使用伺服器池儲存調整 Instant Messaging 部署

伺服器池儲存讓您可在單一網域內支援上百萬的使用者。使用伺服器池儲存,您可在伺服器池儲存內的幾個伺服器之間共用網域。此外,您也可以使用負載平衡器,例如重新導向伺服器,來協助管理池儲存中的伺服器利用。本章下列各節提供關於伺服器池儲存的資訊:

如需負載平衡與重新導向伺服器的資訊,請參閱第 7 章, 使用重新導向伺服器最佳化 Instant Messaging 伺服器池。本章中的程序假設您已在伺服器池中的主機上安裝 Instant Messaging。此外,您需要在伺服器池的每個節點上安裝 Access Manager,並將 SDK 配置為與單一遠端 Access Manager 伺服器通訊。

Instant Messaging 伺服器池儲存簡介

藉由建立伺服器池,您可在 Instant Messaging 部署中所支援的使用者數便不再受單一伺服器系統的容量所限制。相反地,您可使用多個系統的資源來支援單一網域內的使用者。此外,伺服器池提供備援,因此如果池中的一個伺服器失敗,受影響的用戶端可透過池中的其他伺服器重新連線,並繼續它們的階段作業,僅會有最少的不便之處。在伺服器池中部署一個以上的伺服器可建立多節點部署

您可藉由將 Instant Messaging 伺服器配置為經由伺服器對伺服器的連接埠進行通訊,來建立伺服器池,並從相同的 LDAP 目錄取得使用者資料。一旦您已配置伺服器,就需要將用戶端來源配置為指向負載平衡器,或負載導向器,而非單一節點主機與連接埠。


注意 – 注意 –

雖然使用共用檔案系統而非 LDAP 目錄,也可以儲存使用者屬性,但這麼做會負面地影響效能與可管理性。基於此理由,伺服器池僅支援 LDAP 儲存。


為了確保伺服器池內的所有伺服器擁有一致性的資料,會為池中的所有伺服器複製下列資訊: 

不會複製下列資訊:

此外,如果您正透過存取部署中的控制檔案來加強策略,則存取控制檔案的內容必須與伺服器池中所有伺服器相同。如需詳細資訊,請參閱使用存取控制檔案管理策略

Instant Messaging 伺服器池的可用性

如果伺服器池內的節點當機,則所有目前連線的用戶端都會中斷連線,且階段作業與資源都會變成無法使用。如果您以負載平行器來設定部署,則使用者可立即重新連線,且以負載平衡器來導向至池中的其他節點。這樣,就不會需要重新建立會議或新聞通道,因為在池中的伺服器間會共用此資訊。此外,在將使用者導入至池中的其他節點後,可繼續一對一聊天階段作業。

配置伺服器池內 Instant Messaging 伺服器間的伺服器對伺服器通訊

本章描述如何啟用伺服器池內的兩個 Instant Messaging 伺服器或間的通訊。您必須以池中所有其他伺服器的相關資訊,來配置池中的所有伺服器。

表 6–1 列出 iim.conf 中的參數,以及將它們用於設定伺服器池中兩個範例 Instant Messaging 伺服器的值:iimA.siroe.comiimB.siroe.com

如需配置參數的詳細資訊,請參閱附錄 A iim.conf 中的 Instant Messaging 配置參數

表 6–1 伺服器池內兩個 Instant Messaging 伺服器的配置資訊範例

iim.conf 中的參數

伺服器 A 的值 

伺服器 B 的值 

備註 

iim_server.serverid

iimA.siroe.com

iimB.siroe.com

在伺服器池內,會使用此 ID 來支援回撥機制且並非用於認證。此值在伺服器池內應為唯一的。 

iim_server.password

secretforiimA

secret4iimB

 

iim_server.coservers

coserver1

coserver1

每個 Instant Messaging 伺服器依其符號名稱加以識別。 伺服器的符號名稱會新增至 iim.confiim_server.coservers 參數中。此參數可能會包含多個以逗號分隔的值。

iim_server.domainname

siroe.com

siroe.com

伺服器池內的點伺服器會共用相同的預設網域。 

iim_server.coserver1.host

iimB.siroe.com:5269

iimA.siroe.com:5269

伺服器池內其他點伺服器的主機名稱與連接埠號碼。 

iim_server.coserver1.serverid

iimB.siroe.com

iimA.siroe.com

伺服器池內點伺服器的伺服器 ID (iim_server.serverid)。

iim_server.coserver1.password

secret4iimB

secretforiimA

伺服器池內點伺服器的密碼 (iim_server.password)。

iim_server.coserver1.domain

siroe.com

siroe.com

伺服器池內的點伺服器會共用相同的預設網域。 

Procedure設定伺服器池內兩個 Instant Messaging 伺服器間的通訊

  1. 彙整表 6–1 中列出的資訊。

  2. 變更至伺服器 iimA.siroe.com 上的 im-cfg-base

    如需找到 im-cfg-base 的說明,請參閱Instant Messaging 伺服器目錄結構

  3. 開啟 iim.conf

    如需找到並修改 iim.conf 的說明,請參閱附錄 A iim.conf 中的 Instant Messaging 配置參數


    備註 –

    iim.conf 檔案應為您在安裝時所建立的 Instant Messaging 伺服器帳號所擁有。如果 Instant Messaging 伺服器帳號無法讀取 iim.conf 檔案,則 Instant Messaging 伺服器和多重訊號組合器將無法讀取該配置。此外,您可能無法編輯 iim.conf


  4. 修改參數值以符合您的部署。

    表 8–1 列出您必須修改的參數。如 iim.conf 中沒有參數,則新增參數。以下範例顯示 iimA.siroe.com 上的 iim.conf 區段,該區段與您必須修改的伺服器對伺服器通訊對應。


    iim_server.serverid=iimA.siroe.com
    iim_server.password=secretforiimA
    iim_server.domainname=siroe.com
    iim_server.coservers=coserver1
    iim_server.coserver1.host=iimB.siroe.com:5269
    iim_server.coserver1.serverid=iimB.siroe.com
    iim_server.coserver1.password=secret4iimB
    iim_server.coserver1.domain=siroe.com
                   
  5. 對於伺服器 iimB.siroe.com 上的 iim.conf 檔案,依照步驟 2 到步驟 4 進行。

    以下範例顯示 iimB.siroe.com 上的 iim.conf 區段,該區段與您必須修改的伺服器對伺服器通訊對應。


    iim_server.serverid=iimB.siroe.com
    iim_server.password=secret4iimB
    iim_server.domainname=siroe.com
    iim_server.coservers=coserver1
    iim_server.coserver1.host=iimA.siroe.com:5269
    iim_server.coserver1.serverid=iimA.siroe.com
    iim_server.coserver1.password=secretforiimA
    iim_server.coserver1.domain=siroe.com
  6. 儲存變更並關閉 iim.conf

  7. 重新整理這兩個伺服器的配置。


    imadmin refresh server
    

填加新節點至現有的 Instant Messaging 部署

如果您需要填加其他節點至現有的伺服器池,您需要將新伺服器配置為伺服器對伺服器通訊,然後將與新伺服器相關的配置資訊,增加至池中所有現有的伺服器。此外,您需要將與池中所有伺服器相關的配置資訊,增加至新節點。如需說明,請參閱設定伺服器池內兩個 Instant Messaging 伺服器間的通訊

保護多節點部署的安全性

當將節點連線至遠端伺服器時,節點會提供回撥金鑰。接著遠端伺服器會連線回節點,以驗證回撥金鑰。在多節點部署中,遠端伺服器可能會從原先傳送回撥金鑰的節點,連線回池中不同的節點。遠端伺服器連線的目的節點所提供的回撥金鑰,必須與原先連線節點所提供的回撥金鑰相同。iim_server.dialback key 配置參數會定義節點應使用的回撥金鑰。除非您明確指定一個回撥金鑰值,否則就會隨機產生。如需說明,請參閱手動定義伺服器池中 Instant Messaging 伺服器的回撥金鑰

遠端伺服器會使用 From 屬性來連線回初始伺服器。通常,會使用伺服器網域名稱,以做為 Jabber 下伺服器對伺服器通訊的 From 屬性值。然而,伺服器池中的所有伺服器都會共用相同的網域名稱。因此,無法使用網域名稱做為金鑰來尋找池中的單一伺服器。相反地,Instant Messaging 會使用伺服器或點識別元 (serverid) 而非網域名稱,來做為 From 屬性的值。

Procedure手動定義伺服器池中 Instant Messaging 伺服器的回撥金鑰

除非您明確指定一個回撥金鑰值,否則就會隨機產生。

  1. 開啟 iim.conf

    如需找到並修改 iim.conf 的說明,請參閱iim.conf 檔案語法

  2. 修改 iim_server.dialback.key 參數的值。

    例如:


    iim_server.dialback.key=mymultinodedialbackkey
    
  3. 儲存變更並關閉 iim.conf

  4. 重新整理這兩個伺服器的配置。


    imadmin refresh server