Sun Java System Messaging Server 6 2005Q4 管理指南

第 3 章 配置高可用性

本小節提供了配置 Veritas Cluster Server 或 Sun Cluster 高可用性叢集軟體,並準備將該軟體與 Messaging Server 配合使用時所需的資訊。假設您已閱讀了「Sun Java System Communications Services 6 2005Q4 Deployment Planning Guide」中的第 6 章「Designing for Service Availability」以及相應的 Veritas 或 Sun Cluster Server 文件,並依需要取得了詳細規劃、安裝說明、必需的修補程式以及其他資訊。

本章包含以下各節:

支援的版本

下表列出了 Messaging Server 目前支援的 Sun Cluster Server 和 Veritas Cluster Server 版本:

表 3–1 支援的 Sun Cluster Server 和 Veritas Cluster Server 版本

叢集 

支援的版本 

Sun Cluster Server 

Sun Cluster 3.1 

Veritas Cluster Server 

Veritas Cluster Server 1.3、Veritas Cluster Server 2.0 和 Veritas Cluster Server 3.5 

叢集代理程式安裝

叢集代理程式是一種在叢集架構下執行的 Messaging Server 程式。

Sun Cluster Messaging Server 代理程式 (SUNWscims) 在您透過 Java Enterprise SystemJava Enterprise System 安裝程式選取 Sun Cluster 3.1 時安裝。可以在 Java Enterprise System CD 上的 Messaging Server Product 子目錄 Solaris_sparc/Product/messaging_svr/Packages/SUNWmsgvc 中找到 Veritas Cluster Messaging Server 代理程式 (SUNWmsgvc)。(請注意,必須使用 pkgadd(1M) 指令安裝 VCS 叢集代理程式。)

Messaging Server 和高可用性注意事項

有關 Messaging Server 和高可用性 (適用於 Veritas Cluster 和 Sun Cluster) 安裝的一些注意事項

使用 useconfig 公用程式

useconfig 公用程式可讓您在 HA 環境下的多個節點之間共用單一配置。此公用程式並不升級或更新現有配置。

例如,如果要升級第一個節點,則可以透過 Java Enterprise System 安裝程式安裝 Messaging Server,然後對其進行配置 。然後容錯移轉至第二個節點,將透過 Java Enterprise System 安裝程式在此節點上安裝 Messaging Server 套裝軟體,但無需再次執行初始執行階段配置程式 (configure)。您可以改用 useconfig 公用程式。

若要啟用該公用程式,請執行 useconfig 公用程式,以指向先前的 Messaging Server 配置:


msg_svr_base/sbin/useconfig install/configure_YYYYMMDDHHMMSS

其中,configure_YYYYMMDDHHMMSS 是先前的配置設定檔案。

在一個全新的節點上,您可以在共用磁碟的 msg_svr_base/data/setup 目錄中找到 msg_svr_base /data/setup

Veritas Cluster Server 代理程式安裝Sun Cluster 代理程式安裝中的以下小節說明何時可以使用 useconfig 公用程式。

Veritas Cluster Server 代理程式安裝

可使用 Veritas Cluster Server 1.3、2.0 和 3.5 配置 Messaging Server。本小節中的說明僅涵蓋 Veritas Cluster 3.5;如需有關 Veritas 1.3 和 2.0 的資訊,請檢閱「Sun Java Enterprise System 2005Q4 Installation Guide for UNIX」

執行以下程序之前請務必查閱 Veritas Cluster Server 文件。


備註 –

使用 Java Enterprise System 安裝程式安裝 Messaging Server 並配置 HA 之後,請務必檢閱將 IP 位址連結至伺服器,以取得與配置 HA 支援相關的其他步驟。

Veritas Cluster Server 需求

VCS 3.5 安裝和配置注意事項

以下指示說明如何使用 Veritas Cluster Server 3.5 將 Messaging Server 配置為 HA 服務。

預設的 main.cf 配置檔案將設定名為 ClusterService 的資源群組,該資源群組會啟動 VCSweb 應用程式。此群組包含諸如 csgnicwebip 之類的網路邏輯主機 IP 資源。此外,還會為事件通知建立 ntfr 資源。

