CRM (CLI)
Máme-li funkční CRM, vypadá jeho výstup bez spuštěných služeb takto..
Provoz jakékoliv služby zajišťuje tzv. "Resource Agent", což může být buď shellový skript, nebo binární soubor, který se spouští v určitých intervalech, na základě nastavených (a přednastavených) konfiguračních parametrů. Základní sady těchto "agentů", jsou součástí několika instalačních balíků cluster-agents. Postupy ke konfiguraci CRM, které se válí po internetu, jsou většinou založeny na jejich použití. Můžete se však dostat do situace, kdy žádný z nich vašim potřebám nevyhoví, tak jak byste potřebovali. V takovém případě máte dvě možnosti:
- použít nějaký jiný ze seznamu agentů , který v distribučním balíku být nemusí - na stránce naleznete mj. i popis k distribučním agentům
- nebo si napsat agenta vlastního
Právě druhému bodu je věnován zbytek této stránky..
Konfigurační volby resource agenta
Konfiguraci resource agenta lze provádět prostřednictvím konzolového nástroje crm, a to buď při výchozí konfiguraci služby ( crm -> configure
), nebo později, operativně, za běhu ( crm -> resource
).
Jaké parametry lze vůbec u agenta nastavit, se můžete dozvědět z jeho výpisu konfiguračních nastavení ( crm -> ra
)
Při nastavení se cesta k resource agentovi uvádí přes tři položky, navzájem oddělené dvojtečkami:
class:provider:agent
Třída - "class" seskupuje agenty určitého typu. Jelikož může být na jednu službu dostupných více agentů od různých poskytovatelů (poskytovatel - "provider"), může v rámci hierarchické struktury crm existovat ještě tzv. "provider", což je vlastně podadresář, v němž je skript (nebo binární soubor) resource agenta umístěn. Pokud se tedy nějaký "provider" v rámci třídy vyskytuje, je vypsán při sekvenci crm -> ra -> classes
za lomítkem..
crm(live)ra# classes
heartbeat
lsb
ocf / dce heartbeat linbit pacemaker
stonith
|
Jak už bylo zmíněno, class a provider nejsou v podstatě nic jiného, než popis cesty k resource agentu..
- heartbeat
/etc/ha.d/resource.d/
(skripty)- lsb
/etc/init.d
(systémové spouštěcí skripty)- ocf
/usr/lib/ocf/resource.d/
(skripty)- stonith
/usr/lib/stonith/plugins/stonith2
(binárky)/usr/lib/stonith/plugins/external
(skripty)
Práce s crm
Před psaním vlastního agenta je nejjlepší se seznámit s tím jak se crm pracuje a pak začít s úpravou agenta již existujícího. V základní sadě je agent s názvem Dummy
, který nedělá nic jiného, než demonstruje kde běží. Lze si na něm tedy odzkoušet přesuny služby mezi nody, zastavování, spouštění, seskupování atp.
- status
- vypíše aktuální stav clusteru
- ra
- zdroje informací k agentům ("resource agents")
- classes
- vypisuje seznam dostupných tříd (classes). V případě že, je stejná třída poskytovaná více poskytovateli (provider), vypíše (za lomítkem) i poskytovatele
- list
- vypíše seznam agentů dostupných v rámci třídy. Je-li výpis upřesněn i uvedením poskytovatele (provider), pak vypíše pouze jemu příslušné agenty ("resource agents")
- meta,info
- vypíše přehled všech možných parametrů, které lze nastavit u příslušného agenta. V případě komplexnějších agentů je to včetně podrobného popisu a výstup vypadá podobně jako u manuálu
- providers
- vypisuje naopak na základě názvu agenta jeho poskytovatele - "providera". V případě, že kromě providera je agent nabízen některou třídou (class) přímo, nevypíše nic. Pokud má nějakého poskytovatele, tak jej vypíše teprve po upřesnění třídy.
- configure
- zde se provádí výchozí konfigurace agentů. Nastavení proměnných, vzájemných závislostí při spouštění, intervalů spouštění atd. do vlastnícho CRM se však změny při úpravě konfigurace promítnou až po jejich odeslání příkazem commit
- cibstatus
- clone
- colocation,collocation
- commit
- delete
- edit
- erase
- group
- load
- location
- monitor
- ms,master
- nastaví zdroj (primitive) tak aby se spouštěl na obou strojích
- node
- op_defaults
- order
- primitive
- primitiva jsou základní služby, které lze seskupovat (group), řadit (order) aj.
- property
- ptest
- rename
- refresh
- rsc_defaults
- save
- show
- výpis stávající konfigurace
- template
- upgrade
- verify
- xml
- resource
- V rámci resource se nakonfigurované zdroje spouští (a zastavují), přesouvají mezi nody, případně se jim za běhu upravují přednastavené parametry.
- cleanup
- demote
- failcount
- manage
- meta
- migrate,move
- param
- promote
- refresh
- reprobe
- restart
- status,show,list
- start
- stop
- unmanage
- unmigrate,unmove
- status
- vypíše aktuální stav clusteru