回到網頁內容 臺灣-繁體中文
HP.com 首頁 產品資訊 支�#169;及驅動程式 解決方案 如何購買
» 聯絡 HP
進階選項
HP.com 首頁
管理 Serviceguard 第十三版 > 第 3 章. 認識 Serviceguard 軟體元件

Serviceguard 架構

» 

技術文件

PDF 格式的完整書籍
» 回饋意見
內容©韟像B開©l

 » 目錄

 » 索引

下圖顯示 Serviceguard 所使用的主要軟體元件。本章將詳細討論這些元件。

附註: 您現行的 HP-UX 版本可能尚未支援 VERITAS CFS,請參閱「VERITAS CFS 與 CVM 簡介」

圖 3-1 Serviceguard 軟體元件

Serviceguard 軟體元件

Serviceguard 協助程式

Serviceguard 使用下列協助程式 (daemon):

  • /usr/lbin/cmclconfd ─ Serviceguard 配置協助程式

  • /usr/lbin/cmcld ─ Serviceguard 叢集協助程式

  • /usr/lbin/cmfileassistd ─ Serviceguard 檔案管理協助程式

  • /usr/lbin/cmlogd ─ Serviceguard Syslog 日誌協助程式

  • /usr/lbin/cmlvmd ─ 叢集邏輯容體管理員協助程式

  • /opt/cmom/lbin/cmomd ─ 叢集物件管理員協助程式

  • /usr/lbin/cmsnmpd ─ 叢集 SNMP 子代理程式 (選擇性執行)

  • /usr/lbin/cmsrvassistd ─ Serviceguard 服務助理協助程式

  • /usr/lbin/qs ─ Serviceguard 仲裁伺服器協助程式

  • /usr/lbin/cmnetassistd ─ 網路感測器助理協助程式

  • /usr/lbin/cmvxd ─ Serviceguard 至 VERITAS 成員調度協助程式 (只有在安裝 VERITAS CFS 時才會出現)。

  • /usr/lbin/cmvxping ─ Serviceguard 至 VERITAS 啟用協助程式 (只有在安裝 VERITAS CFS 時才會出現)。

除了 /opt/cmom/lbin/cmomd 會登錄至 /var/opt/cmom/cmomd.log 外,這些協助程式都登錄至 /var/adm/syslog/syslog.log 檔中。仲裁伺服器在叢集外執行,預設會登錄至標準輸出,且建議將輸出重新指向檔名為 /var/adm/qs/qs.log 的檔案。

配置協助程式:cmclconfd

Serviceguard 命令會使用此協助程式,從叢集中所有節點蒐集資訊。此協助程式會蒐集配置資訊,例如網路和容體群組的資訊,也會將叢集的二進位配置檔配送到叢集內的所有節點。此協助程式由 inetd(1M) 啟動,在
/etc/inetd.conf 檔案中有其項目。

停用 Serviceguard

若基於某些因素您希望停用系統上的 Serviceguard,可以藉由取消下列 /etc/inetd.conf 中的項目來進行此項作業:

hacl-cfg dgram udp wait root /usr/lbin/cmclconfd cmclconfd -phacl-cfg stream tcp nowait root /usr/lbin/cmclconfd cmclconfd -c

接著強迫 inetd 重新讀取 inetd.conf:

/usr/sbin/inetd -c

嘗試使用下列命令即可檢視此項作業是否真的停用 Serviceguard:

cmquerycl -n 節點名稱

其中 節點名稱 為本機系統名稱。若命令失敗,表示您已成功停用 Serviceguard。

附註: 您不可在實際執行 Serviceguard 的系統上停用 Serviceguard。若您不確定實際執行 Serviceguard 的系統是哪一個,可利用以下命令取得說明:

ps -e | grep cmclconfd

若正在執行 cmclconfd 程序,並不一定表示 Serviceguard 執行於該系統上 (因為 cmclconfd 可僅從相同子網路上的 Serviceguard 叢集處理 UDP 查詢),但確實意味著在停用 Serviceguard 前您應進一步進行調查。

叢集協助程式:cmcld