Procedure使用 Veritas Cluster Server 3.5 將 Messaging Server 配置為 HA 服務

步驟
  1. 啟動其中一個節點的 Cluster Explorer。

    請注意,這些 Veritas Cluster Server 說明假定您要使用圖形化使用者介面將 Messaging Server 配置為 HA 服務。

    若要啟動 Cluster Explorer,請執行以下指令:


    # /opt/VRTSvcs/bin/hagui
    

    必須安裝 VRTScscm 套裝軟體才能使用 GUI。

  2. 增加 DiskGroup 類型的 s1ms_dg 磁碟群組資源並啟用。

  3. 增加 Mount 類型的 s1ms_mt 掛載資源。

    1. 與在 Veritas Cluster Server 2.0 中不同,您必需將 -y (或 -n) 增加到 FsckOpt 中。空選項將導致 Mount 掛機。請參閱 Solaris 線上手冊,以取得有關 fsck_vxfs 的更多資訊。

    2. 如果尚未啟用連結資源,請務必按一下 [連結] 按鈕將它們啟用。

  4. s1ms_mts1ms_dg 之間建立連結。啟用 s1ms_mt 資源。

    下圖描繪相依性樹狀結構:

    圖 3–1 Veritas Cluster Server 相依性樹狀結構 1

    此影像描繪了 Veritas Cluster 中的相依性。

  5. 執行 Java Enterprise System 安裝程式,選取 Administration Server 和 Messaging Server。

    1. 在 Administration Server 配置期間,請務必在要求您提供主機名稱時指定邏輯主機名稱。

    2. 從主節點 (例如 Node_A) 執行 Messaging Server 初始執行階段配置以安裝 Messaging Server。

    3. 使用 pkgadd(1M) 指令安裝 Veritas Cluster Server 代理程式套裝軟體 SUNWmsgvc (位於 Java Enterprise System CD 上的 Messaging Server Product 子目錄中)。

      至此,Messaging Server 和 Veritas 代理程式已安裝在 Node_A 上。

  6. 切換至備份節點 (例如,Node_B)。

  7. 執行 Java Enterprise System 安裝程式將 Messaging Server 安裝於備份節點 (Node_B) 上。

  8. 安裝 Messaging Server 之後,可以使用 useconfig 公用程式,而不必在備份節點 (Node_B) 上建立其他初始執行階段配置。useconfig 公用程式可讓您在 HA 環境中的多個節點之間共用單一配置。此公用程式並不升級或更新現有配置。請參閱使用 useconfig 公用程式

    至此,Veritas 代理程式已安裝在 Node_B 上。

  9. 在 [叢集檔案總管] 中,從將顯示檔案選取對話方塊的 [檔案] 功能表中選取 [匯入類型...]。

  10. /etc/VRTSvcs/conf/config 目錄中匯入 MsgSrvTypes.cf 類型。匯入此類型檔案。請注意,您需要在叢集節點上才能找到此檔案。

  11. 至此,已建立一個 MsgSrv 類型的資源 (例如 Mail)。此資源需要設定邏輯主機名稱特性。

  12. Mail 資源依賴於 s1ms_mtwebip。如以下相依性樹所示,在資源之間建立連結:

    圖 3–2 Veritas Cluster 附屬樹狀結構

    此影像描繪了 Veritas Cluster 中的相依性。

    1. 啟用所有資源並讓 Mail 處於線上。

    2. 所有的伺服器都應啟動。

  13. 切換至 Node_A 並檢查高可用性配置是否正在工作。

  14. 將群組屬性 OnlineRetryLimit3 變更為 0,否則可能會在同一節點上重新啟動容錯移轉服務。

MsgSrv 屬性

本節描述控制 mail 資源運作方式的 MsgSrv 附加屬性。若要使用 Veritas Cluster Server 配置 Messaging Server,請參閱表 3–2

表 3–2 Veritas Cluster Server 屬性

屬性 

說明 

FaultOnMonitorTimeouts

