CRM (CLI)
Hlavním administračním nástrojem je konzolový nástroj crm, který spolupracuje s démonem crmd, skrz který se cluster ovládá.
CIB
Interně jsou veškerá data clusteru, včetně konfigurace a stavových informací, uchovávána v XML souboru zvaném CIB ( zkratka z angl. Cluster Information Base ) /var/lib/heartbeat/crm/cib.xml
, který průběžně replikován na všechny připojené nody. Stará se o to démon /usr/lib/heartbeat/cib
, proto se důrazně nedoporučuje editovat tento soubor přímo. Veškeré operace se provádí výhradně prostřednictvím crm.
Po odeslání nakonfigurovaného primitiva příkazem commit vloží crm do CIB souboru následující xml element:
Zápis v CRM přitom vypadal takto:
crm(live)configure# primitive IP ocf:heartbeat:IPaddr \
params ip="192.168.1.1"
|
- primitive - příkaz crm pro definici primitiva
- IP - identifikátor nové instance primitiva
- IPaddr - použitý resource agent
- ocf:heartbeat - cesta k resource agentu (class:provider)
- ip="192.168.85.3" - nastavení hodnoty proměnné ip, kterou agent použije při spuštění
crm
Je základní nástroj pro práci a monitorování clusteru. Je-li démon /usr/lib/heartbeat/crmd
v běhu, vypadá monitorovací výstup clusteru bez spuštěných a nakonfigurovaných zdrojů takto..
Příkaz lze používat i jako shell, a to spuštěním bez parametrů. Výhodou shellového přístupu je, že lze využívat nápovědy, ukládání historie příkazů, automatického doplňování při nastavování zdrojů, atd.
Volání crm s parametry má zase výhodu v tom, že lze operativně zjišťovat různé informace z clusteru a používat jako vstupy pro různé skripty.
- http://www.clusterlabs.org/doc/crm_cli.html - Manuál na stránkách http://www.clusterlabs.org (angl.)
status
Vypisuje aktuální stavu clusteru, podobně jako příkaz crm_mon
node
- status
- vypíše seznam nodů ve formě XML struktury s kořenovým elementem
nodes
- show,list
- vypíše seznam nodů jako prostý text
- standby
- online
- fence
- clearstate
- delete
- attribute
- status-attr
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
- V případě že došlo z nějakého důvodu k chybě, která vede k pozastavení další operace, lze ji tímto způsobem deaktivovat a operaci zkusit provést znovu, s opravenými parametry
- demote
- failcount
- manage
- CRM se pokusí převzít "vládu" nad zdrojem (nebo skupinou zdrojů), která je ve stavu unmanaged)
- meta
- Umožňuje vypsat případně změnit aktuální nastavení akcí, které manipulují se zdrojem. Tato změna však platí pouze do okamžiku, než jsou znovu načteny výchozí hodnoty z uložené konfigurace (příkaz reprobe)
- migrate,move
- Přesune zdroj na jiný nod. Což znamená že běh služby se na stávajícím nodu zastaví a spustí jinde. Funguje to v závislosti na tom, jakým způsobem agent zdroje podporuje migraci.
- param
- Umožňuje vypsat případně změnit aktuální parametry zdroje. Tato změna však platí pouze do okamžiku, než jsou parametry zdroje znovu načteny z výchozí konfigurace (příkaz reprobe)
- promote
- refresh
- reprobe
- restart
- CRM se pokusí zdroj korektně zastavit a znovu spustit.
- status,show,list
- vypíše aktuální stav zdrojů
- start
- CRM se pokusí o spuštění zdroje. V případě, že se mu to nepodaří, zůstane zdroj ve stavu "stop" a v monitoru se objeví oznámení o chybě.
- stop
- CRM se pokusí o zastavení zdroje. V případě, že se mu to nepodaří, zdroj zůstane běžet ve stavu "unmanaged" a v monitoru se objeví oznámení o chybě.
- unmanage
- CRM dá od zdroje ruce pryč. Záleží na agentovi zda může (ale nemusí) dále monitorovat její běh a případně pak správu zddroje zase převzít
- unmigrate,unmove
- Volání této funkce může být shodné s voláním move.
ra
V rámci ra lze prohlížet zdroje meta informace k jednotlivým 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
V rámci configure 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ího CRM se však změny v 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
cib
- new
- delete
- reset
- commit
- use
- diff
- list
- import
- cibstatus
options
- skill-level
- user
- editor
- pager
- sort-elements
- output
- colorscheme
- check-frequency
- check-mode
- show
- save