Pacemaker

Z DCEwiki
Skočit na navigaci Skočit na vyhledávání

CRM (Cluster Resource Management) je sada démonů, která v rámci HA clusteru zajišťuje vzájemnou komunikaci a manipulaci se zdroji (resource). Zdrojem může být prakticky libovolná služba, kterou má HA cluster poskytovat (web server, virtuální stroj, sdílený disk & etc..). Existuje více řešení CRM, mezi open-source patří Pacemaker.

Pacemaker

http://www.clusterlabs.org/

Pacemaker je CRM manager, který zajišťuje spouštění či naopak zastavování konkrétních služeb (nastavení IP adres, spouštění serverů aj.) na jednotlivých nodech. Aby věděl která služba má kde být spuštěna, musí mít k dispozici démona, který udržuje v rámci infrastruktury clusteru vzájemnou komunikaci mezi jednotlivými nody.

To může zajistit buď heartbeat, nebo corosync. V obou případech jde o démona, který dělá jednu a tu samou věc, tudíž nemá smysl spouštět a konfigurovat oba dva. Pacemaker může stejně používat vždy jen jeden z nich, a nikdy ne oba dva najednou. Navíc pak může docházet i k nežádoucím kolizím při startování nodu.

Cluster, to však není pouze funkční komunikační démon. Ten sám o sobě, kromě předávání zpráv nic nedělá. Aby nody spolupracovaly a vše fungovalo jako cluster, musí běžet na každém z nodů ještě další démoni:

  • cib - který zajišťuje replikaci konfigurace, tak aby byla na všech nodech identická
  • crmd - interpretuje pravidla nastavená v konfiguraci a podle potřeby volá buď lokální lrmd, stonith nebo pengine
  • stonith - zajišťuje v případě potřeby odstřelení vzpurného nodu
  • lrmd - spouští či zastavuje lokální služby v rámci nodu
  • attrd
  • pengine - zajišťuje správné pořadí spouštění služeb, aby nedošlo případně ke konfliktu

Heartbeat

http://linux-ha.org/wiki/Heartbeat

Corosync

http://www.corosync.org/

Jak už bylo zmíněno hned v úvodu, corosync je v podstatě totéž co heartbeat, tedy démon zajišťující komunikaci mezi jednotlivými nody clusteru. Vzniknul jako derivát projektu openais (kde se vzal, tu se vzal?), jehož cílem byla implementace jednotného API pro komunkaci v rámci clusteru.

Vývoj openais trval téměř šest let a během té doby si mnoho projektů vytvořilo své vlastní komunikační mechanismy. Proto byl na základech tohoto projektu postaven Corosync Cluster Engine, který umožnil jejich sjednocení do jednoho komunikačního rozhraní a openais se tak stal jejich pojítkem.