如果未設定 (=0),則監視 (探測) 逾時不會被視為資源故障。建議將此屬性值設定為 2。如果監視逾時兩次,則資源將重新啟動或進行故障轉移。 

ConfInterval

故障重新啟動計數的時間間隔。如果在此期間服務仍在線上,則將刪除先前的歷程。建議設為 600 秒。 

ToleranceLimit

監視應傳回 OFFLINE 以宣告資源 FAULTED 的次數。建議將此值保留為「0」(預設值)。 

Sun Cluster 代理程式安裝

本小節說明如何安裝 Messaging Server,並將其配置為 Sun Cluster 高可用性 (HA) 資料服務。這些安裝說明適用於 Sun Cluster 3.1。本小節涵蓋了以下主題:

另請參閱 Sun Cluster 3.1 Documentation

請注意,Sun Cluster 3.1 支援 Veritas 檔案系統 (VxFS)。

Sun Cluster 的需求

本節假定以下情況:

關於 HAStoragePlus

極力建議您使用 HAStoragePlus 資源類型以使本機掛載的檔案系統在 Sun Cluster 環境中實現高可用性。位於 Sun Cluster 全域裝置群組中的任何檔案系統均可與 HAStoragePlus 配合使用。與全域掛載的檔案系統 (例如 HAStorage) 不同,HAStoragePlus 只能在任何給定的時間,於一個叢集節點上使用。這些在本機掛載的檔案系統只能在故障轉移模式和故障轉移資源群組中使用。與 HAStorage 的 GFS (全域檔案系統) 不同,HAStoragePlus 提供 FFS (容錯轉移檔案系統)。

HAStoragePlus 具有許多優勢:

如需有關 HAStoragePlus 的更多資訊,請參閱 http://docs.sun.com 上的「Sun Cluster 3.1 Data Service Planning and Administration Guide」。

使用 Sun Cluster 和 HA StoragePlus 配置 Messaging Server

本小節透過一個簡單範例說明如何為 Sun Cluster 3.1 配置目前版本的 Messaging Server 之 HA 支援和 HA StoragePlus。

配置 HA 之後,請務必檢閱將 IP 位址連結至伺服器,以取得與 HA 支援相關的其他步驟。

下例假定已使用 HA 邏輯主機名稱和 IP 位址配置了郵件傳送伺服器。實體主機名稱假設為 mail-1mail-2,HA 邏輯主機名稱假設為 budgie圖 3–3 描繪了配置 Messaging Server HA 支援時建立的其他 HA 資源的巢式相依性。

圖 3–3 簡易 Messaging Server HA 配置

此影像描繪了簡易 Messaging Server HA 配置。

Procedure配置 HA 支援和 HA StoragePlus

