Due to recent standardization within the cluster filesystem community, they make use of a common distributed lock manager which makes use of Corosync for its messaging capabilities and Pacemaker for its membership (which nodes are up/down) and fencing services.
1.3.1. Componente Interne
Pacemaker însuşi este compus din patru componente cheie (ilustrate mai jos cu aceeaşi schemă de culori ca şi în diagrama anterioară):
CIB (aka. Cluster Information Base)
CRMd (aka. Cluster Resource Management daemon)
PEngine (aka. PE sau Policy Engine)
STONITHd
The CIB uses XML to represent both the cluster’s configuration and current state of all resources in the cluster. The contents of the CIB are automatically kept in sync across the entire cluster and are used by the PEngine to compute the ideal state of the cluster and how it should be achieved.
This list of instructions is then fed to the DC (Designated Co-ordinator). Pacemaker centralizes all cluster decision making by electing one of the CRMd instances to act as a master. Should the elected CRMd process, or the node it is on, fail… a new one is quickly established.
The DC carries out the PEngine’s instructions in the required order by passing them to either the LRMd (Local Resource Management daemon) or CRMd peers on other nodes via the cluster messaging infrastructure (which in turn passes them on to their LRMd process).
Nodurile vecine raportează toate rezultatele operaţiunilor înapoi către DC şi pe baza rezultatelor aşteptate şi a rezultatelor actuale, fie va executa orice acţiuni care necesitau să aştepte ca şi cele anterioare să termine sau va anula procesarea şi va ruga PEngine-ul să recalculeze starea ideală a clusterului pe baza rezultatelor neaşteptate.
În anumite cazuri, ar putea fi necesar să oprească alimentarea nodurilor pentru a proteja datele partajate sau pentru a termina recuperarea resurselor. Pentru acest lucru Pacemaker vine cu STONITHd. STONITH este un acronim pentru Shoot-The-Other-Node-In-The-Head (împuşcă celălalt nod în cap) şi este implementat de obicei cu un switch de alimentare cu curent controlat de la distanţă. În Pacemaker, dispozitivele STONITH sunt modelate precum resursele (şi configurate în CIB) pentru a permite monitorizarea facilă a acestora în caz de eşec, totuşi STONITHd se ocupă de înţelegerea topologiei STONITH astfel încât clienţii acestuia să solicite pur şi simplu ca un nod să fie evacuat forțat şi acesta se va ocupa de rest.