| 臺灣-繁體中文 |
|
|
|
![]() |
以 ServiceGuard OPS Edition 規劃 OPS 叢集 > 第 3 章. 認識ServiceGuard OPS Edition軟體元件ServiceGuard OPS Edition架構 |
|
下圖將說明ServiceGuard OPS Edition所使用的主要軟體元件。本章將詳細探討這些元件。 與ServiceGuard有關的協助程式處理程序有九種,它們分別是:
/usr/lbin/qs - ServiceGuard仲裁伺服器協助程式 除了仲裁伺服器會記錄至標準輸出(建議您將標準輸出改丟到檔名為/var/adm/qs/qs.log的檔案)及/usr/lbin/cmomd會記錄至/var/opt/cmom/cmomd.log檔外,上述這些協助程式均會將記錄寫入/var/adm/syslog/syslog.log檔。 這個協助程式是ServiceGuard命令和SAM介面用來從叢集中所有節點蒐集資訊的。它會蒐集配置的資訊,例如網路和容體群組的資訊。它也會散佈叢集的二進制配置檔案到叢集內的所有節點。這個協助程式是由inetd(1M)所啟動。在/etc/inetd.conf檔案中有一些相關的項目。 這個協助程式可藉由送出心跳訊息到 ServiceGuard 叢集內其他節點上的其他cmcld協助程式來判斷叢集的成員關係。它是以即時優先順序執行並且被鎖定在記憶體中。cmcld協助程式會在核心中設定一個安全計時器,用來偵測核心懸滯。如果cmcld沒有定期重設這個計時器,核心將會導致系統的TOC,就是「控制權轉移」(Transfer of Control),那表示CPU會被重設,而且會建立當機轉存檔。這種情況可能是因為cmcld不能和大多數的叢集成員溝通,或是因為cmcld不預期地結束、中止,或無法執行一段夠長的時間,無法更新核心計時器,指出核心懸滯。在安全計時器到期而發生TOC之前,相關訊息會寫入/var/adm/syslog/syslog.log及核心訊息暫存。 cmcld協助程式也會偵測系統上網路是否健全,並執行區域網路的故障轉移。最後,這個協助程式也會處理 ServiceGuard 套件的管理,決定在何處執行它們、何時啟動它們等等。
cmlogd用cmcld 將訊息寫入到syslog。任何由 cmcld 所寫入的訊息都是透過 cmlogd 寫入。這是要防止任何寫入syslog的延遲影響 cmcld 的時序。 這個協助程式是負責追蹤所有已經被叢集察覺的容體群組。當一個容體群組被叢集察覺時,一個叢集節點只能啟用共享寫入或獨占模式。這樣可以防止容體群組在沒有OPS控制鎖定時被多個節點同時啟用寫入模式。 這個協助程式負責提供關於叢集到用戶端外部產品或工具的資訊,像是ServiceGuard管理員,依叢集物件狀態的認識而定。用戶端傳送查詢給物件管理員,然後接收回應。這個協助程式也許不能在您的系統中執行,它只能在物件管理員的用戶端中使用。 cmomd 接受用戶端的連結及驗證查詢。由不同提供者服務的種類 (依等級)來分析查詢。提供者從各種來源蒐集資料,通常包括在所有連結節點中的cmclconfd協助程式,在核心消化過濾傳回的資料,以符合用戶端的查詢。這個協助程式是由inetd(1M)所啟動。在/etc/inetd.conf檔案中有一些相關的項目。 這個協助程式是用ClusterView用來取得關於叢集資訊。這個協助程式會產生叢集的MIB。若需叢集MIB的詳細資訊,請參閱URL http://docs.hp.com/hpux/ha中的「Frequently Asked Questions」。僅會在已將 /etc/rc.config.d/ cmsnmpagt 檔案編輯為自動啟動此子代理程式時才會執行。為能正常地執行,需在ServiceGuard叢集開始之前啟動cmsnmpd。 這個協助程式會應叢集協助程式 (cmcld) 的要求派生命令 (fork) 及執行任何命令集或程序。這個協助程式所執行的派生命令有兩種類型:
對於服務,cmcld 會監測服務的處理程序,並且依照該服務重試的次數,cmcld 會透過 cmsrvassistd 重新啟動服務或者它會讓套件中止並將套件移至一個可用的替代節點。 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||