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

Serviceguard 架構

» 

技術文件

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

 » 目錄

 » 索引

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

附註: 您現行 HP-UX 的版本可能尚未支援 Veritas CFS;請參閱「關於 Symantec 的 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/cmnetd ─ Serviceguard 網路管理員協助程式

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

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

  • /usr/lbin/cmdisklockd ─ 鎖定 LUN 協助程式

  • /usr/lbin/cmlockd ─ 公用程式協助程式

除了 /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,控制轉移) 或 INIT,亦即非漸進式關機的立即系統重設 (此手冊通常稱此事件為系統重設)。若 cmcld 無法和大多數的叢集成員通訊,或 cmcld 不預期地結束、中止,或無法執行一段相當長的時間,且無法更新核心程式計時器,指出核心程式懸滯,則會發生此情形。在安全計時器到期而發生系統重設之前,相關訊息會寫入 /var/adm/syslog/syslog.log 及核心程式訊息緩衝區 (buffer),且會執行系統傾印。

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

cmcld 協助程式也會處理 Serviceguard 套件的管理,決定套件應在何處執行、何時啟動。

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

檔案管理協助程式:cmfileassistd

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

Syslog 日誌協助程式:cmlogd

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

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

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

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

此協助程式負責提供叢集到用戶端的外部產品或工具之資訊,它依賴對叢集物件狀態的認知。

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

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

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

叢集 SNMP 代理協助程式:cmsnmpd

此協助程式與 SNMP Master Agent 一起提供叢集管理資料庫 (Management Information Base,MIB) 的使用途徑。

SNMP Master Agent 和 cmsnmpd 提供與叢集相關事件的通知 (設陷處理 (trap))。例如,會在叢集配置變更或是 Serviceguard 套件失效時送出設陷處理。您除需編輯 /etc/SnmpAgent.d/snmpd.conf 以告知 cmsnmpd 此資訊送往何處外,還需編輯 /etc/rc.config.d/cmsnmpagt 以自動啟動 cmsnmpd。配置 cmsnmpd 以便在 Serviceguard 叢集啟動之前先啟動。

若需相關資訊,請參閱 cmsnmpd (1m) 線上援助頁。

服務助理協助程式:cmsrvassistd

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

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

  • 啟動服務

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

仲裁伺服器協助程式:qs

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

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

網路管理員 (Network Manager) 協助程式:cmnetd

此協助程式除監視叢集網路的運作狀況,和執行本機區域網路故障轉移外;還為 IPv4 與 IPv6 位址處理可轉移 (relocatable) 套件的 IP 位址之新增與刪除作業。

鎖定 LUN 協助程式:cmldisklockd

若是使用鎖定 LUN,在叢集中的每一個節點上執行cmdisklockd,且是在節點加入叢集時由 cmcld 啟動。

每一個叢集成員本機初始並維持連線至 cmdisklockd 協助程式。若
cmdisklockd 協助程式意外終止,便會由 cmcld 重新啟動它且節點重新連接它。叢集若在 cmdisklockd 關閉期間重新配置,且叢集內有一個分區要求平局決勝,則重新配置會失敗。

公用程式協助程式:cmlockd

在每個執行 cmcld的節點上執行 (雖然 HP-UX 系統上的 Serviceguard 目前未實際使用)。

CFS 元件

HP Serviceguard Storage Management Suite 提供其他元件以充當與某些現行 HP-UX 版本之 Veritas 叢集檔案系統 (Cluster File System) 的介面 (請參閱「關於 Symantec 的 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.