CRM (CLI)
V předchozí kapitole, věnované konfiguraci zdrojů, bylo na nejrůznějších příkladech demonstrováno použití konzolových nástrojů Pacemakeru, jimiž se prostřednictvím démona /usr/lib/pacemaker/crmd
, cluster ovládá. U většiny příkladů byla zároveň uveden i příklad stejné konfigurace prostřednictvím alternativního CLI nástroje crm.
crm
Je CLI nadstavba, naprogramovaná v shellu, která kombinuje konzolové nástroje Pacemakeru s dalšími utilitami. Dá se používat jako samostatný konzolový nástroj, ale také jako interaktivní shell je-li spuštěna bez parametrů.
Interaktivní crm shell především ulehčuje administraci. Jeho příkazová řádka pracuje se stromovou strukturou. Nástroje pro práci s clusterem, jsou zde kategorizovány do samostatných "složek", které mohou mít v některých případech i několik úrovní. Jako kupř. v níže uvedeném demonstračním příkladu.
- ukončení práce s crm
- Práci v crm shellu lze ukončit buď příkazem quit (alternativně lze použít i bye či exit), nebo kombinací CTRL+C
- nápověda v crm
- Na každé "úrovni" lze použít pro vypsání nápovědy příkaz help
- seznam akceptovaných příkazů
- Na každé úrovni lze příkazem ls vypsat jaká klíčová slova budou akceptována. Může jít jak o příkazy, tak názvy dostupných podúrovní crm
cib
- new
- delete
- reset
- commit
- use
- diff
- list
- import
- cibstatus
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
node
Sdružuje příkazy pro práci s nody
- attribute
- clearstate
- delete
- fence
- online
- show,list
- vypíše seznam nodů jako prostý text
- standby
- status
- vypíše seznam nodů ve formě XML struktury s kořenovým elementem
nodes
- status-attr
- utilization
options
V options jsou sdruženy příkazy pro konfiguraci crm. Jejich prostřednictvím lze nastavit kupř. jaký se má použít výchozí editor pro úpravu konfigurace, barevné schéme pro shell, pravidla pro třídění výpisů atd.
- skill-level
- user
- editor
- pager
- sort-elements
- output
- colorscheme
- check-frequency
- check-mode
- show
- save
ra
Příkazy seskupené v rámci ra jsou určeny především pro získávání informací o dostupných agentech ("resource agents") a jejich konfiguraci.
- 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.
resource
Příkazy sektupené v rámci resource jsou určeny pro práci s již nakonfigurovanými zdroji. K jejich spouštění (a zastavavení), přesunu mezi nody, a kromě nich je zde také podskupina param která sdružuje příkazy, které umožňují změnit za běhu hodnoty parametrů defaultně nastavené výchozí konfigurací.
- 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.
status
Není skupinou příkazu, ale příkazem který vypisuje aktuální stavu clusteru, podobně jako utilita crm_mon.
pcs
Zastřešuje podobně jako crm konzolové nástroje Pacemakeru. Rozdíl je především v tom, že je napsán pro změnu v jazyce Python.