步驟
  1. 成為超級使用者並開啟主控台。

    以下所有 Sun Cluster 指令均要求您以超級使用者身份登入。您還需要有一個主控台或視窗來檢視輸出到 /dev/console 中的訊息。

  2. 新增必需的資源類型。

    配置 Sun Cluster 以瞭解要使用的資源類型。可以使用 scrgadm -a -t 指令來完成此作業:


    # scrgadm -a -t SUNW.HAStoragePlus
    # scrgadm -a -t SUNW.ims
  3. 為 Messaging Server 建立一個資源群組:

    如果尚未進行此作業,請建立一個資源群組,並使其顯示在將執行 Messaging Server 的叢集節點上。以下指令將建立名為 MAIL-RG 的資源群組,並使其顯示在 mail-1mail-2 叢集節點上:

    # scrgadm -a -g MAIL-RG -h mail-1,mail-2

    當然,您可以依需要對資源群組使用任何名稱。

  4. 建立 HA 邏輯主機名稱資源並啟動資源群組。

    如果尚未執行此作業,請為 HA 邏輯主機名稱建立並啟用資源,將其置於資源群組中。以下指令使用邏輯主機名稱 budgie 執行此作業。由於省略了 -j 切換,因此建立的資源名稱也將為 budgie


    # scrgadm -a -L -g MAIL-RG -l budgie
    # scswitch -Z -g MAIL-RG
  5. 建立 HAStoragePlus 資源。

    然後,您需要為 Messaging Server 所相依的檔案系統建立 HAStoragePlus 資源類型。以下指令將建立名為 disk-rs 的 HAStoragePlus 資源,並會將檔案系統 disk_sys_mount_point 置於其控制之下:


    # scrgadm -a -j disk-rs -g MAIL-RG \
    -t SUNW.HAStoragePlus \
    -x ServicePaths=disk_sys_mount_point-1, disk_sys_mount_point-2
    

    以逗號分隔的 ServicePaths 清單列出 Messaging Server 所相依的叢集檔案系統的掛載點。在以上範例中,僅指定了兩個掛載點 disk_sys_mount_point-1 disk_sys_mount_point-2。如果某台伺服器具有其所相依的附加檔案系統,則可以建立附加 HA 儲存資源,並在步驟 10 中指示附加相依性。

  6. 安裝和配置 Administration Server。

    請參閱「Sun Java Enterprise System 2005Q4 安裝指南」,以取得相關說明。

    指定完全合格的網域名稱後,請使用在步驟 4 中所建立的 HA 邏輯主機名稱。

  7. 安裝和配置 Messaging Server。請參閱建立初始 Messaging Server 執行階段配置

    1. 在初始執行階段配置中,要求您在建立初始 Messaging Server 執行階段配置時指定一個配置目錄。請務必使用 HAStoragePlus 資源的共用磁碟目錄路徑。

    2. 執行以下指令以在 Sun Cluster 中啟用 watcher 程序:


      configutil -o local.autorestart -v 1

      如需有關 watcher 程序的更多資訊,請參照自動重新啟動失敗或無回應的服務

  8. 執行 ha_ip_config 程序檔以設定 service.listenaddrservice.http.smtphost,並配置 dispatcher.cnfjob_controller.cnf 檔案,從而實現高可用性。該程序檔可確保為這些參數和檔案設定邏輯 IP 位址而非實體 IP 位址。它還啟用 watcher 程序 (將 local.watcher.enable 設定為 1) 和 auto restart 程序 (將 local.auto.restart 設定為 1)。

    如需有關執行該程序檔的說明,請參閱將 IP 位址連結至伺服器

    只能在擁有共用磁碟 (用於配置和資料) 的機器上執行一次 ha_ip_config 程序檔。

  9. 修改 imta.cnf 檔案,並用叢集的邏輯名稱替代所有的實體主機名稱。

  10. 建立一個 HA Messaging Server 資源。

    現在應該建立 HA Messaging Server 資源,並將其增加至資源群組中。此資源依賴於 HA 邏輯主機名稱和 HA 磁碟資源。

    建立 HA Messaging Server 資源過程時,我們需要指示至 Messaging Server 頂層目錄的路徑—msg_svr_base 的路徑。如以下指令所示,這些作業可使用 IMS_serverroot 延伸特性來完成。


    # scrgadm -a -j mail-rs -t SUNW.ims -g MAIL-RG \
          -x IMS_serverroot=msg_svr_base \
          -y Resource_dependencies=disk-rs,budgie

    以上指令為 Messaging Server 建立了一個名為 mail-rs 的 HA Messaging Server 資源,該資源安裝在 msg_svr_base 目錄中的 IMS_serverroot 上。HA Messaging Server 資源依賴於 HA 磁碟資源 disk-rs 以及 HA 邏輯主機名稱 budgie

    如果 Messaging Server 具有附加檔案系統相依性,則可以為這些檔案系統建立附加 HA 儲存資源。請務必在上述指令的 Resource_dependencies 選項中包含該附加 HA 儲存資源名稱。

  11. /etc/vfstab 檔案中移除字詞 global。啟動時,必須將 /etc/vbstab 設定為「no」。如需更多資訊,請參照 Sun Cluster 3.1 文件。

    使用 HAStoragePlus 啟用 vfstab 檔案之前,可能要先 umount 目前為全域檔案系統的檔案系統。然後可以使用 HAStoragePlus 來啟用 vfstab 檔案,並重新掛載檔案系統。

  12. 啟用 Messaging Server 資源。

    現在應該啟動 HA Messaging Server 資源,從而使 Messaging Server 處於線上。若要如此,請使用指令

    # scswitch -e -j mail-rs

    上述指令啟用 MAIL-RG 資源群組的 mail-rs 資源。由於 MAIL-RG 資源先前已處於線上,因此上述指令還會讓 mail-rs 處於線上。

  13. 驗證上述作業是否有作用。

    使用 scstat 指令查看 MAIL-RG 資源群組是否在線上。您可能需要查看導向主控台裝置的輸出內容,以瞭解所有診斷資訊。另外,還需查看 syslog 檔案 /var/adm/messages

  14. 將該資源群組故障轉移至另一個叢集節點,以確定故障轉移功能工作正常。

    將該資源群組手動故障轉移至另一個叢集節點。(請確定您在進行容錯轉移的節點上具有超級使用者特權。)

    使用 scstat 指令查看資源群組目前正在哪個節點上執行 (處於「線上」)。例如,如果該資源群組在 mail-1 上處於線上,則使用以下指令將其故障轉移至 mail-2:

    # scswitch -z -g MAIL-RG -h mail-2

    如果要升級第一個節點,則可以透過 Java Enterprise System 安裝程式安裝 Messaging Server,然後對其進行配置。然後容錯移轉至第二個節點,將透過 Java Enterprise System 安裝程式在此節點上安裝 Messaging Server 套裝軟體,但無需再次執行初始執行階段配置程式 (configure)。您可以改用 useconfig 公用程式。

