本小節說明如何安裝 Messaging Server,並將其配置為 Sun Cluster 高可用性 (HA) 資料服務。這些安裝說明適用於 Sun Cluster 3.1。本小節涵蓋了以下主題:
另請參閱 Sun Cluster 3.1 Documentation 和
請注意,Sun Cluster 3.1 支援 Veritas 檔案系統 (VxFS)。
本節假定以下情況:
在安裝了必需的修補程式之 Solaris 8 或 9 作業系統上安裝並配置 Sun Cluster 3.1。
您的系統上安裝了 Sun Cluster 代理程式 SUNWscims。
如果要建立邏輯容體,可使用 Solstice DiskSuite 或 Veritas 容體管理程式。
極力建議您使用 HAStoragePlus 資源類型以使本機掛載的檔案系統在 Sun Cluster 環境中實現高可用性。位於 Sun Cluster 全域裝置群組中的任何檔案系統均可與 HAStoragePlus 配合使用。與全域掛載的檔案系統 (例如 HAStorage) 不同,HAStoragePlus 只能在任何給定的時間,於一個叢集節點上使用。這些在本機掛載的檔案系統只能在故障轉移模式和故障轉移資源群組中使用。與 HAStorage 的 GFS (全域檔案系統) 不同,HAStoragePlus 提供 FFS (容錯轉移檔案系統)。
HAStoragePlus 具有許多優勢:
HAStoragePlus 可以完全避開全域檔案服務層。對於磁碟 IO 密集型資料服務,這會顯著提昇效能。
HAStoragePlus 可與任何檔案系統 (例如 UFS 和 VxFS 等) 配合工作,甚至可與那些可能無法與全域檔案服務層配合工作的檔案系統配合工作。如果 Solaris 作業系統支援某一檔案系統,則該檔案系統就可與 HAStoragePlus 配合工作。
如需有關 HAStoragePlus 的更多資訊,請參閱 http://docs.sun.com 上的「Sun Cluster 3.1 Data Service Planning and Administration Guide」。
本小節透過一個簡單範例說明如何為 Sun Cluster 3.1 配置目前版本的 Messaging Server 之 HA 支援和 HA StoragePlus。
配置 HA 之後,請務必檢閱將 IP 位址連結至伺服器,以取得與 HA 支援相關的其他步驟。
下例假定已使用 HA 邏輯主機名稱和 IP 位址配置了郵件傳送伺服器。實體主機名稱假設為 mail-1 和 mail-2,HA 邏輯主機名稱假設為 budgie。圖 3–3 描繪了配置 Messaging Server HA 支援時建立的其他 HA 資源的巢式相依性。
成為超級使用者並開啟主控台。
以下所有 Sun Cluster 指令均要求您以超級使用者身份登入。您還需要有一個主控台或視窗來檢視輸出到 /dev/console 中的訊息。
新增必需的資源類型。
配置 Sun Cluster 以瞭解要使用的資源類型。可以使用 scrgadm -a -t 指令來完成此作業:
# scrgadm -a -t SUNW.HAStoragePlus # scrgadm -a -t SUNW.ims |
為 Messaging Server 建立一個資源群組:
如果尚未進行此作業,請建立一個資源群組,並使其顯示在將執行 Messaging Server 的叢集節點上。以下指令將建立名為 MAIL-RG 的資源群組,並使其顯示在 mail-1 和 mail-2 叢集節點上:
# scrgadm -a -g MAIL-RG -h mail-1,mail-2
當然,您可以依需要對資源群組使用任何名稱。
建立 HA 邏輯主機名稱資源並啟動資源群組。
如果尚未執行此作業,請為 HA 邏輯主機名稱建立並啟用資源,將其置於資源群組中。以下指令使用邏輯主機名稱 budgie 執行此作業。由於省略了 -j 切換,因此建立的資源名稱也將為 budgie。
# scrgadm -a -L -g MAIL-RG -l budgie # scswitch -Z -g MAIL-RG |
建立 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 中指示附加相依性。
安裝和配置 Administration Server。
請參閱「Sun Java Enterprise System 2005Q4 安裝指南」,以取得相關說明。
指定完全合格的網域名稱後,請使用在步驟 4 中所建立的 HA 邏輯主機名稱。
安裝和配置 Messaging Server。請參閱建立初始 Messaging Server 執行階段配置
在初始執行階段配置中,要求您在建立初始 Messaging Server 執行階段配置時指定一個配置目錄。請務必使用 HAStoragePlus 資源的共用磁碟目錄路徑。
執行以下指令以在 Sun Cluster 中啟用 watcher 程序:
configutil -o local.autorestart -v 1 |
如需有關 watcher 程序的更多資訊,請參照自動重新啟動失敗或無回應的服務。
執行 ha_ip_config 程序檔以設定 service.listenaddr 和 service.http.smtphost,並配置 dispatcher.cnf 和 job_controller.cnf 檔案,從而實現高可用性。該程序檔可確保為這些參數和檔案設定邏輯 IP 位址而非實體 IP 位址。它還啟用 watcher 程序 (將 local.watcher.enable 設定為 1) 和 auto restart 程序 (將 local.auto.restart 設定為 1)。
如需有關執行該程序檔的說明,請參閱將 IP 位址連結至伺服器。
只能在擁有共用磁碟 (用於配置和資料) 的機器上執行一次 ha_ip_config 程序檔。
修改 imta.cnf 檔案,並用叢集的邏輯名稱替代所有的實體主機名稱。
建立一個 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 儲存資源名稱。
從 /etc/vfstab 檔案中移除字詞 global。啟動時,必須將 /etc/vbstab 設定為「no」。如需更多資訊,請參照 Sun Cluster 3.1 文件。
使用 HAStoragePlus 啟用 vfstab 檔案之前,可能要先 umount 目前為全域檔案系統的檔案系統。然後可以使用 HAStoragePlus 來啟用 vfstab 檔案,並重新掛載檔案系統。
啟用 Messaging Server 資源。
現在應該啟動 HA Messaging Server 資源,從而使 Messaging Server 處於線上。若要如此,請使用指令
# scswitch -e -j mail-rs
上述指令啟用 MAIL-RG 資源群組的 mail-rs 資源。由於 MAIL-RG 資源先前已處於線上,因此上述指令還會讓 mail-rs 處於線上。
驗證上述作業是否有作用。
使用 scstat 指令查看 MAIL-RG 資源群組是否在線上。您可能需要查看導向主控台裝置的輸出內容,以瞭解所有診斷資訊。另外,還需查看 syslog 檔案 /var/adm/messages。
將該資源群組故障轉移至另一個叢集節點,以確定故障轉移功能工作正常。
將該資源群組手動故障轉移至另一個叢集節點。(請確定您在進行容錯轉移的節點上具有超級使用者特權。)
使用 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 公用程式。
如果要使用對稱或 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 等伺服器使用的 configutil、service.listenaddr 和 service.http.smtphost 參數。
請注意,原始配置檔案 (如果有) 將被重新命名為 *.pre-ha。
遵循以下說明執行程序檔:
成為超級使用者。
執行 msg_svr_base/sbin/ha_ip_config
該程序檔會顯示下述問題。鍵入 control-d 來回應問題可能會中斷該程序檔。這些問題的預設答案都顯示在方括號 [ ] 中。若要接受預設答案,只需按 Return 鍵即可。
邏輯 IP 位址:指定為 Messaging Server 將要使用的邏輯主機名稱所指定的 IP 位址。必須將 IP 位址指定為帶點的十進位數字形式,例如 123.456.78.90。
邏輯 IP 位址是在 configutil 參數 service.http.smtphost 中自動設定的,您可以使用此 IP 位址來查看叢集中哪台機器正在執行郵件傳送系統。例如,如果您使用的是 Messenger Express,則伺服器可以確定從哪台郵件主機傳送外寄的郵件。
Messaging Server 基底目錄 (msg_svr_base):指定安裝 Messaging Server 的頂層目錄的絕對路徑。
是否要變更以上任何選擇:回答「no」將接受您的答案並使配置變更生效。如果要改變答案,請回答「yes」。
此外,ha_ip_config 程序檔將使用以下參數自動啟用兩個新的程序 watcher 和 msprobe:local.autorestart 和 local.watcher.enable。這兩個新的參數可協助監視郵件傳送伺服器的運作狀態。程序故障和服務未回應都會導致螢幕上顯示指示特定故障的記錄訊息。現在,叢集代理程式會監視 watcher 程序,並在程序結束時進行容錯移轉。請注意,為了使 Sun Cluster 正常工作,必須啟用這兩個參數。
如需有關 watcher 和 msprobe 程序的更多資訊,請參閱自動重新啟動失敗或無回應的服務