這個協助程式可送出心跳訊息到 Serviceguard 叢集內其他節點上的 cmcld 協助程式,以判斷叢集的成員關係。此協助程式以即時優先順序執行,會鎖定在記憶體中。cmcld 協助程式會在核心程式中設定一個安全計時器 (safety timer),用來偵測核心程式懸滯 (hang)。如果 cmcld 未定期重設此計時器,則核心程式會使系統 TOC (Transfer of Control,控制轉移),亦即非漸進式關機的立即中止。若 cmcld 無法和大多數的叢集成員通訊,或 cmcld 不預期地結束、中止,或無法執行一段相當長的時間,且無法更新核心程式計時器,指出核心程式懸滯,則會發生此情形。在安全計時器到期而發生 TOC 之前,相關訊息會寫入 /var/adm/syslog/syslog.log 及核心程式訊息緩衝區 (buffer),且會執行系統傾印。

安全計時器的時間是根據叢集配置參數 HEARTBEAT_INTERVAL
NODE_TIMEOUT,也會根據叢集配置的特性,例如是否使用仲裁伺服器或叢集鎖定 (和鎖定類型),以及是否配置備用區域網路 (若需詳細資訊,請參閱「節點逾時的情形」。若需設定 HEARTBEAT_INTERVAL
NODE_TIMEOUT 的建議,請參閱「叢集配置參數 」)。

cmcld 協助程式也會監視叢集網路的運作是否正常,並執行本機區域網路故障轉移。最後,cmcld 協助程式也會處理 Serviceguard 套件的管理,決定套件應在何處執行、何時啟動。

附註: Serviceguard 的三個核心元件:套件管理員 (Package Manager)、叢集管理員 (Cluster Manager) 和網路管理員 (Network Manager) 皆是 cmcld 協助程式的一部分。此協助程式在所有叢集節點中都以優先權 20 執行。使用者處理程序的優先權一定要低於 20,不然會防礙 Serviceguard 更新核心程式安全計時器,因而導致節點發生 TOC。

檔案管理協助程式:cmfileassistd

cmcld 會使用 cmfileassistd 協助程式來管理需要從磁碟讀取與寫入的檔案,以避免執行輸入/輸出時的延遲影響 cmcld 的計時。

Syslog 日誌協助程式:cmlogd

cmcld 使用 cmlogd 將訊息寫入 syslog。任何由 cmcld 寫入 syslog 的訊息都是透過 cmlogd 執行,以避免寫入 syslog 的延遲影響 cmcld 的計時。

叢集邏輯容體管理員協助程式:cmlvmd

此協助程式負責追蹤所有可判別叢集的容體群組。容體群組可判別叢集時,叢集節點只能以獨佔模式啟用此容體群組,以避免容體群組在同一時間被一個以上的節點以寫入模式啟用。

叢集物件管理員協助程式:cmomd

此協助程式負責提供叢集到用戶端的外部產品或工具之資訊,如依賴對叢集物件狀態之認知的 Serviceguard 管理員 (以及「插入附加程式」的命令行版本) 的管理站版本。

用戶端會向物件管理員傳送查詢,並接收其回應 (此通訊作業透過 Serviceguard API 間接地進行)。查詢會分類 (依等級),並由不同的提供程式 (provider) 服務。提供程式負責蒐集各種來源的資料,一般包含在所有連接節點上的 cmclconfd 協助程式,將資料傳回中心吸收點 (central assimilation point),於該處過濾以符合特定的查詢需求。

此協助程式由 inetd(1M) 啟動,在 /etc/inetd.conf 檔案中有其項目。

此協助程式可能未在您的系統中執行;它只能由物件管理員的用戶端使用。

叢集 SNMP 代理協助程式:cmsnmpd