將 IP 位址連結至伺服器

如果要使用對稱或 N + 1 高可用性模型,需要瞭解配置過程中所要求的其他一些事項,以為 Messaging Server 準備 Sun Cluster Server。

在伺服器上執行的 Messaging Server 需要連結正確的 IP 位址。這是在 HA 環境中正確配置 Messaging 所必需的。

將 Messaging Server 配置為 HA 的部分工作包括涉配置 Messaging Server 連結和偵聽連線時所在的介面位址。依預設,伺服器會連結至所有可用的介面位址。但是,在 HA 環境下,您需要將伺服器專門連結至與 HA 邏輯主機名稱關聯的介面位址。

因此,提供一個程序檔來配置伺服器 (屬於給定的 Messaging Server 實例) 所使用的介面位址。請注意,該程序檔透過 IP 位址識別介面位址,此 IP 位址已經或將要與伺服器所使用的 HA 邏輯主機名稱建立關聯。

該程序檔透過修改或建立以下配置檔案來使配置變更生效。對於檔案

msg_svr_base/config/dispatcher.cnf

該程序檔為 SMTP 和 SMTP Submit 伺服器新增或變更 INTERFACE_ADDRESS 選項。對於檔案

msg_svr_base/config/job_controller.cnf

該程序檔為工作控制器新增或變更 INTERFACE_ADDRESS 選項。

最後,它將設定由 POP、IMAP 和 Messenger Express HTTP 等伺服器使用的 configutilservice.listenaddrservice.http.smtphost 參數。

請注意,原始配置檔案 (如果有) 將被重新命名為 *.pre-ha

遵循以下說明執行程序檔:

Procedure將 IP 位址連結至伺服器

