CRM (akce)

From DCEwiki
Jump to navigation Jump to search

Pacemaker pracuje s agenty tak, že je spouští buď na základě nějaké akce (start, stop, move,..) nebo je volá v určitých intervalech, vycházejících z nastavení zdroje (monitor). Při každém spuštění agenta CRM parametrem předá jméno příslušné akce.

Základní akce

Základní akce musí podporovat každý agent.

start

Na základě akce start agent zavolá funkci, která se pokusí na základě proměnných $OCF_RESKEY_* zdroj spustit a založit v adresáři /var/run/heartbeat stavový soubor.

Po úspěšném spuštění CRM zavolá akci meta-data (Nejspíš proto aby provedl aktualizaci CIB?)

stop

Obdrží-li agent akci stop, zavolá funkci, která zkusí zdroj korektně zastavit. Pokud se jí to podaří, agent zruší stavový soubor a vrátí $OCF_SUCCESS. V případě neúspěchu se vrací příslušný chybový kód.

monitor

Je-li agentu předána akce monitor, tak zavolá funkci, která zkontroluje zda zdroj běží jak má.

meta-data

Při předání akce meta-data se volá funkce, která vrací XML kód s popisem a výchozím nastavením hodnot proměnných a intervalů pro volání akcí.

Výchozí proměnné definované v tomto XML kódu jsou za běhu agenta dostupné přes $OCF_RESKEY_* a přes konfiguraci CRM jim lze přiřazovat hodnoty specifické pro zdroj.

Tento XML kódu zároveň funguje jako manuál pro nastavení agenta.

Akce režimu Master/Slave

Speciální akce

Většina agentů vystačí se základními akcemi, ale v některých případech je před spuštěním, nebo zastavením stroje třeba zavolat akci, která zdroj připraví na akci která bude následovat. Typické je to pro agenty, které zajišťují migraci virtuálních strojů.

migrate_to

Akci předá CRM agentovi nodu na, kterém právě zdroj běží, předtím než zavolá akci stop.

migrate_from

Akci předá CRM agentovi nodu, na který se bude zdroj migrovat. Na rozdíl od předchozí akce po zavolání migrate_from již CRM akci start nevolá!