管理站版本的 Serviceguard 管理員使用此協助程式以取得叢集的相關資訊。此協助程式會產生叢集 MIB (若需叢集 MIB 的相關資訊,請參閱
http://docs.hp.com -> High Availability 的 Frequently Asked Questions 部份)。只有在已編輯 /etc/rc.config.d/cmsnmpagt 檔,以自動啟動這個子代理程式時才會執行 cmsnmpd。若要正確的執行,cmsnmpd 必須在 Serviceguard 叢集開始前啟動。

服務助理協助程式:cmsrvassistd

此協助程式會依叢集協助程式 (cmcld) 的要求派生 (fork) 子程序,並執行任何命令集或程序。此協助程式所執行的子程序派生有兩種類型:

  • 執行套件執行命令集和中止命令集

  • 啟動服務

cmcld 會監視服務的處理程序,並且依照該服務重試的次數,cmcld 會透過 cmsrvassistd 重新啟動服務,或讓套件中止,並將套件移至可用的替代節點。

仲裁伺服器協助程式:qs

重組叢集時使用仲裁伺服器是平局決勝與建立仲裁的方式之一,而另一個方式則是使用叢集鎖定。請參閱「防止核心分離的叢集仲裁」「叢集鎖定」

仲裁伺服器 (若使用) 在叢集以外的系統上執行,且是由系統管理員而非 Serviceguard 啟動。它通常是自搭配 respawn 選項的 /etc/inittab 啟動,亦即會在失效或是被殺掉 (kill) 後自動重新啟動。所有叢集成員會起始並維持至仲裁伺服器的連線;若仲裁伺服器當掉,Serviceguard 節點偵測到此狀況後,會定期試圖重新連線至仲裁伺服器。叢集若在仲裁伺服器關閉期間重組,且叢集要求平局決勝,則重組作業將失效且所有節點都會中止 (TOC)。基於此因素,請務必盡速將仲裁伺服器備份。

網路感測器助理協助程式:cmnetassistd

網路感測器助理協助程式為 IPv4 與 IPv6 位址處理可轉移 (relocatable) 套件的 IP 位址之新增與刪除作業。

CFS 元件

HP Serviceguard Storage Management Suite 提供其他元件以充當與某些現行 HP-UX 版本之 VERITAS 叢集檔案系統 (Cluster File System) 的介面 (請參閱「VERITAS CFS 與 CVM 簡介」)。您可自 http://docs.hp.com 取得其文件。

VERITAS CFS 元件可直接透過連接叢集中節點的乙太網路進行作業。需要備援網路以避免單點失效。

VERITAS CFS 元件有:

  • GAB (Group Membership Services/Atomic Broadcast,群組成員服務/基元廣播) ─ 當 VERITAS 叢集容體管理員 (CVM) 4.1 版或 VERITAS 叢集檔案系統 (CFS) 部署為 Serviceguard Storage Management Suite 隨附軟體的一部份時,/etc/gabtab 檔案會由 Serviceguard 自動配置與維護。

    GAB 為 CVM 與 CFS 提供成員與訊息。GAB 成員亦提供有條理的叢集檔案系統啟動與關閉。

  • LLT (Low Latency Transport,低延遲傳輸) ─ 當 VERITAS CVM 或 CFS 部署為 Serviceguard Storage Managment Suite 隨附軟體的一部份時,LLT 檔案 /etc/llthosts/etc/llttab 會由 Serviceguard 自動配置與維護。

    LLT 提供核心程式至核心程式的通訊,並為 CFS 監視網路通訊。

  • vxfend ─ 當 VERITAS CFS 部署為 Serviceguard Storage Management Suite 的一部份時,也會包含 I/O 阻隔 (fencing) 協助程式 vxfend。它為 VERITAS 叢集檔案系統施行一個類似仲裁類型的功能。vxfend 由 Serviceguard 控制,以同步化仲裁機制。

  • cmvxd ─ Serviceguard 至 VERITAS 的協助程式協調 Serviceguard 與 VERITAS 叢集檔案系統產品之間的成員資訊 (只有在安裝 VERITAS CFS 時才會出現)。

  • cmvxpingServiceguard 至 VERITAS 協助程式啟用 VERITAS 叢集檔案系統產品的某些子系統 (只有在安裝 VERITAS CFS 時才會出現)。

可列印版本
隱私權聲明 使用範圍與著作權聲明
© Hewlett-Packard Development Company, L.P.