步驟
  1. 成為超級使用者。

  2. 執行 msg_svr_base/sbin/ha_ip_config

  3. 該程序檔會顯示下述問題。鍵入 control-d 來回應問題可能會中斷該程序檔。這些問題的預設答案都顯示在方括號 [ ] 中。若要接受預設答案,只需按 Return 鍵即可。

    1. 邏輯 IP 位址:指定為 Messaging Server 將要使用的邏輯主機名稱所指定的 IP 位址。必須將 IP 位址指定為帶點的十進位數字形式,例如 123.456.78.90

      邏輯 IP 位址是在 configutil 參數 service.http.smtphost 中自動設定的,您可以使用此 IP 位址來查看叢集中哪台機器正在執行郵件傳送系統。例如,如果您使用的是 Messenger Express,則伺服器可以確定從哪台郵件主機傳送外寄的郵件。

    2. Messaging Server 基底目錄 (msg_svr_base):指定安裝 Messaging Server 的頂層目錄的絕對路徑。

    3. 是否要變更以上任何選擇:回答「no」將接受您的答案並使配置變更生效。如果要改變答案,請回答「yes」。


      備註 –

      此外,ha_ip_config 程序檔將使用以下參數自動啟用兩個新的程序 watchermsprobelocal.autorestartlocal.watcher.enable。這兩個新的參數可協助監視郵件傳送伺服器的運作狀態。程序故障和服務未回應都會導致螢幕上顯示指示特定故障的記錄訊息。現在,叢集代理程式會監視 watcher 程序,並在程序結束時進行容錯移轉。請注意,為了使 Sun Cluster 正常工作,必須啟用這兩個參數。

      如需有關 watchermsprobe 程序的更多資訊,請參閱自動重新啟動失敗或無回應的服務


取消配置高可用性

小節說明如何取消配置高可用性。若要解除安裝高可用性,請遵循 Veritas 或 Sun Cluster 文件中的說明。

根據您要移除 Veritas Cluster Server 還是 Sun Cluster,高可用性取消配置說明會有所不同。

本節包含以下主題:

Procedure取消配置 Veritas Cluster Server

本小節說明如何取消配置 Veritas Cluster Server 的高可用性元件:

步驟
  1. 使 iMS5 服務群組離線並停用其資源。

  2. 移除 mail 資源、logical_IP 資源和 mountshared 資源之間的相依性。

  3. 使 iMS5 服務群組回到線上,以使 sharedg 資源可用。

  4. 刪除安裝期間建立的所有 Veritas Cluster Server 資源。

  5. 停止 Veritas Cluster Server,並移除兩個節點上的以下檔案:


    /etc/VRTSvcs/conf/config/MsgSrvTypes.cf
    /opt/VRTSvcs/bin/MsgSrv/online
    /opt/VRTSvcs/bin/MsgSrv/offline
    /opt/VRTSvcs/bin/MsgSrv/clean
    /opt/VRTSvcs/bin/MsgSrv/monitor
    /opt/VRTSvcs/bin/MsgSrv/sub.pl
  6. 從兩個節點上的 /etc/VRTSvcs/conf/config/main.cf 檔案中移除 Messaging Server 項目。

  7. 從兩個節點中移除 /opt/VRTSvcs/bin/MsgSrv/ 目錄。

Procedure取消配置 Sun Cluster 3.x 的 Messaging Server HA 支援

本小節說明如何還原 Sun Cluster 的 HA 配置。本小節假設簡易範例配置 (Sun Cluster 代理程式安裝中有所說明 (例如,步驟 3) 可能有所不同,但仍將遵循同一邏輯順序。

步驟
  1. 成為超級使用者。

    以下所有 Sun Cluster 指令都要求您以超級使用者身份執行。

  2. 使資源群組離線。

    若要關閉資源群組中所有的資源,請發出以下指令

    # scswitch -F -g MAIL-RG

    這將關閉資源群組內的所有資源 (例如,Messaging Server 和 HA 邏輯主機名稱)。

  3. 停用各個資源。

    接著,使用以下指令從資源群組中逐一移除資源:


    # scswitch -n -j mail-rs
    # scswitch -n -j disk-rs
    # scswitch -n -j budgie
    
  4. 從資源群組中移除各個資源。

    停用資源後您可以使用以下指令從資源群組中逐一移除資源


    # scrgadm -r -j mail-rs
    # scrgadm -r -j disk-rs
    # scrgadm -r -j budgie
    
  5. 移除資源群組。

    從資源群組中移除所有資源後可以使用以下指令移除資源群組本身:

    # scrgadm -r -g MAIL-RG

  6. 移除資源類型 (可選擇)。

    如果需要從叢集中移除資源類型,請發出以下指令:


    # scrgadm -r -t SUNW.ims
    # scrgadm -r -t SUNW.HAStoragePlus