HACMP的軟件包括以下五個部分:
(1) Cluster Manager
Cluster Manager運行在集群中所有節(jié)點上,主要的任務有:監(jiān)控各節(jié)點的狀態(tài)變化,并做出相應處理,協(xié)調(diào)并同步cluster各節(jié)點間的并發(fā)事件,當HA狀態(tài)發(fā)生遷移或有HA事件發(fā)生時,執(zhí)行相應的事件處理腳本。
(2) Event Scripts
Event Scripts是HACMP自帶的一套shell腳本,使用標準的shell語言、AIX標準命令以及HACMP提供的工具命令。當某事件發(fā)生時,該事件對應的Event Scripts就會被ClusterManager調(diào)用,同時傳入相應的參數(shù)。用戶可方便地定制時間發(fā)生時執(zhí)行的操作。
(3) Lock Manager
在某些類型的HACMP應用中,比如concurrent方式的資源類型,雙機各節(jié)點需要同時訪問共享的數(shù)據(jù),這就需要Lock Manager來給共享數(shù)據(jù)加鎖,防止并發(fā)訪問引起的共享數(shù)據(jù)的不一致或者損壞。
(4) SNMPAgent (clsmuxpd)
HACMP之間交換機節(jié)點信息需要使用SNMP協(xié)議,clsmuxpd進程作為HACMP系統(tǒng)的SNMP Agent,為客戶端提供SNMP服務,使節(jié)點間基于SNMP協(xié)議的通信可以正常進行。
(5) Clinfo
Clinfo進程是HACMP各節(jié)點間交換信息的進程,它基于clsmuxpd與其他節(jié)點的Clinfo進行通信,交換節(jié)點狀態(tài)信息。Clinfo還提供一組API函數(shù),使應用進程可以取得HACMP系統(tǒng)當前的狀態(tài)信息。